27 lines
195 KiB
JavaScript
27 lines
195 KiB
JavaScript
import{aN as me,bp as ut,bs as O,aG as ne,bF as ke,bk as rt,bS as V,aH as nl,bN as xe,bC as Ee,ay as ie,b6 as Pt,aT as Pi,c7 as ye,bY as ol,br as il,aK as ue,c8 as ge,b0 as At,b1 as Ai,bq as yn,bn as rl,aD as X,ai as Te,bE as je,bl as Oe,bj as We,bo as Oi,b7 as ll,aE as ve,aF as Se,bK as it,bL as Ce,bP as fe,bA as zi,b8 as So,bO as al,aL as sl,by as $t,b2 as be,bf as Gt,bB as ul,bG as Bi,bU as cl,bg as Vi,bH as xt,aJ as Pe,R as No,Q as dl,bI as fl,ak as wt,N as hl,O as pl,S as gl,a8 as vl,a4 as ml,Z as yl,L as wl,r as zn,I as _l,cb as Vo,K as bl,J as xl,bM as El,ad as Sl,X as $e,Y as zt}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */function Zt(e){return Ai()?(yn(e),!0):!1}function qe(e){return typeof e=="function"?e():V(e)}const Nl=typeof window<"u"&&typeof document<"u",kl=e=>typeof e<"u",Cl=Object.prototype.toString,$l=e=>Cl.call(e)==="[object Object]",Il=()=>{};function Ml(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 Ri=e=>e();function Tl(e=Ri){const t=Ee(!0);function n(){t.value=!1}function o(){t.value=!0}const i=(...r)=>{t.value&&e(...r)};return{isActive:ul(t),pause:n,resume:o,eventFilter:i}}function Ro(e,t=!1,n="Timeout"){return new Promise((o,i)=>{setTimeout(t?()=>i(n):o,e)})}function Dl(e,t,n={}){const{eventFilter:o=Ri,...i}=n;return ye(e,Ml(o,t),i)}function _t(e,t,n={}){const{eventFilter:o,...i}=n,{eventFilter:r,pause:l,resume:a,isActive:s}=Tl(o);return{stop:Dl(e,t,{...i,eventFilter:r}),pause:l,resume:a,isActive:s}}function Pl(e,t={}){if(!So(e))return al(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const o in e.value)n[o]=sl(()=>({get(){return e.value[o]},set(i){var r;if((r=qe(t.replaceRef))!=null?r:!0)if(Array.isArray(e.value)){const a=[...e.value];a[o]=i,e.value=a}else{const a={...e.value,[o]:i};Object.setPrototypeOf(a,Object.getPrototypeOf(e.value)),e.value=a}else e.value[o]=i}}));return n}function so(e,t=!1){function n(h,{flush:p="sync",deep:v=!1,timeout:k,throwOnTimeout:w}={}){let x=null;const I=[new Promise(m=>{x=ye(e,C=>{h(C)!==t&&(x?.(),m(C))},{flush:p,deep:v,immediate:!0})})];return k!=null&&I.push(Ro(k,w).then(()=>qe(e)).finally(()=>x?.())),Promise.race(I)}function o(h,p){if(!So(h))return n(C=>C===h,p);const{flush:v="sync",deep:k=!1,timeout:w,throwOnTimeout:x}=p??{};let $=null;const m=[new Promise(C=>{$=ye([e,h],([z,Y])=>{t!==(z===Y)&&($?.(),C(z))},{flush:v,deep:k,immediate:!0})})];return w!=null&&m.push(Ro(w,x).then(()=>qe(e)).finally(()=>($?.(),qe(e)))),Promise.race(m)}function i(h){return n(p=>!!p,h)}function r(h){return o(null,h)}function l(h){return o(void 0,h)}function a(h){return n(Number.isNaN,h)}function s(h,p){return n(v=>{const k=Array.from(v);return k.includes(h)||k.includes(qe(h))},p)}function u(h){return c(1,h)}function c(h=1,p){let v=-1;return n(()=>(v+=1,v>=h),p)}return Array.isArray(qe(e))?{toMatch:n,toContains:s,changed:u,changedTimes:c,get not(){return so(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:i,toBeNull:r,toBeNaN:a,toBeUndefined:l,changed:u,changedTimes:c,get not(){return so(e,!t)}}}function uo(e){return so(e)}function Al(e){var t;const n=qe(e);return(t=n?.$el)!=null?t:n}const Hi=Nl?window:void 0;function Li(...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 Il;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const r=[],l=()=>{r.forEach(c=>c()),r.length=0},a=(c,h,p,v)=>(c.addEventListener(h,p,v),()=>c.removeEventListener(h,p,v)),s=ye(()=>[Al(t),qe(i)],([c,h])=>{if(l(),!c)return;const p=$l(h)?{...h}:h;r.push(...n.flatMap(v=>o.map(k=>a(c,v,k,p))))},{immediate:!0,flush:"post"}),u=()=>{s(),l()};return Zt(u),u}function Ol(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Ho(...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:l=!1,dedupe:a=!1}=o,s=Ol(t);return Li(i,r,c=>{c.repeat&&qe(a)||s(c)&&n(c)},l)}function zl(e){return JSON.parse(JSON.stringify(e))}function Kn(e,t,n,o={}){var i,r,l;const{clone:a=!1,passive:s=!1,eventName:u,deep:c=!1,defaultValue:h,shouldEmit:p}=o,v=At(),k=n||v?.emit||((i=v?.$emit)==null?void 0:i.bind(v))||((l=(r=v?.proxy)==null?void 0:r.$emit)==null?void 0:l.bind(v?.proxy));let w=u;t||(t="modelValue"),w=w||`update:${t.toString()}`;const x=m=>a?typeof a=="function"?a(m):zl(m):m,$=()=>kl(e[t])?x(e[t]):h,I=m=>{p?p(m)&&k(w,m):k(w,m)};if(s){const m=$(),C=Ee(m);let z=!1;return ye(()=>e[t],Y=>{z||(z=!0,C.value=x(Y),We(()=>z=!1))}),ye(C,Y=>{!z&&(Y!==e[t]||c)&&I(Y)},{deep:c}),C}else return ie({get(){return $()},set(m){I(m)}})}var Bl={value:()=>{}};function Bn(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new wn(n)}function wn(e){this._=e}function Vl(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",i=n.indexOf(".");if(i>=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}})}wn.prototype=Bn.prototype={constructor:wn,on:function(e,t){var n=this._,o=Vl(e+"",n),i,r=-1,l=o.length;if(arguments.length<2){for(;++r<l;)if((i=(e=o[r]).type)&&(i=Rl(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++r<l;)if(i=(e=o[r]).type)n[i]=Lo(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Lo(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new wn(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),o=0,i,r;o<i;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],i=0,r=o.length;i<r;++i)o[i].value.apply(t,n)}};function Rl(e,t){for(var n=0,o=e.length,i;n<o;++n)if((i=e[n]).name===t)return i.value}function Lo(e,t,n){for(var o=0,i=e.length;o<i;++o)if(e[o].name===t){e[o]=Bl,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}var co="http://www.w3.org/1999/xhtml";const Fo={svg:"http://www.w3.org/2000/svg",xhtml:co,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vn(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Fo.hasOwnProperty(t)?{space:Fo[t],local:e}:e}function Hl(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===co&&t.documentElement.namespaceURI===co?t.createElement(e):t.createElementNS(n,e)}}function Ll(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fi(e){var t=Vn(e);return(t.local?Ll:Hl)(t)}function Fl(){}function ko(e){return e==null?Fl:function(){return this.querySelector(e)}}function Yl(e){typeof e!="function"&&(e=ko(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],l=r.length,a=o[i]=new Array(l),s,u,c=0;c<l;++c)(s=r[c])&&(u=e.call(s,s.__data__,c,r))&&("__data__"in s&&(u.__data__=s.__data__),a[c]=u);return new ze(o,this._parents)}function Gl(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Wl(){return[]}function Yi(e){return e==null?Wl:function(){return this.querySelectorAll(e)}}function Ul(e){return function(){return Gl(e.apply(this,arguments))}}function Xl(e){typeof e=="function"?e=Ul(e):e=Yi(e);for(var t=this._groups,n=t.length,o=[],i=[],r=0;r<n;++r)for(var l=t[r],a=l.length,s,u=0;u<a;++u)(s=l[u])&&(o.push(e.call(s,s.__data__,u,l)),i.push(s));return new ze(o,i)}function Gi(e){return function(){return this.matches(e)}}function Wi(e){return function(t){return t.matches(e)}}var Zl=Array.prototype.find;function ql(e){return function(){return Zl.call(this.children,e)}}function Kl(){return this.firstElementChild}function Jl(e){return this.select(e==null?Kl:ql(typeof e=="function"?e:Wi(e)))}var jl=Array.prototype.filter;function Ql(){return Array.from(this.children)}function ea(e){return function(){return jl.call(this.children,e)}}function ta(e){return this.selectAll(e==null?Ql:ea(typeof e=="function"?e:Wi(e)))}function na(e){typeof e!="function"&&(e=Gi(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],l=r.length,a=o[i]=[],s,u=0;u<l;++u)(s=r[u])&&e.call(s,s.__data__,u,r)&&a.push(s);return new ze(o,this._parents)}function Ui(e){return new Array(e.length)}function oa(){return new ze(this._enter||this._groups.map(Ui),this._parents)}function Sn(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Sn.prototype={constructor:Sn,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function ia(e){return function(){return e}}function ra(e,t,n,o,i,r){for(var l=0,a,s=t.length,u=r.length;l<u;++l)(a=t[l])?(a.__data__=r[l],o[l]=a):n[l]=new Sn(e,r[l]);for(;l<s;++l)(a=t[l])&&(i[l]=a)}function la(e,t,n,o,i,r,l){var a,s,u=new Map,c=t.length,h=r.length,p=new Array(c),v;for(a=0;a<c;++a)(s=t[a])&&(p[a]=v=l.call(s,s.__data__,a,t)+"",u.has(v)?i[a]=s:u.set(v,s));for(a=0;a<h;++a)v=l.call(e,r[a],a,r)+"",(s=u.get(v))?(o[a]=s,s.__data__=r[a],u.delete(v)):n[a]=new Sn(e,r[a]);for(a=0;a<c;++a)(s=t[a])&&u.get(p[a])===s&&(i[a]=s)}function aa(e){return e.__data__}function sa(e,t){if(!arguments.length)return Array.from(this,aa);var n=t?la:ra,o=this._parents,i=this._groups;typeof e!="function"&&(e=ia(e));for(var r=i.length,l=new Array(r),a=new Array(r),s=new Array(r),u=0;u<r;++u){var c=o[u],h=i[u],p=h.length,v=ua(e.call(c,c&&c.__data__,u,o)),k=v.length,w=a[u]=new Array(k),x=l[u]=new Array(k),$=s[u]=new Array(p);n(c,h,w,x,$,v,t);for(var I=0,m=0,C,z;I<k;++I)if(C=w[I]){for(I>=m&&(m=I+1);!(z=x[m])&&++m<k;);C._next=z||null}}return l=new ze(l,o),l._enter=a,l._exit=s,l}function ua(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function ca(){return new ze(this._exit||this._groups.map(Ui),this._parents)}function da(e,t,n){var o=this.enter(),i=this,r=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?r.remove():n(r),o&&i?o.merge(i).order():i}function fa(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,i=n.length,r=o.length,l=Math.min(i,r),a=new Array(i),s=0;s<l;++s)for(var u=n[s],c=o[s],h=u.length,p=a[s]=new Array(h),v,k=0;k<h;++k)(v=u[k]||c[k])&&(p[k]=v);for(;s<i;++s)a[s]=n[s];return new ze(a,this._parents)}function ha(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],i=o.length-1,r=o[i],l;--i>=0;)(l=o[i])&&(r&&l.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(l,r),r=l);return this}function pa(e){e||(e=ga);function t(h,p){return h&&p?e(h.__data__,p.__data__):!h-!p}for(var n=this._groups,o=n.length,i=new Array(o),r=0;r<o;++r){for(var l=n[r],a=l.length,s=i[r]=new Array(a),u,c=0;c<a;++c)(u=l[c])&&(s[c]=u);s.sort(t)}return new ze(i,this._parents).order()}function ga(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function va(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ma(){return Array.from(this)}function ya(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,r=o.length;i<r;++i){var l=o[i];if(l)return l}return null}function wa(){let e=0;for(const t of this)++e;return e}function _a(){return!this.node()}function ba(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var i=t[n],r=0,l=i.length,a;r<l;++r)(a=i[r])&&e.call(a,a.__data__,r,i);return this}function xa(e){return function(){this.removeAttribute(e)}}function Ea(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Sa(e,t){return function(){this.setAttribute(e,t)}}function Na(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ka(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Ca(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function $a(e,t){var n=Vn(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?Ea:xa:typeof t=="function"?n.local?Ca:ka:n.local?Na:Sa)(n,t))}function Xi(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ia(e){return function(){this.style.removeProperty(e)}}function Ma(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Ta(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function Da(e,t,n){return arguments.length>1?this.each((t==null?Ia:typeof t=="function"?Ta:Ma)(e,t,n??"")):It(this.node(),e)}function It(e,t){return e.style.getPropertyValue(t)||Xi(e).getComputedStyle(e,null).getPropertyValue(t)}function Pa(e){return function(){delete this[e]}}function Aa(e,t){return function(){this[e]=t}}function Oa(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function za(e,t){return arguments.length>1?this.each((t==null?Pa:typeof t=="function"?Oa:Aa)(e,t)):this.node()[e]}function Zi(e){return e.trim().split(/^|\s+/)}function Co(e){return e.classList||new qi(e)}function qi(e){this._node=e,this._names=Zi(e.getAttribute("class")||"")}qi.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 Ki(e,t){for(var n=Co(e),o=-1,i=t.length;++o<i;)n.add(t[o])}function Ji(e,t){for(var n=Co(e),o=-1,i=t.length;++o<i;)n.remove(t[o])}function Ba(e){return function(){Ki(this,e)}}function Va(e){return function(){Ji(this,e)}}function Ra(e,t){return function(){(t.apply(this,arguments)?Ki:Ji)(this,e)}}function Ha(e,t){var n=Zi(e+"");if(arguments.length<2){for(var o=Co(this.node()),i=-1,r=n.length;++i<r;)if(!o.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?Ra:t?Ba:Va)(n,t))}function La(){this.textContent=""}function Fa(e){return function(){this.textContent=e}}function Ya(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Ga(e){return arguments.length?this.each(e==null?La:(typeof e=="function"?Ya:Fa)(e)):this.node().textContent}function Wa(){this.innerHTML=""}function Ua(e){return function(){this.innerHTML=e}}function Xa(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Za(e){return arguments.length?this.each(e==null?Wa:(typeof e=="function"?Xa:Ua)(e)):this.node().innerHTML}function qa(){this.nextSibling&&this.parentNode.appendChild(this)}function Ka(){return this.each(qa)}function Ja(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ja(){return this.each(Ja)}function Qa(e){var t=typeof e=="function"?e:Fi(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function es(){return null}function ts(e,t){var n=typeof e=="function"?e:Fi(e),o=t==null?es:typeof t=="function"?t:ko(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function ns(){var e=this.parentNode;e&&e.removeChild(this)}function os(){return this.each(ns)}function is(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function rs(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ls(e){return this.select(e?rs:is)}function as(e){return arguments.length?this.property("__data__",e):this.node().__data__}function ss(e){return function(t){e.call(this,t,this.__data__)}}function us(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function cs(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,r;n<i;++n)r=t[n],(!e.type||r.type===e.type)&&r.name===e.name?this.removeEventListener(r.type,r.listener,r.options):t[++o]=r;++o?t.length=o:delete this.__on}}}function ds(e,t,n){return function(){var o=this.__on,i,r=ss(t);if(o){for(var l=0,a=o.length;l<a;++l)if((i=o[l]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=r,i.options=n),i.value=t;return}}this.addEventListener(e.type,r,n),i={type:e.type,name:e.name,value:t,listener:r,options:n},o?o.push(i):this.__on=[i]}}function fs(e,t,n){var o=us(e+""),i,r=o.length,l;if(arguments.length<2){var a=this.node().__on;if(a){for(var s=0,u=a.length,c;s<u;++s)for(i=0,c=a[s];i<r;++i)if((l=o[i]).type===c.type&&l.name===c.name)return c.value}return}for(a=t?ds:cs,i=0;i<r;++i)this.each(a(o[i],t,n));return this}function ji(e,t,n){var o=Xi(e),i=o.CustomEvent;typeof i=="function"?i=new i(t,n):(i=o.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function hs(e,t){return function(){return ji(this,e,t)}}function ps(e,t){return function(){return ji(this,e,t.apply(this,arguments))}}function gs(e,t){return this.each((typeof t=="function"?ps:hs)(e,t))}function*vs(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,r=o.length,l;i<r;++i)(l=o[i])&&(yield l)}var Qi=[null];function ze(e,t){this._groups=e,this._parents=t}function nn(){return new ze([[document.documentElement]],Qi)}function ms(){return this}ze.prototype=nn.prototype={constructor:ze,select:Yl,selectAll:Xl,selectChild:Jl,selectChildren:ta,filter:na,data:sa,enter:oa,exit:ca,join:da,merge:fa,selection:ms,order:ha,sort:pa,call:va,nodes:ma,node:ya,size:wa,empty:_a,each:ba,attr:$a,style:Da,property:za,classed:Ha,text:Ga,html:Za,raise:Ka,lower:ja,append:Qa,insert:ts,remove:os,clone:ls,datum:as,on:fs,dispatch:gs,[Symbol.iterator]:vs};function Be(e){return typeof e=="string"?new ze([[document.querySelector(e)]],[document.documentElement]):new ze([[e]],Qi)}function ys(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Le(e,t){if(e=ys(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const ws={passive:!1},qt={capture:!0,passive:!1};function Jn(e){e.stopImmediatePropagation()}function St(e){e.preventDefault(),e.stopImmediatePropagation()}function er(e){var t=e.document.documentElement,n=Be(e).on("dragstart.drag",St,qt);"onselectstart"in t?n.on("selectstart.drag",St,qt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function tr(e,t){var n=e.document.documentElement,o=Be(e).on("dragstart.drag",null);t&&(o.on("click.drag",St,qt),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const an=e=>()=>e;function fo(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:r,x:l,y:a,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:l,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}fo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function _s(e){return!e.ctrlKey&&!e.button}function bs(){return this.parentNode}function xs(e,t){return t??{x:e.x,y:e.y}}function Es(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ss(){var e=_s,t=bs,n=xs,o=Es,i={},r=Bn("start","drag","end"),l=0,a,s,u,c,h=0;function p(C){C.on("mousedown.drag",v).filter(o).on("touchstart.drag",x).on("touchmove.drag",$,ws).on("touchend.drag touchcancel.drag",I).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(C,z){if(!(c||!e.call(this,C,z))){var Y=m(this,t.call(this,C,z),C,z,"mouse");Y&&(Be(C.view).on("mousemove.drag",k,qt).on("mouseup.drag",w,qt),er(C.view),Jn(C),u=!1,a=C.clientX,s=C.clientY,Y("start",C))}}function k(C){if(St(C),!u){var z=C.clientX-a,Y=C.clientY-s;u=z*z+Y*Y>h}i.mouse("drag",C)}function w(C){Be(C.view).on("mousemove.drag mouseup.drag",null),tr(C.view,u),St(C),i.mouse("end",C)}function x(C,z){if(e.call(this,C,z)){var Y=C.changedTouches,B=t.call(this,C,z),R=Y.length,j,P;for(j=0;j<R;++j)(P=m(this,B,C,z,Y[j].identifier,Y[j]))&&(Jn(C),P("start",C,Y[j]))}}function $(C){var z=C.changedTouches,Y=z.length,B,R;for(B=0;B<Y;++B)(R=i[z[B].identifier])&&(St(C),R("drag",C,z[B]))}function I(C){var z=C.changedTouches,Y=z.length,B,R;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),B=0;B<Y;++B)(R=i[z[B].identifier])&&(Jn(C),R("end",C,z[B]))}function m(C,z,Y,B,R,j){var P=r.copy(),D=Le(j||Y,z),E,Q,y;if((y=n.call(C,new fo("beforestart",{sourceEvent:Y,target:p,identifier:R,active:l,x:D[0],y:D[1],dx:0,dy:0,dispatch:P}),B))!=null)return E=y.x-D[0]||0,Q=y.y-D[1]||0,function M(S,T,A){var L=D,F;switch(S){case"start":i[R]=M,F=l++;break;case"end":delete i[R],--l;case"drag":D=Le(A||T,z),F=l;break}P.call(S,C,new fo(S,{sourceEvent:T,subject:y,target:p,identifier:R,active:F,x:D[0]+E,y:D[1]+Q,dx:D[0]-L[0],dy:D[1]-L[1],dispatch:P}),B)}}return p.filter=function(C){return arguments.length?(e=typeof C=="function"?C:an(!!C),p):e},p.container=function(C){return arguments.length?(t=typeof C=="function"?C:an(C),p):t},p.subject=function(C){return arguments.length?(n=typeof C=="function"?C:an(C),p):n},p.touchable=function(C){return arguments.length?(o=typeof C=="function"?C:an(!!C),p):o},p.on=function(){var C=r.on.apply(r,arguments);return C===r?p:C},p.clickDistance=function(C){return arguments.length?(h=(C=+C)*C,p):Math.sqrt(h)},p}function $o(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function nr(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function on(){}var Kt=.7,Nn=1/Kt,Nt="\\s*([+-]?\\d+)\\s*",Jt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ue="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ns=/^#([0-9a-f]{3,8})$/,ks=new RegExp(`^rgb\\(${Nt},${Nt},${Nt}\\)$`),Cs=new RegExp(`^rgb\\(${Ue},${Ue},${Ue}\\)$`),$s=new RegExp(`^rgba\\(${Nt},${Nt},${Nt},${Jt}\\)$`),Is=new RegExp(`^rgba\\(${Ue},${Ue},${Ue},${Jt}\\)$`),Ms=new RegExp(`^hsl\\(${Jt},${Ue},${Ue}\\)$`),Ts=new RegExp(`^hsla\\(${Jt},${Ue},${Ue},${Jt}\\)$`),Yo={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};$o(on,gt,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Go,formatHex:Go,formatHex8:Ds,formatHsl:Ps,formatRgb:Wo,toString:Wo});function Go(){return this.rgb().formatHex()}function Ds(){return this.rgb().formatHex8()}function Ps(){return or(this).formatHsl()}function Wo(){return this.rgb().formatRgb()}function gt(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Ns.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Uo(t):n===3?new Ae(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?sn(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?sn(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=ks.exec(e))?new Ae(t[1],t[2],t[3],1):(t=Cs.exec(e))?new Ae(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=$s.exec(e))?sn(t[1],t[2],t[3],t[4]):(t=Is.exec(e))?sn(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ms.exec(e))?qo(t[1],t[2]/100,t[3]/100,1):(t=Ts.exec(e))?qo(t[1],t[2]/100,t[3]/100,t[4]):Yo.hasOwnProperty(e)?Uo(Yo[e]):e==="transparent"?new Ae(NaN,NaN,NaN,0):null}function Uo(e){return new Ae(e>>16&255,e>>8&255,e&255,1)}function sn(e,t,n,o){return o<=0&&(e=t=n=NaN),new Ae(e,t,n,o)}function As(e){return e instanceof on||(e=gt(e)),e?(e=e.rgb(),new Ae(e.r,e.g,e.b,e.opacity)):new Ae}function ho(e,t,n,o){return arguments.length===1?As(e):new Ae(e,t,n,o??1)}function Ae(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}$o(Ae,ho,nr(on,{brighter(e){return e=e==null?Nn:Math.pow(Nn,e),new Ae(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Kt:Math.pow(Kt,e),new Ae(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ae(ht(this.r),ht(this.g),ht(this.b),kn(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:Xo,formatHex:Xo,formatHex8:Os,formatRgb:Zo,toString:Zo}));function Xo(){return`#${ft(this.r)}${ft(this.g)}${ft(this.b)}`}function Os(){return`#${ft(this.r)}${ft(this.g)}${ft(this.b)}${ft((isNaN(this.opacity)?1:this.opacity)*255)}`}function Zo(){const e=kn(this.opacity);return`${e===1?"rgb(":"rgba("}${ht(this.r)}, ${ht(this.g)}, ${ht(this.b)}${e===1?")":`, ${e})`}`}function kn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ht(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ft(e){return e=ht(e),(e<16?"0":"")+e.toString(16)}function qo(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ve(e,t,n,o)}function or(e){if(e instanceof Ve)return new Ve(e.h,e.s,e.l,e.opacity);if(e instanceof on||(e=gt(e)),!e)return new Ve;if(e instanceof Ve)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),l=NaN,a=r-i,s=(r+i)/2;return a?(t===r?l=(n-o)/a+(n<o)*6:n===r?l=(o-t)/a+2:l=(t-n)/a+4,a/=s<.5?r+i:2-r-i,l*=60):a=s>0&&s<1?0:l,new Ve(l,a,s,e.opacity)}function zs(e,t,n,o){return arguments.length===1?or(e):new Ve(e,t,n,o??1)}function Ve(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}$o(Ve,zs,nr(on,{brighter(e){return e=e==null?Nn:Math.pow(Nn,e),new Ve(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Kt:Math.pow(Kt,e),new Ve(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 Ae(jn(e>=240?e-240:e+120,i,o),jn(e,i,o),jn(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new Ve(Ko(this.h),un(this.s),un(this.l),kn(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=kn(this.opacity);return`${e===1?"hsl(":"hsla("}${Ko(this.h)}, ${un(this.s)*100}%, ${un(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ko(e){return e=(e||0)%360,e<0?e+360:e}function un(e){return Math.max(0,Math.min(1,e||0))}function jn(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 Io=e=>()=>e;function Bs(e,t){return function(n){return e+n*t}}function Vs(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 Rs(e){return(e=+e)==1?ir:function(t,n){return n-t?Vs(t,n,e):Io(isNaN(t)?n:t)}}function ir(e,t){var n=t-e;return n?Bs(e,n):Io(isNaN(e)?t:e)}const Cn=function e(t){var n=Rs(t);function o(i,r){var l=n((i=ho(i)).r,(r=ho(r)).r),a=n(i.g,r.g),s=n(i.b,r.b),u=ir(i.opacity,r.opacity);return function(c){return i.r=l(c),i.g=a(c),i.b=s(c),i.opacity=u(c),i+""}}return o.gamma=e,o}(1);function Hs(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),i;return function(r){for(i=0;i<n;++i)o[i]=e[i]*(1-r)+t[i]*r;return o}}function Ls(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Fs(e,t){var n=t?t.length:0,o=e?Math.min(n,e.length):0,i=new Array(o),r=new Array(n),l;for(l=0;l<o;++l)i[l]=Wt(e[l],t[l]);for(;l<n;++l)r[l]=t[l];return function(a){for(l=0;l<o;++l)r[l]=i[l](a);return r}}function Ys(e,t){var n=new Date;return e=+e,t=+t,function(o){return n.setTime(e*(1-o)+t*o),n}}function Fe(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Gs(e,t){var n={},o={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=Wt(e[i],t[i]):o[i]=t[i];return function(r){for(i in n)o[i]=n[i](r);return o}}var po=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Qn=new RegExp(po.source,"g");function Ws(e){return function(){return e}}function Us(e){return function(t){return e(t)+""}}function rr(e,t){var n=po.lastIndex=Qn.lastIndex=0,o,i,r,l=-1,a=[],s=[];for(e=e+"",t=t+"";(o=po.exec(e))&&(i=Qn.exec(t));)(r=i.index)>n&&(r=t.slice(n,r),a[l]?a[l]+=r:a[++l]=r),(o=o[0])===(i=i[0])?a[l]?a[l]+=i:a[++l]=i:(a[++l]=null,s.push({i:l,x:Fe(o,i)})),n=Qn.lastIndex;return n<t.length&&(r=t.slice(n),a[l]?a[l]+=r:a[++l]=r),a.length<2?s[0]?Us(s[0].x):Ws(t):(t=s.length,function(u){for(var c=0,h;c<t;++c)a[(h=s[c]).i]=h.x(u);return a.join("")})}function Wt(e,t){var n=typeof t,o;return t==null||n==="boolean"?Io(t):(n==="number"?Fe:n==="string"?(o=gt(t))?(t=o,Cn):rr:t instanceof gt?Cn:t instanceof Date?Ys:Ls(t)?Hs:Array.isArray(t)?Fs:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Gs:Fe)(e,t)}var Jo=180/Math.PI,go={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function lr(e,t,n,o,i,r){var l,a,s;return(l=Math.sqrt(e*e+t*t))&&(e/=l,t/=l),(s=e*n+t*o)&&(n-=e*s,o-=t*s),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,s/=a),e*o<t*n&&(e=-e,t=-t,s=-s,l=-l),{translateX:i,translateY:r,rotate:Math.atan2(t,e)*Jo,skewX:Math.atan(s)*Jo,scaleX:l,scaleY:a}}var cn;function Xs(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?go:lr(t.a,t.b,t.c,t.d,t.e,t.f)}function Zs(e){return e==null||(cn||(cn=document.createElementNS("http://www.w3.org/2000/svg","g")),cn.setAttribute("transform",e),!(e=cn.transform.baseVal.consolidate()))?go:(e=e.matrix,lr(e.a,e.b,e.c,e.d,e.e,e.f))}function ar(e,t,n,o){function i(u){return u.length?u.pop()+" ":""}function r(u,c,h,p,v,k){if(u!==h||c!==p){var w=v.push("translate(",null,t,null,n);k.push({i:w-4,x:Fe(u,h)},{i:w-2,x:Fe(c,p)})}else(h||p)&&v.push("translate("+h+t+p+n)}function l(u,c,h,p){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),p.push({i:h.push(i(h)+"rotate(",null,o)-2,x:Fe(u,c)})):c&&h.push(i(h)+"rotate("+c+o)}function a(u,c,h,p){u!==c?p.push({i:h.push(i(h)+"skewX(",null,o)-2,x:Fe(u,c)}):c&&h.push(i(h)+"skewX("+c+o)}function s(u,c,h,p,v,k){if(u!==h||c!==p){var w=v.push(i(v)+"scale(",null,",",null,")");k.push({i:w-4,x:Fe(u,h)},{i:w-2,x:Fe(c,p)})}else(h!==1||p!==1)&&v.push(i(v)+"scale("+h+","+p+")")}return function(u,c){var h=[],p=[];return u=e(u),c=e(c),r(u.translateX,u.translateY,c.translateX,c.translateY,h,p),l(u.rotate,c.rotate,h,p),a(u.skewX,c.skewX,h,p),s(u.scaleX,u.scaleY,c.scaleX,c.scaleY,h,p),u=c=null,function(v){for(var k=-1,w=p.length,x;++k<w;)h[(x=p[k]).i]=x.x(v);return h.join("")}}}var qs=ar(Xs,"px, ","px)","deg)"),Ks=ar(Zs,", ",")",")"),Js=1e-12;function jo(e){return((e=Math.exp(e))+1/e)/2}function js(e){return((e=Math.exp(e))-1/e)/2}function Qs(e){return((e=Math.exp(2*e))-1)/(e+1)}const _n=function e(t,n,o){function i(r,l){var a=r[0],s=r[1],u=r[2],c=l[0],h=l[1],p=l[2],v=c-a,k=h-s,w=v*v+k*k,x,$;if(w<Js)$=Math.log(p/u)/t,x=function(B){return[a+B*v,s+B*k,u*Math.exp(t*B*$)]};else{var I=Math.sqrt(w),m=(p*p-u*u+o*w)/(2*u*n*I),C=(p*p-u*u-o*w)/(2*p*n*I),z=Math.log(Math.sqrt(m*m+1)-m),Y=Math.log(Math.sqrt(C*C+1)-C);$=(Y-z)/t,x=function(B){var R=B*$,j=jo(z),P=u/(n*I)*(j*Qs(t*R+z)-js(z));return[a+P*v,s+P*k,u*j/jo(t*R+z)]}}return x.duration=$*1e3*t/Math.SQRT2,x}return i.rho=function(r){var l=Math.max(.001,+r),a=l*l,s=a*a;return e(l,a,s)},i}(Math.SQRT2,2,4);var Mt=0,Lt=0,Bt=0,sr=1e3,$n,Ft,In=0,vt=0,Rn=0,jt=typeof performance=="object"&&performance.now?performance:Date,ur=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Mo(){return vt||(ur(eu),vt=jt.now()+Rn)}function eu(){vt=0}function Mn(){this._call=this._time=this._next=null}Mn.prototype=cr.prototype={constructor:Mn,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Mo():+n)+(t==null?0:+t),!this._next&&Ft!==this&&(Ft?Ft._next=this:$n=this,Ft=this),this._call=e,this._time=n,vo()},stop:function(){this._call&&(this._call=null,this._time=1/0,vo())}};function cr(e,t,n){var o=new Mn;return o.restart(e,t,n),o}function tu(){Mo(),++Mt;for(var e=$n,t;e;)(t=vt-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Mt}function Qo(){vt=(In=jt.now())+Rn,Mt=Lt=0;try{tu()}finally{Mt=0,ou(),vt=0}}function nu(){var e=jt.now(),t=e-In;t>sr&&(Rn-=t,In=e)}function ou(){for(var e,t=$n,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:$n=n);Ft=e,vo(o)}function vo(e){if(!Mt){Lt&&(Lt=clearTimeout(Lt));var t=e-vt;t>24?(e<1/0&&(Lt=setTimeout(Qo,e-jt.now()-Rn)),Bt&&(Bt=clearInterval(Bt))):(Bt||(In=jt.now(),Bt=setInterval(nu,sr)),Mt=1,ur(Qo))}}function ei(e,t,n){var o=new Mn;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var iu=Bn("start","end","cancel","interrupt"),ru=[],dr=0,ti=1,mo=2,bn=3,ni=4,yo=5,xn=6;function Hn(e,t,n,o,i,r){var l=e.__transition;if(!l)e.__transition={};else if(n in l)return;lu(e,n,{name:t,index:o,group:i,on:iu,tween:ru,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:dr})}function To(e,t){var n=Re(e,t);if(n.state>dr)throw new Error("too late; already scheduled");return n}function Xe(e,t){var n=Re(e,t);if(n.state>bn)throw new Error("too late; already running");return n}function Re(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function lu(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=cr(r,0,n.time);function r(u){n.state=ti,n.timer.restart(l,n.delay,n.time),n.delay<=u&&l(u-n.delay)}function l(u){var c,h,p,v;if(n.state!==ti)return s();for(c in o)if(v=o[c],v.name===n.name){if(v.state===bn)return ei(l);v.state===ni?(v.state=xn,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete o[c]):+c<t&&(v.state=xn,v.timer.stop(),v.on.call("cancel",e,e.__data__,v.index,v.group),delete o[c])}if(ei(function(){n.state===bn&&(n.state=ni,n.timer.restart(a,n.delay,n.time),a(u))}),n.state=mo,n.on.call("start",e,e.__data__,n.index,n.group),n.state===mo){for(n.state=bn,i=new Array(p=n.tween.length),c=0,h=-1;c<p;++c)(v=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(i[++h]=v);i.length=h+1}}function a(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(s),n.state=yo,1),h=-1,p=i.length;++h<p;)i[h].call(e,c);n.state===yo&&(n.on.call("end",e,e.__data__,n.index,n.group),s())}function s(){n.state=xn,n.timer.stop(),delete o[t];for(var u in o)return;delete e.__transition}}function En(e,t){var n=e.__transition,o,i,r=!0,l;if(n){t=t==null?null:t+"";for(l in n){if((o=n[l]).name!==t){r=!1;continue}i=o.state>mo&&o.state<yo,o.state=xn,o.timer.stop(),o.on.call(i?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[l]}r&&delete e.__transition}}function au(e){return this.each(function(){En(this,e)})}function su(e,t){var n,o;return function(){var i=Xe(this,e),r=i.tween;if(r!==n){o=n=r;for(var l=0,a=o.length;l<a;++l)if(o[l].name===t){o=o.slice(),o.splice(l,1);break}}i.tween=o}}function uu(e,t,n){var o,i;if(typeof n!="function")throw new Error;return function(){var r=Xe(this,e),l=r.tween;if(l!==o){i=(o=l).slice();for(var a={name:t,value:n},s=0,u=i.length;s<u;++s)if(i[s].name===t){i[s]=a;break}s===u&&i.push(a)}r.tween=i}}function cu(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=Re(this.node(),n).tween,i=0,r=o.length,l;i<r;++i)if((l=o[i]).name===e)return l.value;return null}return this.each((t==null?su:uu)(n,e,t))}function Do(e,t,n){var o=e._id;return e.each(function(){var i=Xe(this,o);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return Re(i,o).value[t]}}function fr(e,t){var n;return(typeof t=="number"?Fe:t instanceof gt?Cn:(n=gt(t))?(t=n,Cn):rr)(e,t)}function du(e){return function(){this.removeAttribute(e)}}function fu(e){return function(){this.removeAttributeNS(e.space,e.local)}}function hu(e,t,n){var o,i=n+"",r;return function(){var l=this.getAttribute(e);return l===i?null:l===o?r:r=t(o=l,n)}}function pu(e,t,n){var o,i=n+"",r;return function(){var l=this.getAttributeNS(e.space,e.local);return l===i?null:l===o?r:r=t(o=l,n)}}function gu(e,t,n){var o,i,r;return function(){var l,a=n(this),s;return a==null?void this.removeAttribute(e):(l=this.getAttribute(e),s=a+"",l===s?null:l===o&&s===i?r:(i=s,r=t(o=l,a)))}}function vu(e,t,n){var o,i,r;return function(){var l,a=n(this),s;return a==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),s=a+"",l===s?null:l===o&&s===i?r:(i=s,r=t(o=l,a)))}}function mu(e,t){var n=Vn(e),o=n==="transform"?Ks:fr;return this.attrTween(e,typeof t=="function"?(n.local?vu:gu)(n,o,Do(this,"attr."+e,t)):t==null?(n.local?fu:du)(n):(n.local?pu:hu)(n,o,t))}function yu(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function wu(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function _u(e,t){var n,o;function i(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&wu(e,r)),n}return i._value=t,i}function bu(e,t){var n,o;function i(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&yu(e,r)),n}return i._value=t,i}function xu(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var o=Vn(e);return this.tween(n,(o.local?_u:bu)(o,t))}function Eu(e,t){return function(){To(this,e).delay=+t.apply(this,arguments)}}function Su(e,t){return t=+t,function(){To(this,e).delay=t}}function Nu(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Eu:Su)(t,e)):Re(this.node(),t).delay}function ku(e,t){return function(){Xe(this,e).duration=+t.apply(this,arguments)}}function Cu(e,t){return t=+t,function(){Xe(this,e).duration=t}}function $u(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?ku:Cu)(t,e)):Re(this.node(),t).duration}function Iu(e,t){if(typeof t!="function")throw new Error;return function(){Xe(this,e).ease=t}}function Mu(e){var t=this._id;return arguments.length?this.each(Iu(t,e)):Re(this.node(),t).ease}function Tu(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Xe(this,e).ease=n}}function Du(e){if(typeof e!="function")throw new Error;return this.each(Tu(this._id,e))}function Pu(e){typeof e!="function"&&(e=Gi(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],l=r.length,a=o[i]=[],s,u=0;u<l;++u)(s=r[u])&&e.call(s,s.__data__,u,r)&&a.push(s);return new Qe(o,this._parents,this._name,this._id)}function Au(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,i=n.length,r=Math.min(o,i),l=new Array(o),a=0;a<r;++a)for(var s=t[a],u=n[a],c=s.length,h=l[a]=new Array(c),p,v=0;v<c;++v)(p=s[v]||u[v])&&(h[v]=p);for(;a<o;++a)l[a]=t[a];return new Qe(l,this._parents,this._name,this._id)}function Ou(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function zu(e,t,n){var o,i,r=Ou(t)?To:Xe;return function(){var l=r(this,e),a=l.on;a!==o&&(i=(o=a).copy()).on(t,n),l.on=i}}function Bu(e,t){var n=this._id;return arguments.length<2?Re(this.node(),n).on.on(e):this.each(zu(n,e,t))}function Vu(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Ru(){return this.on("end.remove",Vu(this._id))}function Hu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ko(e));for(var o=this._groups,i=o.length,r=new Array(i),l=0;l<i;++l)for(var a=o[l],s=a.length,u=r[l]=new Array(s),c,h,p=0;p<s;++p)(c=a[p])&&(h=e.call(c,c.__data__,p,a))&&("__data__"in c&&(h.__data__=c.__data__),u[p]=h,Hn(u[p],t,n,p,u,Re(c,n)));return new Qe(r,this._parents,t,n)}function Lu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Yi(e));for(var o=this._groups,i=o.length,r=[],l=[],a=0;a<i;++a)for(var s=o[a],u=s.length,c,h=0;h<u;++h)if(c=s[h]){for(var p=e.call(c,c.__data__,h,s),v,k=Re(c,n),w=0,x=p.length;w<x;++w)(v=p[w])&&Hn(v,t,n,w,p,k);r.push(p),l.push(c)}return new Qe(r,l,t,n)}var Fu=nn.prototype.constructor;function Yu(){return new Fu(this._groups,this._parents)}function Gu(e,t){var n,o,i;return function(){var r=It(this,e),l=(this.style.removeProperty(e),It(this,e));return r===l?null:r===n&&l===o?i:i=t(n=r,o=l)}}function hr(e){return function(){this.style.removeProperty(e)}}function Wu(e,t,n){var o,i=n+"",r;return function(){var l=It(this,e);return l===i?null:l===o?r:r=t(o=l,n)}}function Uu(e,t,n){var o,i,r;return function(){var l=It(this,e),a=n(this),s=a+"";return a==null&&(s=a=(this.style.removeProperty(e),It(this,e))),l===s?null:l===o&&s===i?r:(i=s,r=t(o=l,a))}}function Xu(e,t){var n,o,i,r="style."+t,l="end."+r,a;return function(){var s=Xe(this,e),u=s.on,c=s.value[r]==null?a||(a=hr(t)):void 0;(u!==n||i!==c)&&(o=(n=u).copy()).on(l,i=c),s.on=o}}function Zu(e,t,n){var o=(e+="")=="transform"?qs:fr;return t==null?this.styleTween(e,Gu(e,o)).on("end.style."+e,hr(e)):typeof t=="function"?this.styleTween(e,Uu(e,o,Do(this,"style."+e,t))).each(Xu(this._id,e)):this.styleTween(e,Wu(e,o,t),n).on("end.style."+e,null)}function qu(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function Ku(e,t,n){var o,i;function r(){var l=t.apply(this,arguments);return l!==i&&(o=(i=l)&&qu(e,l,n)),o}return r._value=t,r}function Ju(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,Ku(e,t,n??""))}function ju(e){return function(){this.textContent=e}}function Qu(e){return function(){var t=e(this);this.textContent=t??""}}function ec(e){return this.tween("text",typeof e=="function"?Qu(Do(this,"text",e)):ju(e==null?"":e+""))}function tc(e){return function(t){this.textContent=e.call(this,t)}}function nc(e){var t,n;function o(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&tc(i)),t}return o._value=e,o}function oc(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,nc(e))}function ic(){for(var e=this._name,t=this._id,n=pr(),o=this._groups,i=o.length,r=0;r<i;++r)for(var l=o[r],a=l.length,s,u=0;u<a;++u)if(s=l[u]){var c=Re(s,t);Hn(s,e,n,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Qe(o,this._parents,e,n)}function rc(){var e,t,n=this,o=n._id,i=n.size();return new Promise(function(r,l){var a={value:l},s={value:function(){--i===0&&r()}};n.each(function(){var u=Xe(this,o),c=u.on;c!==e&&(t=(e=c).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(s)),u.on=t}),i===0&&r()})}var lc=0;function Qe(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function pr(){return++lc}var Ze=nn.prototype;Qe.prototype={constructor:Qe,select:Hu,selectAll:Lu,selectChild:Ze.selectChild,selectChildren:Ze.selectChildren,filter:Pu,merge:Au,selection:Yu,transition:ic,call:Ze.call,nodes:Ze.nodes,node:Ze.node,size:Ze.size,empty:Ze.empty,each:Ze.each,on:Bu,attr:mu,attrTween:xu,style:Zu,styleTween:Ju,text:ec,textTween:oc,remove:Ru,tween:cu,delay:Nu,duration:$u,ease:Mu,easeVarying:Du,end:rc,[Symbol.iterator]:Ze[Symbol.iterator]};function ac(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var sc={time:null,delay:0,duration:250,ease:ac};function uc(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function cc(e){var t,n;e instanceof Qe?(t=e._id,e=e._name):(t=pr(),(n=sc).time=Mo(),e=e==null?null:e+"");for(var o=this._groups,i=o.length,r=0;r<i;++r)for(var l=o[r],a=l.length,s,u=0;u<a;++u)(s=l[u])&&Hn(s,e,t,u,l,n||uc(s,t));return new Qe(o,this._parents,e,t)}nn.prototype.interrupt=au;nn.prototype.transition=cc;const dn=e=>()=>e;function dc(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 Ke(e,t,n){this.k=e,this.x=t,this.y=n}Ke.prototype={constructor:Ke,scale:function(e){return e===1?this:new Ke(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ke(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 Tt=new Ke(1,0,0);Ke.prototype;function eo(e){e.stopImmediatePropagation()}function Vt(e){e.preventDefault(),e.stopImmediatePropagation()}function fc(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function hc(){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 oi(){return this.__zoom||Tt}function pc(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function gc(){return navigator.maxTouchPoints||"ontouchstart"in this}function vc(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],l=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),l>r?(r+l)/2:Math.min(0,r)||Math.max(0,l))}function mc(){var e=fc,t=hc,n=vc,o=pc,i=gc,r=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],a=250,s=_n,u=Bn("start","zoom","end"),c,h,p,v=500,k=150,w=0,x=10;function $(y){y.property("__zoom",oi).on("wheel.zoom",R,{passive:!1}).on("mousedown.zoom",j).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",D).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",Q).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}$.transform=function(y,M,S,T){var A=y.selection?y.selection():y;A.property("__zoom",oi),y!==A?z(y,M,S,T):A.interrupt().each(function(){Y(this,arguments).event(T).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},$.scaleBy=function(y,M,S,T){$.scaleTo(y,function(){var A=this.__zoom.k,L=typeof M=="function"?M.apply(this,arguments):M;return A*L},S,T)},$.scaleTo=function(y,M,S,T){$.transform(y,function(){var A=t.apply(this,arguments),L=this.__zoom,F=S==null?C(A):typeof S=="function"?S.apply(this,arguments):S,J=L.invert(F),oe=typeof M=="function"?M.apply(this,arguments):M;return n(m(I(L,oe),F,J),A,l)},S,T)},$.translateBy=function(y,M,S,T){$.transform(y,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof S=="function"?S.apply(this,arguments):S),t.apply(this,arguments),l)},null,T)},$.translateTo=function(y,M,S,T,A){$.transform(y,function(){var L=t.apply(this,arguments),F=this.__zoom,J=T==null?C(L):typeof T=="function"?T.apply(this,arguments):T;return n(Tt.translate(J[0],J[1]).scale(F.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof S=="function"?-S.apply(this,arguments):-S),L,l)},T,A)};function I(y,M){return M=Math.max(r[0],Math.min(r[1],M)),M===y.k?y:new Ke(M,y.x,y.y)}function m(y,M,S){var T=M[0]-S[0]*y.k,A=M[1]-S[1]*y.k;return T===y.x&&A===y.y?y:new Ke(y.k,T,A)}function C(y){return[(+y[0][0]+ +y[1][0])/2,(+y[0][1]+ +y[1][1])/2]}function z(y,M,S,T){y.on("start.zoom",function(){Y(this,arguments).event(T).start()}).on("interrupt.zoom end.zoom",function(){Y(this,arguments).event(T).end()}).tween("zoom",function(){var A=this,L=arguments,F=Y(A,L).event(T),J=t.apply(A,L),oe=S==null?C(J):typeof S=="function"?S.apply(A,L):S,ae=Math.max(J[1][0]-J[0][0],J[1][1]-J[0][1]),ce=A.__zoom,Z=typeof M=="function"?M.apply(A,L):M,q=s(ce.invert(oe).concat(ae/ce.k),Z.invert(oe).concat(ae/Z.k));return function(te){if(te===1)te=Z;else{var he=q(te),we=ae/he[2];te=new Ke(we,oe[0]-he[0]*we,oe[1]-he[1]*we)}F.zoom(null,te)}})}function Y(y,M,S){return!S&&y.__zooming||new B(y,M)}function B(y,M){this.that=y,this.args=M,this.active=0,this.sourceEvent=null,this.extent=t.apply(y,M),this.taps=0}B.prototype={event:function(y){return y&&(this.sourceEvent=y),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(y,M){return this.mouse&&y!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&y!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&y!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(y){var M=Be(this.that).datum();u.call(y,this.that,new dc(y,{sourceEvent:this.sourceEvent,target:$,transform:this.that.__zoom,dispatch:u}),M)}};function R(y,...M){if(!e.apply(this,arguments))return;var S=Y(this,M).event(y),T=this.__zoom,A=Math.max(r[0],Math.min(r[1],T.k*Math.pow(2,o.apply(this,arguments)))),L=Le(y);if(S.wheel)(S.mouse[0][0]!==L[0]||S.mouse[0][1]!==L[1])&&(S.mouse[1]=T.invert(S.mouse[0]=L)),clearTimeout(S.wheel);else{if(T.k===A)return;S.mouse=[L,T.invert(L)],En(this),S.start()}Vt(y),S.wheel=setTimeout(F,k),S.zoom("mouse",n(m(I(T,A),S.mouse[0],S.mouse[1]),S.extent,l));function F(){S.wheel=null,S.end()}}function j(y,...M){if(p||!e.apply(this,arguments))return;var S=y.currentTarget,T=Y(this,M,!0).event(y),A=Be(y.view).on("mousemove.zoom",oe,!0).on("mouseup.zoom",ae,!0),L=Le(y,S),F=y.clientX,J=y.clientY;er(y.view),eo(y),T.mouse=[L,this.__zoom.invert(L)],En(this),T.start();function oe(ce){if(Vt(ce),!T.moved){var Z=ce.clientX-F,q=ce.clientY-J;T.moved=Z*Z+q*q>w}T.event(ce).zoom("mouse",n(m(T.that.__zoom,T.mouse[0]=Le(ce,S),T.mouse[1]),T.extent,l))}function ae(ce){A.on("mousemove.zoom mouseup.zoom",null),tr(ce.view,T.moved),Vt(ce),T.event(ce).end()}}function P(y,...M){if(e.apply(this,arguments)){var S=this.__zoom,T=Le(y.changedTouches?y.changedTouches[0]:y,this),A=S.invert(T),L=S.k*(y.shiftKey?.5:2),F=n(m(I(S,L),T,A),t.apply(this,M),l);Vt(y),a>0?Be(this).transition().duration(a).call(z,F,T,y):Be(this).call($.transform,F,T,y)}}function D(y,...M){if(e.apply(this,arguments)){var S=y.touches,T=S.length,A=Y(this,M,y.changedTouches.length===T).event(y),L,F,J,oe;for(eo(y),F=0;F<T;++F)J=S[F],oe=Le(J,this),oe=[oe,this.__zoom.invert(oe),J.identifier],A.touch0?!A.touch1&&A.touch0[2]!==oe[2]&&(A.touch1=oe,A.taps=0):(A.touch0=oe,L=!0,A.taps=1+!!c);c&&(c=clearTimeout(c)),L&&(A.taps<2&&(h=oe[0],c=setTimeout(function(){c=null},v)),En(this),A.start())}}function E(y,...M){if(this.__zooming){var S=Y(this,M).event(y),T=y.changedTouches,A=T.length,L,F,J,oe;for(Vt(y),L=0;L<A;++L)F=T[L],J=Le(F,this),S.touch0&&S.touch0[2]===F.identifier?S.touch0[0]=J:S.touch1&&S.touch1[2]===F.identifier&&(S.touch1[0]=J);if(F=S.that.__zoom,S.touch1){var ae=S.touch0[0],ce=S.touch0[1],Z=S.touch1[0],q=S.touch1[1],te=(te=Z[0]-ae[0])*te+(te=Z[1]-ae[1])*te,he=(he=q[0]-ce[0])*he+(he=q[1]-ce[1])*he;F=I(F,Math.sqrt(te/he)),J=[(ae[0]+Z[0])/2,(ae[1]+Z[1])/2],oe=[(ce[0]+q[0])/2,(ce[1]+q[1])/2]}else if(S.touch0)J=S.touch0[0],oe=S.touch0[1];else return;S.zoom("touch",n(m(F,J,oe),S.extent,l))}}function Q(y,...M){if(this.__zooming){var S=Y(this,M).event(y),T=y.changedTouches,A=T.length,L,F;for(eo(y),p&&clearTimeout(p),p=setTimeout(function(){p=null},v),L=0;L<A;++L)F=T[L],S.touch0&&S.touch0[2]===F.identifier?delete S.touch0:S.touch1&&S.touch1[2]===F.identifier&&delete S.touch1;if(S.touch1&&!S.touch0&&(S.touch0=S.touch1,delete S.touch1),S.touch0)S.touch0[1]=this.__zoom.invert(S.touch0[0]);else if(S.end(),S.taps===2&&(F=Le(F,this),Math.hypot(h[0]-F[0],h[1]-F[1])<x)){var J=Be(this).on("dblclick.zoom");J&&J.apply(this,arguments)}}}return $.wheelDelta=function(y){return arguments.length?(o=typeof y=="function"?y:dn(+y),$):o},$.filter=function(y){return arguments.length?(e=typeof y=="function"?y:dn(!!y),$):e},$.touchable=function(y){return arguments.length?(i=typeof y=="function"?y:dn(!!y),$):i},$.extent=function(y){return arguments.length?(t=typeof y=="function"?y:dn([[+y[0][0],+y[0][1]],[+y[1][0],+y[1][1]]]),$):t},$.scaleExtent=function(y){return arguments.length?(r[0]=+y[0],r[1]=+y[1],$):[r[0],r[1]]},$.translateExtent=function(y){return arguments.length?(l[0][0]=+y[0][0],l[1][0]=+y[1][0],l[0][1]=+y[0][1],l[1][1]=+y[1][1],$):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},$.constrain=function(y){return arguments.length?(n=y,$):n},$.duration=function(y){return arguments.length?(a=+y,$):a},$.interpolate=function(y){return arguments.length?(s=y,$):s},$.on=function(){var y=u.on.apply(u,arguments);return y===u?$:y},$.clickDistance=function(y){return arguments.length?(w=(y=+y)*y,$):Math.sqrt(w)},$.tapDistance=function(y){return arguments.length?(x=+y,$):x},$}var K=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(K||{}),Po=(e=>(e.Partial="partial",e.Full="full",e))(Po||{}),ct=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(ct||{}),lt=(e=>(e.Strict="strict",e.Loose="loose",e))(lt||{}),wo=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(wo||{}),Ut=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(Ut||{}),gr=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))(gr||{});const yc=["INPUT","SELECT","TEXTAREA"],wc=typeof document<"u"?document:null;function _o(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?.hasAttribute=="function"?o.hasAttribute("contenteditable"):!1,r=typeof o?.closest=="function"?o.closest(".nokey"):null;return yc.includes(o?.nodeName)||i||!!r}function _c(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function ii(e,t,n,o){const i=t.replace("+",`
|
||
`).replace(`
|
||
|
||
`,`
|
||
+`).split(`
|
||
`).map(l=>l.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===t.toLowerCase();o||n.add(e.toLowerCase());const r=i.every((l,a)=>n.has(l)&&Array.from(n.values())[a]===i[a]);return o&&n.delete(e.toLowerCase()),r}function bc(e,t){return n=>{if(!n.code&&!n.key)return!1;const o=xc(n.code,e);return Array.isArray(e)?e.some(i=>ii(n[o],i,t,n.type==="keyup")):ii(n[o],e,t,n.type==="keyup")}}function xc(e,t){return t.includes(e)?"code":"key"}function Xt(e,t){const n=ie(()=>fe(t?.target)??wc),o=it(fe(e)===!0);let i=!1;const r=new Set;let l=s(fe(e));ye(()=>fe(e),(u,c)=>{typeof c=="boolean"&&typeof u!="boolean"&&a(),l=s(u)},{immediate:!0}),Li(["blur","contextmenu"],a),Ho((...u)=>l(...u),u=>{var c,h;const p=fe(t?.actInsideInputWithModifier)??!0,v=fe(t?.preventDefault)??!1;if(i=_c(u),(!i||i&&!p)&&_o(u))return;const w=((h=(c=u.composedPath)==null?void 0:c.call(u))==null?void 0:h[0])||u.target,x=w?.nodeName==="BUTTON"||w?.nodeName==="A";!v&&(i||!x)&&u.preventDefault(),o.value=!0},{eventName:"keydown",target:n}),Ho((...u)=>l(...u),u=>{const c=fe(t?.actInsideInputWithModifier)??!0;if(o.value){if((!i||i&&!c)&&_o(u))return;i=!1,o.value=!1}},{eventName:"keyup",target:n});function a(){i=!1,r.clear(),o.value=fe(e)===!0}function s(u){return u===null?(a(),()=>!1):typeof u=="boolean"?(a(),o.value=u,()=>!1):Array.isArray(u)||typeof u=="string"?bc(u,r):u}return o}const vr="vue-flow__node-desc",mr="vue-flow__edge-desc",Ec="vue-flow__aria-live",yr=["Enter"," ","Escape"],kt={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function Tn(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function Dn(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 Ln(e){return{width:e.offsetWidth,height:e.offsetHeight}}function mt(e,t=0,n=1){return Math.min(Math.max(e,t),n)}function wr(e,t){return{x:mt(e.x,t[0][0],t[1][0]),y:mt(e.y,t[0][1],t[1][1])}}function ri(e){const t=e.getRootNode();return"elementFromPoint"in t?t:window.document}function at(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function pt(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!at(e)}function Yt(e){return pt(e)&&"computedPosition"in e}function fn(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Sc(e){return fn(e.width)&&fn(e.height)&&fn(e.x)&&fn(e.y)}function Nc(e,t,n){const o={id:e.id.toString(),type:e.type??"default",dimensions:Gt({width:0,height:0}),computedPosition:Gt({z:0,...e.position}),handleBounds:{source:[],target:[]},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:Ie(e.data)?e.data:{},events:Gt(Ie(e.events)?e.events:{})};return Object.assign(t??o,e,{id:e.id.toString(),parentNode:n})}function _r(e,t,n){var o,i;const r={id:e.id.toString(),type:e.type??t?.type??"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:e.updatable??n?.updatable,selectable:e.selectable??n?.selectable,focusable:e.focusable??n?.focusable,data:Ie(e.data)?e.data:{},events:Gt(Ie(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??n?.interactionWidth,...n??{}};return Object.assign(t??r,e,{id:e.id.toString()})}function br(e,t,n,o){const i=typeof e=="string"?e:e.id,r=new Set,l=o==="source"?"target":"source";for(const a of n)a[l]===i&&r.add(a[o]);return t.filter(a=>r.has(a.id))}function kc(...e){if(e.length===3){const[r,l,a]=e;return br(r,l,a,"target")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>at(r)&&r.source===o).map(r=>n.find(l=>pt(l)&&l.id===r.target))}function Cc(...e){if(e.length===3){const[r,l,a]=e;return br(r,l,a,"source")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>at(r)&&r.target===o).map(r=>n.find(l=>pt(l)&&l.id===r.source))}function xr({source:e,sourceHandle:t,target:n,targetHandle:o}){return`vueflow__edge-${e}${t??""}-${n}${o??""}`}function $c(e,t){return t.some(n=>at(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 Qt({x:e,y:t},{x:n,y:o,zoom:i}){return{x:e*i+n,y:t*i+o}}function en({x:e,y:t},{x:n,y:o,zoom:i},r=!1,l=[1,1]){const a={x:(e-n)/i,y:(t-o)/i};return r?Fn(a,l):a}function Ic(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 Er({x:e,y:t,width:n,height:o}){return{x:e,y:t,x2:e+n,y2:t+o}}function Mc({x:e,y:t,x2:n,y2:o}){return{x:e,y:t,width:n-e,height:o-t}}function Sr(e){let t={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let n=0;n<e.length;n++){const o=e[n];t=Ic(t,Er({...o.computedPosition,...o.dimensions}))}return Mc(t)}function Nr(e,t,n={x:0,y:0,zoom:1},o=!1,i=!1){const r={...en(t,n),width:t.width/n.zoom,height:t.height/n.zoom},l=[];for(const a of e){const{dimensions:s,selectable:u=!0,hidden:c=!1}=a,h=s.width??a.width??null,p=s.height??a.height??null;if(i&&!u||c)continue;const v=Dn(r,Tn(a)),k=h===null||p===null,w=o&&v>0,x=(h??0)*(p??0);(k||w||v>=x||a.dragging)&&l.push(a)}return l}function kr(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 bt(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return rn(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Tc(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=bt(e,n),i=bt(e,t);return{top:o,right:i,bottom:o,left:i,x:i*2,y:o*2}}if(typeof e=="object"){const o=bt(e.top??e.y??0,n),i=bt(e.bottom??e.y??0,n),r=bt(e.left??e.x??0,t),l=bt(e.right??e.x??0,t);return{top:o,right:l,bottom:i,left:r,x:r+l,y:o+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Dc(e,t,n,o,i,r){const{x:l,y:a}=Qt(e,{x:t,y:n,zoom:o}),{x:s,y:u}=Qt({x:e.x+e.width,y:e.y+e.height},{x:t,y:n,zoom:o}),c=i-s,h=r-u;return{left:Math.floor(l),top:Math.floor(a),right:Math.floor(c),bottom:Math.floor(h)}}function li(e,t,n,o,i,r=.1){const l=Tc(r,t,n),a=(t-l.x)/e.width,s=(n-l.y)/e.height,u=Math.min(a,s),c=mt(u,o,i),h=e.x+e.width/2,p=e.y+e.height/2,v=t/2-h*c,k=n/2-p*c,w=Dc(e,v,k,c,t,n),x={left:Math.min(w.left-l.left,0),top:Math.min(w.top-l.top,0),right:Math.min(w.right-l.right,0),bottom:Math.min(w.bottom-l.bottom,0)};return{x:v-x.left+x.right,y:k-x.top+x.bottom,zoom:c}}function Pc(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function Cr(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:Cr(n,t):!1}function tn(e,t){return typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`}function ai(e){const t=e.ctrlKey&&Pn()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t}function si(e,t,n){return e<t?mt(Math.abs(e-t),1,t)/t:e>n?-mt(Math.abs(e-n),1,t)/t:0}function $r(e,t,n=15,o=40){const i=si(e.x,o,t.width-o)*n,r=si(e.y,o,t.height-o)*n;return[i,r]}function to(e,t){if(t){const n=e.position.x+e.dimensions.width-t.dimensions.width,o=e.position.y+e.dimensions.height-t.dimensions.height;if(n>0||o>0||e.position.x<0||e.position.y<0){let i={};if(typeof t.style=="function"?i={...t.style(t)}:t.style&&(i={...t.style}),i.width=i.width??`${t.dimensions.width}px`,i.height=i.height??`${t.dimensions.height}px`,n>0)if(typeof i.width=="string"){const r=Number(i.width.replace("px",""));i.width=`${r+n}px`}else i.width+=n;if(o>0)if(typeof i.height=="string"){const r=Number(i.height.replace("px",""));i.height=`${r+o}px`}else i.height+=o;if(e.position.x<0){const r=Math.abs(e.position.x);if(t.position.x=t.position.x-r,typeof i.width=="string"){const l=Number(i.width.replace("px",""));i.width=`${l+r}px`}else i.width+=r;e.position.x=0}if(e.position.y<0){const r=Math.abs(e.position.y);if(t.position.y=t.position.y-r,typeof i.height=="string"){const l=Number(i.height.replace("px",""));i.height=`${l+r}px`}else i.height+=r;e.position.y=0}t.dimensions.width=Number(i.width.toString().replace("px","")),t.dimensions.height=Number(i.height.toString().replace("px","")),typeof t.style=="function"?t.style=r=>{const l=t.style;return{...l(r),...i}}:t.style={...t.style,...i}}}}function ui(e,t){var n,o;const i=e.filter(l=>l.type==="add"||l.type==="remove");for(const l of i)if(l.type==="add")t.findIndex(s=>s.id===l.item.id)===-1&&t.push(l.item);else if(l.type==="remove"){const a=t.findIndex(s=>s.id===l.id);a!==-1&&t.splice(a,1)}const r=t.map(l=>l.id);for(const l of t)for(const a of e)if(a.id===l.id)switch(a.type){case"select":l.selected=a.selected;break;case"position":if(Yt(l)&&(typeof a.position<"u"&&(l.position=a.position),typeof a.dragging<"u"&&(l.dragging=a.dragging),l.expandParent&&l.parentNode)){const s=t[r.indexOf(l.parentNode)];s&&Yt(s)&&to(l,s)}break;case"dimensions":if(Yt(l)&&(typeof a.dimensions<"u"&&(l.dimensions=a.dimensions),typeof a.updateStyle<"u"&&a.updateStyle&&(l.style={...l.style||{},width:`${(n=a.dimensions)==null?void 0:n.width}px`,height:`${(o=a.dimensions)==null?void 0:o.height}px`}),typeof a.resizing<"u"&&(l.resizing=a.resizing),l.expandParent&&l.parentNode)){const s=t[r.indexOf(l.parentNode)];s&&Yt(s)&&(!!s.dimensions.width&&!!s.dimensions.height?to(l,s):We(()=>{to(l,s)}))}break}return t}function nt(e,t){return{id:e,type:"select",selected:t}}function ci(e){return{item:e,type:"add"}}function di(e){return{id:e,type:"remove"}}function fi(e,t,n,o,i){return{id:e,source:t,target:n,sourceHandle:o||null,targetHandle:i||null,type:"remove"}}function ot(e,t=new Set,n=!1){const o=[];for(const[i,r]of e){const l=t.has(i);!(r.selected===void 0&&!l)&&r.selected!==l&&(n&&(r.selected=l),o.push(nt(r.id,l)))}return o}const hi=()=>{};function W(e){const t=new Set;let n=hi,o=()=>!1;const i=()=>t.size>0||o(),r=p=>{n=p},l=()=>{n=hi},a=p=>{o=p},s=()=>{o=()=>!1},u=p=>{t.delete(p)};return{on:p=>{t.add(p);const v=()=>u(p);return Zt(v),{off:v}},off:u,trigger:p=>{const v=[n];return i()?v.push(...t):e&&v.push(e),Promise.allSettled(v.map(k=>k(p)))},hasListeners:i,listeners:t,setEmitter:r,removeEmitter:l,setHasEmitListeners:a,removeHasEmitListeners:s}}function pi(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 Ac(e,t,n,o){var i,r;const l=new Map;for(const[a,s]of e)(s.selected||s.id===o)&&(!s.parentNode||!Cr(s,e))&&(s.draggable||t&&typeof s.draggable>"u")&&e.get(a)&&l.set(a,{id:s.id,position:s.position||{x:0,y:0},distance:{x:n.x-((i=s.computedPosition)==null?void 0:i.x)||0,y:n.y-((r=s.computedPosition)==null?void 0:r.y)||0},from:{x:s.computedPosition.x,y:s.computedPosition.y},extent:s.extent,parentNode:s.parentNode,dimensions:{...s.dimensions},expandParent:s.expandParent});return Array.from(l.values())}function no({id:e,dragItems:t,findNode:n}){const o=[];for(const i of t){const r=n(i.id);r&&o.push(r)}return[e?o.find(i=>i.id===e):o[0],o]}function Ir(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 Oc(e,t,n){const[o,i,r,l]=typeof e!="string"?Ir(e.padding):[0,0,0,0];return n&&typeof n.computedPosition.x<"u"&&typeof n.computedPosition.y<"u"&&typeof n.dimensions.width<"u"&&typeof n.dimensions.height<"u"?[[n.computedPosition.x+l,n.computedPosition.y+o],[n.computedPosition.x+n.dimensions.width-i,n.computedPosition.y+n.dimensions.height-r]]:!1}function zc(e,t,n,o){let i=e.extent||n;if((i==="parent"||!Array.isArray(i)&&i?.range==="parent")&&!e.expandParent)if(e.parentNode&&o&&e.dimensions.width&&e.dimensions.height){const r=Oc(i,e,o);r&&(i=r)}else t(new De(Me.NODE_EXTENT_INVALID,e.id)),i=n;else if(Array.isArray(i)){const r=o?.computedPosition.x||0,l=o?.computedPosition.y||0;i=[[i[0][0]+r,i[0][1]+l],[i[1][0]+r,i[1][1]+l]]}else if(i!=="parent"&&i?.range&&Array.isArray(i.range)){const[r,l,a,s]=Ir(i.padding),u=o?.computedPosition.x||0,c=o?.computedPosition.y||0;i=[[i.range[0][0]+u+s,i.range[0][1]+c+r],[i.range[1][0]+u-l,i.range[1][1]+c-a]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function Bc({width:e,height:t},n){return[n[0],[n[1][0]-(e||0),n[1][1]-(t||0)]]}function Ao(e,t,n,o,i){const r=Bc(e.dimensions,zc(e,n,o,i)),l=wr(t,r);return{position:{x:l.x-(i?.computedPosition.x||0),y:l.y-(i?.computedPosition.y||0)},computedPosition:l}}function Dt(e,t,n=K.Left,o=!1){const i=(t?.x??0)+e.computedPosition.x,r=(t?.y??0)+e.computedPosition.y,{width:l,height:a}=t??Lc(e);if(o)return{x:i+l/2,y:r+a/2};switch(t?.position??n){case K.Top:return{x:i+l/2,y:r};case K.Right:return{x:i+l,y:r+a/2};case K.Bottom:return{x:i+l/2,y:r+a};case K.Left:return{x:i,y:r+a/2}}}function gi(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Vc({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:r,width:l,height:a,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=Er({x:(0-s.x)/s.zoom,y:(0-s.y)/s.zoom,width:l/s.zoom,height:a/s.zoom}),h=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),p=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(h*p)>0}function Rc(e,t,n=!1){const o=typeof e.zIndex=="number";let i=o?e.zIndex:0;const r=t(e.source),l=t(e.target);return!r||!l?0:(n&&(i=o?e.zIndex:Math.max(r.computedPosition.z||0,l.computedPosition.z||0)),i)}var Me=(e=>(e.MISSING_STYLES="MISSING_STYLES",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.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Me||{});const vi={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",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}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class De extends Error{constructor(t,...n){var o;super((o=vi[t])==null?void 0:o.call(vi,...n)),this.name="VueFlowError",this.code=t,this.args=n}}function Oo(e){return"clientX"in e}function Hc(e){return"sourceEvent"in e}function Ge(e,t){const n=Oo(e);let o,i;return n?(o=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(o=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(o=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(o=0,i=0),{x:o-(t?.left??0),y:i-(t?.top??0)}}const Pn=()=>{var e;return typeof navigator<"u"&&((e=navigator?.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Lc(e){var t,n;return{width:((t=e.dimensions)==null?void 0:t.width)??e.width??0,height:((n=e.dimensions)==null?void 0:n.height)??e.height??0}}function Fn(e,t=[1,1]){return{x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}}const Fc=()=>!0;function oo(e){e?.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function Yc(e,t,n){const o=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const r of t.values())Dn(i,Tn(r))>0&&o.push(r);return o}const Gc=250;function Wc(e,t,n,o){var i,r;let l=[],a=Number.POSITIVE_INFINITY;const s=Yc(e,n,t+Gc);for(const u of s){const c=[...((i=u.handleBounds)==null?void 0:i.source)??[],...((r=u.handleBounds)==null?void 0:r.target)??[]];for(const h of c){if(o.nodeId===h.nodeId&&o.type===h.type&&o.id===h.id)continue;const{x:p,y:v}=Dt(u,h,h.position,!0),k=Math.sqrt((p-e.x)**2+(v-e.y)**2);k>t||(k<a?(l=[{...h,x:p,y:v}],a=k):k===a&&l.push({...h,x:p,y:v}))}}if(!l.length)return null;if(l.length>1){const u=o.type==="source"?"target":"source";return l.find(c=>c.type===u)??l[0]}return l[0]}function mi(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:i,fromType:r,doc:l,lib:a,flowId:s,isValidConnection:u=Fc},c,h,p,v){const k=r==="target",w=t?l.querySelector(`.${a}-flow__handle[data-id="${s}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x,y:$}=Ge(e),I=l.elementFromPoint(x,$),m=I?.classList.contains(`${a}-flow__handle`)?I:w,C={handleDomNode:m,isValid:!1,connection:null,toHandle:null};if(m){const z=Mr(void 0,m),Y=m.getAttribute("data-nodeid"),B=m.getAttribute("data-handleid"),R=m.classList.contains("connectable"),j=m.classList.contains("connectableend");if(!Y||!z)return C;const P={source:k?Y:o,sourceHandle:k?B:i,target:k?o:Y,targetHandle:k?i:B};C.connection=P;const E=R&&j&&(n===lt.Strict?k&&z==="source"||!k&&z==="target":Y!==o||B!==i);C.isValid=E&&u(P,{nodes:h,edges:c,sourceNode:p(P.source),targetNode:p(P.target)}),C.toHandle=Tr(Y,z,B,v,n,!0)}return C}function Mr(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function Uc(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function Xc(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}function Tr(e,t,n,o,i,r=!1){var l,a,s;const u=o.get(e);if(!u)return null;const c=i===lt.Strict?(l=u.handleBounds)==null?void 0:l[t]:[...((a=u.handleBounds)==null?void 0:a.source)??[],...((s=u.handleBounds)==null?void 0:s.target)??[]],h=(n?c?.find(p=>p.id===n):c?.[0])??null;return h&&r?{...h,...Dt(u,h,h.position,!0)}:h}const bo={[K.Left]:K.Right,[K.Right]:K.Left,[K.Top]:K.Bottom,[K.Bottom]:K.Top},Zc=["production","prod"];function rn(e,...t){Dr()&&console.warn(`[Vue Flow]: ${e}`,...t)}function Dr(){return!Zc.includes("production")}function yi(e,t,n,o,i){const r=t.querySelectorAll(`.vue-flow__handle.${e}`);return r?.length?Array.from(r).map(l=>{const a=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(a.left-n.left)/o,y:(a.top-n.top)/o,...Ln(l)}}):null}function xo(e,t,n,o,i,r=!1,l){i.value=!1,e.selected?(r||e.selected&&t)&&(o([e]),We(()=>{l.blur()})):n([e])}function Ie(e){return typeof V(e)<"u"}function qc(e,t,n,o){if(!e||!e.source||!e.target)return n(new De(Me.EDGE_INVALID,e?.id??"[ID UNKNOWN]")),!1;let i;return at(e)?i=e:i={...e,id:xr(e)},i=_r(i,void 0,o),$c(i,t)?!1:i}function Kc(e,t,n,o,i){if(!t.source||!t.target)return i(new De(Me.EDGE_INVALID,e.id)),!1;if(!n)return i(new De(Me.EDGE_NOT_FOUND,e.id)),!1;const{id:r,...l}=e;return{...l,id:o?xr(t):r,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle}}function wi(e,t,n){const o={},i=[];for(let r=0;r<e.length;++r){const l=e[r];if(!pt(l)){n(new De(Me.NODE_INVALID,l?.id)||`[ID UNKNOWN|INDEX ${r}]`);continue}const a=Nc(l,t(l.id),l.parentNode);l.parentNode&&(o[l.parentNode]=!0),i[r]=a}for(const r of i){const l=t(r.parentNode)||i.find(a=>a.id===r.parentNode);r.parentNode&&!l&&n(new De(Me.NODE_MISSING_PARENT,r.id,r.parentNode)),(r.parentNode||o[r.id])&&(o[r.id]&&(r.isParent=!0),l&&(l.isParent=!0))}return i}function _i(e,t,n,o,i,r){let l=i;const a=o.get(l)||new Map;o.set(l,a.set(n,t)),l=`${i}-${e}`;const s=o.get(l)||new Map;if(o.set(l,s.set(n,t)),r){l=`${i}-${e}-${r}`;const u=o.get(l)||new Map;o.set(l,u.set(n,t))}}function io(e,t,n){e.clear();for(const o of n){const{source:i,target:r,sourceHandle:l=null,targetHandle:a=null}=o,s={edgeId:o.id,source:i,target:r,sourceHandle:l,targetHandle:a},u=`${i}-${l}--${r}-${a}`,c=`${r}-${a}--${i}-${l}`;_i("source",s,c,e,i,l),_i("target",s,u,e,r,a)}}function bi(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function ro(e,t,n,o,i,r,l,a){const s=[];for(const u of e){const c=at(u)?u:qc(u,a,i,r);if(!c)continue;const h=n(c.source),p=n(c.target);if(!h||!p){i(new De(Me.EDGE_SOURCE_TARGET_MISSING,c.id,c.source,c.target));continue}if(!h){i(new De(Me.EDGE_SOURCE_MISSING,c.id,c.source));continue}if(!p){i(new De(Me.EDGE_TARGET_MISSING,c.id,c.target));continue}if(t&&!t(c,{edges:a,nodes:l,sourceNode:h,targetNode:p})){i(new De(Me.EDGE_INVALID,c.id));continue}const v=o(c.id);s.push({..._r(c,v,r),sourceNode:h,targetNode:p})}return s}const xi=Symbol("vueFlow"),Pr=Symbol("nodeId"),Ar=Symbol("nodeRef"),Jc=Symbol("edgeId"),jc=Symbol("edgeRef"),Yn=Symbol("slots");function Or(e){const{vueFlowRef:t,snapToGrid:n,snapGrid:o,noDragClassName:i,nodeLookup:r,nodeExtent:l,nodeDragThreshold:a,viewport:s,autoPanOnNodeDrag:u,autoPanSpeed:c,nodesDraggable:h,panBy:p,findNode:v,multiSelectionActive:k,nodesSelectionActive:w,selectNodesOnDrag:x,removeSelectedElements:$,addSelectedNodes:I,updateNodePositions:m,emits:C}=Ne(),{onStart:z,onDrag:Y,onStop:B,onClick:R,el:j,disabled:P,id:D,selectable:E,dragHandle:Q}=e,y=it(!1);let M=[],S,T=null,A={x:void 0,y:void 0},L={x:0,y:0},F=null,J=!1,oe=!1,ae=0,ce=!1;const Z=td(),q=({x:re,y:N})=>{A={x:re,y:N};let d=!1;if(M=M.map(f=>{const g={x:re-f.distance.x,y:N-f.distance.y},{computedPosition:b}=Ao(f,n.value?Fn(g,o.value):g,C.error,l.value,f.parentNode?v(f.parentNode):void 0);return d=d||f.position.x!==b.x||f.position.y!==b.y,f.position=b,f}),oe=oe||d,!!d&&(m(M,!0,!0),y.value=!0,F)){const[f,g]=no({id:D,dragItems:M,findNode:v});Y({event:F,node:f,nodes:g})}},te=()=>{if(!T)return;const[re,N]=$r(L,T,c.value);if(re!==0||N!==0){const d={x:(A.x??0)-re/s.value.zoom,y:(A.y??0)-N/s.value.zoom};p({x:re,y:N})&&q(d)}ae=requestAnimationFrame(te)},he=(re,N)=>{J=!0;const d=v(D);!x.value&&!k.value&&d&&(d.selected||$()),d&&fe(E)&&x.value&&xo(d,k.value,I,$,w,!1,N);const f=Z(re.sourceEvent);if(A=f,M=Ac(r.value,h.value,f,D),M.length){const[g,b]=no({id:D,dragItems:M,findNode:v});z({event:re.sourceEvent,node:g,nodes:b})}},we=(re,N)=>{var d;re.sourceEvent.type==="touchmove"&&re.sourceEvent.touches.length>1||(oe=!1,a.value===0&&he(re,N),A=Z(re.sourceEvent),T=((d=t.value)==null?void 0:d.getBoundingClientRect())||null,L=Ge(re.sourceEvent,T))},se=(re,N)=>{const d=Z(re.sourceEvent);if(!ce&&J&&u.value&&(ce=!0,te()),!J){const f=d.xSnapped-(A.x??0),g=d.ySnapped-(A.y??0);Math.sqrt(f*f+g*g)>a.value&&he(re,N)}(A.x!==d.xSnapped||A.y!==d.ySnapped)&&M.length&&J&&(F=re.sourceEvent,L=Ge(re.sourceEvent,T),q(d))},pe=re=>{let N=!1;if(!J&&!y.value&&!k.value){const d=re.sourceEvent,f=Z(d),g=f.xSnapped-(A.x??0),b=f.ySnapped-(A.y??0),_=Math.sqrt(g*g+b*b);_!==0&&_<=a.value&&(R?.(d),N=!0)}if(M.length&&!N){oe&&(m(M,!1,!1),oe=!1);const[d,f]=no({id:D,dragItems:M,findNode:v});B({event:re.sourceEvent,node:d,nodes:f})}M=[],y.value=!1,ce=!1,J=!1,A={x:void 0,y:void 0},cancelAnimationFrame(ae)};return ye([()=>fe(P),j],([re,N],d,f)=>{if(N){const g=Be(N);re||(S=Ss().on("start",b=>we(b,N)).on("drag",b=>se(b,N)).on("end",b=>pe(b)).filter(b=>{const _=b.target,H=fe(Q);return!b.button&&(!i.value||!pi(_,`.${i.value}`,N)&&(!H||pi(_,H,N)))}),g.call(S)),f(()=>{g.on(".drag",null),S&&(S.on("start",null),S.on("drag",null),S.on("end",null))})}}),y}function Qc(){return{doubleClick:W(),click:W(),mouseEnter:W(),mouseMove:W(),mouseLeave:W(),contextMenu:W(),updateStart:W(),update:W(),updateEnd:W()}}function ed(e,t){const n=Qc();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 td(){const{viewport:e,snapGrid:t,snapToGrid:n,vueFlowRef:o}=Ne();return i=>{var r;const l=((r=o.value)==null?void 0:r.getBoundingClientRect())??{left:0,top:0},a=Hc(i)?i.sourceEvent:i,{x:s,y:u}=Ge(a,l),c=en({x:s,y:u},e.value),{x:h,y:p}=n.value?Fn(c,t.value):c;return{xSnapped:h,ySnapped:p,...c}}}function hn(){return!0}function zr({handleId:e,nodeId:t,type:n,isValidConnection:o,edgeUpdaterType:i,onEdgeUpdate:r,onEdgeUpdateEnd:l}){const{id:a,vueFlowRef:s,connectionMode:u,connectionRadius:c,connectOnClick:h,connectionClickStartHandle:p,nodesConnectable:v,autoPanOnConnect:k,autoPanSpeed:w,findNode:x,panBy:$,startConnection:I,updateConnection:m,endConnection:C,emits:z,viewport:Y,edges:B,nodes:R,isValidConnection:j,nodeLookup:P}=Ne();let D=null,E=!1,Q=null;function y(S){var T;const A=fe(n)==="target",L=Oo(S),F=ri(S.target),J=S.currentTarget;if(J&&(L&&S.button===0||!L)){let oe=function(U){d=Ge(U,pe),q=Wc(en(d,Y.value,!1,[1,1]),c.value,P.value,b),f||(g(),f=!0);const le=mi(U,{handle:q,connectionMode:u.value,fromNodeId:fe(t),fromHandleId:fe(e),fromType:A?"target":"source",isValidConnection:Z,doc:F,lib:"vue",flowId:a,nodeLookup:P.value},B.value,R.value,x,P.value);Q=le.handleDomNode,D=le.connection,E=Xc(!!q,le.isValid);const de={...ee,isValid:E,to:le.toHandle&&E?Qt({x:le.toHandle.x,y:le.toHandle.y},Y.value):d,toHandle:le.toHandle,toPosition:E&&le.toHandle?le.toHandle.position:bo[b.position],toNode:le.toHandle?P.value.get(le.toHandle.nodeId):null};if(E&&q&&ee?.toHandle&&de.toHandle&&ee.toHandle.type===de.toHandle.type&&ee.toHandle.nodeId===de.toHandle.nodeId&&ee.toHandle.id===de.toHandle.id&&ee.to.x===de.to.x&&ee.to.y===de.to.y)return;const _e=q??le.toHandle;if(m(_e&&E?Qt({x:_e.x,y:_e.y},Y.value):d,_e,Uc(!!_e,E)),ee=de,!q&&!E&&!Q)return oo(N);D&&D.source!==D.target&&Q&&(oo(N),N=Q,Q.classList.add("connecting","vue-flow__handle-connecting"),Q.classList.toggle("valid",!!E),Q.classList.toggle("vue-flow__handle-valid",!!E))},ae=function(U){"touches"in U&&U.touches.length>0||((q||Q)&&D&&E&&(r?r(U,D):z.connect(D)),z.connectEnd(U),i&&l?.(U),oo(N),cancelAnimationFrame(te),C(U),f=!1,E=!1,D=null,Q=null,F.removeEventListener("mousemove",oe),F.removeEventListener("mouseup",ae),F.removeEventListener("touchmove",oe),F.removeEventListener("touchend",ae))};const ce=x(fe(t));let Z=fe(o)||j.value||hn;!Z&&ce&&(Z=(A?ce.isValidSourcePos:ce.isValidTargetPos)||hn);let q,te=0;const{x:he,y:we}=Ge(S),se=Mr(fe(i),J),pe=(T=s.value)==null?void 0:T.getBoundingClientRect();if(!pe||!se)return;const re=Tr(fe(t),se,fe(e),P.value,u.value);if(!re)return;let N,d=Ge(S,pe),f=!1;const g=()=>{if(!k.value)return;const[U,le]=$r(d,pe,w.value);$({x:U,y:le}),te=requestAnimationFrame(g)},b={...re,nodeId:fe(t),type:se,position:re.position},_=P.value.get(fe(t)),G={inProgress:!0,isValid:null,from:Dt(_,b,K.Left,!0),fromHandle:b,fromPosition:b.position,fromNode:_,to:d,toHandle:null,toPosition:bo[b.position],toNode:null};I({nodeId:fe(t),id:fe(e),type:se,position:J?.getAttribute("data-handlepos")||K.Top,...d},{x:he-pe.left,y:we-pe.top}),z.connectStart({event:S,nodeId:fe(t),handleId:fe(e),handleType:se});let ee=G;F.addEventListener("mousemove",oe),F.addEventListener("mouseup",ae),F.addEventListener("touchmove",oe),F.addEventListener("touchend",ae)}}function M(S){var T,A;if(!h.value)return;const L=fe(n)==="target";if(!p.value){z.clickConnectStart({event:S,nodeId:fe(t),handleId:fe(e)}),I({nodeId:fe(t),type:fe(n),id:fe(e),position:K.Top,...Ge(S)},void 0,!0);return}let F=fe(o)||j.value||hn;const J=x(fe(t));if(!F&&J&&(F=(L?J.isValidSourcePos:J.isValidTargetPos)||hn),J&&(typeof J.connectable>"u"?v.value:J.connectable)===!1)return;const oe=ri(S.target),ae=mi(S,{handle:{nodeId:fe(t),id:fe(e),type:fe(n),position:K.Top,...Ge(S)},connectionMode:u.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:F,doc:oe,lib:"vue",flowId:a,nodeLookup:P.value},B.value,R.value,x,P.value),ce=((T=ae.connection)==null?void 0:T.source)===((A=ae.connection)==null?void 0:A.target);ae.isValid&&ae.connection&&!ce&&z.connect(ae.connection),z.clickConnectEnd(S),C(S,!0)}return{handlePointerDown:y,handleClick:M}}function nd(){return Pt(Pr,"")}function Br(e){const t=e??nd()??"",n=Pt(Ar,Ee(null)),{findNode:o,edges:i,emits:r}=Ne(),l=o(t);return l||r.error(new De(Me.NODE_NOT_FOUND,t)),{id:t,nodeEl:n,node:l,parentNode:ie(()=>o(l.parentNode)),connectedEdges:ie(()=>kr([l],i.value))}}function od(){return{doubleClick:W(),click:W(),mouseEnter:W(),mouseMove:W(),mouseLeave:W(),contextMenu:W(),dragStart:W(),drag:W(),dragStop:W()}}function id(e,t){const n=od();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 Vr(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:n,findNode:o,snapGrid:i,snapToGrid:r,nodesDraggable:l,emits:a}=Ne();return(s,u=!1)=>{const c=r.value?i.value[0]:5,h=r.value?i.value[1]:5,p=u?4:1,v=s.x*c*p,k=s.y*h*p,w=[];for(const x of e.value)if(x.draggable||l&&typeof x.draggable>"u"){const $={x:x.computedPosition.x+v,y:x.computedPosition.y+k},{position:I}=Ao(x,$,a.error,t.value,x.parentNode?o(x.parentNode):void 0);w.push({id:x.id,position:I,from:x.position,distance:{x:s.x,y:s.y},dimensions:x.dimensions})}n(w,!0,!1)}}const pn=.1,rd=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function tt(){return rn("Viewport not initialized yet."),Promise.resolve(!1)}const ld={zoomIn:tt,zoomOut:tt,zoomTo:tt,fitView:tt,setCenter:tt,fitBounds:tt,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:tt,setTransform:tt,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function ad(e){function t(o,i){return new Promise(r=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(i?.interpolate==="linear"?Wt:_n).scaleBy(lo(e.d3Selection,i?.duration,i?.ease,()=>{r(!0)}),o):r(!1)})}function n(o,i,r,l){return new Promise(a=>{var s;const{x:u,y:c}=wr({x:-o,y:-i},e.translateExtent),h=Tt.translate(-u,-c).scale(r);e.d3Selection&&e.d3Zoom?(s=e.d3Zoom)==null||s.interpolate(l?.interpolate==="linear"?Wt:_n).transform(lo(e.d3Selection,l?.duration,l?.ease,()=>{a(!0)}),h):a(!1)})}return ie(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>t(1.2,i),zoomOut:i=>t(1/1.2,i),zoomTo:(i,r)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(r?.interpolate==="linear"?Wt:_n).scaleTo(lo(e.d3Selection,r?.duration,r?.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,r)=>n(i.x,i.y,i.zoom,r),setTransform:(i,r)=>n(i.x,i.y,i.zoom,r),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:pn,includeHiddenNodes:!1,duration:0})=>{var r,l;const a=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&(i?.includeHiddenNodes||!p.hidden)&&(!((r=i.nodes)!=null&&r.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&a.push(p);if(!a.length)return Promise.resolve(!1);const s=Sr(a),{x:u,y:c,zoom:h}=li(s,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??pn);return n(u,c,h,i)},setCenter:(i,r,l)=>{const a=typeof l?.zoom<"u"?l.zoom:e.maxZoom,s=e.dimensions.width/2-i*a,u=e.dimensions.height/2-r*a;return n(s,u,a,l)},fitBounds:(i,r={padding:pn})=>{const{x:l,y:a,zoom:s}=li(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,r.padding??pn);return n(l,a,s,r)},project:i=>en(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:l}=e.vueFlowRef.getBoundingClientRect(),a={x:i.x-r,y:i.y-l};return en(a,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:l}=e.vueFlowRef.getBoundingClientRect(),a={x:i.x+r,y:i.y+l};return Qt(a,e.viewport)}return{x:0,y:0}}}:ld)}function lo(e,t=0,n=rd,o=()=>{}){const i=typeof t=="number"&&t>0;return i||o(),i?e.transition().duration(t).ease(n).on("end",o):e}function sd(e,t,n){const o=Pi(!0);return o.run(()=>{const i=()=>{o.run(()=>{let w,x,$=!!(n.nodes.value.length||n.edges.value.length);w=_t([e.modelValue,()=>{var I,m;return(m=(I=e.modelValue)==null?void 0:I.value)==null?void 0:m.length}],([I])=>{I&&Array.isArray(I)&&(x?.pause(),n.setElements(I),!x&&!$&&I.length?$=!0:x?.resume())}),x=_t([n.nodes,n.edges,()=>n.edges.value.length,()=>n.nodes.value.length],([I,m])=>{var C;(C=e.modelValue)!=null&&C.value&&Array.isArray(e.modelValue.value)&&(w?.pause(),e.modelValue.value=[...I,...m],We(()=>{w?.resume()}))},{immediate:$}),yn(()=>{w?.stop(),x?.stop()})})},r=()=>{o.run(()=>{let w,x,$=!!n.nodes.value.length;w=_t([e.nodes,()=>{var I,m;return(m=(I=e.nodes)==null?void 0:I.value)==null?void 0:m.length}],([I])=>{I&&Array.isArray(I)&&(x?.pause(),n.setNodes(I),!x&&!$&&I.length?$=!0:x?.resume())}),x=_t([n.nodes,()=>n.nodes.value.length],([I])=>{var m;(m=e.nodes)!=null&&m.value&&Array.isArray(e.nodes.value)&&(w?.pause(),e.nodes.value=[...I],We(()=>{w?.resume()}))},{immediate:$}),yn(()=>{w?.stop(),x?.stop()})})},l=()=>{o.run(()=>{let w,x,$=!!n.edges.value.length;w=_t([e.edges,()=>{var I,m;return(m=(I=e.edges)==null?void 0:I.value)==null?void 0:m.length}],([I])=>{I&&Array.isArray(I)&&(x?.pause(),n.setEdges(I),!x&&!$&&I.length?$=!0:x?.resume())}),x=_t([n.edges,()=>n.edges.value.length],([I])=>{var m;(m=e.edges)!=null&&m.value&&Array.isArray(e.edges.value)&&(w?.pause(),e.edges.value=[...I],We(()=>{w?.resume()}))},{immediate:$}),yn(()=>{w?.stop(),x?.stop()})})},a=()=>{o.run(()=>{ye(()=>t.maxZoom,()=>{t.maxZoom&&Ie(t.maxZoom)&&n.setMaxZoom(t.maxZoom)},{immediate:!0})})},s=()=>{o.run(()=>{ye(()=>t.minZoom,()=>{t.minZoom&&Ie(t.minZoom)&&n.setMinZoom(t.minZoom)},{immediate:!0})})},u=()=>{o.run(()=>{ye(()=>t.translateExtent,()=>{t.translateExtent&&Ie(t.translateExtent)&&n.setTranslateExtent(t.translateExtent)},{immediate:!0})})},c=()=>{o.run(()=>{ye(()=>t.nodeExtent,()=>{t.nodeExtent&&Ie(t.nodeExtent)&&n.setNodeExtent(t.nodeExtent)},{immediate:!0})})},h=()=>{o.run(()=>{ye(()=>t.applyDefault,()=>{Ie(t.applyDefault)&&(n.applyDefault.value=t.applyDefault)},{immediate:!0})})},p=()=>{o.run(()=>{const w=async x=>{let $=x;typeof t.autoConnect=="function"&&($=await t.autoConnect(x)),$!==!1&&n.addEdges([$])};ye(()=>t.autoConnect,()=>{Ie(t.autoConnect)&&(n.autoConnect.value=t.autoConnect)},{immediate:!0}),ye(n.autoConnect,(x,$,I)=>{x?n.onConnect(w):n.hooks.value.connect.off(w),I(()=>{n.hooks.value.connect.off(w)})},{immediate:!0})})},v=()=>{const w=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const x of Object.keys(t)){const $=x;if(!w.includes($)){const I=xe(()=>t[$]),m=n[$];So(m)&&o.run(()=>{ye(I,C=>{Ie(C)&&(m.value=C)},{immediate:!0})})}}};(()=>{i(),r(),l(),s(),a(),u(),c(),h(),p(),v()})()}),()=>o.stop()}function ud(){return{edgesChange:W(),nodesChange:W(),nodeDoubleClick:W(),nodeClick:W(),nodeMouseEnter:W(),nodeMouseMove:W(),nodeMouseLeave:W(),nodeContextMenu:W(),nodeDragStart:W(),nodeDrag:W(),nodeDragStop:W(),nodesInitialized:W(),miniMapNodeClick:W(),miniMapNodeDoubleClick:W(),miniMapNodeMouseEnter:W(),miniMapNodeMouseMove:W(),miniMapNodeMouseLeave:W(),connect:W(),connectStart:W(),connectEnd:W(),clickConnectStart:W(),clickConnectEnd:W(),paneReady:W(),init:W(),move:W(),moveStart:W(),moveEnd:W(),selectionDragStart:W(),selectionDrag:W(),selectionDragStop:W(),selectionContextMenu:W(),selectionStart:W(),selectionEnd:W(),viewportChangeStart:W(),viewportChange:W(),viewportChangeEnd:W(),paneScroll:W(),paneClick:W(),paneContextMenu:W(),paneMouseEnter:W(),paneMouseMove:W(),paneMouseLeave:W(),edgeContextMenu:W(),edgeMouseEnter:W(),edgeMouseMove:W(),edgeMouseLeave:W(),edgeDoubleClick:W(),edgeClick:W(),edgeUpdateStart:W(),edgeUpdate:W(),edgeUpdateEnd:W(),updateNodeInternals:W(),error:W(e=>rn(e.message))}}function cd(e,t){const n=At();rl(()=>{for(const[i,r]of Object.entries(t.value)){const l=a=>{e(i,a)};r.setEmitter(l),Zt(r.removeEmitter),r.setHasEmitListeners(()=>o(i)),Zt(r.removeHasEmitListeners)}});function o(i){var r;const l=dd(i);return!!((r=n?.vnode.props)==null?void 0:r[l])}}function dd(e){const[t,...n]=e.split(":");return`on${t.replace(/(?:^|-)(\w)/g,(i,r)=>r.toUpperCase())}${n.length?`:${n.join(":")}`:""}`}function Rr(){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:Po.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Ut.Free,paneClickDistance:0,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:ct.Bezier,style:{}},connectionMode:lt.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:Pn()?"Meta":"Control",zoomActivationKeyCode:Pn()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:ud(),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,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const fd=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function hd(e,t,n){const o=ad(e),i=d=>{const f=d??[];e.hooks.updateNodeInternals.trigger(f)},r=d=>Cc(d,e.nodes,e.edges),l=d=>kc(d,e.nodes,e.edges),a=d=>kr(d,e.edges),s=({id:d,type:f,nodeId:g})=>{var b;const _=d?`-${f}-${d}`:`-${f}`;return Array.from(((b=e.connectionLookup.get(`${g}${_}`))==null?void 0:b.values())??[])},u=d=>{if(d)return t.value.get(d)},c=d=>{if(d)return n.value.get(d)},h=(d,f,g)=>{var b,_;const H=[];for(const G of d){const ee={id:G.id,type:"position",dragging:g,from:G.from};if(f&&(ee.position=G.position,G.parentNode)){const U=u(G.parentNode);ee.position={x:ee.position.x-(((b=U?.computedPosition)==null?void 0:b.x)??0),y:ee.position.y-(((_=U?.computedPosition)==null?void 0:_.y)??0)}}H.push(ee)}H?.length&&e.hooks.nodesChange.trigger(H)},p=d=>{if(!e.vueFlowRef)return;const f=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!f)return;const g=window.getComputedStyle(f),{m22:b}=new window.DOMMatrixReadOnly(g.transform),_=[];for(const H of d){const G=H,ee=u(G.id);if(ee){const U=Ln(G.nodeElement);if(!!(U.width&&U.height&&(ee.dimensions.width!==U.width||ee.dimensions.height!==U.height||G.forceUpdate))){const de=G.nodeElement.getBoundingClientRect();ee.dimensions=U,ee.handleBounds.source=yi("source",G.nodeElement,de,b,ee.id),ee.handleBounds.target=yi("target",G.nodeElement,de,b,ee.id),_.push({id:ee.id,type:"dimensions",dimensions:U})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&o.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),_.length&&e.hooks.nodesChange.trigger(_)},v=(d,f)=>{const g=new Set,b=new Set;for(const G of d)pt(G)?g.add(G.id):at(G)&&b.add(G.id);const _=ot(t.value,g,!0),H=ot(n.value,b);if(e.multiSelectionActive){for(const G of g)_.push(nt(G,f));for(const G of b)H.push(nt(G,f))}_.length&&e.hooks.nodesChange.trigger(_),H.length&&e.hooks.edgesChange.trigger(H)},k=d=>{if(e.multiSelectionActive){const f=d.map(g=>nt(g.id,!0));e.hooks.nodesChange.trigger(f);return}e.hooks.nodesChange.trigger(ot(t.value,new Set(d.map(f=>f.id)),!0)),e.hooks.edgesChange.trigger(ot(n.value))},w=d=>{if(e.multiSelectionActive){const f=d.map(g=>nt(g.id,!0));e.hooks.edgesChange.trigger(f);return}e.hooks.edgesChange.trigger(ot(n.value,new Set(d.map(f=>f.id)))),e.hooks.nodesChange.trigger(ot(t.value,new Set,!0))},x=d=>{v(d,!0)},$=d=>{const g=(d||e.nodes).map(b=>(b.selected=!1,nt(b.id,!1)));e.hooks.nodesChange.trigger(g)},I=d=>{const g=(d||e.edges).map(b=>(b.selected=!1,nt(b.id,!1)));e.hooks.edgesChange.trigger(g)},m=d=>{if(!d||!d.length)return v([],!1);const f=d.reduce((g,b)=>{const _=nt(b.id,!1);return pt(b)?g.nodes.push(_):g.edges.push(_),g},{nodes:[],edges:[]});f.nodes.length&&e.hooks.nodesChange.trigger(f.nodes),f.edges.length&&e.hooks.edgesChange.trigger(f.edges)},C=d=>{var f;(f=e.d3Zoom)==null||f.scaleExtent([d,e.maxZoom]),e.minZoom=d},z=d=>{var f;(f=e.d3Zoom)==null||f.scaleExtent([e.minZoom,d]),e.maxZoom=d},Y=d=>{var f;(f=e.d3Zoom)==null||f.translateExtent(d),e.translateExtent=d},B=d=>{e.nodeExtent=d,i()},R=d=>{var f;(f=e.d3Zoom)==null||f.clickDistance(d)},j=d=>{e.nodesDraggable=d,e.nodesConnectable=d,e.elementsSelectable=d},P=d=>{const f=d instanceof Function?d(e.nodes):d;!e.initialized&&!f.length||(e.nodes=wi(f,u,e.hooks.error.trigger))},D=d=>{const f=d instanceof Function?d(e.edges):d;if(!e.initialized&&!f.length)return;const g=ro(f,e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);io(e.connectionLookup,n.value,g),e.edges=g},E=d=>{const f=d instanceof Function?d([...e.nodes,...e.edges]):d;!e.initialized&&!f.length||(P(f.filter(pt)),D(f.filter(at)))},Q=d=>{let f=d instanceof Function?d(e.nodes):d;f=Array.isArray(f)?f:[f];const g=wi(f,u,e.hooks.error.trigger),b=[];for(const _ of g)b.push(ci(_));b.length&&e.hooks.nodesChange.trigger(b)},y=d=>{let f=d instanceof Function?d(e.edges):d;f=Array.isArray(f)?f:[f];const g=ro(f,e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),b=[];for(const _ of g)b.push(ci(_));b.length&&e.hooks.edgesChange.trigger(b)},M=(d,f=!0,g=!1)=>{const b=d instanceof Function?d(e.nodes):d,_=Array.isArray(b)?b:[b],H=[],G=[];function ee(le){const de=a(le);for(const _e of de)(!Ie(_e.deletable)||_e.deletable)&&G.push(fi(_e.id,_e.source,_e.target,_e.sourceHandle,_e.targetHandle))}function U(le){const de=[];for(const _e of e.nodes)_e.parentNode===le&&de.push(_e);if(de.length){for(const _e of de)H.push(di(_e.id));f&&ee(de);for(const _e of de)U(_e.id)}}for(const le of _){const de=typeof le=="string"?u(le):le;de&&(Ie(de.deletable)&&!de.deletable||(H.push(di(de.id)),f&&ee([de]),g&&U(de.id)))}G.length&&e.hooks.edgesChange.trigger(G),H.length&&e.hooks.nodesChange.trigger(H)},S=d=>{const f=d instanceof Function?d(e.edges):d,g=Array.isArray(f)?f:[f],b=[];for(const _ of g){const H=typeof _=="string"?c(_):_;H&&(Ie(H.deletable)&&!H.deletable||b.push(fi(typeof _=="string"?_:_.id,H.source,H.target,H.sourceHandle,H.targetHandle)))}e.hooks.edgesChange.trigger(b)},T=(d,f,g=!0)=>{const b=c(d.id);if(!b)return!1;const _=e.edges.indexOf(b),H=Kc(d,f,b,g,e.hooks.error.trigger);if(H){const[G]=ro([H],e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((ee,U)=>U===_?G:ee),io(e.connectionLookup,n.value,[G]),G}return!1},A=(d,f,g={replace:!1})=>{const b=c(d);if(!b)return;const _=typeof f=="function"?f(b):f;b.data=g.replace?_:{...b.data,..._}},L=d=>ui(d,e.nodes),F=d=>{const f=ui(d,e.edges);return io(e.connectionLookup,n.value,f),f},J=(d,f,g={replace:!1})=>{const b=u(d);if(!b)return;const _=typeof f=="function"?f(b):f;g.replace?e.nodes.splice(e.nodes.indexOf(b),1,_):Object.assign(b,_)},oe=(d,f,g={replace:!1})=>{const b=u(d);if(!b)return;const _=typeof f=="function"?f(b):f;b.data=g.replace?_:{...b.data,..._}},ae=(d,f,g=!1)=>{g?e.connectionClickStartHandle=d:e.connectionStartHandle=d,e.connectionEndHandle=null,e.connectionStatus=null,f&&(e.connectionPosition=f)},ce=(d,f=null,g=null)=>{e.connectionStartHandle&&(e.connectionPosition=d,e.connectionEndHandle=f,e.connectionStatus=g)},Z=(d,f)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,f?e.connectionClickStartHandle=null:e.connectionStartHandle=null},q=d=>{const f=Sc(d),g=f?null:Yt(d)?d:u(d.id);return!f&&!g?[null,null,f]:[f?d:Tn(g),g,f]},te=(d,f=!0,g=e.nodes)=>{const[b,_,H]=q(d);if(!b)return[];const G=[];for(const ee of g||e.nodes){if(!H&&(ee.id===_.id||!ee.computedPosition))continue;const U=Tn(ee),le=Dn(U,b);(f&&le>0||le>=U.width*U.height||le>=Number(b.width)*Number(b.height))&&G.push(ee)}return G},he=(d,f,g=!0)=>{const[b]=q(d);if(!b)return!1;const _=Dn(b,f);return g&&_>0||_>=Number(b.width)*Number(b.height)},we=d=>{const{viewport:f,dimensions:g,d3Zoom:b,d3Selection:_,translateExtent:H}=e;if(!b||!_||!d.x&&!d.y)return!1;const G=Tt.translate(f.x+d.x,f.y+d.y).scale(f.zoom),ee=[[0,0],[g.width,g.height]],U=b.constrain()(G,ee,H),le=e.viewport.x!==U.x||e.viewport.y!==U.y||e.viewport.zoom!==U.k;return b.transform(_,U),le},se=d=>{const f=d instanceof Function?d(e):d,g=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Ie(f.defaultEdgeOptions)&&(e.defaultEdgeOptions=f.defaultEdgeOptions);const b=f.modelValue||f.nodes||f.edges?[]:void 0;b&&(f.modelValue&&b.push(...f.modelValue),f.nodes&&b.push(...f.nodes),f.edges&&b.push(...f.edges),E(b));const _=()=>{Ie(f.maxZoom)&&z(f.maxZoom),Ie(f.minZoom)&&C(f.minZoom),Ie(f.translateExtent)&&Y(f.translateExtent)};for(const H of Object.keys(f)){const G=H,ee=f[G];![...fd,...g].includes(G)&&Ie(ee)&&(e[G]=ee)}uo(()=>e.d3Zoom).not.toBeNull().then(_),e.initialized||(e.initialized=!0)};return{updateNodePositions:h,updateNodeDimensions:p,setElements:E,setNodes:P,setEdges:D,addNodes:Q,addEdges:y,removeNodes:M,removeEdges:S,findNode:u,findEdge:c,updateEdge:T,updateEdgeData:A,updateNode:J,updateNodeData:oe,applyEdgeChanges:F,applyNodeChanges:L,addSelectedElements:x,addSelectedNodes:k,addSelectedEdges:w,setMinZoom:C,setMaxZoom:z,setTranslateExtent:Y,setNodeExtent:B,setPaneClickDistance:R,removeSelectedElements:m,removeSelectedNodes:$,removeSelectedEdges:I,startConnection:ae,updateConnection:ce,endConnection:Z,setInteractive:j,setState:se,getIntersectingNodes:te,getIncomers:r,getOutgoers:l,getConnectedEdges:a,getHandleConnections:s,isNodeIntersecting:he,panBy:we,fitView:d=>o.value.fitView(d),zoomIn:d=>o.value.zoomIn(d),zoomOut:d=>o.value.zoomOut(d),zoomTo:(d,f)=>o.value.zoomTo(d,f),setViewport:(d,f)=>o.value.setViewport(d,f),setTransform:(d,f)=>o.value.setTransform(d,f),getViewport:()=>o.value.getViewport(),getTransform:()=>o.value.getTransform(),setCenter:(d,f,g)=>o.value.setCenter(d,f,g),fitBounds:(d,f)=>o.value.fitBounds(d,f),project:d=>o.value.project(d),screenToFlowCoordinate:d=>o.value.screenToFlowCoordinate(d),flowToScreenCoordinate:d=>o.value.flowToScreenCoordinate(d),toObject:()=>{const d=[],f=[];for(const g of e.nodes){const{computedPosition:b,handleBounds:_,selected:H,dimensions:G,isParent:ee,resizing:U,dragging:le,events:de,..._e}=g;d.push(_e)}for(const g of e.edges){const{selected:b,sourceNode:_,targetNode:H,events:G,...ee}=g;f.push(ee)}return JSON.parse(JSON.stringify({nodes:d,edges:f,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:d=>new Promise(f=>{const{nodes:g,edges:b,position:_,zoom:H,viewport:G}=d;g&&P(g),b&&D(b);const[ee,U]=G?.x&&G?.y?[G.x,G.y]:_??[null,null];if(ee&&U){const le=G?.zoom||H||e.viewport.zoom;return uo(()=>o.value.viewportInitialized).toBe(!0).then(()=>{o.value.setViewport({x:ee,y:U,zoom:le}).then(()=>{f(!0)})})}else f(!0)}),updateNodeInternals:i,viewportHelper:o,$reset:()=>{const d=Rr();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const f=Tt.translate(d.defaultViewport.x??0,d.defaultViewport.y??0).scale(mt(d.defaultViewport.zoom??1,d.minZoom,d.maxZoom)),g=e.viewportRef.getBoundingClientRect(),b=[[0,0],[g.width,g.height]],_=e.d3Zoom.constrain()(f,b,d.translateExtent);e.d3Zoom.transform(e.d3Selection,_)}se(d)},$destroy:()=>{}}}const pd=["data-id","data-handleid","data-nodeid","data-handlepos"],gd={name:"Handle",compatConfig:{MODE:3}},Ye=me({...gd,props:{id:{default:null},type:{},position:{default:()=>K.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=nl(e,["position","connectable","connectableStart","connectableEnd","id"]),o=xe(()=>n.type??"source"),i=xe(()=>n.isValidConnection??null),{id:r,connectionStartHandle:l,connectionClickStartHandle:a,connectionEndHandle:s,vueFlowRef:u,nodesConnectable:c,noDragClassName:h,noPanClassName:p}=Ne(),{id:v,node:k,nodeEl:w,connectedEdges:x}=Br(),$=Ee(),I=xe(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),m=xe(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),C=xe(()=>{var D,E,Q,y,M,S;return((D=l.value)==null?void 0:D.nodeId)===v&&((E=l.value)==null?void 0:E.id)===e.id&&((Q=l.value)==null?void 0:Q.type)===o.value||((y=s.value)==null?void 0:y.nodeId)===v&&((M=s.value)==null?void 0:M.id)===e.id&&((S=s.value)==null?void 0:S.type)===o.value}),z=xe(()=>{var D,E,Q;return((D=a.value)==null?void 0:D.nodeId)===v&&((E=a.value)==null?void 0:E.id)===e.id&&((Q=a.value)==null?void 0:Q.type)===o.value}),{handlePointerDown:Y,handleClick:B}=zr({nodeId:v,handleId:e.id,isValidConnection:i,type:o}),R=ie(()=>typeof e.connectable=="string"&&e.connectable==="single"?!x.value.some(D=>{const E=D[`${o.value}Handle`];return D[o.value]!==v?!1:E?E===e.id:!0}):typeof e.connectable=="number"?x.value.filter(D=>{const E=D[`${o.value}Handle`];return D[o.value]!==v?!1:E?E===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(k,x.value):Ie(e.connectable)?e.connectable:c.value);ut(()=>{var D;if(!k.dimensions.width||!k.dimensions.height)return;const E=(D=k.handleBounds[o.value])==null?void 0:D.find(L=>L.id===e.id);if(!u.value||E)return;const Q=u.value.querySelector(".vue-flow__transformationpane");if(!w.value||!$.value||!Q||!e.id)return;const y=w.value.getBoundingClientRect(),M=$.value.getBoundingClientRect(),S=window.getComputedStyle(Q),{m22:T}=new window.DOMMatrixReadOnly(S.transform),A={id:e.id,position:e.position,x:(M.left-y.left)/T,y:(M.top-y.top)/T,type:o.value,nodeId:v,...Ln($.value)};k.handleBounds[o.value]=[...k.handleBounds[o.value]??[],A]});function j(D){const E=Oo(D);R.value&&I.value&&(E&&D.button===0||!E)&&Y(D)}function P(D){!v||!a.value&&!I.value||R.value&&B(D)}return t({handleClick:B,handlePointerDown:Y,onClick:P,onPointerDown:j}),(D,E)=>(O(),ne("div",{ref_key:"handle",ref:$,"data-id":`${V(r)}-${V(v)}-${e.id}-${o.value}`,"data-handleid":e.id,"data-nodeid":V(v),"data-handlepos":D.position,class:rt(["vue-flow__handle",[`vue-flow__handle-${D.position}`,`vue-flow__handle-${e.id}`,V(h),V(p),o.value,{connectable:R.value,connecting:z.value,connectablestart:I.value,connectableend:m.value,connectionindicator:R.value&&(I.value&&!C.value||m.value&&C.value)}]]),onMousedown:j,onTouchstartPassive:j,onClick:P},[ke(D.$slots,"default",{id:D.id})],42,pd))}}),Gn=function({sourcePosition:e=K.Bottom,targetPosition:t=K.Top,label:n,connectable:o=!0,isValidTargetPos:i,isValidSourcePos:r,data:l}){const a=l.label??n;return[be(Ye,{type:"target",position:t,connectable:o,isValidConnection:i}),typeof a!="string"&&a?be(a):be(Te,[a]),be(Ye,{type:"source",position:e,connectable:o,isValidConnection:r})]};Gn.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"];Gn.inheritAttrs=!1;Gn.compatConfig={MODE:3};const vd=Gn,Wn=function({targetPosition:e=K.Top,label:t,connectable:n=!0,isValidTargetPos:o,data:i}){const r=i.label??t;return[be(Ye,{type:"target",position:e,connectable:n,isValidConnection:o}),typeof r!="string"&&r?be(r):be(Te,[r])]};Wn.props=["targetPosition","label","isValidTargetPos","connectable","data"];Wn.inheritAttrs=!1;Wn.compatConfig={MODE:3};const md=Wn,Un=function({sourcePosition:e=K.Bottom,label:t,connectable:n=!0,isValidSourcePos:o,data:i}){const r=i.label??t;return[typeof r!="string"&&r?be(r):be(Te,[r]),be(Ye,{type:"source",position:e,connectable:n,isValidConnection:o})]};Un.props=["sourcePosition","label","isValidSourcePos","connectable","data"];Un.inheritAttrs=!1;Un.compatConfig={MODE:3};const yd=Un,wd=["transform"],_d=["width","height","x","y","rx","ry"],bd=["y"],xd={name:"EdgeText",compatConfig:{MODE:3}},Ed=me({...xd,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=Ee({x:0,y:0,width:0,height:0}),n=Ee(null),o=ie(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);ut(i),ye([()=>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,l)=>(O(),ne("g",{transform:o.value,class:"vue-flow__edge-textwrapper"},[r.labelShowBg?(O(),ne("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,_d)):Se("",!0),X("text",Vi(r.$attrs,{ref_key:"el",ref:n,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:r.labelStyle}),[ke(r.$slots,"default",{},()=>[typeof r.label!="string"?(O(),ve(xt(r.label),{key:0})):(O(),ne(Te,{key:1},[Pe(Ce(r.label),1)],64))])],16,bd)],8,wd))}}),Sd=["id","d","marker-end","marker-start"],Nd=["d","stroke-width"],kd={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Xn=me({...kd,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const n=Ee(null),o=Ee(null),i=Ee(null),r=cl();return t({pathEl:n,interactionEl:o,labelEl:i}),(l,a)=>(O(),ne(Te,null,[X("path",Vi(V(r),{id:l.id,ref_key:"pathEl",ref:n,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,Sd),l.interactionWidth?(O(),ne("path",{key:0,ref_key:"interactionEl",ref:o,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,Nd)):Se("",!0),l.label&&l.labelX&&l.labelY?(O(),ve(Ed,{key:1,ref_key:"labelEl",ref:i,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"])):Se("",!0)],64))}});function Hr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,r=n<e?n+i:n-i,l=Math.abs(o-t)/2,a=o<t?o+l:o-l;return[r,a,i,l]}function Lr({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:i,sourceControlY:r,targetControlX:l,targetControlY:a}){const s=e*.125+i*.375+l*.375+n*.125,u=t*.125+r*.375+a*.375+o*.125,c=Math.abs(s-e),h=Math.abs(u-t);return[s,u,c,h]}function gn(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Ei({pos:e,x1:t,y1:n,x2:o,y2:i,c:r}){let l,a;switch(e){case K.Left:l=t-gn(t-o,r),a=n;break;case K.Right:l=t+gn(o-t,r),a=n;break;case K.Top:l=t,a=n-gn(n-i,r);break;case K.Bottom:l=t,a=n+gn(i-n,r);break}return[l,a]}function Fr(e){const{sourceX:t,sourceY:n,sourcePosition:o=K.Bottom,targetX:i,targetY:r,targetPosition:l=K.Top,curvature:a=.25}=e,[s,u]=Ei({pos:o,x1:t,y1:n,x2:i,y2:r,c:a}),[c,h]=Ei({pos:l,x1:i,y1:r,x2:t,y2:n,c:a}),[p,v,k,w]=Lr({sourceX:t,sourceY:n,targetX:i,targetY:r,sourceControlX:s,sourceControlY:u,targetControlX:c,targetControlY:h});return[`M${t},${n} C${s},${u} ${c},${h} ${i},${r}`,p,v,k,w]}function Si({pos:e,x1:t,y1:n,x2:o,y2:i}){let r,l;switch(e){case K.Left:case K.Right:r=.5*(t+o),l=n;break;case K.Top:case K.Bottom:r=t,l=.5*(n+i);break}return[r,l]}function Yr(e){const{sourceX:t,sourceY:n,sourcePosition:o=K.Bottom,targetX:i,targetY:r,targetPosition:l=K.Top}=e,[a,s]=Si({pos:o,x1:t,y1:n,x2:i,y2:r}),[u,c]=Si({pos:l,x1:i,y1:r,x2:t,y2:n}),[h,p,v,k]=Lr({sourceX:t,sourceY:n,targetX:i,targetY:r,sourceControlX:a,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${t},${n} C${a},${s} ${u},${c} ${i},${r}`,h,p,v,k]}const Ni={[K.Left]:{x:-1,y:0},[K.Right]:{x:1,y:0},[K.Top]:{x:0,y:-1},[K.Bottom]:{x:0,y:1}};function Cd({source:e,sourcePosition:t=K.Bottom,target:n}){return t===K.Left||t===K.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1}}function ki(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}function $d({source:e,sourcePosition:t=K.Bottom,target:n,targetPosition:o=K.Top,center:i,offset:r}){const l=Ni[t],a=Ni[o],s={x:e.x+l.x*r,y:e.y+l.y*r},u={x:n.x+a.x*r,y:n.y+a.y*r},c=Cd({source:s,sourcePosition:t,target:u}),h=c.x!==0?"x":"y",p=c[h];let v,k,w;const x={x:0,y:0},$={x:0,y:0},[I,m,C,z]=Hr({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[h]*a[h]===-1){k=i.x??I,w=i.y??m;const B=[{x:k,y:s.y},{x:k,y:u.y}],R=[{x:s.x,y:w},{x:u.x,y:w}];l[h]===p?v=h==="x"?B:R:v=h==="x"?R:B}else{const B=[{x:s.x,y:u.y}],R=[{x:u.x,y:s.y}];if(h==="x"?v=l.x===p?R:B:v=l.y===p?B:R,t===o){const Q=Math.abs(e[h]-n[h]);if(Q<=r){const y=Math.min(r-1,r-Q);l[h]===p?x[h]=(s[h]>e[h]?-1:1)*y:$[h]=(u[h]>n[h]?-1:1)*y}}if(t!==o){const Q=h==="x"?"y":"x",y=l[h]===a[Q],M=s[Q]>u[Q],S=s[Q]<u[Q];(l[h]===1&&(!y&&M||y&&S)||l[h]!==1&&(!y&&S||y&&M))&&(v=h==="x"?B:R)}const j={x:s.x+x.x,y:s.y+x.y},P={x:u.x+$.x,y:u.y+$.y},D=Math.max(Math.abs(j.x-v[0].x),Math.abs(P.x-v[0].x)),E=Math.max(Math.abs(j.y-v[0].y),Math.abs(P.y-v[0].y));D>=E?(k=(j.x+P.x)/2,w=v[0].y):(k=v[0].x,w=(j.y+P.y)/2)}return[[e,{x:s.x+x.x,y:s.y+x.y},...v,{x:u.x+$.x,y:u.y+$.y},n],k,w,C,z]}function Id(e,t,n,o){const i=Math.min(ki(e,t)/2,ki(t,n)/2,o),{x:r,y:l}=t;if(e.x===r&&r===n.x||e.y===l&&l===n.y)return`L${r} ${l}`;if(e.y===l){const u=e.x<n.x?-1:1,c=e.y<n.y?1:-1;return`L ${r+i*u},${l}Q ${r},${l} ${r},${l+i*c}`}const a=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return`L ${r},${l+i*s}Q ${r},${l} ${r+i*a},${l}`}function Eo(e){const{sourceX:t,sourceY:n,sourcePosition:o=K.Bottom,targetX:i,targetY:r,targetPosition:l=K.Top,borderRadius:a=5,centerX:s,centerY:u,offset:c=20}=e,[h,p,v,k,w]=$d({source:{x:t,y:n},sourcePosition:o,target:{x:i,y:r},targetPosition:l,center:{x:s,y:u},offset:c});return[h.reduce(($,I,m)=>{let C;return m>0&&m<h.length-1?C=Id(h[m-1],I,h[m+1],a):C=`${m===0?"M":"L"}${I.x} ${I.y}`,$+=C,$},""),p,v,k,w]}function Md(e){const{sourceX:t,sourceY:n,targetX:o,targetY:i}=e,[r,l,a,s]=Hr({sourceX:t,sourceY:n,targetX:o,targetY:i});return[`M ${t},${n}L ${o},${i}`,r,l,a,s]}const Td=me({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,i]=Md(e);return be(Xn,{path:n,labelX:o,labelY:i,...t,...e})}}}),Dd=Td,Pd=me({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()=>{const[n,o,i]=Eo({...e,sourcePosition:e.sourcePosition??K.Bottom,targetPosition:e.targetPosition??K.Top});return be(Xn,{path:n,labelX:o,labelY:i,...t,...e})}}}),Gr=Pd,Ad=me({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>be(Gr,{...e,...t,borderRadius:0})}}),Od=Ad,zd=me({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()=>{const[n,o,i]=Fr({...e,sourcePosition:e.sourcePosition??K.Bottom,targetPosition:e.targetPosition??K.Top});return be(Xn,{path:n,labelX:o,labelY:i,...t,...e})}}}),Bd=zd,Vd=me({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()=>{const[n,o,i]=Yr({...e,sourcePosition:e.sourcePosition??K.Bottom,targetPosition:e.targetPosition??K.Top});return be(Xn,{path:n,labelX:o,labelY:i,...t,...e})}}}),Rd=Vd,Hd={input:yd,default:vd,output:md},Ld={default:Bd,straight:Dd,step:Od,smoothstep:Gr,simplebezier:Rd};function Fd(e,t,n){const o=ie(()=>w=>t.value.get(w)),i=ie(()=>w=>n.value.get(w)),r=ie(()=>{const w={...Ld,...e.edgeTypes},x=Object.keys(w);for(const $ of e.edges)$.type&&!x.includes($.type)&&(w[$.type]=$.type);return w}),l=ie(()=>{const w={...Hd,...e.nodeTypes},x=Object.keys(w);for(const $ of e.nodes)$.type&&!x.includes($.type)&&(w[$.type]=$.type);return w}),a=ie(()=>e.onlyRenderVisibleElements?Nr(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),s=ie(()=>{if(e.onlyRenderVisibleElements){const w=[];for(const x of e.edges){const $=t.value.get(x.source),I=t.value.get(x.target);Vc({sourcePos:$.computedPosition||{x:0,y:0},targetPos:I.computedPosition||{x:0,y:0},sourceWidth:$.dimensions.width,sourceHeight:$.dimensions.height,targetWidth:I.dimensions.width,targetHeight:I.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&w.push(x)}return w}return e.edges}),u=ie(()=>[...a.value,...s.value]),c=ie(()=>{const w=[];for(const x of e.nodes)x.selected&&w.push(x);return w}),h=ie(()=>{const w=[];for(const x of e.edges)x.selected&&w.push(x);return w}),p=ie(()=>[...c.value,...h.value]),v=ie(()=>{const w=[];for(const x of e.nodes)x.dimensions.width&&x.dimensions.height&&x.handleBounds!==void 0&&w.push(x);return w}),k=ie(()=>a.value.length>0&&v.value.length===a.value.length);return{getNode:o,getEdge:i,getElements:u,getEdgeTypes:r,getNodeTypes:l,getEdges:s,getNodes:a,getSelectedElements:p,getSelectedNodes:c,getSelectedEdges:h,getNodesInitialized:v,areNodesInitialized:k}}class dt{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var t;const n=(t=At())==null?void 0:t.appContext.app,o=n?.config.globalProperties.$vueFlowStorage??dt.instance;return dt.instance=o??new dt,n&&(n.config.globalProperties.$vueFlowStorage=dt.instance),dt.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=Rr(),i=zi(o),r={};for(const[p,v]of Object.entries(i.hooks)){const k=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;r[k]=v.on}const l={};for(const[p,v]of Object.entries(i.hooks))l[p]=v.trigger;const a=ie(()=>{const p=new Map;for(const v of i.nodes)p.set(v.id,v);return p}),s=ie(()=>{const p=new Map;for(const v of i.edges)p.set(v.id,v);return p}),u=Fd(i,a,s),c=hd(i,a,s);c.setState({...i,...n});const h={...r,...u,...c,...Pl(i),nodeLookup:a,edgeLookup:s,emits:l,id:t,vueFlowVersion:"1.48.2",$destroy:()=>{this.remove(t)}};return this.set(t,h),h}getId(){return`vue-flow-${this.currentId++}`}}function Ne(e){const t=dt.getInstance(),n=Ai(),o=typeof e=="object",i=o?e:{id:e},r=i.id,l=r??n?.vueFlowId;let a;if(n){const s=Pt(xi,null);typeof s<"u"&&s!==null&&(!l||s.id===l)&&(a=s)}if(a||l&&(a=t.get(l)),!a||l&&a.id!==l){const s=r??t.getId(),u=t.create(s,i);a=u,(n??Pi(!0)).run(()=>{ye(u.applyDefault,(h,p,v)=>{const k=x=>{u.applyNodeChanges(x)},w=x=>{u.applyEdgeChanges(x)};h?(u.onNodesChange(k),u.onEdgesChange(w)):(u.hooks.value.nodesChange.off(k),u.hooks.value.edgesChange.off(w)),v(()=>{u.hooks.value.nodesChange.off(k),u.hooks.value.edgesChange.off(w)})},{immediate:!0}),Zt(()=>{if(a){const h=t.get(a.id);h?h.$destroy():rn(`No store instance found for id ${a.id} in storage.`)}})})}else o&&a.setState(i);if(n&&($t(xi,a),n.vueFlowId=a.id),o){const s=At();s?.type.name!=="VueFlow"&&a.emits.error(new De(Me.USEVUEFLOW_OPTIONS))}return a}function Yd(e){const{emits:t,dimensions:n}=Ne();let o;ut(()=>{const i=()=>{var r,l;if(!e.value||!(((l=(r=e.value).checkVisibility)==null?void 0:l.call(r))??!0))return;const a=Ln(e.value);(a.width===0||a.height===0)&&t.error(new De(Me.MISSING_VIEWPORT_DIMENSIONS)),n.value={width:a.width||500,height:a.height||500}};i(),window.addEventListener("resize",i),e.value&&(o=new ResizeObserver(()=>i()),o.observe(e.value)),Oi(()=>{window.removeEventListener("resize",i),o&&e.value&&o.unobserve(e.value)})})}const Gd={name:"UserSelection",compatConfig:{MODE:3}},Wd=me({...Gd,props:{userSelectionRect:{}},setup(e){return(t,n)=>(O(),ne("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))}}),Ud=["tabIndex"],Xd={name:"NodesSelection",compatConfig:{MODE:3}},Zd=me({...Xd,setup(e){const{emits:t,viewport:n,getSelectedNodes:o,noPanClassName:i,disableKeyboardA11y:r,userSelectionActive:l}=Ne(),a=Vr(),s=Ee(null),u=Or({el:s,onStart(k){t.selectionDragStart(k),t.nodeDragStart(k)},onDrag(k){t.selectionDrag(k),t.nodeDrag(k)},onStop(k){t.selectionDragStop(k),t.nodeDragStop(k)}});ut(()=>{var k;r.value||(k=s.value)==null||k.focus({preventScroll:!0})});const c=ie(()=>Sr(o.value)),h=ie(()=>({width:`${c.value.width}px`,height:`${c.value.height}px`,top:`${c.value.y}px`,left:`${c.value.x}px`}));function p(k){t.selectionContextMenu({event:k,nodes:o.value})}function v(k){r.value||kt[k.key]&&(k.preventDefault(),a({x:kt[k.key].x,y:kt[k.key].y},k.shiftKey))}return(k,w)=>!V(l)&&c.value.width&&c.value.height?(O(),ne("div",{key:0,class:rt(["vue-flow__nodesselection vue-flow__container",V(i)]),style:Oe({transform:`translate(${V(n).x}px,${V(n).y}px) scale(${V(n).zoom})`})},[X("div",{ref_key:"el",ref:s,class:rt([{dragging:V(u)},"vue-flow__nodesselection-rect"]),style:Oe(h.value),tabIndex:V(r)?void 0:-1,onContextmenu:p,onKeydown:v},null,46,Ud)],6)):Se("",!0)}});function qd(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const Kd={name:"Pane",compatConfig:{MODE:3}},Jd=me({...Kd,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:t,nodes:n,viewport:o,emits:i,userSelectionActive:r,removeSelectedElements:l,userSelectionRect:a,elementsSelectable:s,nodesSelectionActive:u,getSelectedEdges:c,getSelectedNodes:h,removeNodes:p,removeEdges:v,selectionMode:k,deleteKeyCode:w,multiSelectionKeyCode:x,multiSelectionActive:$,edgeLookup:I,nodeLookup:m,connectionLookup:C,defaultEdgeOptions:z,connectionStartHandle:Y,panOnDrag:B}=Ne(),R=it(null),j=it(new Set),P=it(new Set),D=it(null),E=xe(()=>s.value&&(e.isSelecting||r.value)),Q=xe(()=>Y.value!==null);let y=!1,M=!1;const S=Xt(w,{actInsideInputWithModifier:!1}),T=Xt(x);ye(S,Z=>{Z&&(p(h.value),v(c.value),u.value=!1)}),ye(T,Z=>{$.value=Z});function A(Z,q){return te=>{te.target===q&&Z?.(te)}}function L(Z){if(y||Q.value){y=!1;return}i.paneClick(Z),l(),u.value=!1}function F(Z){var q;if(Array.isArray(B.value)&&((q=B.value)!=null&&q.includes(2))){Z.preventDefault();return}i.paneContextMenu(Z)}function J(Z){i.paneScroll(Z)}function oe(Z){var q,te,he;if(D.value=((q=t.value)==null?void 0:q.getBoundingClientRect())??null,!s.value||!e.isSelecting||Z.button!==0||Z.target!==R.value||!D.value)return;(he=(te=Z.target)==null?void 0:te.setPointerCapture)==null||he.call(te,Z.pointerId);const{x:we,y:se}=qd(Z,D.value);M=!0,y=!1,l(),a.value={width:0,height:0,startX:we,startY:se,x:we,y:se},i.selectionStart(Z)}function ae(Z){var q;if(!D.value||!a.value)return;y=!0;const{x:te,y:he}=Ge(Z,D.value),{startX:we=0,startY:se=0}=a.value,pe={startX:we,startY:se,x:te<we?te:we,y:he<se?he:se,width:Math.abs(te-we),height:Math.abs(he-se)},re=j.value,N=P.value;j.value=new Set(Nr(n.value,pe,o.value,k.value===Po.Partial,!0).map(f=>f.id)),P.value=new Set;const d=((q=z.value)==null?void 0:q.selectable)??!0;for(const f of j.value){const g=C.value.get(f);if(g)for(const{edgeId:b}of g.values()){const _=I.value.get(b);_&&(_.selectable??d)&&P.value.add(b)}}if(!bi(re,j.value)){const f=ot(m.value,j.value,!0);i.nodesChange(f)}if(!bi(N,P.value)){const f=ot(I.value,P.value);i.edgesChange(f)}a.value=pe,r.value=!0,u.value=!1}function ce(Z){var q;Z.button!==0||!M||((q=Z.target)==null||q.releasePointerCapture(Z.pointerId),!r.value&&a.value&&Z.target===R.value&&L(Z),r.value=!1,a.value=null,u.value=j.value.size>0,i.selectionEnd(Z),e.selectionKeyPressed&&(y=!1),M=!1)}return(Z,q)=>(O(),ne("div",{ref_key:"container",ref:R,class:rt(["vue-flow__pane vue-flow__container",{selection:Z.isSelecting}]),onClick:q[0]||(q[0]=te=>E.value?void 0:A(L,R.value)(te)),onContextmenu:q[1]||(q[1]=te=>A(F,R.value)(te)),onWheelPassive:q[2]||(q[2]=te=>A(J,R.value)(te)),onPointerenter:q[3]||(q[3]=te=>E.value?void 0:V(i).paneMouseEnter(te)),onPointerdown:q[4]||(q[4]=te=>E.value?oe(te):V(i).paneMouseMove(te)),onPointermove:q[5]||(q[5]=te=>E.value?ae(te):V(i).paneMouseMove(te)),onPointerup:q[6]||(q[6]=te=>E.value?ce(te):void 0),onPointerleave:q[7]||(q[7]=te=>V(i).paneMouseLeave(te))},[ke(Z.$slots,"default"),V(r)&&V(a)?(O(),ve(Wd,{key:0,"user-selection-rect":V(a)},null,8,["user-selection-rect"])):Se("",!0),V(u)&&V(h).length?(O(),ve(Zd,{key:1})):Se("",!0)],34))}}),jd={name:"Transform",compatConfig:{MODE:3}},Qd=me({...jd,setup(e){const{viewport:t,fitViewOnInit:n,fitViewOnInitDone:o}=Ne(),i=ie(()=>n.value?!o.value:!1),r=ie(()=>`translate(${t.value.x}px,${t.value.y}px) scale(${t.value.zoom})`);return(l,a)=>(O(),ne("div",{class:"vue-flow__transformationpane vue-flow__container",style:Oe({transform:r.value,opacity:i.value?0:void 0})},[ke(l.$slots,"default")],4))}}),ef={name:"Viewport",compatConfig:{MODE:3}},tf=me({...ef,setup(e){const{minZoom:t,maxZoom:n,defaultViewport:o,translateExtent:i,zoomActivationKeyCode:r,selectionKeyCode:l,panActivationKeyCode:a,panOnScroll:s,panOnScrollMode:u,panOnScrollSpeed:c,panOnDrag:h,zoomOnDoubleClick:p,zoomOnPinch:v,zoomOnScroll:k,preventScrolling:w,noWheelClassName:x,noPanClassName:$,emits:I,connectionStartHandle:m,userSelectionActive:C,paneDragging:z,d3Zoom:Y,d3Selection:B,d3ZoomHandler:R,viewport:j,viewportRef:P,paneClickDistance:D}=Ne();Yd(P);const E=it(!1),Q=it(!1);let y=null,M=!1,S=0,T={x:0,y:0,zoom:0};const A=Xt(a),L=Xt(l),F=Xt(r),J=xe(()=>(!L.value||L.value&&l.value===!0)&&(A.value||h.value)),oe=xe(()=>A.value||s.value),ae=xe(()=>l.value===!0&&J.value!==!0),ce=xe(()=>L.value&&l.value!==!0||C.value||ae.value),Z=xe(()=>m.value!==null);ut(()=>{if(!P.value){rn("Viewport element is missing");return}const se=P.value,pe=se.getBoundingClientRect(),re=mc().clickDistance(D.value).scaleExtent([t.value,n.value]).translateExtent(i.value),N=Be(se).call(re),d=N.on("wheel.zoom"),f=Tt.translate(o.value.x??0,o.value.y??0).scale(mt(o.value.zoom??1,t.value,n.value)),g=[[0,0],[pe.width,pe.height]],b=re.constrain()(f,g,i.value);re.transform(N,b),re.wheelDelta(ai),Y.value=re,B.value=N,R.value=d,j.value={x:b.x,y:b.y,zoom:b.k},re.on("start",_=>{var H;if(!_.sourceEvent)return null;S=_.sourceEvent.button,E.value=!0;const G=he(_.transform);((H=_.sourceEvent)==null?void 0:H.type)==="mousedown"&&(z.value=!0),T=G,I.viewportChangeStart(G),I.moveStart({event:_,flowTransform:G})}),re.on("end",_=>{if(!_.sourceEvent)return null;if(E.value=!1,z.value=!1,q(J.value,S??0)&&!M&&I.paneContextMenu(_.sourceEvent),M=!1,te(T,_.transform)){const H=he(_.transform);T=H,I.viewportChangeEnd(H),I.moveEnd({event:_,flowTransform:H})}}),re.filter(_=>{var H;const G=F.value||k.value,ee=v.value&&_.ctrlKey,U=_.button,le=_.type==="wheel";if(U===1&&_.type==="mousedown"&&(we(_,"vue-flow__node")||we(_,"vue-flow__edge")))return!0;if(!J.value&&!G&&!oe.value&&!p.value&&!v.value||C.value||Z.value&&!le||!p.value&&_.type==="dblclick"||we(_,x.value)&&le||we(_,$.value)&&(!le||oe.value&&le&&!F.value)||!v.value&&_.ctrlKey&&le||!G&&!oe.value&&!ee&&le)return!1;if(!v&&_.type==="touchstart"&&((H=_.touches)==null?void 0:H.length)>1)return _.preventDefault(),!1;if(!J.value&&(_.type==="mousedown"||_.type==="touchstart")||ae.value&&Array.isArray(h.value)&&h.value.includes(0)&&U===0||Array.isArray(h.value)&&!h.value.includes(U)&&(_.type==="mousedown"||_.type==="touchstart"))return!1;const de=Array.isArray(h.value)&&h.value.includes(U)||l.value===!0&&Array.isArray(h.value)&&!h.value.includes(0)||!U||U<=1;return(!_.ctrlKey||A.value||le)&&de}),ye([C,J],()=>{C.value&&!E.value?re.on("zoom",null):C.value||re.on("zoom",_=>{j.value={x:_.transform.x,y:_.transform.y,zoom:_.transform.k};const H=he(_.transform);M=q(J.value,S??0),I.viewportChange(H),I.move({event:_,flowTransform:H})})},{immediate:!0}),ye([C,oe,u,F,v,w,x],()=>{oe.value&&!F.value&&!C.value?N.on("wheel.zoom",_=>{if(we(_,x.value))return!1;const H=F.value||k.value,G=v.value&&_.ctrlKey;if(!(!w.value||oe.value||H||G))return!1;_.preventDefault(),_.stopImmediatePropagation();const U=N.property("__zoom").k||1,le=Pn();if(!A.value&&_.ctrlKey&&v.value&&le){const Qr=Le(_),el=ai(_),tl=U*2**el;re.scaleTo(N,tl,Qr,_);return}const de=_.deltaMode===1?20:1;let _e=u.value===Ut.Vertical?0:_.deltaX*de,et=u.value===Ut.Horizontal?0:_.deltaY*de;!le&&_.shiftKey&&u.value!==Ut.Vertical&&!_e&&et&&(_e=et,et=0),re.translateBy(N,-(_e/U)*c.value,-(et/U)*c.value);const He=he(N.property("__zoom"));y&&clearTimeout(y),Q.value?(I.move({event:_,flowTransform:He}),I.viewportChange(He),y=setTimeout(()=>{I.moveEnd({event:_,flowTransform:He}),I.viewportChangeEnd(He),Q.value=!1},150)):(Q.value=!0,I.moveStart({event:_,flowTransform:He}),I.viewportChangeStart(He))},{passive:!1}):typeof d<"u"&&N.on("wheel.zoom",function(_,H){const G=!w.value&&_.type==="wheel"&&!_.ctrlKey,ee=F.value||k.value,U=v.value&&_.ctrlKey;if(!ee&&!s.value&&!U&&_.type==="wheel"||G||we(_,x.value))return null;_.preventDefault(),d.call(this,_,H)},{passive:!1})},{immediate:!0})});function q(se,pe){return pe===2&&Array.isArray(se)&&se.includes(2)}function te(se,pe){return se.x!==pe.x&&!Number.isNaN(pe.x)||se.y!==pe.y&&!Number.isNaN(pe.y)||se.zoom!==pe.k&&!Number.isNaN(pe.k)}function he(se){return{x:se.x,y:se.y,zoom:se.k}}function we(se,pe){return se.target.closest(`.${pe}`)}return(se,pe)=>(O(),ne("div",{ref_key:"viewportRef",ref:P,class:"vue-flow__viewport vue-flow__container"},[ue(Jd,{"is-selecting":ce.value,"selection-key-pressed":V(L),class:rt({connecting:Z.value,dragging:V(z),draggable:V(h)===!0||Array.isArray(V(h))&&V(h).includes(0)})},{default:ge(()=>[ue(Qd,null,{default:ge(()=>[ke(se.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),nf=["id"],of=["id"],rf=["id"],lf={name:"A11yDescriptions",compatConfig:{MODE:3}},af=me({...lf,setup(e){const{id:t,disableKeyboardA11y:n,ariaLiveMessage:o}=Ne();return(i,r)=>(O(),ne(Te,null,[X("div",{id:`${V(vr)}-${V(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+Ce(V(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,nf),X("div",{id:`${V(mr)}-${V(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,of),V(n)?Se("",!0):(O(),ne("div",{key:0,id:`${V(Ec)}-${V(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%)"}},Ce(V(o)),9,rf))],64))}});function sf(){const e=Ne();ye(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function uf(e,t,n){return n===K.Left?e-t:n===K.Right?e+t:e}function cf(e,t,n){return n===K.Top?e-t:n===K.Bottom?e+t:e}const zo=function({radius:e=10,centerX:t=0,centerY:n=0,position:o=K.Top,type:i}){return be("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:uf(t,e,o),cy:cf(n,e,o),r:e,stroke:"transparent",fill:"transparent"})};zo.props=["radius","centerX","centerY","position","type"];zo.compatConfig={MODE:3};const Ci=zo,df=me({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:t,addSelectedEdges:n,connectionMode:o,edgeUpdaterRadius:i,emits:r,nodesSelectionActive:l,noPanClassName:a,getEdgeTypes:s,removeSelectedEdges:u,findEdge:c,findNode:h,isValidConnection:p,multiSelectionActive:v,disableKeyboardA11y:k,elementsSelectable:w,edgesUpdatable:x,edgesFocusable:$,hooks:I}=Ne(),m=ie(()=>c(e.id)),{emit:C,on:z}=ed(m.value,r),Y=Pt(Yn),B=At(),R=Ee(!1),j=Ee(!1),P=Ee(""),D=Ee(null),E=Ee("source"),Q=Ee(null),y=xe(()=>typeof m.value.selectable>"u"?w.value:m.value.selectable),M=xe(()=>typeof m.value.updatable>"u"?x.value:m.value.updatable),S=xe(()=>typeof m.value.focusable>"u"?$.value:m.value.focusable);$t(Jc,e.id),$t(jc,Q);const T=ie(()=>m.value.class instanceof Function?m.value.class(m.value):m.value.class),A=ie(()=>m.value.style instanceof Function?m.value.style(m.value):m.value.style),L=ie(()=>{const f=m.value.type||"default",g=Y?.[`edge-${f}`];if(g)return g;let b=m.value.template??s.value[f];if(typeof b=="string"&&B){const _=Object.keys(B.appContext.components);_&&_.includes(f)&&(b=Bi(f,!1))}return b&&typeof b!="string"?b:(r.error(new De(Me.EDGE_TYPE_MISSING,b)),!1)}),{handlePointerDown:F}=zr({nodeId:P,handleId:D,type:E,isValidConnection:p,edgeUpdaterType:E,onEdgeUpdate:ae,onEdgeUpdateEnd:ce});return()=>{const f=h(m.value.source),g=h(m.value.target),b="pathOptions"in m.value?m.value.pathOptions:{};if(!f&&!g)return r.error(new De(Me.EDGE_SOURCE_TARGET_MISSING,m.value.id,m.value.source,m.value.target)),null;if(!f)return r.error(new De(Me.EDGE_SOURCE_MISSING,m.value.id,m.value.source)),null;if(!g)return r.error(new De(Me.EDGE_TARGET_MISSING,m.value.id,m.value.target)),null;if(!m.value||m.value.hidden||f.hidden||g.hidden)return null;let _;o.value===lt.Strict?_=f.handleBounds.source:_=[...f.handleBounds.source||[],...f.handleBounds.target||[]];const H=gi(_,m.value.sourceHandle);let G;o.value===lt.Strict?G=g.handleBounds.target:G=[...g.handleBounds.target||[],...g.handleBounds.source||[]];const ee=gi(G,m.value.targetHandle),U=H?.position||K.Bottom,le=ee?.position||K.Top,{x:de,y:_e}=Dt(f,H,U),{x:et,y:He}=Dt(g,ee,le);return m.value.sourceX=de,m.value.sourceY=_e,m.value.targetX=et,m.value.targetY=He,be("g",{ref:Q,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${L.value===!1?"default":m.value.type||"default"}`,a.value,T.value,{updating:R.value,selected:m.value.selected,animated:m.value.animated,inactive:!y.value&&!I.value.edgeClick.hasListeners()}],tabIndex:S.value?0:void 0,"aria-label":m.value.ariaLabel===null?void 0:m.value.ariaLabel??`Edge from ${m.value.source} to ${m.value.target}`,"aria-describedby":S.value?`${mr}-${t}`:void 0,"aria-roledescription":"edge",role:S.value?"group":"img",...m.value.domAttributes,onClick:q,onContextmenu:te,onDblclick:he,onMouseenter:we,onMousemove:se,onMouseleave:pe,onKeyDown:S.value?d:void 0},[j.value?null:be(L.value===!1?s.value.default:L.value,{id:e.id,sourceNode:f,targetNode:g,source:m.value.source,target:m.value.target,type:m.value.type,updatable:M.value,selected:m.value.selected,animated:m.value.animated,label:m.value.label,labelStyle:m.value.labelStyle,labelShowBg:m.value.labelShowBg,labelBgStyle:m.value.labelBgStyle,labelBgPadding:m.value.labelBgPadding,labelBgBorderRadius:m.value.labelBgBorderRadius,data:m.value.data,events:{...m.value.events,...z},style:A.value,markerStart:`url('#${tn(m.value.markerStart,t)}')`,markerEnd:`url('#${tn(m.value.markerEnd,t)}')`,sourcePosition:U,targetPosition:le,sourceX:de,sourceY:_e,targetX:et,targetY:He,sourceHandleId:m.value.sourceHandle,targetHandleId:m.value.targetHandle,interactionWidth:m.value.interactionWidth,...b}),[M.value==="source"||M.value===!0?[be("g",{onMousedown:re,onMouseenter:J,onMouseout:oe},be(Ci,{position:U,centerX:de,centerY:_e,radius:i.value,type:"source","data-type":"source"}))]:null,M.value==="target"||M.value===!0?[be("g",{onMousedown:N,onMouseenter:J,onMouseout:oe},be(Ci,{position:le,centerX:et,centerY:He,radius:i.value,type:"target","data-type":"target"}))]:null]])};function J(){R.value=!0}function oe(){R.value=!1}function ae(f,g){C.update({event:f,edge:m.value,connection:g})}function ce(f){C.updateEnd({event:f,edge:m.value}),j.value=!1}function Z(f,g){f.button===0&&(j.value=!0,P.value=g?m.value.target:m.value.source,D.value=(g?m.value.targetHandle:m.value.sourceHandle)??null,E.value=g?"target":"source",C.updateStart({event:f,edge:m.value}),F(f))}function q(f){var g;const b={event:f,edge:m.value};y.value&&(l.value=!1,m.value.selected&&v.value?(u([m.value]),(g=Q.value)==null||g.blur()):n([m.value])),C.click(b)}function te(f){C.contextMenu({event:f,edge:m.value})}function he(f){C.doubleClick({event:f,edge:m.value})}function we(f){C.mouseEnter({event:f,edge:m.value})}function se(f){C.mouseMove({event:f,edge:m.value})}function pe(f){C.mouseLeave({event:f,edge:m.value})}function re(f){Z(f,!0)}function N(f){Z(f,!1)}function d(f){var g;!k.value&&yr.includes(f.key)&&y.value&&(f.key==="Escape"?((g=Q.value)==null||g.blur(),u([c(e.id)])):n([c(e.id)]))}}}),ff=df,hf=me({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:n,connectionStartHandle:o,connectionEndHandle:i,connectionPosition:r,connectionLineType:l,connectionLineStyle:a,connectionLineOptions:s,connectionStatus:u,viewport:c,findNode:h}=Ne(),p=(e=Pt(Yn))==null?void 0:e["connection-line"],v=ie(()=>{var I;return h((I=o.value)==null?void 0:I.nodeId)}),k=ie(()=>{var I;return h((I=i.value)==null?void 0:I.nodeId)??null}),w=ie(()=>({x:(r.value.x-c.value.x)/c.value.zoom,y:(r.value.y-c.value.y)/c.value.zoom})),x=ie(()=>s.value.markerStart?`url(#${tn(s.value.markerStart,t)})`:""),$=ie(()=>s.value.markerEnd?`url(#${tn(s.value.markerEnd,t)})`:"");return()=>{var I,m,C;if(!v.value||!o.value)return null;const z=o.value.id,Y=o.value.type,B=v.value.handleBounds;let R=B?.[Y]??[];if(n.value===lt.Loose){const A=B?.[Y==="source"?"target":"source"]??[];R=[...R,...A]}if(!R)return null;const j=(z?R.find(A=>A.id===z):R[0])??null,P=j?.position??K.Top,{x:D,y:E}=Dt(v.value,j,P);let Q=null;k.value&&(n.value===lt.Strict?Q=((I=k.value.handleBounds[Y==="source"?"target":"source"])==null?void 0:I.find(A=>{var L;return A.id===((L=i.value)==null?void 0:L.id)}))||null:Q=((m=[...k.value.handleBounds.source??[],...k.value.handleBounds.target??[]])==null?void 0:m.find(A=>{var L;return A.id===((L=i.value)==null?void 0:L.id)}))||null);const y=((C=i.value)==null?void 0:C.position)??(P?bo[P]:null);if(!P||!y)return null;const M=l.value??s.value.type??ct.Bezier;let S="";const T={sourceX:D,sourceY:E,sourcePosition:P,targetX:w.value.x,targetY:w.value.y,targetPosition:y};return M===ct.Bezier?[S]=Fr(T):M===ct.Step?[S]=Eo({...T,borderRadius:0}):M===ct.SmoothStep?[S]=Eo(T):M===ct.SimpleBezier?[S]=Yr(T):S=`M${D},${E} ${w.value.x},${w.value.y}`,be("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},be("g",{class:"vue-flow__connection"},p?be(p,{sourceX:D,sourceY:E,sourcePosition:P,targetX:w.value.x,targetY:w.value.y,targetPosition:y,sourceNode:v.value,sourceHandle:j,targetNode:k.value,targetHandle:Q,markerEnd:$.value,markerStart:x.value,connectionStatus:u.value}):be("path",{d:S,class:[s.value.class,u.value,"vue-flow__connection-path"],style:{...a.value,...s.value.style},"marker-end":$.value,"marker-start":x.value})))}}}),pf=hf,gf=["id","markerWidth","markerHeight","markerUnits","orient"],vf={name:"MarkerType",compatConfig:{MODE:3}},mf=me({...vf,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)=>(O(),ne("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===V(wo).ArrowClosed?(O(),ne("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)):Se("",!0),t.type===V(wo).Arrow?(O(),ne("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)):Se("",!0)],8,gf))}}),yf={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},wf={name:"MarkerDefinitions",compatConfig:{MODE:3}},_f=me({...wf,setup(e){const{id:t,edges:n,connectionLineOptions:o,defaultMarkerColor:i}=Ne(),r=ie(()=>{const l=new Set,a=[],s=u=>{if(u){const c=tn(u,t);l.has(c)||(typeof u=="object"?a.push({...u,id:c,color:u.color||i.value}):a.push({id:c,color:i.value,type:u}),l.add(c))}};for(const u of[o.value.markerEnd,o.value.markerStart])s(u);for(const u of n.value)for(const c of[u.markerStart,u.markerEnd])s(c);return a.sort((u,c)=>u.id.localeCompare(c.id))});return(l,a)=>(O(),ne("svg",yf,[X("defs",null,[(O(!0),ne(Te,null,je(r.value,s=>(O(),ve(mf,{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))])]))}}),bf={name:"Edges",compatConfig:{MODE:3}},xf=me({...bf,setup(e){const{findNode:t,getEdges:n,elevateEdgesOnSelect:o}=Ne();return(i,r)=>(O(),ne(Te,null,[ue(_f),(O(!0),ne(Te,null,je(V(n),l=>(O(),ne("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:Oe({zIndex:V(Rc)(l,V(t),V(o))})},[ue(V(ff),{id:l.id},null,8,["id"])],4))),128)),ue(V(pf))],64))}}),Ef=me({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:t,noPanClassName:n,selectNodesOnDrag:o,nodesSelectionActive:i,multiSelectionActive:r,emits:l,removeSelectedNodes:a,addSelectedNodes:s,updateNodeDimensions:u,onUpdateNodeInternals:c,getNodeTypes:h,nodeExtent:p,elevateNodesOnSelect:v,disableKeyboardA11y:k,ariaLiveMessage:w,snapToGrid:x,snapGrid:$,nodeDragThreshold:I,nodesDraggable:m,elementsSelectable:C,nodesConnectable:z,nodesFocusable:Y,hooks:B}=Ne(),R=Ee(null);$t(Ar,R),$t(Pr,e.id);const j=Pt(Yn),P=At(),D=Vr(),{node:E,parentNode:Q}=Br(e.id),{emit:y,on:M}=id(E,l),S=xe(()=>typeof E.draggable>"u"?m.value:E.draggable),T=xe(()=>typeof E.selectable>"u"?C.value:E.selectable),A=xe(()=>typeof E.connectable>"u"?z.value:E.connectable),L=xe(()=>typeof E.focusable>"u"?Y.value:E.focusable),F=ie(()=>T.value||S.value||B.value.nodeClick.hasListeners()||B.value.nodeDoubleClick.hasListeners()||B.value.nodeMouseEnter.hasListeners()||B.value.nodeMouseMove.hasListeners()||B.value.nodeMouseLeave.hasListeners()),J=xe(()=>!!E.dimensions.width&&!!E.dimensions.height),oe=ie(()=>{const g=E.type||"default",b=j?.[`node-${g}`];if(b)return b;let _=E.template||h.value[g];if(typeof _=="string"&&P){const H=Object.keys(P.appContext.components);H&&H.includes(g)&&(_=Bi(g,!1))}return _&&typeof _!="string"?_:(l.error(new De(Me.NODE_TYPE_MISSING,_)),!1)}),ae=Or({id:e.id,el:R,disabled:()=>!S.value,selectable:T,dragHandle:()=>E.dragHandle,onStart(g){y.dragStart(g)},onDrag(g){y.drag(g)},onStop(g){y.dragStop(g)},onClick(g){d(g)}}),ce=ie(()=>E.class instanceof Function?E.class(E):E.class),Z=ie(()=>{const g=(E.style instanceof Function?E.style(E):E.style)||{},b=E.width instanceof Function?E.width(E):E.width,_=E.height instanceof Function?E.height(E):E.height;return!g.width&&b&&(g.width=typeof b=="string"?b:`${b}px`),!g.height&&_&&(g.height=typeof _=="string"?_:`${_}px`),g}),q=xe(()=>Number(E.zIndex??Z.value.zIndex??0));return c(g=>{(g.includes(e.id)||!g.length)&&he()}),ut(()=>{ye(()=>E.hidden,(g=!1,b,_)=>{!g&&R.value&&(e.resizeObserver.observe(R.value),_(()=>{R.value&&e.resizeObserver.unobserve(R.value)}))},{immediate:!0,flush:"post"})}),ye([()=>E.type,()=>E.sourcePosition,()=>E.targetPosition],()=>{We(()=>{u([{id:e.id,nodeElement:R.value,forceUpdate:!0}])})}),ye([()=>E.position.x,()=>E.position.y,()=>{var g;return(g=Q.value)==null?void 0:g.computedPosition.x},()=>{var g;return(g=Q.value)==null?void 0:g.computedPosition.y},()=>{var g;return(g=Q.value)==null?void 0:g.computedPosition.z},q,()=>E.selected,()=>E.dimensions.height,()=>E.dimensions.width,()=>{var g;return(g=Q.value)==null?void 0:g.dimensions.height},()=>{var g;return(g=Q.value)==null?void 0:g.dimensions.width}],([g,b,_,H,G,ee])=>{const U={x:g,y:b,z:ee+(v.value&&E.selected?1e3:0)};typeof _<"u"&&typeof H<"u"?E.computedPosition=Pc({x:_,y:H,z:G},U):E.computedPosition=U},{flush:"post",immediate:!0}),ye([()=>E.extent,p],([g,b],[_,H])=>{(g!==_||b!==H)&&te()}),E.extent==="parent"||typeof E.extent=="object"&&"range"in E.extent&&E.extent.range==="parent"?uo(()=>J).toBe(!0).then(te):te(),()=>E.hidden?null:be("div",{ref:R,"data-id":E.id,class:["vue-flow__node",`vue-flow__node-${oe.value===!1?"default":E.type||"default"}`,{[n.value]:S.value,dragging:ae?.value,draggable:S.value,selected:E.selected,selectable:T.value,parent:E.isParent},ce.value],style:{visibility:J.value?"visible":"hidden",zIndex:E.computedPosition.z??q.value,transform:`translate(${E.computedPosition.x}px,${E.computedPosition.y}px)`,pointerEvents:F.value?"all":"none",...Z.value},tabIndex:L.value?0:void 0,role:L.value?"group":void 0,"aria-describedby":k.value?void 0:`${vr}-${t}`,"aria-label":E.ariaLabel,"aria-roledescription":"node",...E.domAttributes,onMouseenter:we,onMousemove:se,onMouseleave:pe,onContextmenu:re,onClick:d,onDblclick:N,onKeydown:f},[be(oe.value===!1?h.value.default:oe.value,{id:E.id,type:E.type,data:E.data,events:{...E.events,...M},selected:E.selected,resizing:E.resizing,dragging:ae.value,connectable:A.value,position:E.computedPosition,dimensions:E.dimensions,isValidTargetPos:E.isValidTargetPos,isValidSourcePos:E.isValidSourcePos,parent:E.parentNode,parentNodeId:E.parentNode,zIndex:E.computedPosition.z??q.value,targetPosition:E.targetPosition,sourcePosition:E.sourcePosition,label:E.label,dragHandle:E.dragHandle,onUpdateNodeInternals:he})]);function te(){const g=E.computedPosition,{computedPosition:b,position:_}=Ao(E,x.value?Fn(g,$.value):g,l.error,p.value,Q.value);(E.computedPosition.x!==b.x||E.computedPosition.y!==b.y)&&(E.computedPosition={...E.computedPosition,...b}),(E.position.x!==_.x||E.position.y!==_.y)&&(E.position=_)}function he(){R.value&&u([{id:e.id,nodeElement:R.value,forceUpdate:!0}])}function we(g){ae?.value||y.mouseEnter({event:g,node:E})}function se(g){ae?.value||y.mouseMove({event:g,node:E})}function pe(g){ae?.value||y.mouseLeave({event:g,node:E})}function re(g){return y.contextMenu({event:g,node:E})}function N(g){return y.doubleClick({event:g,node:E})}function d(g){T.value&&(!o.value||!S.value||I.value>0)&&xo(E,r.value,s,a,i,!1,R.value),y.click({event:g,node:E})}function f(g){if(!(_o(g)||k.value))if(yr.includes(g.key)&&T.value){const b=g.key==="Escape";xo(E,r.value,s,a,i,b,R.value)}else S.value&&E.selected&&kt[g.key]&&(g.preventDefault(),w.value=`Moved selected node ${g.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~E.position.x}, y: ${~~E.position.y}`,D({x:kt[g.key].x,y:kt[g.key].y},g.shiftKey))}}}),Sf=Ef;function Nf(e={includeHiddenNodes:!1}){const{nodes:t}=Ne();return ie(()=>{if(t.value.length===0)return!1;for(const n of t.value)if((e.includeHiddenNodes||!n.hidden)&&(n?.handleBounds===void 0||n.dimensions.width===0||n.dimensions.height===0))return!1;return!0})}const kf={class:"vue-flow__nodes vue-flow__container"},Cf={name:"Nodes",compatConfig:{MODE:3}},$f=me({...Cf,setup(e){const{getNodes:t,updateNodeDimensions:n,emits:o}=Ne(),i=Nf(),r=Ee();return ye(i,l=>{l&&We(()=>{o.nodesInitialized(t.value)})},{immediate:!0}),ut(()=>{r.value=new ResizeObserver(l=>{const a=l.map(s=>({id:s.target.getAttribute("data-id"),nodeElement:s.target,forceUpdate:!0}));We(()=>n(a))})}),Oi(()=>{var l;return(l=r.value)==null?void 0:l.disconnect()}),(l,a)=>(O(),ne("div",kf,[r.value?(O(!0),ne(Te,{key:0},je(V(t),(s,u,c,h)=>{const p=[s.id];if(h&&h.key===s.id&&ll(h,p))return h;const v=(O(),ve(V(Sf),{id:s.id,key:s.id,"resize-observer":r.value},null,8,["id","resize-observer"]));return v.memo=p,v},a,0),128)):Se("",!0)]))}});function If(){const{emits:e}=Ne();ut(()=>{if(Dr()){const t=document.querySelector(".vue-flow__pane");t&&window.getComputedStyle(t).zIndex!=="1"&&e.error(new De(Me.MISSING_STYLES))}})}const Mf=X("div",{class:"vue-flow__edge-labels"},null,-1),Tf={name:"VueFlow",compatConfig:{MODE:3}},Df=me({...Tf,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:{type:[Boolean,null],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:{},paneClickDistance:{},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},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:n}){const o=e,i=ol(),r=Kn(o,"modelValue",n),l=Kn(o,"nodes",n),a=Kn(o,"edges",n),s=Ne(o),u=sd({modelValue:r,nodes:l,edges:a},o,s);return cd(n,s.hooks),sf(),If(),$t(Yn,i),il(u),t(s),(c,h)=>(O(),ne("div",{ref:V(s).vueFlowRef,class:"vue-flow"},[ue(tf,null,{default:ge(()=>[ue(xf),Mf,ue($f),ke(c.$slots,"zoom-pane")]),_:3}),ke(c.$slots,"default"),ue(af)],512))}}),Pf={name:"Panel",compatConfig:{MODE:3}},Af=me({...Pf,props:{position:{}},setup(e){const t=e,{userSelectionActive:n}=Ne(),o=ie(()=>`${t.position}`.split("-"));return(i,r)=>(O(),ne("div",{class:rt(["vue-flow__panel",o.value]),style:Oe({pointerEvents:V(n)?"none":"all"})},[ke(i.$slots,"default")],6))}});var Je=(e=>(e.Lines="lines",e.Dots="dots",e))(Je||{});const Wr=function({dimensions:e,size:t,color:n}){return be("path",{stroke:n,"stroke-width":t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Ur=function({radius:e,color:t}){return be("circle",{cx:e,cy:e,r:e,fill:t})};Je.Lines+"",Je.Dots+"";const Of={[Je.Dots]:"#81818a",[Je.Lines]:"#eee"},zf=["id","x","y","width","height","patternTransform"],Bf={key:2,height:"100",width:"100"},Vf=["fill"],Rf=["x","y","fill"],Hf={name:"Background",compatConfig:{MODE:3}},Lf=me({...Hf,props:{id:{},variant:{default:()=>Je.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:t,viewport:n}=Ne(),o=ie(()=>{const l=n.value.zoom,[a,s]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[a*l||1,s*l||1],c=e.size*l,[h,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],v=[h*l||1+u[0]/2,p*l||1+u[1]/2];return{scaledGap:u,offset:v,size:c}}),i=xe(()=>`pattern-${t}${e.id?`-${e.id}`:""}`),r=xe(()=>e.color||e.patternColor||Of[e.variant||Je.Dots]);return(l,a)=>(O(),ne("svg",{class:"vue-flow__background vue-flow__container",style:Oe({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[ke(l.$slots,"pattern-container",{id:i.value},()=>[X("pattern",{id:i.value,x:V(n).x%o.value.scaledGap[0],y:V(n).y%o.value.scaledGap[1],width:o.value.scaledGap[0],height:o.value.scaledGap[1],patternTransform:`translate(-${o.value.offset[0]},-${o.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[ke(l.$slots,"pattern",{},()=>[l.variant===V(Je).Lines?(O(),ve(V(Wr),{key:0,size:l.lineWidth,color:r.value,dimensions:o.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===V(Je).Dots?(O(),ve(V(Ur),{key:1,color:r.value,radius:o.value.size/2},null,8,["color","radius"])):Se("",!0),l.bgColor?(O(),ne("svg",Bf,[X("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,Vf)])):Se("",!0)])],8,zf)]),X("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,Rf),ke(l.$slots,"default",{id:i.value})],4))}}),Ff={name:"ControlButton",compatConfig:{MODE:3}},Yf=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n},Gf={type:"button",class:"vue-flow__controls-button"};function Wf(e,t,n,o,i,r){return O(),ne("button",Gf,[ke(e.$slots,"default")])}const vn=Yf(Ff,[["render",Wf]]),Uf={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Xf=X("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1),Zf=[Xf];function qf(e,t){return O(),ne("svg",Uf,Zf)}const Kf={render:qf},Jf={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},jf=X("path",{d:"M0 0h32v4.2H0z"},null,-1),Qf=[jf];function eh(e,t){return O(),ne("svg",Jf,Qf)}const th={render:eh},nh={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},oh=X("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1),ih=[oh];function rh(e,t){return O(),ne("svg",nh,ih)}const lh={render:rh},ah={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},sh=X("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1),uh=[sh];function ch(e,t){return O(),ne("svg",ah,uh)}const dh={render:ch},fh={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},hh=X("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1),ph=[hh];function gh(e,t){return O(),ne("svg",fh,ph)}const vh={render:gh},mh={name:"Controls",compatConfig:{MODE:3}},yh=me({...mh,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>gr.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:t}){const{nodesDraggable:n,nodesConnectable:o,elementsSelectable:i,setInteractive:r,zoomIn:l,zoomOut:a,fitView:s,viewport:u,minZoom:c,maxZoom:h}=Ne(),p=xe(()=>n.value||o.value||i.value),v=xe(()=>u.value.zoom<=c.value),k=xe(()=>u.value.zoom>=h.value);function w(){l(),t("zoomIn")}function x(){a(),t("zoomOut")}function $(){s(e.fitViewParams),t("fitView")}function I(){r(!p.value),t("interactionChange",!p.value)}return(m,C)=>(O(),ve(V(Af),{class:"vue-flow__controls",position:m.position},{default:ge(()=>[ke(m.$slots,"top"),m.showZoom?(O(),ne(Te,{key:0},[ke(m.$slots,"control-zoom-in",{},()=>[ue(vn,{class:"vue-flow__controls-zoomin",disabled:k.value,onClick:w},{default:ge(()=>[ke(m.$slots,"icon-zoom-in",{},()=>[(O(),ve(xt(V(Kf))))])]),_:3},8,["disabled"])]),ke(m.$slots,"control-zoom-out",{},()=>[ue(vn,{class:"vue-flow__controls-zoomout",disabled:v.value,onClick:x},{default:ge(()=>[ke(m.$slots,"icon-zoom-out",{},()=>[(O(),ve(xt(V(th))))])]),_:3},8,["disabled"])])],64)):Se("",!0),m.showFitView?ke(m.$slots,"control-fit-view",{key:1},()=>[ue(vn,{class:"vue-flow__controls-fitview",onClick:$},{default:ge(()=>[ke(m.$slots,"icon-fit-view",{},()=>[(O(),ve(xt(V(lh))))])]),_:3})]):Se("",!0),m.showInteractive?ke(m.$slots,"control-interactive",{key:2},()=>[m.showInteractive?(O(),ve(vn,{key:0,class:"vue-flow__controls-interactive",onClick:I},{default:ge(()=>[p.value?ke(m.$slots,"icon-unlock",{key:0},()=>[(O(),ve(xt(V(vh))))]):Se("",!0),p.value?Se("",!0):ke(m.$slots,"icon-lock",{key:1},()=>[(O(),ve(xt(V(dh))))])]),_:3})):Se("",!0)]):Se("",!0),ke(m.$slots,"default")]),_:3},8,["position"]))}}),wh=[{label:"指定车辆",value:"fixed"},{label:"指定类型",value:"byType"}],_h={key:"strategy",equals:"fixed"},bh={key:"strategy",equals:"byType"};function xh(){return[{key:"strategy",label:"分配策略",type:"select",required:!0,defaultValue:"fixed",options:[...wh]},{key:"carId",label:"车辆编号",type:"string",required:!0,placeholder:"如 C01",when:_h},{key:"carType",label:"车辆类型",type:"string",required:!0,placeholder:"如 Forklift / SimpleLite.RCS.Cars.AgvCar",when:bh}]}function Eh(){return[{key:"apiUrl",label:"接口地址",type:"string",required:!0,placeholder:"如 http://127.0.0.1:8080/api/hook/notify"},{key:"dataConfig",label:"数据配置",type:"textarea",required:!0,defaultValue:"{}",placeholder:'JSON 格式,如 {"event":"mission.done","payload":{"status":"ok"}}'},{key:"message",label:"消息",type:"textarea",placeholder:"运维可见的提示文本(可选)"},{key:"level",label:"级别",type:"select",defaultValue:"info",options:[{label:"信息",value:"info"},{label:"警告",value:"warn"},{label:"错误",value:"error"}]}]}function Sh(){return[{key:"eventName",label:"事件名",type:"string",required:!0,placeholder:"如 site.arrived"},{key:"timeoutSec",label:"超时(秒)",type:"number",defaultValue:60,placeholder:"超时后走「超时」连线;0 表示不超时"}]}const st={triggered:"triggered",timeout:"timeout"},An={triggered:"正常执行",timeout:"超时执行"},Nh=[{label:"Modbus TCP",value:"modbus-tcp"},{label:"Modbus RTU",value:"modbus-rtu"}],kh=[{label:"读信号(接收)",value:"read"},{label:"写信号(输出)",value:"write"}],Ch=[{label:"布尔",value:"bool"},{label:"Int16",value:"int16"},{label:"UInt16",value:"uint16"},{label:"Int32",value:"int32"},{label:"Float32",value:"float32"}],$h=[{label:"等于",value:"eq"},{label:"不等于",value:"ne"},{label:"大于",value:"gt"},{label:"大于等于",value:"gte"},{label:"小于",value:"lt"},{label:"小于等于",value:"lte"},{label:"值发生变化",value:"changed"}],Ih=[{label:"持续写入",value:"hold"},{label:"脉冲 (写入后复位)",value:"pulse"}],$i={key:"ioMode",equals:"read"},mn={key:"ioMode",equals:"write"};function Mh(){return[{key:"ioMode",label:"读写模式",type:"select",required:!0,defaultValue:"read",options:kh},{key:"protocol",label:"协议类型",type:"select",required:!0,defaultValue:"modbus-tcp",options:Nh},{key:"host",label:"连接地址",type:"string",required:!0,placeholder:"modbus-tcp: 10.0.2.30:502;modbus-rtu: COM3,9600,8,N,1"},{key:"address",label:"寄存器地址",type:"number",required:!0,defaultValue:0,placeholder:"如 40001 或 0(视驱动约定)"},{key:"dataType",label:"数据类型",type:"select",required:!0,defaultValue:"bool",options:Ch},{key:"compareOp",label:"触发条件",type:"select",required:!0,defaultValue:"eq",options:$h,when:$i},{key:"pollIntervalMs",label:"轮询间隔 (ms)",type:"number",defaultValue:500,when:$i},{key:"writeValue",label:"写入值",type:"string",required:!0,placeholder:"如 1 / true / 100",when:mn},{key:"writeMode",label:"写入模式",type:"select",defaultValue:"hold",options:Ih,when:mn},{key:"pulseMs",label:"脉冲宽度 (ms)",type:"number",defaultValue:500,placeholder:"writeMode=pulse 时有效",when:mn},{key:"verifyRead",label:"写入后回读校验",type:"boolean",defaultValue:!0,when:mn}]}const Th=[{label:"取货",value:"pick"},{label:"放货",value:"drop"},{label:"充电",value:"startCharging"}];function Dh(){return[{key:"actionType",label:"动作类型",type:"select",required:!0,defaultValue:"pick",options:[...Th]},{key:"actionParameters",label:"动作参数 (actionParameters)",type:"textarea",placeholder:'JSON 数组:[{"key":"height","value":"100"}]'}]}const Ph=["流程入口","调度动作","流程逻辑","事件与信号","协议控制"],Xr=[{type:"start",label:"开始",category:"流程入口",color:"#67c23a",description:"流程起点",singleton:!0,params:[]},{type:"end",label:"结束",category:"流程入口",color:"#909399",description:"流程终点",params:[]},{type:"gotoSite",label:"前往站点",category:"调度动作",color:"#e6a23c",description:"AGV 移动到目标站点",params:[{key:"siteId",label:"目标站点",type:"string",required:!0,placeholder:"如 S001"}]},{type:"executeAction",label:"执行动作",category:"调度动作",color:"#e6a23c",description:"下发 VDA5050 单条动作指令",params:Dh()},{type:"assignCar",label:"分配车辆",category:"调度动作",color:"#e6a23c",description:"为任务指定车辆或车型",params:xh()},{type:"branch",label:"条件分支",category:"流程逻辑",color:"#9b59b6",description:"条件成立与否走不同分支",params:[{key:"expression",label:"条件表达式",type:"textarea",required:!0,placeholder:"如 batterySoc > 0.2"}]},{type:"delay",label:"延时事件",category:"流程逻辑",color:"#9b59b6",description:"等待指定秒数后继续",params:[{key:"seconds",label:"延时(秒)",type:"number",required:!0,defaultValue:5}]},{type:"waitEvent",label:"等待事件",category:"事件与信号",color:"#409eff",description:"等待事件触发,超时走另一路",params:Sh()},{type:"notify",label:"通知事件",category:"事件与信号",color:"#409eff",description:"调用接口推送 JSON 通知",params:Eh()},{type:"deviceControl",label:"设备控制",category:"协议控制",color:"#13c2c2",description:"Modbus 读等待或写输出",params:Mh()}],yt=new Map(Xr.map(e=>[e.type,e]));function Zr(e){const t=yt.get(e);if(!t)return{};const n={};for(const o of t.params)o.defaultValue!==void 0?n[o.key]=o.defaultValue:o.type==="boolean"?n[o.key]=!1:o.type==="number"?n[o.key]=0:n[o.key]="";return n}const qr={id:"wf-demo-001",name:"A区送料示例",version:1,viewport:{x:0,y:0,zoom:1},nodes:[{id:"n1",type:"start",label:"开始",position:{x:60,y:200},params:{}},{id:"n2",type:"assignCar",label:"分配车辆",position:{x:240,y:180},params:{strategy:"fixed",carId:"C01"}},{id:"n3",type:"gotoSite",label:"前往入库点",position:{x:460,y:180},params:{siteId:"S001"}},{id:"n4",type:"executeAction",label:"取货",position:{x:680,y:180},params:{actionType:"pick",actionParameters:'[{"key":"loadType","value":"pallet"}]'}},{id:"n5",type:"waitEvent",label:"等待到达",position:{x:900,y:180},params:{eventName:"site.arrived",timeoutSec:120}},{id:"n6",type:"notify",label:"送料完成通知",position:{x:1120,y:180},params:{apiUrl:"http://127.0.0.1:8080/api/hook/notify",dataConfig:'{"event":"delivery.complete","message":"送料完成"}',message:"送料完成",level:"info"}},{id:"n7",type:"end",label:"结束",position:{x:1340,y:200},params:{}},{id:"n8",type:"notify",label:"等待超时告警",position:{x:1120,y:320},params:{apiUrl:"http://127.0.0.1:8080/api/hook/notify",dataConfig:'{"event":"wait.timeout","message":"等待到达超时"}',message:"等待到达超时",level:"warn"}}],edges:[{id:"e1",source:"n1",target:"n2"},{id:"e2",source:"n2",target:"n3"},{id:"e3",source:"n3",target:"n4"},{id:"e4",source:"n4",target:"n5"},{id:"e5",source:"n5",target:"n6",sourceHandle:"triggered",label:"正常执行"},{id:"e5t",source:"n5",target:"n8",sourceHandle:"timeout",label:"超时执行"},{id:"e6",source:"n6",target:"n7"},{id:"e8",source:"n8",target:"n7"}]},Ah={class:"node-palette"},Oh={class:"palette-group-title"},zh=["onDragstart"],Bh={class:"palette-item-text"},Vh={class:"palette-item-label"},Rh={key:0,class:"palette-item-desc"},Hh=me({__name:"NodePalette",setup(e){const t=Ee(""),n={流程入口:"#67c23a",调度动作:"#e6a23c",流程逻辑:"#9b59b6",事件与信号:"#409eff",协议控制:"#13c2c2"},o=ie(()=>{const r=t.value.trim().toLowerCase(),l=Xr.filter(s=>r?s.label.toLowerCase().includes(r)||s.type.toLowerCase().includes(r)||s.category.toLowerCase().includes(r):!0),a=new Map;for(const s of l){const u=a.get(s.category)??[];u.push(s),a.set(s.category,u)}return Ph.filter(s=>a.has(s)).map(s=>({category:s,color:n[s]??"#909399",items:a.get(s)??[]}))});function i(r,l){r.dataTransfer&&(r.dataTransfer.setData("application/workflow-node",l),r.dataTransfer.effectAllowed="move")}return(r,l)=>{const a=dl,s=No;return O(),ne("div",Ah,[ue(s,{modelValue:t.value,"onUpdate:modelValue":l[0]||(l[0]=u=>t.value=u),size:"small",clearable:"",placeholder:"搜索控件",class:"palette-search"},{prefix:ge(()=>[ue(a,null,{default:ge(()=>[ue(V(fl))]),_:1})]),_:1},8,["modelValue"]),(O(!0),ne(Te,null,je(o.value,u=>(O(),ne("div",{key:u.category,class:"palette-group"},[X("div",Oh,[X("span",{class:"palette-group-dot",style:Oe({background:u.color})},null,4),Pe(" "+Ce(u.category),1)]),(O(!0),ne(Te,null,je(u.items,c=>(O(),ne("div",{key:c.type,class:"palette-item",draggable:"true",onDragstart:h=>i(h,c.type)},[X("span",{class:"palette-dot",style:Oe({background:c.color})},null,4),X("div",Bh,[X("div",Vh,Ce(c.label),1),c.description?(O(),ne("div",Rh,Ce(c.description),1)):Se("",!0)])],40,zh))),128))]))),128))])}}}),Lh=wt(Hh,[["__scopeId","data-v-ab330bfe"]]),Fh={class:"node-inspector"},Yh={class:"inspector-head"},Gh={class:"inspector-title"},Wh={class:"inspector-id"},Uh={class:"inspector-actions"},Xh=me({__name:"NodeInspector",props:{node:{}},emits:["update","delete"],setup(e,{emit:t}){const n=e,o=t,i=Ee(yt.get(n.node?.type??"")),r=Ee(""),l=Ee({}),a=ie(()=>(i.value?.params??[]).filter(x=>x.when?l.value[x.when.key]===x.when.equals:!0)),s={modifiers:[{name:"flip",options:{fallbackPlacements:["bottom-start","top-start"]}},{name:"preventOverflow",options:{boundary:"viewport",padding:8}}]};ye(()=>n.node,w=>{i.value=w?yt.get(w.type):void 0,r.value=w?.label??"",l.value=w?Object.fromEntries(Object.entries(w.params).map(([x,$])=>[x,$])):{}},{immediate:!0});function u(w){return typeof w=="boolean"?w:w==="true"||w===1||w==="1"}function c(w){return w.when?l.value[w.when.key]===w.when.equals:!0}function h(){const w=i.value?.params??[];for(const x of w)c(x)||delete l.value[x.key]}function p(w,x){l.value[w]=x,h(),k()}function v(){n.node&&o("update",{label:r.value})}function k(){n.node&&o("update",{params:{...l.value}})}return(w,x)=>{const $=No,I=pl,m=gl,C=vl,z=yl,Y=ml,B=wl,R=hl,j=zn;return O(),ne("div",Fh,[e.node?(O(),ne(Te,{key:0},[X("div",Yh,[X("div",Gh,Ce(i.value?.label??e.node.type),1),X("div",Wh,"ID: "+Ce(e.node.id),1)]),ue(R,{"label-position":"top",size:"small",class:"inspector-form"},{default:ge(()=>[ue(I,{label:"显示名称"},{default:ge(()=>[ue($,{modelValue:r.value,"onUpdate:modelValue":x[0]||(x[0]=P=>r.value=P),onChange:v},null,8,["modelValue"])]),_:1}),(O(!0),ne(Te,null,je(a.value,P=>(O(),ve(I,{key:P.key,label:P.label,required:P.required},{default:ge(()=>[P.type==="string"?(O(),ve($,{key:0,"model-value":String(l.value[P.key]??""),placeholder:P.placeholder,"onUpdate:modelValue":D=>p(P.key,D)},null,8,["model-value","placeholder","onUpdate:modelValue"])):P.type==="number"?(O(),ve(m,{key:1,"model-value":Number(l.value[P.key]??0),"controls-position":"right",style:{width:"100%"},"onUpdate:modelValue":D=>p(P.key,D??0)},null,8,["model-value","onUpdate:modelValue"])):P.type==="boolean"?(O(),ve(C,{key:2,class:"inspector-switch","model-value":u(l.value[P.key]),"active-text":"是","inactive-text":"否","inline-prompt":"","onUpdate:modelValue":D=>p(P.key,D)},null,8,["model-value","onUpdate:modelValue"])):P.type==="select"?(O(),ve(Y,{key:3,"model-value":l.value[P.key],style:{width:"100%"},placement:"bottom-start",teleported:"","fit-input-width":"","popper-options":s,"onUpdate:modelValue":D=>p(P.key,D)},{default:ge(()=>[(O(!0),ne(Te,null,je(P.options??[],D=>(O(),ve(z,{key:String(D.value),label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):P.type==="textarea"?(O(),ve($,{key:4,"model-value":String(l.value[P.key]??""),type:"textarea",rows:3,placeholder:P.placeholder,"onUpdate:modelValue":D=>p(P.key,D)},null,8,["model-value","placeholder","onUpdate:modelValue"])):Se("",!0)]),_:2},1032,["label","required"]))),128)),a.value.length===0?(O(),ve(B,{key:0,description:"此节点无可配置参数","image-size":48})):Se("",!0)]),_:1}),X("div",Uh,[ue(j,{type:"danger",plain:"",size:"small",class:"inspector-delete-btn",onClick:x[1]||(x[1]=P=>o("delete"))},{default:ge(()=>[...x[2]||(x[2]=[Pe(" 删除节点 ",-1)])]),_:1})])],64)):(O(),ve(B,{key:1,description:"选中画布上的节点以编辑参数","image-size":64}))])}}}),Zh=wt(Xh,[["__scopeId","data-v-4198dd80"]]),qh={class:"edge-inspector"},Kh={class:"inspector-head"},Jh={class:"inspector-id"},jh={class:"edge-meta"},Qh={class:"edge-meta-row"},ep={class:"edge-meta-row"},tp={key:0,class:"edge-meta-row"},np=me({__name:"EdgeInspector",props:{edge:{}},emits:["delete"],setup(e,{emit:t}){const n=t;return(o,i)=>{const r=zn;return O(),ne("div",qh,[X("div",Kh,[i[1]||(i[1]=X("div",{class:"inspector-title"},"连线",-1)),X("div",Jh,"ID: "+Ce(e.edge.id),1)]),X("dl",jh,[X("div",Qh,[i[2]||(i[2]=X("dt",null,"起点",-1)),X("dd",null,Ce(e.edge.sourceLabel),1)]),X("div",ep,[i[3]||(i[3]=X("dt",null,"终点",-1)),X("dd",null,Ce(e.edge.targetLabel),1)]),e.edge.label?(O(),ne("div",tp,[i[4]||(i[4]=X("dt",null,"出口",-1)),X("dd",null,Ce(e.edge.label),1)])):Se("",!0)]),i[6]||(i[6]=X("p",{class:"edge-hint muted"},"按 Delete / Backspace 可快速删除;或点击下方按钮。",-1)),ue(r,{type:"danger",plain:"",size:"small",class:"edge-delete-btn",onClick:i[0]||(i[0]=l=>n("delete"))},{default:ge(()=>[...i[5]||(i[5]=[Pe(" 删除连线 ",-1)])]),_:1})])}}}),op=wt(np,[["__scopeId","data-v-fbb2914e"]]),ip={class:"wf-node-body"},rp={class:"wf-node-head"},lp={class:"wf-node-type"},ap={class:"wf-node-label"},sp={class:"wf-outlets"},up={class:"wf-outlet-row"},cp={class:"wf-port-label wf-port-top"},dp={class:"wf-outlet-row"},fp={class:"wf-port-label wf-port-bottom"},hp={class:"wf-node-body"},pp={class:"wf-node-head"},gp={class:"wf-node-type"},vp={class:"wf-node-label"},mp=me({__name:"WorkflowNode",props:{id:{},data:{},selected:{type:Boolean}},setup(e){const t=e,n=ie(()=>yt.get(t.data.type)?.label??t.data.type),o=ie(()=>yt.get(t.data.type)?.color??"#409eff"),i=ie(()=>t.data.type==="branch"||t.data.type==="waitEvent"),r=ie(()=>t.data.type==="waitEvent"?{top:An.triggered,bottom:An.timeout}:t.data.type==="branch"?{top:"成立",bottom:"不成立"}:{top:"",bottom:""});return(l,a)=>(O(),ne("div",{class:rt(["wf-node",{selected:e.selected,"wf-node-dual":i.value}]),style:Oe({"--node-color":o.value})},[ue(V(Ye),{type:"target",position:V(K).Left,class:"wf-handle wf-handle-target"},null,8,["position"]),i.value?(O(),ne(Te,{key:0},[X("div",ip,[X("div",rp,[a[0]||(a[0]=X("span",{class:"wf-node-dot"},null,-1)),X("span",lp,Ce(n.value),1)]),X("div",ap,Ce(e.data.label),1)]),X("div",sp,[X("div",up,[X("span",cp,Ce(r.value.top),1),e.data.type==="branch"?(O(),ve(V(Ye),{key:0,id:"success",type:"source",position:V(K).Right,class:"wf-handle wf-handle-success wf-outlet-handle"},null,8,["position"])):e.data.type==="waitEvent"?(O(),ve(V(Ye),{key:1,id:"triggered",type:"source",position:V(K).Right,class:"wf-handle wf-handle-success wf-outlet-handle"},null,8,["position"])):Se("",!0)]),X("div",dp,[X("span",fp,Ce(r.value.bottom),1),e.data.type==="branch"?(O(),ve(V(Ye),{key:0,id:"fail",type:"source",position:V(K).Right,class:"wf-handle wf-handle-fail wf-outlet-handle"},null,8,["position"])):e.data.type==="waitEvent"?(O(),ve(V(Ye),{key:1,id:"timeout",type:"source",position:V(K).Right,class:"wf-handle wf-handle-fail wf-outlet-handle"},null,8,["position"])):Se("",!0)])])],64)):(O(),ne(Te,{key:1},[X("div",hp,[X("div",pp,[a[1]||(a[1]=X("span",{class:"wf-node-dot"},null,-1)),X("span",gp,Ce(n.value),1)]),X("div",vp,Ce(e.data.label),1)]),e.data.type!=="end"?(O(),ve(V(Ye),{key:0,type:"source",position:V(K).Right,class:"wf-handle wf-handle-source"},null,8,["position"])):Se("",!0)],64))],6))}}),yp=wt(mp,[["__scopeId","data-v-bc154e2a"]]),wp={class:"wf-list-panel"},_p={class:"wf-list-head"},bp={class:"wf-list-actions"},xp={class:"wf-list"},Ep=["onClick"],Sp={class:"wf-list-item-main"},Np={class:"wf-list-item-name"},kp={class:"wf-list-item-meta"},Cp={class:"wf-list-hint"},$p=me({__name:"WorkflowListPanel",props:{workflows:{},activeId:{}},emits:["select","create","save","duplicate","delete"],setup(e,{emit:t}){const n=t;function o(i,r){i==="duplicate"&&n("duplicate",r),i==="delete"&&n("delete",r)}return(i,r)=>{const l=zn,a=xl,s=bl,u=_l;return O(),ne("div",wp,[X("div",_p,[r[6]||(r[6]=X("span",{class:"wf-list-title"},"流程库",-1)),X("div",bp,[ue(l,{size:"small",type:"primary",link:"",onClick:r[0]||(r[0]=c=>n("create"))},{default:ge(()=>[...r[4]||(r[4]=[Pe("+ 新建",-1)])]),_:1}),ue(l,{size:"small",type:"success",link:"",onClick:r[1]||(r[1]=c=>n("save"))},{default:ge(()=>[...r[5]||(r[5]=[Pe("保存",-1)])]),_:1})])]),X("ul",xp,[(O(!0),ne(Te,null,je(e.workflows,c=>(O(),ne("li",{key:c.id,class:rt(["wf-list-item",{active:c.id===e.activeId}]),onClick:h=>n("select",c.id)},[X("div",Sp,[X("span",Np,Ce(c.name||"未命名流程"),1),X("span",kp,Ce(c.nodes.length)+" 节点",1)]),ue(u,{trigger:"click",onClick:r[3]||(r[3]=Vo(()=>{},["stop"])),onCommand:h=>o(h,c.id)},{dropdown:ge(()=>[ue(s,null,{default:ge(()=>[ue(a,{command:"duplicate"},{default:ge(()=>[...r[8]||(r[8]=[Pe("复制",-1)])]),_:1}),ue(a,{command:"delete",disabled:e.workflows.length<=1},{default:ge(()=>[...r[9]||(r[9]=[Pe("删除",-1)])]),_:1},8,["disabled"])]),_:1})]),default:ge(()=>[ue(l,{size:"small",text:"",class:"wf-list-more",onClick:r[2]||(r[2]=Vo(()=>{},["stop"]))},{default:ge(()=>[...r[7]||(r[7]=[Pe("⋯",-1)])]),_:1})]),_:1},8,["onCommand"])],10,Ep))),128))]),X("p",Cp,"共 "+Ce(e.workflows.length)+" 个流程(仅当前会话内存);持久化请点顶栏「导出」下载 JSON。",1)])}}}),Ip=wt($p,[["__scopeId","data-v-cea4ce7c"]]);function Ct(e){const t=El(e);return JSON.parse(JSON.stringify(t))}function Rt(e){const t=[],n=e.nodes,o=e.edges,i=n.filter(s=>s.type==="start"),r=n.filter(s=>s.type==="end");i.length===0&&t.push({level:"error",message:"流程缺少「开始」节点"}),i.length>1&&t.push({level:"error",message:"流程只能有一个「开始」节点"}),r.length===0&&t.push({level:"warning",message:"建议添加「结束」节点"});const l=new Map,a=new Map;for(const s of o)l.set(s.source,(l.get(s.source)??0)+1),a.set(s.target,(a.get(s.target)??0)+1);for(const s of n)if(s.type==="start"&&(l.get(s.id)??0)===0&&t.push({level:"error",message:`「${s.label}」未连接下游节点`}),s.type==="end"&&(a.get(s.id)??0)===0&&t.push({level:"warning",message:`「${s.label}」没有上游连线`}),s.type!=="start"&&s.type!=="end"&&(a.get(s.id)??0)===0&&t.push({level:"warning",message:`节点「${s.label}」处于孤立状态`}),s.type==="waitEvent"){const u=o.filter(v=>v.source===s.id),c=u.some(v=>v.sourceHandle===st.triggered||!v.sourceHandle),h=u.some(v=>v.sourceHandle===st.timeout),p=Number(s.params.timeoutSec??0);c||t.push({level:"warning",message:`「${s.label}」未连接「正常执行」出口`}),p>0&&!h&&t.push({level:"warning",message:`「${s.label}」未连接「超时执行」出口,超时后将无法继续执行`})}return t}const ln=3,Mp={nearest:"fixed",idle:"byType"};function Tp(e,t){return e.when?t[e.when.key]===e.when.equals:!0}function Kr(e,t){const n=yt.get(e);if(!n)return{...t};const o={...Zr(e),...t};if(e==="assignCar"&&typeof o.strategy=="string"){const r=Mp[o.strategy];r&&(o.strategy=r)}const i={};for(const r of n.params){if(!Tp(r,o))continue;let l=o[r.key];r.type==="select"&&r.options?.length&&(r.options.some(s=>s.value===l)||(l=r.defaultValue??r.options[0].value)),l!==void 0&&(i[r.key]=l)}return i}function Ot(e){return{...e,nodes:e.nodes.map(t=>({...t,params:Kr(t.type,t.params)}))}}function Ii(e){return e.map(t=>({id:t.id,type:"workflow",position:{...t.position},data:{type:t.type,label:t.label,params:{...t.params}}}))}function Mi(e){return e.map(t=>({id:t.id,source:t.source,target:t.target,sourceHandle:t.sourceHandle,label:t.label??Dp(t.sourceHandle),selectable:!0,interactionWidth:20,animated:!0,style:{stroke:Pp(t.sourceHandle),strokeWidth:2},labelStyle:{fill:"#606266",fontSize:11},labelBgStyle:{fill:"#fff",fillOpacity:.85}}))}function Dp(e){if(e===st.triggered)return An.triggered;if(e===st.timeout)return An.timeout;if(e==="success")return"成立";if(e==="fail")return"不成立"}function Pp(e){return e===st.timeout||e==="fail"?"#f56c6c":e===st.triggered||e==="success"?"#67c23a":"#409eff"}function Ap(e,t){return{nodes:e.map(n=>({id:n.id,type:n.data.type,label:n.data.label,position:{...n.position},params:{...n.data.params}})),edges:t.map(n=>({id:n.id,source:n.source,target:n.target,sourceHandle:n.sourceHandle??void 0,label:n.label??void 0}))}}let On=100;function Op(){return On+=1,`n${On}`}function zp(){return On+=1,`e${On}`}function Bp(e,t){function n(o,i){const r=t.filter(a=>a.source===o);if(i){const a=r.find(s=>s.sourceHandle===i);if(a)return a.target}return r.find(a=>!a.sourceHandle)?.target??null}return e.map(o=>{const i={...o};return delete i.nextId,delete i.failNextId,delete i.timeoutNextId,o.type==="end"?{...i,nextId:null}:o.type==="branch"?{...i,nextId:n(o.id,"success"),failNextId:n(o.id,"fail")}:o.type==="waitEvent"?{...i,nextId:n(o.id,st.triggered),timeoutNextId:n(o.id,st.timeout)}:{...i,nextId:n(o.id)}})}function Vp(e){return{...e,nodes:Bp(e.nodes,e.edges)}}function Rp(e,t){const n=new Blob([e],{type:"application/json;charset=utf-8"}),o=URL.createObjectURL(n),i=document.createElement("a");i.href=o,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o)}function Hp(e,t="workflow-catalog"){const n={catalogVersion:ln,exportedAt:new Date().toISOString(),workflows:e.map(i=>Vp(i))},o=t.replace(/[\\/:*?"<>|]/g,"_");Rp(JSON.stringify(n,null,2),`${o}.json`)}let Ti=0;function Zn(){return Ti+=1,`wf-${Date.now()}-${Ti}`}function Lp(e="未命名流程"){return{id:Zn(),name:e,version:1,nodes:[],edges:[],viewport:{x:0,y:0,zoom:.85}}}function Fp(){const e=Ot(Ct(qr));return{catalogVersion:ln,workflows:[e],activeWorkflowId:e.id}}function Yp(){return Fp()}function Bo(e,t){return e.workflows.find(n=>n.id===t)}function Ht(e){return Bo(e,e.activeWorkflowId)??e.workflows[0]}function Jr(e,t){const n=Ot(t),o=e.workflows.findIndex(r=>r.id===n.id),i=o>=0?e.workflows.map((r,l)=>l===o?n:r):[...e.workflows,n];return{catalogVersion:ln,workflows:i,activeWorkflowId:n.id}}function Di(e,t){return e.workflows.some(n=>n.id===t)?{...e,activeWorkflowId:t}:null}function qn(e,t){const n=Ot(t);return e.workflows.some(o=>o.id===n.id)?Jr(e,n):{catalogVersion:ln,workflows:[...e.workflows,n],activeWorkflowId:n.id}}function Gp(e,t){if(e.workflows.length<=1)return null;const n=e.workflows.filter(i=>i.id!==t);let o=e.activeWorkflowId;return o===t&&(o=n[0].id),{catalogVersion:ln,workflows:n,activeWorkflowId:o}}function Wp(e,t){const n=Bo(e,t);if(!n)return null;const o=Ot({...Ct(n),id:Zn(),name:`${n.name}(副本)`});return qn(e,o)}function Up(e){const t=Ot(Ct(qr));return{library:e.workflows.some(i=>i.id===t.id)?e:qn(e,t),demoId:t.id}}function Xp(e,t){if(t.length===0)return null;let n=e;for(const o of t)n=qn(n,o);return{library:n,lastImportedId:t[t.length-1].id}}class Et extends Error{constructor(t){super(t),this.name="WorkflowImportError"}}function Zp(e){let t;try{t=JSON.parse(e)}catch{throw new Et("JSON 格式无效,请检查文件内容")}if(!t||typeof t!="object")throw new Et("文件内容不是有效的流程 JSON 对象");const n=t;if(Array.isArray(n.workflows)){const i=n.workflows.map((r,l)=>ao(r,l)).filter(r=>r!==null);if(i.length===0)throw new Et("流程库文件中没有可导入的流程");return{mode:"catalog",workflows:i}}if(n.workflow&&typeof n.workflow=="object"){const i=ao(n.workflow,0);if(!i)throw new Et("draft 格式中的 workflow 字段无效");return{mode:"single",workflows:[i]}}const o=ao(t,0);if(!o)throw new Et("无法识别文件结构:需包含 nodes、edges 字段,或 workflows 数组");return{mode:"single",workflows:[o]}}function ao(e,t){if(!e||typeof e!="object")return null;const n=e;if(!Array.isArray(n.nodes))return null;const o=typeof n.id=="string"&&n.id.trim()?n.id.trim():Zn(),i=typeof n.name=="string"&&n.name.trim()?n.name.trim():`导入流程 ${t+1}`,r=typeof n.version=="number"?n.version:1,l=Array.isArray(n.edges)?Jp(n.edges):[],a=qp(n.viewport),s=n.nodes.map((u,c)=>Kp(u,c));return jr({id:o,name:i,version:r,nodes:s,edges:l,...a?{viewport:a}:{}})}function qp(e){if(!e||typeof e!="object")return;const t=e,n=Number(t.x),o=Number(t.y),i=Number(t.zoom);if(!(!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(i)))return{x:n,y:o,zoom:i}}function Kp(e,t){const n=e&&typeof e=="object"?e:{},o=typeof n.id=="string"&&n.id.trim()?n.id.trim():`n-import-${t+1}`,i=typeof n.type=="string"&&n.type.trim()?n.type.trim():"start",r=typeof n.label=="string"&&n.label.trim()?n.label.trim():i,l=n.position&&typeof n.position=="object"?{x:Number(n.position.x)||0,y:Number(n.position.y)||0}:{x:80+t*40,y:120},a=n.params&&typeof n.params=="object"&&!Array.isArray(n.params)?{...n.params}:{};return{id:o,type:i,label:r,position:l,params:a}}function Jp(e){return e.map((t,n)=>{if(!t||typeof t!="object")return null;const o=t,i=typeof o.source=="string"?o.source:"",r=typeof o.target=="string"?o.target:"";return!i||!r?null:{id:typeof o.id=="string"&&o.id.trim()?o.id.trim():`e-import-${n+1}`,source:i,target:r,...typeof o.sourceHandle=="string"?{sourceHandle:o.sourceHandle}:{},...typeof o.label=="string"?{label:o.label}:{}}}).filter(t=>t!==null)}function jr(e){const t={...e,nodes:e.nodes.map(n=>{const{nextId:o,failNextId:i,timeoutNextId:r,...l}=n;return l})};return Ot(t)}function jp(e,t){const n=new Set(t);return e.map(o=>{let i=o.id;return n.has(i)&&(i=Zn()),n.add(i),i===o.id?o:{...o,id:i}})}function Qp(){return new Promise(e=>{const t=document.createElement("input");t.type="file",t.accept=".json,application/json",t.style.display="none",t.onchange=()=>{const n=t.files?.[0]??null;t.remove(),e(n)},t.oncancel=()=>{t.remove(),e(null)},document.body.appendChild(t),t.click()})}async function eg(e){return e.text()}function tg(e){return e.mode==="catalog"?`流程库文件,共 ${e.workflows.length} 个流程`:`单个流程「${e.workflows[0]?.name??"未命名"}」`}const ng={class:"workflow-editor"},og={class:"wf-toolbar"},ig={class:"wf-toolbar-left"},rg={class:"wf-toolbar-center"},lg={class:"wf-toolbar-right"},ag={class:"wf-body"},sg={class:"wf-panel wf-panel-left"},ug={class:"wf-panel wf-panel-center"},cg={class:"wf-panel wf-panel-right"},dg=me({__name:"WorkflowEditor",setup(e){const t={workflow:Gt(yp)},n=Ee(Yp()),o=zi(Ct(Ht(n.value))),i=Ee(Ii(o.nodes)),r=Ee(Mi(o.edges)),l=Ee(null),a=Ee(null);let s=null;const{screenToFlowCoordinate:u,addEdges:c,getViewport:h,setViewport:p,removeNodes:v,removeEdges:k,getSelectedNodes:w,getSelectedEdges:x}=Ne(),$=ie(()=>l.value?o.nodes.find(N=>N.id===l.value)??null:null),I=ie(()=>{if(!a.value)return null;const N=r.value.find(g=>g.id===a.value);if(!N)return null;const d=o.nodes.find(g=>g.id===N.source),f=o.nodes.find(g=>g.id===N.target);return{id:N.id,sourceLabel:d?.label??N.source,targetLabel:f?.label??N.target,label:N.label}}),m=ie(()=>w.value.length>0||x.value.length>0||l.value!==null||a.value!==null),C=ie(()=>Rt(o));ye([i,r],()=>{z(),R()},{deep:!0}),ye(()=>o.name,R);function z(){const{nodes:N,edges:d}=Ap(i.value,r.value);o.nodes=N,o.edges=d}function Y(){z();const N=h();return{...Ct(o),version:o.version,viewport:{x:N.x,y:N.y,zoom:N.zoom}}}function B(){const N=Y();return n.value=Jr(n.value,N),N}function R(){s&&clearTimeout(s),s=setTimeout(()=>{B()},400)}function j(N){const d=Ct(N);Object.assign(o,d),i.value=Ii(o.nodes),r.value=Mi(o.edges),l.value=null,a.value=null,We(()=>{const f=d.viewport??{x:0,y:0,zoom:.85};p(f)})}function P(N){if(N===n.value.activeWorkflowId)return;B();const d=Di(n.value,N);d&&(n.value=d,j(Ht(n.value)))}function D(){B();const N=Lp();n.value=qn(n.value,N),j(N),$e.success("已创建新流程")}async function E(N){const d=n.value.workflows.find(b=>b.id===N);if(!d)return;try{await zt.confirm(`确定从流程库删除「${d.name}」?`,"删除流程",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"})}catch{return}N===n.value.activeWorkflowId&&B();const f=N===n.value.activeWorkflowId,g=Gp(n.value,N);if(!g){$e.warning("至少保留一个流程");return}n.value=g,f&&j(Ht(n.value)),$e.success("流程已删除")}function Q(N){B();const d=Wp(n.value,N);d&&(n.value=d,j(Ht(n.value)),$e.success("已复制流程"))}function y(){const N=B(),d=Rt(N).filter(g=>g.level==="error");if(d.length>0){$e.error(d[0].message);return}const f=Rt(N).filter(g=>g.level==="warning");f.length>0?$e.warning(`已保存「${N.name||"未命名流程"}」,但有 ${f.length} 条校验警告`):$e.success(`已保存「${N.name||"未命名流程"}」`)}function M(){B();const N=n.value.workflows,d=N.filter(f=>Rt(f).some(g=>g.level==="error"));if(d.length>0){$e.error(`「${d[0].name}」存在校验错误,请先修复后再导出`);return}Hp(N,"workflow-catalog"),$e.success(`已导出 ${N.length} 个流程到 workflow-catalog.json`)}async function S(){const N=await Qp();if(!N)return;let d;try{d=await eg(N)}catch{$e.error("读取文件失败");return}let f;try{f=Zp(d)}catch(U){$e.error(U instanceof Et?U.message:"导入失败");return}const g=tg(f);try{await zt.confirm(`${g}。将追加到流程库(流程 ID 与已有重复时自动分配新 ID),是否继续?`,"导入 JSON",{type:"info",confirmButtonText:"导入",cancelButtonText:"取消"})}catch{return}B();const b=new Set(n.value.workflows.map(U=>U.id)),_=jp(f.workflows.map(U=>jr(U)),b),H=Xp(n.value,_);if(!H){$e.error("没有可导入的流程");return}n.value=H.library;const G=Bo(n.value,H.lastImportedId);G&&j(G);const ee=_.reduce((U,le)=>U+Rt(le).filter(de=>de.level==="warning").length,0);ee>0?$e.warning(`已导入 ${_.length} 个流程,共 ${ee} 条校验警告,请在顶栏查看`):$e.success(_.length===1?`已导入流程「${_[0].name}」`:`已导入 ${_.length} 个流程`)}function T(N){N.preventDefault(),N.dataTransfer&&(N.dataTransfer.dropEffect="move")}function A(N){const d=N.dataTransfer?.getData("application/workflow-node");if(!d)return;const f=yt.get(d);if(!f)return;if(f.singleton&&o.nodes.some(_=>_.type===d)){$e.warning(`「${f.label}」节点在流程中只能有一个`);return}const g=u({x:N.clientX,y:N.clientY}),b=Op();i.value=[...i.value,{id:b,type:"workflow",position:g,data:{type:d,label:f.label,params:Kr(d,Zr(d))}}]}function L({node:N}){l.value=N.id,a.value=null}function F({edge:N}){a.value=N.id,l.value=null}function J(){l.value=null,a.value=null}function oe(N){!N.source||!N.target||c([{id:zp(),source:N.source,target:N.target,sourceHandle:N.sourceHandle??void 0,animated:!0,style:{stroke:"#409eff",strokeWidth:2}}])}function ae(N){for(const d of N)d.type==="remove"&&d.id===l.value&&(l.value=null);z()}function ce(N){for(const d of N)d.type==="remove"&&d.id===a.value&&(a.value=null);z()}function Z(){const N=w.value;if(N.length>0)return N;if(!l.value)return[];const d=i.value.find(f=>f.id===l.value);return d?[d]:[]}function q(){const N=x.value;if(N.length>0)return N;if(!a.value)return[];const d=r.value.find(f=>f.id===a.value);return d?[d]:[]}async function te(){const N=Z();if(N.length!==0){try{await zt.confirm(N.length===1?`确定删除节点「${N[0].data.label}」?关联连线将一并移除。`:`确定删除选中的 ${N.length} 个节点?关联连线将一并移除。`,"删除节点",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"})}catch{return}v(N),l.value=null,$e.success(N.length===1?"节点已删除":`已删除 ${N.length} 个节点`)}}function he(){const N=q();N.length!==0&&(k(N),a.value=null,$e.success(N.length===1?"连线已删除":`已删除 ${N.length} 条连线`))}async function we(){const N=Z();let d=q();if(N.length===0&&d.length===0){$e.info("请先选中要删除的节点或连线");return}if(N.length>0){try{await zt.confirm(N.length===1?`确定删除节点「${N[0].data.label}」?关联连线将一并移除。`:`确定删除选中的 ${N.length} 个节点?关联连线将一并移除。`,"删除节点",{type:"warning",confirmButtonText:"删除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"})}catch{return}v(N),l.value=null;const g=new Set(N.map(b=>b.id));d=d.filter(b=>!g.has(b.source)&&!g.has(b.target))}d=d.filter(g=>r.value.some(b=>b.id===g.id)),d.length>0&&(k(d),a.value=null);const f=[];N.length>0&&f.push(`${N.length} 个节点`),d.length>0&&f.push(`${d.length} 条连线`),$e.success(`已删除 ${f.join("、")}`)}function se(N){if(!l.value)return;const d=i.value.findIndex(g=>g.id===l.value);if(d<0)return;const f=i.value[d];N.label!==void 0&&(f.data.label=N.label),N.params!==void 0&&(f.data.params={...N.params}),i.value=[...i.value]}function pe(){B();const{library:N,demoId:d}=Up(n.value);n.value=Di(N,d)??N,j(Ht(n.value)),$e.success("已切换到示例流程")}async function re(){if(i.value.length===0&&r.value.length===0){$e.info("画布已是空的");return}try{await zt.confirm("确定清空当前流程画布上的所有节点和连线?","清除画布",{type:"warning",confirmButtonText:"清除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"})}catch{return}i.value=[],r.value=[],o.nodes=[],o.edges=[],l.value=null,a.value=null,B(),$e.success("画布已清空")}return(N,d)=>{const f=No,g=Sl,b=zn;return O(),ne("div",ng,[X("div",og,[X("div",ig,[ue(f,{modelValue:o.name,"onUpdate:modelValue":d[0]||(d[0]=_=>o.name=_),size:"small",class:"wf-name-input",placeholder:"流程名称"},null,8,["modelValue"]),ue(g,{size:"small",type:"info"},{default:ge(()=>[Pe("流程库 "+Ce(n.value.workflows.length)+" 个",1)]),_:1})]),X("div",rg,[(O(!0),ne(Te,null,je(C.value,(_,H)=>(O(),ve(g,{key:H,size:"small",type:_.level==="error"?"danger":"warning",class:"wf-issue-tag"},{default:ge(()=>[Pe(Ce(_.message),1)]),_:2},1032,["type"]))),128)),C.value.length===0?(O(),ve(g,{key:0,size:"small",type:"success"},{default:ge(()=>[...d[3]||(d[3]=[Pe("校验通过",-1)])]),_:1})):Se("",!0)]),X("div",lg,[ue(b,{size:"small",type:"danger",plain:"",disabled:!m.value,onClick:we},{default:ge(()=>[...d[4]||(d[4]=[Pe(" 删除选中 ",-1)])]),_:1},8,["disabled"]),ue(b,{size:"small",onClick:pe},{default:ge(()=>[...d[5]||(d[5]=[Pe("加载示例",-1)])]),_:1}),ue(b,{size:"small",onClick:S},{default:ge(()=>[...d[6]||(d[6]=[Pe("导入",-1)])]),_:1}),ue(b,{size:"small",type:"primary",plain:"",onClick:M},{default:ge(()=>[...d[7]||(d[7]=[Pe("导出",-1)])]),_:1}),ue(b,{size:"small",type:"danger",plain:"",onClick:re},{default:ge(()=>[...d[8]||(d[8]=[Pe("清除画布",-1)])]),_:1})])]),X("div",ag,[X("aside",sg,[ue(Ip,{workflows:n.value.workflows,"active-id":n.value.activeWorkflowId,onSelect:P,onCreate:D,onSave:y,onDuplicate:Q,onDelete:E},null,8,["workflows","active-id"]),d[9]||(d[9]=X("div",{class:"wf-panel-title"},"控件库",-1)),ue(Lh,{class:"wf-palette-body"})]),X("main",ug,[ue(V(Df),{nodes:i.value,"onUpdate:nodes":d[1]||(d[1]=_=>i.value=_),edges:r.value,"onUpdate:edges":d[2]||(d[2]=_=>r.value=_),"node-types":t,"default-viewport":o.viewport??{x:0,y:0,zoom:.85},"delete-key-code":["Delete","Backspace"],"fit-view-on-init":"",onDrop:A,onDragover:T,onNodeClick:L,onEdgeClick:F,onPaneClick:J,onConnect:oe,onNodesChange:ae,onEdgesChange:ce},{default:ge(()=>[ue(V(Lf),{"pattern-color":"#e8eaed",gap:16}),ue(V(yh),{position:"bottom-right"})]),_:1},8,["nodes","edges","default-viewport"])]),X("aside",cg,[d[10]||(d[10]=X("div",{class:"wf-panel-title"},"参数配置",-1)),I.value?(O(),ve(op,{key:0,edge:I.value,onDelete:he},null,8,["edge"])):(O(),ve(Zh,{key:1,node:$.value,onUpdate:se,onDelete:te},null,8,["node"]))])])])}}}),fg=wt(dg,[["__scopeId","data-v-2f835d2a"]]),hg={class:"task-template-page"},pg=me({__name:"TaskTemplateView",setup(e){return(t,n)=>(O(),ne("div",hg,[ue(fg)]))}}),Ig=wt(pg,[["__scopeId","data-v-4ab211b0"]]);export{Ig as default};
|