import{m as jt,b as Le,u as Ie,E as ae,f as Fe,c as me,_ as Re}from"./index.189c97df.js";import{M as Oe,j as ne,s as Ne,a3 as Ge,m as Ue,a2 as He,am as je,o as Zt,a as Jt,X as Be,b as Rt,_ as zt,u as le,U as Ye,F as _e,ad as Pe,n as be,Q as ke,Z as Ce,P as Te,a8 as Xe,f as ye}from"./vue.aade88c7.js";import{S as Ve}from"./sortable.esm.9c3c89c5.js";import{c as We}from"./commonFunction.54b6a000.js";import"./formatTime.29ac8c52.js";var De={};(function(Qt){(function(){typeof Math.sgn>"u"&&(Math.sgn=function(g){return g==0?0:g>0?1:-1});var Z={subtract:function(g,E){return{x:g.x-E.x,y:g.y-E.y}},dotProduct:function(g,E){return g.x*E.x+g.y*E.y},square:function(g){return Math.sqrt(g.x*g.x+g.y*g.y)},scale:function(g,E){return{x:g.x*E,y:g.y*E}}},f=64,V=Math.pow(2,-f-1),it=function(g,E){for(var U=[],R=nt(g,E),B=E.length-1,n=2*B-1,o=c(R,n,U,0),t=Z.subtract(g,E[0]),d=Z.square(t),v=0,F=0;F=f)return U[0]=(g[0].x+g[E].x)/2,1;if(l(g,E))return U[0]=i(g,E),1;break}}b(g,E,.5,B,n),o=c(B,E,d,R+1),t=c(n,E,v,R+1);for(var F=0;Frt?rt=lt:lt0?1:-1,t=null;B1&&(R.location=1),R.location<0&&(R.location=0),P(g,R.location)},r=function(g,E,U,R){R=R??0;var B=T(g,E,R),n=P(g,B.location),o=Math.atan(-1/n),t=U/2*Math.sin(o),d=U/2*Math.cos(o);return[{x:B.point.x+d,y:B.point.y+t},{x:B.point.x-d,y:B.point.y-t}]},p=function(g,E,U,R,B){var n=R-E,o=g-U,t=g*(E-R)+E*(U-g),d=h(B),v=[n*d[0][0]+o*d[1][0],n*d[0][1]+o*d[1][1],n*d[0][2]+o*d[1][2],n*d[0][3]+o*d[1][3]+t],F=y.apply(null,v),I=[];if(F!=null)for(var X=0;X<3;X++){var N=F[X],W=Math.pow(N,2),ot=Math.pow(N,3),st=[d[0][0]*ot+d[0][1]*W+d[0][2]*N+d[0][3],d[1][0]*ot+d[1][1]*W+d[1][2]*N+d[1][3]],Q;U-g!==0?Q=(st[0]-g)/(U-g):Q=(st[1]-E)/(R-E),N>=0&&N<=1&&Q>=0&&Q<=1&&I.push(st)}return I},u=function(g,E,U,R,B){var n=[];return n.push.apply(n,p(g,E,g+U,E,B)),n.push.apply(n,p(g+U,E,g+U,E+R,B)),n.push.apply(n,p(g+U,E+R,g,E+R,B)),n.push.apply(n,p(g,E+R,g,E,B)),n},_=function(g,E){var U=[];return U.push.apply(U,p(g.x,g.y,g.x+g.w,g.y,E)),U.push.apply(U,p(g.x+g.w,g.y,g.x+g.w,g.y+g.h,E)),U.push.apply(U,p(g.x+g.w,g.y+g.h,g.x,g.y+g.h,E)),U.push.apply(U,p(g.x,g.y+g.h,g.x,g.y,E)),U};function x(g,E){return[-g[0][E]+3*g[1][E]+-3*g[2][E]+g[3][E],3*g[0][E]-6*g[1][E]+3*g[2][E],-3*g[0][E]+3*g[1][E],g[0][E]]}function h(g){return[x(g,"x"),x(g,"y")]}function j(g){return g<0?-1:g>0?1:0}function y(g,E,U,R){var B=E/g,n=U/g,o=R/g,t=(3*n-Math.pow(B,2))/9,d=(9*B*n-27*o-2*Math.pow(B,3))/54,v=Math.pow(t,3)+Math.pow(d,2),F,I,X=[];if(v>=0)F=j(d+Math.sqrt(v))*Math.pow(Math.abs(d+Math.sqrt(v)),1/3),I=j(d-Math.sqrt(v))*Math.pow(Math.abs(d-Math.sqrt(v)),1/3),X[0]=-B/3+(F+I),X[1]=-B/3-(F+I)/2,X[2]=-B/3-(F+I)/2,Math.abs(Math.sqrt(3)*(F-I)/2)!==0&&(X[1]=-1,X[2]=-1);else{var N=Math.acos(d/Math.sqrt(-Math.pow(t,3)));X[0]=2*Math.sqrt(-t)*Math.cos(N/3)-B/3,X[1]=2*Math.sqrt(-t)*Math.cos((N+2*Math.PI)/3)-B/3,X[2]=2*Math.sqrt(-t)*Math.cos((N+4*Math.PI)/3)-B/3}for(var W=0;W<3;W++)(X[W]<0||X[W]>1)&&(X[W]=-1);return X}var w=this.jsBezier={distanceFromCurve:it,gradientAtPoint:P,gradientAtPointAlongCurveFrom:A,nearestPointOnCurve:K,pointOnCurve:C,pointAlongCurveFrom:H,perpendicularToCurveAt:r,locationAlongCurveFrom:G,getLength:L,lineIntersection:p,boxIntersection:u,boundingBoxIntersection:_,version:"0.9.0"};Qt.jsBezier=w}).call(typeof window<"u"?window:jt),function(){var Z=this,f=Z.Biltong={version:"0.4.0"};Qt.Biltong=f;var V=function(l){return Object.prototype.toString.call(l)==="[object Array]"},it=function(l,i,b){return l=V(l)?l:[l.x,l.y],i=V(i)?i:[i.x,i.y],b(l,i)},K=f.gradient=function(l,i){return it(l,i,function(b,D){return D[0]==b[0]?D[1]>b[1]?1/0:-1/0:D[1]==b[1]?D[0]>b[0]?0:-0:(D[1]-b[1])/(D[0]-b[0])})};f.normal=function(l,i){return-1/K(l,i)},f.lineLength=function(l,i){return it(l,i,function(b,D){return Math.sqrt(Math.pow(D[1]-b[1],2)+Math.pow(D[0]-b[0],2))})};var nt=f.quadrant=function(l,i){return it(l,i,function(b,D){return D[0]>b[0]||D[0]==b[0]?D[1]>b[1]?2:1:D[1]>b[1]?3:4})};f.theta=function(l,i){return it(l,i,function(b,D){var M=K(b,D),C=Math.atan(M),a=nt(b,D);return(a==4||a==3)&&(C+=Math.PI),C<0&&(C+=2*Math.PI),C})},f.intersects=function(l,i){var b=l.x,D=l.x+l.w,M=l.y,C=l.y+l.h,a=i.x,e=i.x+i.w,T=i.y,L=i.y+i.h;return b<=a&&a<=D&&M<=T&&T<=C||b<=e&&e<=D&&M<=T&&T<=C||b<=a&&a<=D&&M<=L&&L<=C||b<=e&&a<=D&&M<=L&&L<=C||a<=b&&b<=e&&T<=M&&M<=L||a<=D&&D<=e&&T<=M&&M<=L||a<=b&&b<=e&&T<=C&&C<=L||a<=D&&b<=e&&T<=C&&C<=L},f.encloses=function(l,i,b){var D=l.x,M=l.x+l.w,C=l.y,a=l.y+l.h,e=i.x,T=i.x+i.w,L=i.y,H=i.y+i.h,G=function(P,A,r,p){return b?P<=A&&r>=p:Pp};return G(D,e,M,T)&&G(C,L,a,H)};var c=[null,[1,-1],[1,1],[-1,1],[-1,-1]],O=[null,[-1,-1],[-1,1],[1,1],[1,-1]];f.pointOnLine=function(l,i,b){var D=K(l,i),M=nt(l,i),C=b>0?c[M]:O[M],a=Math.atan(D),e=Math.abs(b*Math.sin(a))*C[1],T=Math.abs(b*Math.cos(a))*C[0];return{x:l.x+T,y:l.y+e}},f.perpendicularLineTo=function(l,i,b){var D=K(l,i),M=Math.atan(-1/D),C=b/2*Math.sin(M),a=b/2*Math.cos(M);return[{x:i.x+a,y:i.y+C},{x:i.x-a,y:i.y-C}]}}.call(typeof window<"u"?window:jt),function(){function Z(n,o,t,d,v,F,I,X){return new Touch({target:o,identifier:B(),pageX:t,pageY:d,screenX:v,screenY:F,clientX:I||v,clientY:X||F})}function f(){var n=[];return Array.prototype.push.apply(n,arguments),n.item=function(o){return this[o]},n}function V(n,o,t,d,v,F,I,X){return f(Z.apply(null,arguments))}var it=this,K=function(n,o,t){t=t||n.parentNode;for(var d=t.querySelectorAll(o),v=0;v-1&&p<9,_=function(n,o){if(n==null)return[0,0];var t=w(n),d=y(t,0);return[d[o+"X"],d[o+"Y"]]},x=function(n){return n==null?[0,0]:u?[n.clientX+document.documentElement.scrollLeft,n.clientY+document.documentElement.scrollTop]:_(n,"page")},h=function(n){return _(n,"screen")},j=function(n){return _(n,"client")},y=function(n,o){return n.item?n.item(o):n[o]},w=function(n){return n.touches&&n.touches.length>0?n.touches:n.changedTouches&&n.changedTouches.length>0?n.changedTouches:n.targetTouches&&n.targetTouches.length>0?n.targetTouches:[n]},g=function(n){return w(n).length},E=function(n,o,t,d){if(b(n,o,t),d.__tauid=t.__tauid,n.addEventListener)n.addEventListener(o,t,!1);else if(n.attachEvent){var v=o+t.__tauid;n["e"+v]=t,n[v]=function(){n["e"+v]&&n["e"+v](window.event)},n.attachEvent("on"+o,n[v])}},U=function(n,o,t){t!=null&&R(n,function(){var d=nt(this);if(D(d,o,t),t.__tauid!=null){if(d.removeEventListener)d.removeEventListener(o,t,!1),P&&r[o]&&d.removeEventListener(r[o],t,!1);else if(this.detachEvent){var v=o+t.__tauid;d[v]&&d.detachEvent("on"+o,d[v]),d[v]=null,d["e"+v]=null}}t.__taTouchProxy&&U(n,t.__taTouchProxy[1],t.__taTouchProxy[0])})},R=function(n,o){if(n!=null){n=typeof Window<"u"&&typeof n.top!="unknown"&&n==n.top?[n]:typeof n!="string"&&n.tagName==null&&n.length!=null?n:typeof n=="string"?document.querySelectorAll(n):[n];for(var t=0;t"u"||W==null||W.constructor===MouseEvent),Q=P&&!A&&r[N]?r[N]:N,rt=!(P&&!A&&r[N]),pt=x(W),ft=h(W),lt=j(W);return R(X,function(){var bt=nt(this),gt;W=W||{screenX:ft[0],screenY:ft[1],clientX:lt[0],clientY:lt[1]};var $=function(vt){ot&&(vt.payload=ot)},q={TouchEvent:function(vt){var St=V(window,bt,0,pt[0],pt[1],ft[0],ft[1],lt[0],lt[1]),kt=vt.initTouchEvent||vt.initEvent;kt(Q,!0,!0,window,null,ft[0],ft[1],lt[0],lt[1],!1,!1,!1,!1,St,St,St,1,0)},MouseEvents:function(vt){vt.initMouseEvent(Q,!0,!0,window,0,ft[0],ft[1],lt[0],lt[1],!1,!1,!1,!1,1,bt)}};if(document.createEvent){var J=!rt&&!st&&P&&r[N],ut=J?"TouchEvent":"MouseEvents";gt=document.createEvent(ut),q[ut](gt),$(gt),bt.dispatchEvent(gt)}else document.createEventObject&&(gt=document.createEventObject(),gt.eventType=gt.eventName=Q,gt.screenX=ft[0],gt.screenY=ft[1],gt.clientX=lt[0],gt.clientY=lt[1],$(gt),bt.fireEvent("on"+Q,gt))}),this}},it.Mottle.consume=function(n,o){n.stopPropagation?n.stopPropagation():n.returnValue=!1,!o&&n.preventDefault&&n.preventDefault()},it.Mottle.pageLocation=x,it.Mottle.setForceTouchEvents=function(n){P=n},it.Mottle.setForceMouseEvents=function(n){A=n},it.Mottle.version="0.8.0",Qt.Mottle=it.Mottle}.call(typeof window>"u"?jt:window),function(){var Z=this,f=function(n,o,t){return n.indexOf(o)===-1?(t?n.unshift(o):n.push(o),!0):!1},V=function(n,o){var t=n.indexOf(o);t!==-1&&n.splice(t,1)},it=function(n,o){for(var t=[],d=0;d-1&&i<9,C=i===9,a=function(n){if(M)return[n.clientX+document.documentElement.scrollLeft,n.clientY+document.documentElement.scrollTop];var o=T(n),t=e(o,0);return C?[t.pageX||t.clientX,t.pageY||t.clientY]:[t.pageX,t.pageY]},e=function(n,o){return n.item?n.item(o):n[o]},T=function(n){return n.touches&&n.touches.length>0?n.touches:n.changedTouches&&n.changedTouches.length>0?n.changedTouches:n.targetTouches&&n.targetTouches.length>0?n.targetTouches:[n]},L={delegatedDraggable:"katavorio-delegated-draggable",draggable:"katavorio-draggable",droppable:"katavorio-droppable",drag:"katavorio-drag",selected:"katavorio-drag-selected",active:"katavorio-drag-active",hover:"katavorio-drag-hover",noSelect:"katavorio-drag-no-select",ghostProxy:"katavorio-ghost-proxy",clonedDrag:"katavorio-clone-drag"},H="katavorio-drag-scope",G=["stop","start","drag","drop","over","out","beforeStart"],P=function(){},A=function(){return!0},r=function(n,o,t){for(var d=0;d0){var yt=l($,this.el,tt.target||tt.srcElement);if(yt!=null&&(q=yt[0],gt=yt[1]),gt==null)return}else gt=this.el;if(rt)if(Q=gt.cloneNode(!0),this.params.addClass(Q,L.clonedDrag),Q.setAttribute("id",null),Q.style.position="absolute",this.params.parent!=null){var Et=this.params.getPosition(this.el);Q.style.left=Et[0]+"px",Q.style.top=Et[1]+"px",this.params.parent.appendChild(Q)}else{var xt=nt(gt);Q.style.left=xt.left+"px",Q.style.top=xt.top+"px",document.body.appendChild(Q)}else Q=gt;st&&_(tt),F=a(tt),Q&&Q.parentNode&&(ot=[Q.parentNode.scrollLeft,Q.parentNode.scrollTop]),this.params.bind(document,"mousemove",this.moveListener),this.params.bind(document,"mouseup",this.upListener),v.markSelection(this),v.markPosses(this),this.params.addClass(document.body,t.noSelect),Xt("beforeStart",{el:this.el,pos:I,e:tt,drag:this})}else this.params.consumeFilteredEvents&&_(tt)}}}.bind(this),this.moveListener=function(tt){if(F){if(!W){var _t=Xt("start",{el:this.el,pos:I,e:tt,drag:this});if(_t!==!1){if(!F)return;this.mark(!0),W=!0}else this.abort()}if(F){Yt.length=0;var Pt=a(tt),yt=Pt[0]-F[0],Et=Pt[1]-F[1],xt=this.params.ignoreZoom?1:v.getZoom();Q&&Q.parentNode&&(yt+=Q.parentNode.scrollLeft-ot[0],Et+=Q.parentNode.scrollTop-ot[1]),yt/=xt,Et/=xt,this.moveBy(yt,Et,tt),v.updateSelection(yt,Et,this),v.updatePosses(yt,Et,this)}}}.bind(this),this.upListener=function(tt){F&&(F=null,this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.params.removeClass(document.body,t.noSelect),this.unmark(tt),v.unmarkSelection(this,tt),v.unmarkPosses(this,tt),this.stop(tt),v.notifyPosseDragStop(this,tt),W=!1,Yt.length=0,rt?(Q&&Q.parentNode&&Q.parentNode.removeChild(Q),Q=null):Ht&&Ht(Q,this.params.getPosition(Q))===!0&&(this.params.setPosition(Q,I),Xt("revert",Q)))}.bind(this),this.getFilters=function(){return Bt},this.abort=function(){F!=null&&this.upListener()},this.getDragElement=function(tt){return tt?gt||this.el:Q||this.el};var Ot={start:[],drag:[],stop:[],over:[],out:[],beforeStart:[],revert:[]};o.events.start&&Ot.start.push(o.events.start),o.events.beforeStart&&Ot.beforeStart.push(o.events.beforeStart),o.events.stop&&Ot.stop.push(o.events.stop),o.events.drag&&Ot.drag.push(o.events.drag),o.events.revert&&Ot.revert.push(o.events.revert),this.on=function(tt,_t){Ot[tt]&&Ot[tt].push(_t)},this.off=function(tt,_t){if(Ot[tt]){for(var Pt=[],yt=0;yt0)for(var xt=0;xt0&&qt&&o.setPosition(gt,qt),Yt.sort(R);for(var Pt=0;Pto.rank?-1:0},B=function(n){return n==null||(n=typeof n=="string"||n.constructor===String?document.getElementById(n):n,n==null)?null:(n._katavorio=n._katavorio||U(),n)};Z.Katavorio=function(n){var o=[],t={};this._dragsByScope={},this._dropsByScope={};var d=1,v=function($,q){u($,function(J){for(var ut=0;ut0};this.getMatchingDroppables=function($){for(var q=[],J={},ut=0;ut<$.scopes.length;ut++){var vt=this._dropsByScope[$.scopes[ut]];if(vt)for(var St=0;St=0&&o.splice(ut,1),F($[q],J)&&u($[q],function(vt){vt.destroy()}),delete $[q]}},lt=function($,q,J,ut){$=B($),$[q]&&$[q].off(J,ut)};this.elementRemoved=function($){$._katavorioDrag&&this.destroyDraggable($),$._katavorioDrop&&this.destroyDroppable($)},this.destroyDraggable=function($,q,J){arguments.length===1?ft($,"_katavorioDrag",this._dragsByScope):lt($,"_katavorioDrag",q,J)},this.destroyDroppable=function($,q,J){arguments.length===1?ft($,"_katavorioDrop",this._dropsByScope):lt($,"_katavorioDrop",q,J)},this.reset=function(){this._dragsByScope={},this._dropsByScope={},o=[],t={},bt={}};var bt={},gt=function($,q,J){var ut=K(q)?q:q.id,vt=K(q)?!0:q.active!==!1,St=bt[ut]||function(){var kt={name:ut,members:[]};return bt[ut]=kt,kt}();return u($,function(kt){if(kt._katavorioDrag){if(J&&kt._katavorioDrag.posseRoles[St.name]!=null)return;f(St.members,kt._katavorioDrag),f(kt._katavorioDrag.posses,St.name),kt._katavorioDrag.posseRoles[St.name]=vt}}),St};this.addToPosse=function($,q){for(var J=[],ut=1;ut0}f.isNamedFunction=b;function D(n){for(var o in n)if(n.hasOwnProperty(o))return!1;return!0}f.isEmpty=D;function M(n){if(K(n))return""+n;if(nt(n))return!!n;if(l(n))return new Date(n.getTime());if(i(n))return n;if(V(n)){for(var o=[],t=0;t=N.length,st=function(){return v[W[1]]||function(){return v[W[1]]=[],v[W[1]]}()};if(ot)W?st()[W[3]]=t:v[F]=t;else if(W){var Q=st();v=Q[W[3]]||function(){return Q[W[3]]={},Q[W[3]]}()}else v=v[F]||function(){return v[F]={},v[F]}();return""}),n}}f.replace=a;function e(n,o,t){for(var d=0;d-1&&n.splice(t,1),t!==-1}f.removeWithFunction=H;function G(n,o){var t=n.indexOf(o);return t>-1&&n.splice(t,1),t!==-1}f.remove=G;function P(n,o,t){L(n,t)===-1&&n.push(o)}f.addWithFunction=P;function A(n,o,t,d){var v=n[o];return v==null&&(v=[],n[o]=v),v[d?"unshift":"push"](t),v}f.addToList=A;function r(n,o,t){return n.indexOf(o)===-1?(t?n.unshift(o):n.push(o),!0):!1}f.suggest=r;function p(n,o,t){var d;o=V(o)?o:[o];var v=function(N){for(var W=N.__proto__;W!=null;)if(W.prototype!=null){for(var ot in W.prototype)W.prototype.hasOwnProperty(ot)&&!n.prototype.hasOwnProperty(ot)&&(n.prototype[ot]=W.prototype[ot]);W=W.prototype.__proto__}else W=null};for(d=0;d2)for(d=2;d>8&255]+u[n>>16&255]+u[n>>24&255]+"-"+u[o&255]+u[o>>8&255]+"-"+u[o>>16&15|64]+u[o>>24&255]+"-"+u[t&63|128]+u[t>>8&255]+"-"+u[t>>16&255]+u[t>>24&255]+u[d&255]+u[d>>8&255]+u[d>>16&255]+u[d>>24&255]}f.uuid=x;function h(n){if(n==null)return null;for(var o=n.replace(/^\s\s*/,""),t=/\s/,d=o.length;t.test(o.charAt(--d)););return o.slice(0,d+1)}f.fastTrim=h;function j(n,o){n=n.length==null||typeof n=="string"?[n]:n;for(var t=0;tnt.scrollTop+nt.offsetHeight)C[e]._jsPlumbProxies||(C[e]._jsPlumbProxies=C[e]._jsPlumbProxies||[],K.select({source:C[e]}).each(function(L){K.proxyConnection(L,0,nt,a,function(){return i("bottom",0,L.endpoints[0],L)},function(){return l("bottom",0,L.endpoints[0],L)}),C[e]._jsPlumbProxies.push([L,0])}),K.select({target:C[e]}).each(function(L){K.proxyConnection(L,1,nt,a,function(){return i("bottom",1,L.endpoints[1],L)},function(){return l("bottom",1,L.endpoints[1],L)}),C[e]._jsPlumbProxies.push([L,1])}));else if(C[e]._jsPlumbProxies){for(var T=0;T0)for(var s=0;s0){var Y=Array.prototype.slice.call(arguments,1);try{for(var z=0,et=m.length;z0?s.indexOf(S)!==-1:!m};this.getConnections=function(s,S){s?s.constructor===String&&(s={scope:s}):s={};for(var m=s.scope||e.getDefaultScope(),k=Gt(m,!0),Y=Gt(s.source),z=Gt(s.target),et=!S&&k.length>1?{}:[],dt=function(Dt,wt){if(!S&&k.length>1){var Tt=et[Dt];Tt==null&&(Tt=et[Dt]=[]),Tt.push(wt)}else et.push(wt)},at=0,ct=x.length;at0&&!Tt.isSource,de=mt&&Y.length>0&&!Tt.isTarget;if(fe||de)continue t;et.push(Tt)}}}return te(et)},this.getAllConnections=function(){return x},this.getDefaultScope=function(){return n},this.getEndpoint=F,this.getEndpoints=function(s){return h[P(s).id]||[]},this.getDefaultEndpointType=function(){return C.Endpoint},this.getDefaultConnectionType=function(){return C.Connection},this.getId=lt,this.draw=v,this.info=P,this.appendElement=d;var Bt=!1;this.isHoverSuspended=function(){return Bt},this.setHoverSuspended=function(s){Bt=s},this.hide=function(s,S){return rt(s,"none",S),e},this.idstamp=t;var ee=function(s){if(!r&&s){var S=e.getElement(s);S.offsetParent&&e.setContainer(S.offsetParent)}},ie=function(){e.Defaults.Container&&e.setContainer(e.Defaults.Container)},se=e.manage=function(s,S,m,k){return y[s]?k&&(y[s].info=At({elId:s,timestamp:B,recalc:!0})):(y[s]={el:S,endpoints:[],connections:[],rotation:0},y[s].info=At({elId:s,timestamp:B}),e.addClass(S,"jtk-managed"),m||e.fire("manageElement",{id:s,info:y[s].info,el:S})),y[s]};this.unmanage=function(s){if(y[s]){var S=y[s].el;e.removeClass(S,"jtk-managed"),delete y[s],e.fire("unmanageElement",{id:s,el:S})}},this.rotate=function(s,S,m){return y[s]&&(y[s].rotation=S,y[s].el.style.transform="rotate("+S+"deg)",y[s].el.style.transformOrigin="center center",m!==!0)?this.revalidate(s):{c:[],e:[]}},this.getRotation=function(s){return y[s]&&y[s].rotation||0};var At=function(s){var S=s.timestamp,m=s.recalc,k=s.offset,Y=s.elId,z;return R&&!S&&(S=B),!m&&S&&S===g[Y]?{o:s.offset||w[Y],s:U[Y]}:(m||!k&&w[Y]==null?(z=y[Y]?y[Y].el:null,z!=null&&(U[Y]=e.getSize(z),w[Y]=e.getOffset(z),g[Y]=S)):(w[Y]=k||w[Y],U[Y]==null&&(z=y[Y].el,z!=null&&(U[Y]=e.getSize(z))),g[Y]=S),w[Y]&&!w[Y].right&&(w[Y].right=w[Y].left+U[Y][0],w[Y].bottom=w[Y].top+U[Y][1],w[Y].width=U[Y][0],w[Y].height=U[Y][1],w[Y].centerx=w[Y].left+w[Y].width/2,w[Y].centery=w[Y].top+w[Y].height/2),{o:w[Y],s:U[Y]})};this.updateOffset=At,this.init=function(){_||(ie(),e.router=new Z.jsPlumb.DefaultRouter(e),e.anchorManager=e.router.anchorManager,_=!0,e.fire("ready",e))}.bind(this),this.log=u,this.jsPlumbUIComponent=l,this.makeAnchor=function(){var s,S=function(et,dt){if(Z.jsPlumb.Anchors[et])return new Z.jsPlumb.Anchors[et](dt);if(!e.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown anchor type '"+et+"'"}};if(arguments.length===0)return null;var m=arguments[0],k=arguments[1],Y=null;if(m.compute&&m.getOrientation)return m;if(typeof m=="string")Y=S(arguments[0],{elementId:k,jsPlumbInstance:e});else if(f.isArray(m))if(f.isArray(m[0])||f.isString(m[0]))m.length===2&&f.isObject(m[1])?f.isString(m[0])?(s=Z.jsPlumb.extend({elementId:k,jsPlumbInstance:e},m[1]),Y=S(m[0],s)):(s=Z.jsPlumb.extend({elementId:k,jsPlumbInstance:e,anchors:m[0]},m[1]),Y=new Z.jsPlumb.DynamicAnchor(s)):Y=new C.DynamicAnchor({anchors:m,selector:null,elementId:k,jsPlumbInstance:e});else{var z={x:m[0],y:m[1],orientation:m.length>=4?[m[2],m[3]]:[0,0],offsets:m.length>=6?[m[4],m[5]]:[0,0],elementId:k,jsPlumbInstance:e,cssClass:m.length===7?m[6]:null};Y=new Z.jsPlumb.Anchor(z),Y.clone=function(){return new Z.jsPlumb.Anchor(z)}}return Y.id||(Y.id="anchor_"+t()),Y},this.makeAnchors=function(s,S,m){for(var k=[],Y=0,z=s.length;Y0&&at>=s.def.maxConnections},element:s.el,elementId:s.id,isSource:k,isTarget:Y,addClass:function(at){e.addClass(s.el,at)},removeClass:function(at){e.removeClass(s.el,at)},onDrop:function(at){var ct=at.endpoints[0];ct.anchor.locked=!1},isDropAllowed:function(){return z.isDropAllowed.apply(z,arguments)},isRedrop:function(at){return at.suspendedElement!=null&&at.suspendedEndpoint!=null&&at.suspendedEndpoint.element===s.el},getEndpoint:function(at){var ct=s.def.endpoint;if(ct==null||ct._jsPlumb==null){var ht=e.deriveEndpointAndAnchorSpec(at.getType().join(" "),!0),Ct=ht.endpoints?Z.jsPlumb.extend(S,{endpoint:s.def.def.endpoint||ht.endpoints[1]}):S;ht.anchors&&(Ct=Z.jsPlumb.extend(Ct,{anchor:s.def.def.anchor||ht.anchors[1]})),ct=e.addEndpoint(s.el,Ct),ct._mtNew=!0}if(S.uniqueEndpoint&&(s.def.endpoint=ct),ct.setDeleteOnEmpty(!0),at.isDetachable()&&ct.initDraggable(),ct.anchor.positionFinder!=null){var mt=e.getUIPosition(arguments,e.getZoom()),Dt=e.getOffset(s.el),wt=e.getSize(s.el),Tt=mt==null?[0,0]:ct.anchor.positionFinder(mt,Dt,wt,ct.anchor.constructorParams);ct.anchor.x=Tt[0],ct.anchor.y=Tt[1]}return ct},maybeCleanup:function(at){at._mtNew&&at.connections.length===0?e.deleteObject({endpoint:at}):delete at._mtNew}}),dt=Z.jsPlumb.dragEvents.drop;return m.scope=m.scope||S.scope||e.Defaults.Scope,m[dt]=f.wrap(m[dt],et,!0),m.rank=S.rank||0,Y&&(m[Z.jsPlumb.dragEvents.over]=function(){return!0}),S.allowLoopback===!1&&(m.canDrop=function(at){var ct=at.getDragElement()._jsPlumbRelatedElement;return ct!==s.el}),e.initDroppable(s.el,m,"internal"),et};this.makeTarget=function(s,S,m){var k=Z.jsPlumb.extend({_jsPlumb:this},m);Z.jsPlumb.extend(k,S);for(var Y=k.maxConnections||-1,z=function(ct){var ht=P(ct),Ct=ht.id,mt=Z.jsPlumb.extend({},k.dropOptions||{}),Dt=k.connectionType||"default";this.targetEndpointDefinitions[Ct]=this.targetEndpointDefinitions[Ct]||{},ee(Ct),ht.el._isJsPlumbGroup&&mt.rank==null&&(mt.rank=-1);var wt={def:Z.jsPlumb.extend({},k),uniqueEndpoint:k.uniqueEndpoint,maxConnections:Y,enabled:!0};k.createEndpoint&&(wt.uniqueEndpoint=!0,wt.endpoint=e.addEndpoint(ct,wt.def),wt.endpoint.setDeleteOnEmpty(!1)),ht.def=wt,this.targetEndpointDefinitions[Ct][Dt]=wt,Ot(ht,k,mt,k.isSource===!0,!0),ht.el._katavorioDrop[ht.el._katavorioDrop.length-1].targetDef=wt}.bind(this),et=s.length&&s.constructor!==String?s:[s],dt=0,at=et.length;dt=0&&Kt>=Lt.maxConnections)return dt&&dt({element:mt.el,maxConnections:et},Ft),!1;var re=Z.jsPlumb.getPositionOnElement(Ft,wt,G),Vt={};Z.jsPlumb.extend(Vt,Lt.def),Vt.isTemporarySource=!0,Vt.anchor=[re[0],re[1],0,0],Vt.dragOptions=Wt,Lt.def.scope&&(Vt.scope=Lt.def.scope),Mt=this.addEndpoint(Dt,Vt),pe=!0,Mt.setDeleteOnEmpty(!0),Lt.uniqueEndpoint&&(Lt.endpoint?Mt.finalEndpoint=Lt.endpoint:(Lt.endpoint=Mt,Mt.setDeleteOnEmpty(!1)));var $t=function(){e.off(Mt.canvas,"mouseup",$t),e.off(mt.el,"mouseup",$t),pe&&(pe=!1,e.deleteEndpoint(Mt))};e.on(Mt.canvas,"mouseup",$t),e.on(mt.el,"mouseup",$t);var ve={};if(Lt.def.extract)for(var oe in Lt.def.extract){var Ae=(Ft.srcElement||Ft.target).getAttribute(oe);Ae&&(ve[Lt.def.extract[oe]]=Ae)}e.trigger(Mt.canvas,"mousedown",Ft,ve),f.consume(Ft)}}}.bind(this);this.on(mt.el,"mousedown",we),Tt.trigger=we,k.filter&&(f.isString(k.filter)||f.isFunction(k.filter))&&e.setDragFilter(mt.el,k.filter);var Me=Z.jsPlumb.extend({},k.dropOptions||{});Ot(mt,k,Me,!0,k.isTarget===!0)}.bind(this),ct=s.length&&s.constructor!==String?s:[s],ht=0,Ct=ct.length;ht0;)k(et.el.childNodes[0]);z||yt(et,m)}};return e.batch(function(){k(s,!0)},S===!1),e},this.reset=function(s){e.silently(function(){Bt=!1,e.removeAllGroups(),e.removeGroupManager(),e.deleteEveryEndpoint(),s||e.unbind(),this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={},x.length=0,this.doReset&&this.doReset()}.bind(this))},this.destroy=function(){this.reset(),r=null,p=null};var Et=function(s){s.canvas&&s.canvas.parentNode&&s.canvas.parentNode.removeChild(s.canvas),s.cleanup(),s.destroy()};this.clear=function(){e.select().each(Et),e.selectEndpoints().each(Et),h={},j={}},this.setDefaultScope=function(s){return n=s,e},this.deriveEndpointAndAnchorSpec=function(s,S){for(var m=((S?"":"default ")+s).split(/[\s]/),k=null,Y=null,z=null,et=null,dt=0;dt0)for(var A=0;A0?"add":"remove")+"Class"](i.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](i.endpointFullClass)},this.detachFromConnection=function(P,A,r){A=A??this.connections.indexOf(P),A>=0&&(this.connections.splice(A,1),this[(this.connections.length>0?"add":"remove")+"Class"](i.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](i.endpointFullClass)),!r&&M&&this.connections.length===0&&i.deleteObject({endpoint:this,fireEvent:!1,deleteAttachedObjects:r!==!0})},this.deleteEveryConnection=function(P){for(var A=this.connections.length,r=0;r0){var y=O(this,P.elementWithPrecedence),w=y.endpoints[0]===this?1:0,g=w===0?y.sourceId:y.targetId,E=i.getCachedData(g),U=E.o,R=E.s;j.index=w===0?1:0,j.connection=y,j.txy=[U.left,U.top],j.twh=R,j.tElement=y.endpoints[w],j.tRotation=i.getRotation(g)}else this.connections.length>0&&(j.connection=this.connections[0]);j.rotation=i.getRotation(this.elementId),_=this.anchor.compute(j)}this.endpoint.compute(_,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,x||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=A;for(var B in this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(B)){var n=this._jsPlumb.overlays[B];n.isVisible()&&(this._jsPlumb.overlayPlacements[B]=n.draw(this.endpoint,this._jsPlumb.paintStyleInUse),n.paint(this._jsPlumb.overlayPlacements[B]))}}}},this.getTypeDescriptor=function(){return"endpoint"},this.isVisible=function(){return this._jsPlumb.visible},this.repaint=this.paint;var e=!1;this.initDraggable=function(){if(!e&&f.isDragSupported(this.element)){var P={id:null,element:null},A=null,r=!1,p=null,u=it(this,P,i),_=l.dragOptions||{},x={},h=f.dragEvents.start,j=f.dragEvents.stop,y=f.dragEvents.drag,w=f.dragEvents.beforeStart,g,E=function(B){g=B.e.payload||{}},U=function(B){A=this.connectorSelector();var n=!0;this.isEnabled()||(n=!1),A==null&&!this.isSource&&!this.isTemporarySource&&(n=!1),this.isSource&&this.isFull()&&!(A!=null&&this.dragAllowedWhenFull)&&(n=!1),A!=null&&!A.isDetachable(this)&&(this.isFull()?n=!1:A=null);var o=i.checkCondition(A==null?"beforeDrag":"beforeStartDetach",{endpoint:this,source:this.element,sourceId:this.elementId,connection:A});if(o===!1?n=!1:typeof o=="object"?f.extend(o,g||{}):o=g||{},n===!1)return i.stopDrag&&i.stopDrag(this.canvas),u.stopDrag(),!1;for(var t=0;t0&&this.connectionsDetachable!==!1}.bind(this),i.initDraggable(this.canvas,_,"internal"),this.canvas._jsPlumbRelatedElement=this.element,e=!0}};var T=l.endpoint||this._jsPlumb.instance.Defaults.Endpoint||f.Defaults.Endpoint;this.setEndpoint(T,!0);var L=l.anchor?l.anchor:l.anchors?l.anchors:i.Defaults.Anchor||"Top";this.setAnchor(L,!0);var H=["default",l.type||""].join(" ");this.addType(H,l.data,!0),this.canvas=this.endpoint.canvas,this.canvas._jsPlumb=this,this.initDraggable();var G=function(P,A,r,p){if(f.isDropSupported(this.element)){var u=l.dropOptions||i.Defaults.DropOptions||f.Defaults.DropOptions;u=f.extend({},u),u.scope=u.scope||this.scope;var _=f.dragEvents.drop,x=f.dragEvents.over,h=f.dragEvents.out,j=this,y=i.EndpointDropHandler({getEndpoint:function(){return j},jsPlumb:i,enabled:function(){return r!=null?r.isEnabled():!0},isFull:function(){return r.isFull()},element:this.element,elementId:this.elementId,isSource:this.isSource,isTarget:this.isTarget,addClass:function(w){j.addClass(w)},removeClass:function(w){j.removeClass(w)},isDropAllowed:function(){return j.isDropAllowed.apply(j,arguments)},reference:p,isRedrop:function(w,g){return w.suspendedEndpoint&&g.reference&&w.suspendedEndpoint.id===g.reference.id}});u[_]=V.wrap(u[_],y,!0),u[x]=V.wrap(u[x],function(){var w=f.getDragObject(arguments),g=i.getAttribute(f.getElement(w),"dragId"),E=i.getFloatingConnectionFor(g);if(E!=null){var U=i.getFloatingAnchorIndex(E),R=this.isTarget&&U!==0||E.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===E.suspendedEndpoint.id;if(R){var B=i.checkCondition("checkDropAllowed",{sourceEndpoint:E.endpoints[U],targetEndpoint:this,connection:E});this[(B?"add":"remove")+"Class"](i.endpointDropAllowedClass),this[(B?"remove":"add")+"Class"](i.endpointDropForbiddenClass),E.endpoints[U].anchor.over(this.anchor,this)}}}.bind(this)),u[h]=V.wrap(u[h],function(){var w=f.getDragObject(arguments),g=w==null?null:i.getAttribute(f.getElement(w),"dragId"),E=g?i.getFloatingConnectionFor(g):null;if(E!=null){var U=i.getFloatingAnchorIndex(E),R=this.isTarget&&U!==0||E.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===E.suspendedEndpoint.id;R&&(this.removeClass(i.endpointDropAllowedClass),this.removeClass(i.endpointDropForbiddenClass),E.endpoints[U].anchor.out())}}.bind(this)),i.initDroppable(P,u,"internal",A)}}.bind(this);return this.anchor.isFloating||G(this.canvas,!(l._transient||this.anchor.isFloating),this,l.reference),this},V.extend(f.Endpoint,f.OverlayCapableJsPlumbUIComponent,{setVisible:function(l,i,b){if(this._jsPlumb.visible=l,this.canvas&&(this.canvas.style.display=l?"block":"none"),this[l?"showOverlays":"hideOverlays"](),!i){for(var D=0;D0)for(var o=G(U,H[w]),t=w==="right"||w==="top",d=C.getRotation(u),v=e(w,g,E,o,R,B,t,d),F=function(ot,st){l[ot.id]=[st[0],st[1],st[2],st[3]],i[ot.id]=n},I=0;I-1&&(b[x.targetId][y][0]=x,b[x.targetId][y][1]=x.endpoints[0],b[x.targetId][y][2]=x.endpoints[0].anchor.constructor===V.DynamicAnchor),f.addToList(b,_,[x,x.endpoints[1],x.endpoints[1].anchor.constructor===V.DynamicAnchor]),x.endpoints[1].anchor.isContinuous&&(x.source===x.target?x._jsPlumb.instance.removeElement(x.endpoints[1].canvas):x.endpoints[1].canvas.parentNode==null&&x._jsPlumb.instance.appendElement(x.endpoints[1].canvas)),x.updateConnectedClass()}}else if(j===1){var w=x.endpoints[0].elementId;x.target=h,x.targetId=_;var g=f.findWithFunction(b[w],function(U){return U[0].id===x.id}),E=f.findWithFunction(b[u],function(U){return U[0].id===x.id});g!==-1&&(b[w][g][0]=x,b[w][g][1]=x.endpoints[1],b[w][g][2]=x.endpoints[1].anchor.constructor===V.DynamicAnchor),E>-1&&(b[u].splice(E,1),f.addToList(b,_,[x,x.endpoints[0],x.endpoints[0].anchor.constructor===V.DynamicAnchor])),x.updateConnectedClass()}},this.rehomeEndpoint=function(u,_,x){var h=O[_]||[],j=C.getId(x);if(j!==_){var y=h.indexOf(u);if(y>-1){var w=h.splice(y,1)[0];D.add(w,j)}}for(var g=0;gh.dist?1:0});for(var p=G[0].source,u=G[0].target,_=0;_0?this.anchors[0]:null,i=l,b=function(M,C,a,e,T,L,H){var G=e[0]+M.x*T[0],P=e[1]+M.y*T[1],A=e[0]+T[0]/2,r=e[1]+T[1]/2;if(L!=null&&L!==0){var p=jsPlumbUtil.rotatePoint([G,P],[A,r],L);G=p[0],P=p[1]}return Math.sqrt(Math.pow(C-G,2)+Math.pow(a-P,2))+Math.sqrt(Math.pow(A-G,2)+Math.pow(r-P,2))},D=c.selector||function(M,C,a,e,T,L,H){for(var G=a[0]+e[0]/2,P=a[1]+e[1]/2,A=-1,r=1/0,p=0;p0?r:b+r:r*b;return it.pointOnLine({x:C,y:e},{x:a,y:T},u)},this.gradientAtPoint=function(r){return D},this.pointAlongPathFrom=function(r,p,u){var _=this.pointOnPath(r,u),x=p<=0?{x:C,y:e}:{x:a,y:T};return p<=0&&Math.abs(p)>1&&(p*=-1),it.pointOnLine(_,x,p)};var H=function(r,p,u){return u>=Math.min(r,p)&&u<=Math.max(r,p)},G=function(r,p,u){return Math.abs(u-r)p?p<=r&&r<=u:p>=r&&r>=u},A=P;this.lineIntersection=function(r,p,u,_){var x=Math.abs(it.gradient({x:r,y:p},{x:u,y:_})),h=Math.abs(D),j=h===1/0?C:e-h*C,y=[],w=x===1/0?r:p-x*r;if(x!==h)if(x===1/0&&h===0)A(r,C,a)&&A(e,p,_)&&(y=[r,e]);else if(x===0&&h===1/0)A(p,e,T)&&A(C,r,u)&&(y=[C,p]);else{var g,E;x===1/0?(g=r,A(g,C,a)&&(E=h*r+j,A(E,p,_)&&(y=[g,E]))):x===0?(E=p,A(E,e,T)&&(g=(p-j)/h,A(g,r,u)&&(y=[g,E]))):(g=(w-j)/(h-x),E=h*g+j,A(g,C,a)&&A(E,e,T)&&(y=[g,E]))}return y},this.boxIntersection=function(r,p,u,_){var x=[];return x.push.apply(x,this.lineIntersection(r,p,r+u,p)),x.push.apply(x,this.lineIntersection(r+u,p,r+u,p+_)),x.push.apply(x,this.lineIntersection(r+u,p+_,r,p+_)),x.push.apply(x,this.lineIntersection(r,p+_,r,p)),x},this.boundingBoxIntersection=function(r){return this.boxIntersection(r.x,r.y,r.w,r.h)}},Arc:function(i){f.Segments.AbstractSegment.apply(this,arguments);var b=function(G,P){return it.theta([i.cx,i.cy],[G,P])},D=function(G,P){if(G.anticlockwise){var A=G.startAngle0?0:1,L)),L};this.pointOnPath=function(T,L){return T=e(this.curve,T,L),Z.jsBezier.pointOnCurve(this.curve,T)},this.gradientAtPoint=function(T,L){return T=e(this.curve,T,L),Z.jsBezier.gradientAtPoint(this.curve,T)},this.pointAlongPathFrom=function(T,L,H){return T=e(this.curve,T,H),Z.jsBezier.pointAlongCurveFrom(this.curve,T,L)},this.getLength=function(){return this.length},this.getBounds=function(){return this.bounds},this.findClosestPointOnPath=function(T,L){var H=Z.jsBezier.nearestPointOnCurve({x:T,y:L},this.curve);return{d:Math.sqrt(Math.pow(H.point.x-T,2)+Math.pow(H.point.y-L,2)),x:H.point.x,y:H.point.y,l:1-H.location,s:this}},this.lineIntersection=function(T,L,H,G){return Z.jsBezier.lineIntersection(T,L,H,G,this.curve)}}},f.SegmentRenderer={getPath:function(i,b){return{Straight:function(D){var M=i.getCoordinates();return(D?"M "+M.x1+" "+M.y1+" ":"")+"L "+M.x2+" "+M.y2},Bezier:function(D){var M=i.params;return(D?"M "+M.x2+" "+M.y2+" ":"")+"C "+M.cp2x+" "+M.cp2y+" "+M.cp1x+" "+M.cp1y+" "+M.x1+" "+M.y1},Arc:function(D){var M=i.params,C=i.sweep>Math.PI?1:0,a=i.anticlockwise?0:1;return(D?"M"+i.x1+" "+i.y1+" ":"")+"A "+i.radius+" "+M.r+" 0 "+C+","+a+" "+i.x2+" "+i.y2}}[i.type](b)}};var K=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},this.resetBounds()};f.Connectors.AbstractConnector=function(i){K.apply(this,arguments);var b=[],D=0,M=[],C=[],a=i.stub||0,e=V.isArray(a)?a[0]:a,T=V.isArray(a)?a[1]:a,L=i.gap||0,H=V.isArray(L)?L[0]:L,G=V.isArray(L)?L[1]:L,P=null,A=null;this.getPathData=function(){for(var h="",j=0;j0?h/D:(D+h)/D),h===1)y=b.length-1,g=1;else if(h===0)g=0,y=0;else if(h>=.5){for(y=0,g=0,w=M.length-1;w>-1;w--)if(M[w][1]>=h&&M[w][0]<=h){y=w,g=(h-M[w][0])/C[w];break}}else for(y=M.length-1,g=1,w=0;w=h){y=w,g=(h-M[w][0])/C[w];break}return{segment:b[y],proportion:g,index:y}},u=function(h,j,y){if(!(y.x1===y.x2&&y.y1===y.y2)){var w=new f.Segments[j](y);b.push(w),D+=w.getLength(),h.updateBounds(w)}},_=function(){D=b.length=M.length=C.length=0};this.setSegments=function(h){P=[],D=0;for(var j=0;jo?0:1,d=[1,0][t];E=[],U=[],E[t]=h.sourcePos[t]>h.targetPos[t]?-1:1,U[t]=h.sourcePos[t]>h.targetPos[t]?1:-1,E[d]=0,U[d]=0}var v=y?n+H*E[0]:H*E[0],F=w?o+H*E[1]:H*E[1],I=y?G*U[0]:n+G*U[0],X=w?G*U[1]:o+G*U[1],N=E[0]*U[0]+E[1]*U[1],W={sx:v,sy:F,tx:I,ty:X,lw:g,xSpan:Math.abs(I-v),ySpan:Math.abs(X-F),mx:(v+I)/2,my:(F+X)/2,so:E,to:U,x:R,y:B,w:n,h:o,segment:j,startStubX:v+E[0]*e,startStubY:F+E[1]*e,endStubX:I+U[0]*T,endStubY:X+U[1]*T,isXGreaterThanStubTimes2:Math.abs(v-I)>e+T,isYGreaterThanStubTimes2:Math.abs(F-X)>e+T,opposite:N===-1,perpendicular:N===0,orthogonal:N===1,sourceAxis:E[0]===0?"y":"x",points:[R,B,n,o,v,F,I,X],stubs:[e,T]};return W.anchorOrientation=W.opposite?"opposite":W.orthogonal?"orthogonal":"perpendicular",W};return this.getSegments=function(){return b},this.updateBounds=function(h){var j=h.getBounds();this.bounds.minX=Math.min(this.bounds.minX,j.minX),this.bounds.maxX=Math.max(this.bounds.maxX,j.maxX),this.bounds.minY=Math.min(this.bounds.minY,j.minY),this.bounds.maxY=Math.max(this.bounds.maxY,j.maxY)},this.pointOnPath=function(h,j){var y=p(h,j);return y.segment&&y.segment.pointOnPath(y.proportion,!1)||[0,0]},this.gradientAtPoint=function(h,j){var y=p(h,j);return y.segment&&y.segment.gradientAtPoint(y.proportion,!1)||0},this.pointAlongPathFrom=function(h,j,y){var w=p(h,y);return w.segment&&w.segment.pointAlongPathFrom(w.proportion,j,!1)||[0,0]},this.compute=function(h){A=x.call(this,h),_(),this._compute(A,h),this.x=A.points[0],this.y=A.points[1],this.w=A.points[2],this.h=A.points[3],this.segment=A.segment,r()},{addSegment:u,prepareCompute:x,sourceStub:e,targetStub:T,maxStub:Math.max(e,T),sourceGap:H,targetGap:G,maxGap:Math.max(H,G)}},V.extend(f.Connectors.AbstractConnector,K),f.Endpoints.AbstractEndpoint=function(i){K.apply(this,arguments);var b=this.compute=function(D,M,C,a){var e=this._compute.apply(this,arguments);return this.x=e[0],this.y=e[1],this.w=e[2],this.h=e[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,e};return{compute:b,cssClass:i.cssClass}},V.extend(f.Endpoints.AbstractEndpoint,K),f.Endpoints.Dot=function(i){this.type="Dot",f.Endpoints.AbstractEndpoint.apply(this,arguments),i=i||{},this.radius=i.radius||10,this.defaultOffset=.5*this.radius,this.defaultInnerRadius=this.radius/3,this._compute=function(b,D,M,C){this.radius=M.radius||this.radius;var a=b[0]-this.radius,e=b[1]-this.radius,T=this.radius*2,L=this.radius*2;if(M.stroke){var H=M.strokeWidth||1;a-=H,e-=H,T+=H*2,L+=H*2}return[a,e,T,L,this.radius]}},V.extend(f.Endpoints.Dot,f.Endpoints.AbstractEndpoint),f.Endpoints.Rectangle=function(i){this.type="Rectangle",f.Endpoints.AbstractEndpoint.apply(this,arguments),i=i||{},this.width=i.width||20,this.height=i.height||20,this._compute=function(b,D,M,C){var a=M.width||this.width,e=M.height||this.height,T=b[0]-a/2,L=b[1]-e/2;return[T,L,a,e]}},V.extend(f.Endpoints.Rectangle,f.Endpoints.AbstractEndpoint);var nt=function(i){f.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.displayElements=[]};V.extend(nt,f.jsPlumbUIComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(i){this._jsPlumb.displayElements.push(i)}}),f.Endpoints.Image=function(i){this.type="Image",nt.apply(this,arguments),f.Endpoints.AbstractEndpoint.apply(this,arguments);var b=i.onload,D=i.src||i.url,M=i.cssClass?" "+i.cssClass:"";this._jsPlumb.img=new Image,this._jsPlumb.ready=!1,this._jsPlumb.initialized=!1,this._jsPlumb.deleted=!1,this._jsPlumb.widthToUse=i.width,this._jsPlumb.heightToUse=i.height,this._jsPlumb.endpoint=i.endpoint,this._jsPlumb.img.onload=function(){this._jsPlumb!=null&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,b&&b(this))}.bind(this),this._jsPlumb.endpoint.setImage=function(C,a){var e=C.constructor===String?C:C.src;b=a,this._jsPlumb.img.src=e,this.canvas!=null&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this),this._jsPlumb.endpoint.setImage(D,b),this._compute=function(C,a,e,T){return this.anchorPoint=C,this._jsPlumb.ready?[C[0]-this._jsPlumb.widthToUse/2,C[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]},this.canvas=f.createElement("img",{position:"absolute",margin:0,padding:0,outline:0},this._jsPlumb.instance.endpointClass+M),this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse),this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse),this._jsPlumb.instance.appendElement(this.canvas),this.actuallyPaint=function(C,a,e){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var T=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,L=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;V.sizeElement(this.canvas,T,L,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}},this.paint=function(C,a){this._jsPlumb!=null&&(this._jsPlumb.ready?this.actuallyPaint(C,a):Z.setTimeout(function(){this.paint(C,a)}.bind(this),200))}},V.extend(f.Endpoints.Image,[nt,f.Endpoints.AbstractEndpoint],{cleanup:function(i){i&&(this._jsPlumb.deleted=!0,this.canvas&&this.canvas.parentNode.removeChild(this.canvas),this.canvas=null)}}),f.Endpoints.Blank=function(i){f.Endpoints.AbstractEndpoint.apply(this,arguments),this.type="Blank",nt.apply(this,arguments),this._compute=function(D,M,C,a){return[D[0],D[1],10,0]};var b=i.cssClass?" "+i.cssClass:"";this.canvas=f.createElement("div",{display:"block",width:"1px",height:"1px",background:"transparent",position:"absolute"},this._jsPlumb.instance.endpointClass+b),this._jsPlumb.instance.appendElement(this.canvas),this.paint=function(D,M){V.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}},V.extend(f.Endpoints.Blank,[f.Endpoints.AbstractEndpoint,nt],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}),f.Endpoints.Triangle=function(i){this.type="Triangle",f.Endpoints.AbstractEndpoint.apply(this,arguments);var b=this;i=i||{},i.width=i.width||55,i.height=i.height||55,this.width=i.width,this.height=i.height,this._compute=function(D,M,C,a){var e=C.width||b.width,T=C.height||b.height,L=D[0]-e/2,H=D[1]-T/2;return[L,H,e,T]}};var c=f.Overlays.AbstractOverlay=function(i){this.visible=!0,this.isAppendedAtTopLevel=!0,this.component=i.component,this.loc=i.location==null?.5:i.location,this.endpointLoc=i.endpointLocation==null?[.5,.5]:i.endpointLocation,this.visible=i.visible!==!1};c.prototype={cleanup:function(i){i&&(this.component=null,this.canvas=null,this.endpointLoc=null)},reattach:function(i,b){},setVisible:function(i){this.visible=i,this.component.repaint()},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(i){this.loc+=i,this.component.repaint()},setLocation:function(i){this.loc=i,this.component.repaint()},getLocation:function(){return this.loc},updateFrom:function(){}},f.Overlays.Arrow=function(i){this.type="Arrow",c.apply(this,arguments),this.isAppendedAtTopLevel=!1,i=i||{};var b=this;this.length=i.length||20,this.width=i.width||20,this.id=i.id,this.direction=(i.direction||1)<0?-1:1;var D=i.paintStyle||{"stroke-width":1},M=i.foldback||.623;this.computeMaxSize=function(){return b.width*1.5},this.elementCreated=function(C,a){if(this.path=C,i.events)for(var e in i.events)f.on(C,e,i.events[e])},this.draw=function(C,a){var e,T,L,H,G;if(C.pointAlongPathFrom){if(V.isString(this.loc)||this.loc>1||this.loc<0){var P=parseInt(this.loc,10),A=this.loc<0?1:0;e=C.pointAlongPathFrom(A,P,!1),T=C.pointAlongPathFrom(A,P-this.direction*this.length/2,!1),L=it.pointOnLine(e,T,this.length)}else if(this.loc===1){if(e=C.pointOnPath(this.loc),T=C.pointAlongPathFrom(this.loc,-this.length),L=it.pointOnLine(e,T,this.length),this.direction===-1){var r=L;L=e,e=r}}else if(this.loc===0){if(L=C.pointOnPath(this.loc),T=C.pointAlongPathFrom(this.loc,this.length),e=it.pointOnLine(L,T,this.length),this.direction===-1){var p=L;L=e,e=p}}else e=C.pointAlongPathFrom(this.loc,this.direction*this.length/2),T=C.pointOnPath(this.loc),L=it.pointOnLine(e,T,this.length);H=it.perpendicularLineTo(e,L,this.width),G=it.pointOnLine(e,L,M*this.length);var u={hxy:e,tail:H,cxy:G},_=D.stroke||a.stroke,x=D.fill||a.stroke,h=D.strokeWidth||a.strokeWidth;return{component:C,d:u,"stroke-width":h,stroke:_,fill:x,minX:Math.min(e.x,H[0].x,H[1].x),maxX:Math.max(e.x,H[0].x,H[1].x),minY:Math.min(e.y,H[0].y,H[1].y),maxY:Math.max(e.y,H[0].y,H[1].y)}}else return{component:C,minX:0,maxX:0,minY:0,maxY:0}}},V.extend(f.Overlays.Arrow,c,{updateFrom:function(i){this.length=i.length||this.length,this.width=i.width||this.width,this.direction=i.direction!=null?i.direction:this.direction,this.foldback=i.foldback||this.foldback},cleanup:function(){this.path&&this.path.parentNode&&this.path.parentNode.removeChild(this.path)}}),f.Overlays.PlainArrow=function(i){i=i||{};var b=f.extend(i,{foldback:1});f.Overlays.Arrow.call(this,b),this.type="PlainArrow"},V.extend(f.Overlays.PlainArrow,f.Overlays.Arrow),f.Overlays.Diamond=function(i){i=i||{};var b=i.length||40,D=f.extend(i,{length:b/2,foldback:2});f.Overlays.Arrow.call(this,D),this.type="Diamond"},V.extend(f.Overlays.Diamond,f.Overlays.Arrow);var O=function(i,b){return(i._jsPlumb.cachedDimensions==null||b)&&(i._jsPlumb.cachedDimensions=i.getDimensions()),i._jsPlumb.cachedDimensions},l=function(i){f.jsPlumbUIComponent.apply(this,arguments),c.apply(this,arguments);var b=this.fire;this.fire=function(){b.apply(this,arguments),this.component&&this.component.fire.apply(this.component,arguments)},this.detached=!1,this.id=i.id,this._jsPlumb.div=null,this._jsPlumb.initialised=!1,this._jsPlumb.component=i.component,this._jsPlumb.cachedDimensions=null,this._jsPlumb.create=i.create,this._jsPlumb.initiallyInvisible=i.visible===!1,this.getElement=function(){if(this._jsPlumb.div==null){var D=this._jsPlumb.div=f.getElement(this._jsPlumb.create(this._jsPlumb.component));D.style.position="absolute",jsPlumb.addClass(D,this._jsPlumb.instance.overlayClass+" "+(this.cssClass?this.cssClass:i.cssClass?i.cssClass:"")),this._jsPlumb.instance.appendElement(D),this._jsPlumb.instance.getId(D),this.canvas=D;var M="translate(-50%, -50%)";D.style.webkitTransform=M,D.style.mozTransform=M,D.style.msTransform=M,D.style.oTransform=M,D.style.transform=M,D._jsPlumb=this,i.visible===!1&&(D.style.display="none")}return this._jsPlumb.div},this.draw=function(D,M,C){var a=O(this);if(a!=null&&a.length===2){var e={x:0,y:0};if(C)e={x:C[0],y:C[1]};else if(D.pointOnPath){var T=this.loc,L=!1;(V.isString(this.loc)||this.loc<0||this.loc>1)&&(T=parseInt(this.loc,10),L=!0),e=D.pointOnPath(T,L)}else{var H=this.loc.constructor===Array?this.loc:this.endpointLoc;e={x:H[0]*D.w,y:H[1]*D.h}}var G=e.x-a[0]/2,P=e.y-a[1]/2;return{component:D,d:{minx:G,miny:P,td:a,cxy:e},minX:G,maxX:G+a[0],minY:P,maxY:P+a[1]}}else return{minX:0,maxX:0,minY:0,maxY:0}}};V.extend(l,[f.jsPlumbUIComponent,c],{getDimensions:function(){return[1,1]},setVisible:function(i){this._jsPlumb.div&&(this._jsPlumb.div.style.display=i?"block":"none",i&&this._jsPlumb.initiallyInvisible&&(O(this,!0),this.component.repaint(),this._jsPlumb.initiallyInvisible=!1))},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(i){i?this._jsPlumb.div!=null&&(this._jsPlumb.div._jsPlumb=null,this._jsPlumb.instance.removeElement(this._jsPlumb.div)):(this._jsPlumb&&this._jsPlumb.div&&this._jsPlumb.div.parentNode&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div),this.detached=!0)},reattach:function(i,b){this._jsPlumb.div!=null&&i.getContainer().appendChild(this._jsPlumb.div),this.detached=!1},computeMaxSize:function(){var i=O(this);return Math.max(i[0],i[1])},paint:function(i,b){this._jsPlumb.initialised||(this.getElement(),i.component.appendDisplayElement(this._jsPlumb.div),this._jsPlumb.initialised=!0,this.detached&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div)),this._jsPlumb.div.style.left=i.component.x+i.d.minx+"px",this._jsPlumb.div.style.top=i.component.y+i.d.miny+"px"}}),f.Overlays.Custom=function(i){this.type="Custom",l.apply(this,arguments)},V.extend(f.Overlays.Custom,l),f.Overlays.GuideLines=function(){var i=this;i.length=50,i.strokeWidth=5,this.type="GuideLines",c.apply(this,arguments),f.jsPlumbUIComponent.apply(this,arguments),this.draw=function(b,D){var M=b.pointAlongPathFrom(i.loc,i.length/2),C=b.pointOnPath(i.loc),a=it.pointOnLine(M,C,i.length),e=it.perpendicularLineTo(M,a,40),T=it.perpendicularLineTo(a,M,20);return{connector:b,head:M,tail:a,headLine:T,tailLine:e,minX:Math.min(M.x,a.x,T[0].x,T[1].x),minY:Math.min(M.y,a.y,T[0].y,T[1].y),maxX:Math.max(M.x,a.x,T[0].x,T[1].x),maxY:Math.max(M.y,a.y,T[0].y,T[1].y)}}},f.Overlays.Label=function(i){this.labelStyle=i.labelStyle,this.cssClass=this.labelStyle!=null?this.labelStyle.cssClass:null;var b=f.extend({create:function(){return f.createElement("div")}},i);if(f.Overlays.Custom.call(this,b),this.type="Label",this.label=i.label||"",this.labelText=null,this.labelStyle){var D=this.getElement();if(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",D.style.font=this.labelStyle.font,D.style.color=this.labelStyle.color||"black",this.labelStyle.fill&&(D.style.background=this.labelStyle.fill),this.labelStyle.borderWidth>0){var M=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black";D.style.border=this.labelStyle.borderWidth+"px solid "+M}this.labelStyle.padding&&(D.style.padding=this.labelStyle.padding)}},V.extend(f.Overlays.Label,f.Overlays.Custom,{cleanup:function(i){i&&(this.div=null,this.label=null,this.labelText=null,this.cssClass=null,this.labelStyle=null)},getLabel:function(){return this.label},setLabel:function(i){this.label=i,this.labelText=null,this.clearCachedDimensions(),this.update(),this.component.repaint()},getDimensions:function(){return this.update(),l.prototype.getDimensions.apply(this,arguments)},update:function(){if(typeof this.label=="function"){var i=this.label(this);this.getElement().innerHTML=i.replace(/\r\n/g,"
")}else this.labelText==null&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"
"))},updateFrom:function(i){i.label!=null&&this.setLabel(i.label)}})}.call(typeof window<"u"?window:jt),function(){var Z=this,f=Z.jsPlumbUtil,V=Z.jsPlumbInstance,it="jtk-group-collapsed",K="jtk-group-expanded",nt="[jtk-group-content]",c="elementDraggable",O="stop",l="revert",i="_groupManager",b="_jsPlumbGroup",D="_jsPlumbGroupDrag",M="group:addMember",C="group:removeMember",a="group:add",e="group:remove",T="group:expand",L="group:collapse",H="groupDragStop",G="connectionMoved",P="internal.connectionDetached",A="removeAll",r="orphanAll",p="show",u="hide",_=function(h){var j={},y={},w={},g=this;function E(t,d){for(var v=h.getContainer(),F=!1;!F;){if(t==null||t===v)return!1;if(t===d)return!0;t=t.parentNode}}h.bind("connection",function(t){var d=h.getGroupFor(t.source),v=h.getGroupFor(t.target);d!=null&&v!=null&&d===v?(y[t.connection.id]=d,w[t.connection.id]=d):(d!=null&&(f.suggest(d.connections.source,t.connection),y[t.connection.id]=d),v!=null&&(f.suggest(v.connections.target,t.connection),w[t.connection.id]=v))});function U(t){delete t.proxies;var d=y[t.id],v;d!=null&&(v=function(F){return F.id===t.id},f.removeWithFunction(d.connections.source,v),f.removeWithFunction(d.connections.target,v),delete y[t.id]),d=w[t.id],d!=null&&(v=function(F){return F.id===t.id},f.removeWithFunction(d.connections.source,v),f.removeWithFunction(d.connections.target,v),delete w[t.id])}h.bind(P,function(t){U(t.connection)}),h.bind(G,function(t){var d=t.index===0?y:w,v=d[t.connection.id];if(v){var F=v.connections[t.index===0?"source":"target"],I=F.indexOf(t.connection);I!==-1&&F.splice(I,1)}}),this.addGroup=function(t){h.addClass(t.getEl(),K),j[t.id]=t,t.manager=this,o(t),h.fire(a,{group:t})},this.addToGroup=function(t,d,v){if(t=this.getGroup(t),t){var F=t.getEl();if(d._isJsPlumbGroup)return;var I=d._jsPlumbGroup;if(I!==t){h.removeFromDragSelection(d);var X=h.getOffset(d,!0),N=t.collapsed?h.getOffset(F,!0):h.getOffset(t.getDragArea(),!0);I!=null&&(I.remove(d,!1,v,!1,t),g.updateConnectionsForGroup(I)),t.add(d,v);var W=function(rt,pt){var ft=pt===0?1:0;rt.each(function(lt){lt.setVisible(!1),lt.endpoints[ft].element._jsPlumbGroup===t?(lt.endpoints[ft].setVisible(!1),n(lt,ft,t)):(lt.endpoints[pt].setVisible(!1),B(lt,pt,t))})};t.collapsed&&(W(h.select({source:d}),0),W(h.select({target:d}),1));var ot=h.getId(d);h.dragManager.setParent(d,ot,F,h.getId(F),X);var st={left:X.left-N.left,top:X.top-N.top};if(h.setPosition(d,st),h.dragManager.revalidateParent(d,ot,X),g.updateConnectionsForGroup(t),h.revalidate(ot),!v){var Q={group:t,el:d,pos:st};I&&(Q.sourceGroup=I),h.fire(M,Q)}}}},this.removeFromGroup=function(t,d,v){if(t=this.getGroup(t),t){if(t.collapsed){var F=function(I,X){for(var N=0;N0?rt[0]:w},E=j.ghost===!0,U=E||j.constrain===!0,R=j.revert!==!1,B=j.orphan===!0,n=j.prune===!0,o=j.dropOverride===!0,t=j.proxied!==!1,d=[];if(this.connections={source:[],target:[],internal:[]},this.getAnchor=function(rt,pt){return j.anchor||"Continuous"},this.getEndpoint=function(rt,pt){return j.endpoint||["Dot",{radius:10}]},this.collapsed=!1,j.draggable!==!1){var v={drag:function(){for(var rt=0;rt0&>0&&q0&&p[4]!==u[4]){var j=Math.min(L(p),L(u)),y=Math.min(C,j/2);p[2]-=_[0]*y,p[3]-=_[1]*y,u[0]+=x[0]*y,u[1]+=x[1]*y;var w=_[1]===x[0]&&x[0]===1||_[1]===x[0]&&x[0]===0&&_[0]!==x[1]||_[1]===x[0]&&x[0]===-1,g=u[1]>p[3]?1:-1,E=u[0]>p[2]?1:-1,U=g===E,R=U&&w||!U&&!w?u[0]:p[2],B=U&&w||!U&&!w?p[3]:u[1];l.addSegment(P,it,{x1:p[0],y1:p[1],x2:p[2],y2:p[3]}),l.addSegment(P,K,{r:y,x1:p[2],y1:p[3],x2:u[0],y2:u[1],cx:R,cy:B,ac:w})}else{var n=p[2]===p[0]?0:p[2]>p[0]?r.lw/2:-(r.lw/2),o=p[3]===p[1]?0:p[3]>p[1]?r.lw/2:-(r.lw/2);l.addSegment(P,it,{x1:p[0]-n,y1:p[1]-o,x2:p[2]+n,y2:p[3]+o})}p=u}u!=null&&l.addSegment(P,it,{x1:u[0],y1:u[1],x2:u[2],y2:u[3]})};this.midpoint=i,this._compute=function(P,A){O=[],D=null,M=null;var r=function(){return[P.startStubX,P.startStubY,P.endStubX,P.endStubY]},p={perpendicular:r,orthogonal:r,opposite:function(o){var t=P,d=o==="x"?0:1,v={x:function(){return t.so[d]===1&&(t.startStubX>t.endStubX&&t.tx>t.startStubX||t.sx>t.endStubX&&t.tx>t.sx)||t.so[d]===-1&&(t.startStubXt.endStubY&&t.ty>t.startStubY||t.sy>t.endStubY&&t.ty>t.sy)||t.so[d]===-1&&(t.startStubYW[o][0],ft=v[o][Q][0],lt=v[o][Q][1],bt=d[o][Q][rt];if(t.segment===bt[3]||t.segment===bt[2]&&pt)return F[o];if(t.segment===bt[2]&<=ft||t.segment===bt[1]&&!pt)return N[o];if(t.segment===bt[0]||t.segment===bt[1]&&pt)return X[o]},orthogonal:function(o,t,d,v,F){var I=P,X={x:I.so[0]===-1?Math.min(t,v):Math.max(t,v),y:I.so[1]===-1?Math.min(t,v):Math.max(t,v)}[o];return{x:[[X,d],[X,F],[v,F]],y:[[d,X],[F,X],[F,v]]}[o]},opposite:function(o,t,d,v){var F=P,I={x:"y",y:"x"}[o],X={x:"height",y:"width"}[o],N=F["is"+o.toUpperCase()+"GreaterThanStubTimes2"];if(A.sourceEndpoint.elementId===A.targetEndpoint.elementId){var W=d+(1-A.sourceEndpoint.anchor[I])*A.sourceInfo[X]+l.maxStub;return{x:[[t,W],[v,W]],y:[[W,t],[W,v]]}[o]}else{if(!N||F.so[_]===1&&t>v||F.so[_]===-1&&tv)return{x:[[g,F.sy],[g,F.ty]],y:[[F.sx,E],[F.tx,E]]}[o]}}},B=R[P.anchorOrientation](P.sourceAxis,h,j,y,w);if(B)for(var n=0;n=O?3:4},K=function(c,O,l,i,b,D,M,C,a){if(C<=a)return[c,O];if(l===1)return i[3]<=0&&b[3]>=1?[c+(i[2]<.5?-1*D:D),O]:i[2]>=1&&b[2]<=0?[c,O+(i[3]<.5?-1*M:M)]:[c+-1*D,O+-1*M];if(l===2)return i[3]>=1&&b[3]<=0?[c+(i[2]<.5?-1*D:D),O]:i[2]>=1&&b[2]<=0?[c,O+(i[3]<.5?-1*M:M)]:[c+D,O+-1*M];if(l===3)return i[3]>=1&&b[3]<=0?[c+(i[2]<.5?-1*D:D),O]:i[2]<=0&&b[2]>=1?[c,O+(i[3]<.5?-1*M:M)]:[c+-1*D,O+-1*M];if(l===4)return i[3]<=0&&b[3]>=1?[c+(i[2]<.5?-1*D:D),O]:i[2]<=0&&b[2]>=1?[c,O+(i[3]<.5?-1*M:M)]:[c+D,O+-1*M]},nt=function(c){c=c||{},this.type="StateMachine";var O=f.Connectors.AbstractBezierConnector.apply(this,arguments),l=c.curviness||10,i=c.margin||5,b=c.proximityLimit||80;c.orientation&&c.orientation;var D;this._computeBezier=function(M,C,a,e,T,L){var H=C.sourcePos[0]g?y.insertBefore(w,y.childNodes[g]):y.appendChild(w)};V.svg={node:G,attr:H,pos:P};var _=function(y){var w=y.pointerEventsSpec||"all",g={};f.jsPlumbUIComponent.apply(this,y.originalArgs),this.canvas=null,this.path=null,this.svg=null,this.bgCanvas=null;var E=y.cssClass+" "+(y.originalArgs[0].cssClass||""),U={style:"",width:0,height:0,"pointer-events":w,position:"absolute"};this.svg=G("svg",U),y.useDivWrapper?(this.canvas=f.createElement("div",{position:"absolute"}),V.sizeElement(this.canvas,0,0,1,1),this.canvas.className=E):(H(this.svg,{class:E}),this.canvas=this.svg),y._jsPlumb.appendElement(this.canvas,y.originalArgs[0].parent),y.useDivWrapper&&this.canvas.appendChild(this.svg);var R=[this.canvas];return this.getDisplayElements=function(){return R},this.appendDisplayElement=function(B){R.push(B)},this.paint=function(B,n,o){if(B!=null){var t=[this.x,this.y],d=[this.w,this.h],v;o!=null&&(o.xmin<0&&(t[0]+=o.xmin),o.ymin<0&&(t[1]+=o.ymin),d[0]=o.xmax+(o.xmin<0?-o.xmin:0),d[1]=o.ymax+(o.ymin<0?-o.ymin:0)),y.useDivWrapper?(V.sizeElement(this.canvas,t[0],t[1],d[0]>0?d[0]:1,d[1]>0?d[1]:1),t[0]=0,t[1]=0,v=P([0,0])):v=P([t[0],t[1]]),g.paint.apply(this,arguments),H(this.svg,{style:v,width:d[0]||1,height:d[1]||1})}},{renderer:g}};V.extend(_,f.jsPlumbUIComponent,{cleanup:function(y){y||this.typeId==null?(this.canvas&&(this.canvas._jsPlumb=null),this.svg&&(this.svg._jsPlumb=null),this.bgCanvas&&(this.bgCanvas._jsPlumb=null),this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.svg=null,this.canvas=null,this.path=null,this.group=null,this._jsPlumb=null):(this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.bgCanvas.parentNode.removeChild(this.bgCanvas))},reattach:function(y){var w=y.getContainer();this.canvas&&this.canvas.parentNode==null&&w.appendChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode==null&&w.appendChild(this.bgCanvas)},setVisible:function(y){this.canvas&&(this.canvas.style.display=y?"block":"none")}}),f.ConnectorRenderers.svg=function(y){var w=this,g=_.apply(this,[{cssClass:y._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:y._jsPlumb}]);g.renderer.paint=function(E,U,R){var B=w.getSegments(),n="",o=[0,0];if(R.xmin<0&&(o[0]=-R.xmin),R.ymin<0&&(o[1]=-R.ymin),B.length>0){n=w.getPathData();var t={d:n,transform:"translate("+o[0]+","+o[1]+")","pointer-events":y["pointer-events"]||"visibleStroke"},d=null,v=[w.x,w.y,w.w,w.h];if(E.outlineStroke){var F=E.outlineWidth||1,I=E.strokeWidth+2*F;d=f.extend({},E),delete d.gradient,d.stroke=E.outlineStroke,d.strokeWidth=I,w.bgPath==null?(w.bgPath=G("path",t),f.addClass(w.bgPath,f.connectorOutlineClass),u(w.svg,w.bgPath,0)):H(w.bgPath,t),p(w.svg,w.bgPath,d,v,w)}w.path==null?(w.path=G("path",t),u(w.svg,w.path,E.outlineStroke?1:0)):H(w.path,t),p(w.svg,w.path,E,v,w)}}},V.extend(f.ConnectorRenderers.svg,_);var x=f.SvgEndpoint=function(y){var w=_.apply(this,[{cssClass:y._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:y._jsPlumb}]);w.renderer.paint=function(g){var E=f.extend({},g);E.outlineStroke&&(E.stroke=E.outlineStroke),this.node==null?(this.node=this.makeNode(E),this.svg.appendChild(this.node)):this.updateNode!=null&&this.updateNode(this.node),p(this.svg,this.node,E,[this.x,this.y,this.w,this.h],this),P(this.node,[this.x,this.y])}.bind(this)};V.extend(x,_),f.Endpoints.svg.Dot=function(){f.Endpoints.Dot.apply(this,arguments),x.apply(this,arguments),this.makeNode=function(y){return G("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})},this.updateNode=function(y){H(y,{cx:this.w/2,cy:this.h/2,r:this.radius})}},V.extend(f.Endpoints.svg.Dot,[f.Endpoints.Dot,x]),f.Endpoints.svg.Rectangle=function(){f.Endpoints.Rectangle.apply(this,arguments),x.apply(this,arguments),this.makeNode=function(y){return G("rect",{width:this.w,height:this.h})},this.updateNode=function(y){H(y,{width:this.w,height:this.h})}},V.extend(f.Endpoints.svg.Rectangle,[f.Endpoints.Rectangle,x]),f.Endpoints.svg.Image=f.Endpoints.Image,f.Endpoints.svg.Blank=f.Endpoints.Blank,f.Overlays.svg.Label=f.Overlays.Label,f.Overlays.svg.Custom=f.Overlays.Custom;var h=function(y,w){y.apply(this,w),f.jsPlumbUIComponent.apply(this,w),this.isAppendedAtTopLevel=!1,this.path=null,this.paint=function(E,U){if(E.component.svg&&U){this.path==null&&(this.path=G("path",{"pointer-events":"all"}),E.component.svg.appendChild(this.path),this.elementCreated&&this.elementCreated(this.path,E.component),this.canvas=E.component.svg);var R=w&&w.length===1&&w[0].cssClass||"",B=[0,0];U.xmin<0&&(B[0]=-U.xmin),U.ymin<0&&(B[1]=-U.ymin),H(this.path,{d:g(E.d),class:R,stroke:E.stroke?E.stroke:null,fill:E.fill?E.fill:null,transform:"translate("+B[0]+","+B[1]+")"})}};var g=function(E){return isNaN(E.cxy.x)||isNaN(E.cxy.y)?"":"M"+E.hxy.x+","+E.hxy.y+" L"+E.tail[0].x+","+E.tail[0].y+" L"+E.cxy.x+","+E.cxy.y+" L"+E.tail[1].x+","+E.tail[1].y+" L"+E.hxy.x+","+E.hxy.y};this.transfer=function(E){E.canvas&&this.path&&this.path.parentNode&&(this.path.parentNode.removeChild(this.path),E.canvas.appendChild(this.path))}},j={cleanup:function(y){this.path!=null&&(y?this._jsPlumb.instance.removeElement(this.path):this.path.parentNode&&this.path.parentNode.removeChild(this.path))},reattach:function(y,w){this.path&&w.canvas&&w.canvas.appendChild(this.path)},setVisible:function(y){this.path!=null&&(this.path.style.display=y?"block":"none")}};V.extend(h,[f.jsPlumbUIComponent,f.Overlays.AbstractOverlay]),f.Overlays.svg.Arrow=function(){h.apply(this,[f.Overlays.Arrow,arguments])},V.extend(f.Overlays.svg.Arrow,[f.Overlays.Arrow,h],j),f.Overlays.svg.PlainArrow=function(){h.apply(this,[f.Overlays.PlainArrow,arguments])},V.extend(f.Overlays.svg.PlainArrow,[f.Overlays.PlainArrow,h],j),f.Overlays.svg.Diamond=function(){h.apply(this,[f.Overlays.Diamond,arguments])},V.extend(f.Overlays.svg.Diamond,[f.Overlays.Diamond,h],j),f.Overlays.svg.GuideLines=function(){var y=null,w=this,g,E;f.Overlays.GuideLines.apply(this,arguments),this.paint=function(R,B){y==null&&(y=G("path"),R.connector.svg.appendChild(y),w.attachListeners(y,R.connector),w.attachListeners(y,w),g=G("path"),R.connector.svg.appendChild(g),w.attachListeners(g,R.connector),w.attachListeners(g,w),E=G("path"),R.connector.svg.appendChild(E),w.attachListeners(E,R.connector),w.attachListeners(E,w));var n=[0,0];B.xmin<0&&(n[0]=-B.xmin),B.ymin<0&&(n[1]=-B.ymin),H(y,{d:U(R.head,R.tail),stroke:"red",fill:null,transform:"translate("+n[0]+","+n[1]+")"}),H(g,{d:U(R.tailLine[0],R.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+n[0]+","+n[1]+")"}),H(E,{d:U(R.headLine[0],R.headLine[1]),stroke:"green",fill:null,transform:"translate("+n[0]+","+n[1]+")"})};var U=function(R,B){return"M "+R.x+","+R.y+" L"+B.x+","+B.y}},V.extend(f.Overlays.svg.GuideLines,f.Overlays.GuideLines)}.call(typeof window<"u"?window:jt),function(){var Z=this,f=Z.jsPlumb,V=Z.jsPlumbUtil,it=Z.Katavorio,K=Z.Biltong,nt=function(r){var p=r._mottle;return p||(p=r._mottle=new Z.Mottle),p},c=function(r,p){p=p||"main";var u="_katavorio_"+p,_=r[u],x=r.getEventManager();return _||(_=new it({bind:x.on,unbind:x.off,getSize:f.getSize,getConstrainingRectangle:function(h){return[h.parentNode.scrollWidth,h.parentNode.scrollHeight]},getPosition:function(h,j){var y=r.getOffset(h,j,h._katavorioDrag?h.offsetParent:null);return[y.left,y.top]},setPosition:function(h,j){h.style.left=j[0]+"px",h.style.top=j[1]+"px"},addClass:f.addClass,removeClass:f.removeClass,intersects:K.intersects,indexOf:function(h,j){return h.indexOf(j)},scope:r.getDefaultScope(),css:{noSelect:r.dragSelectClass,droppable:"jtk-droppable",draggable:"jtk-draggable",drag:"jtk-drag",selected:"jtk-drag-selected",active:"jtk-drag-active",hover:"jtk-drag-hover",ghostProxy:"jtk-ghost-proxy"}}),_.setZoom(r.getZoom()),r[u]=_,r.bind("zoom",_.setZoom)),_},O=function(r){var p=r.el._jsPlumbDragOptions,u=!0;return p.canDrag&&(u=p.canDrag()),u&&(this.setHoverSuspended(!0),this.select({source:r.el}).addClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:r.el}).addClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),this.setConnectionBeingDragged(!0)),u},l=function(r){var p=this.getUIPosition(arguments,this.getZoom());if(p!=null){var u=r.el._jsPlumbDragOptions;this.draw(r.el,p,null,!0),u._dragging&&this.addClass(r.el,"jtk-dragged"),u._dragging=!0}},i=function(r){for(var p=r.selection,u,_=function(h){var j;h[1]!=null&&(u=this.getUIPosition([{el:h[2].el,pos:[h[1].left,h[1].top]}]),j=this.draw(h[2].el,u)),h[0]._jsPlumbDragOptions!=null&&delete h[0]._jsPlumbDragOptions._dragging,this.removeClass(h[0],"jtk-dragged"),this.select({source:h[2].el}).removeClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:h[2].el}).removeClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),r.e._drawResult=r.e._drawResult||{c:[],e:[],a:[]},Array.prototype.push.apply(r.e._drawResult.c,j.c),Array.prototype.push.apply(r.e._drawResult.e,j.e),Array.prototype.push.apply(r.e._drawResult.a,j.a),this.getDragManager().dragEnded(h[2].el)}.bind(this),x=0;x0?r.touches:r.changedTouches&&r.changedTouches.length>0?r.changedTouches:r.targetTouches&&r.targetTouches.length>0?r.targetTouches:[r]},L=function(r){var p={},u=[],_={},x={},h={};this.register=function(j){var y=r.getId(j),w;p[y]||(p[y]=j,u.push(j),_[y]={});var g=function(E){if(E){for(var U=0;U0){w||(w=r.getOffset(j));var n=r.getOffset(R);_[y][B]={id:B,offset:{left:n.left-w.left,top:n.top-w.top}},h[B]=y}g(E.childNodes[U])}}};g(j)},this.updateOffsets=function(j,y){if(j!=null){y=y||{};var w=jsPlumb.getElement(j),g=r.getId(w),E=_[g],U;if(E){for(var R in E)if(E.hasOwnProperty(R)){var B=jsPlumb.getElement(R),n=y[R]||r.getOffset(B);if(B.offsetParent==null&&_[g][R]!=null)continue;U||(U=r.getOffset(w)),_[g][R]={id:R,offset:{left:n.left-U.left,top:n.top-U.top}},h[R]=g}}}},this.endpointAdded=function(j,y){y=y||r.getId(j);var w=document.body,g=j.parentNode;for(x[y]=x[y]?x[y]+1:1;g!=null&&g!==w;){var E=r.getId(g,null,!0);if(E&&p[E]){var U=r.getOffset(g);if(_[E][y]==null){var R=r.getOffset(j);_[E][y]={id:y,offset:{left:R.left-U.left,top:R.top-U.top}},h[y]=E}break}g=g.parentNode}},this.endpointDeleted=function(j){if(x[j.elementId]&&(x[j.elementId]--,x[j.elementId]<=0))for(var y in _)_.hasOwnProperty(y)&&_[y]&&(delete _[y][j.elementId],delete h[j.elementId])},this.changeId=function(j,y){_[y]=_[j],_[j]={},h[y]=h[j],h[j]=null},this.getElementsForDraggable=function(j){return _[j]},this.elementRemoved=function(j){var y=h[j];y&&(_[y]&&delete _[y][j],delete h[j])},this.reset=function(){p={},u=[],_={},x={}},this.dragEnded=function(j){if(j.offsetParent!=null){var y=r.getId(j),w=h[y];w&&this.updateOffsets(w)}},this.setParent=function(j,y,w,g,E){var U=h[y];_[g]||(_[g]={});var R=r.getOffset(w),B=E||r.getOffset(j);U&&_[U]&&delete _[U][y],_[g][y]={id:y,offset:{left:B.left-R.left,top:B.top-R.top}},h[y]=g},this.clearParent=function(j,y){var w=h[y];w&&(delete _[w][y],delete h[y])},this.revalidateParent=function(j,y,w){var g=h[y];if(g){var E={};E[y]=w,this.updateOffsets(g,E),r.revalidate(g)}},this.getDragAncestor=function(j){var y=jsPlumb.getElement(j),w=r.getId(y),g=h[w];return g?jsPlumb.getElement(g):null}},H=function(r,p,u){p=V.fastTrim(p),typeof r.className.baseVal<"u"?r.className.baseVal=p:r.className=p;try{var _=r.classList;if(_!=null){for(;_.length>0;)_.remove(_.item(0));for(var x=0;x"u"?r.className:r.className.baseVal},P=function(r,p,u){p=p==null?[]:V.isArray(p)?p:p.split(/\s+/),u=u==null?[]:V.isArray(u)?u:u.split(/\s+/);var _=G(r),x=_.split(/\s+/),h=function(j,y){for(var w=0;w0||w.scrollLeft>0)&&(_.left-=w.scrollLeft,_.top-=w.scrollTop)}.bind(this);x!=null;)_.left+=x.offsetLeft,_.top+=x.offsetTop,h(x),x=p?x.offsetParent:x.offsetParent===u?null:x.offsetParent;if(u!=null&&!p&&(u.scrollTop>0||u.scrollLeft>0)){var j=r.offsetParent!=null?this.getStyle(r.offsetParent,"position"):"static",y=this.getStyle(r,"position");y!=="absolute"&&y!=="fixed"&&j!=="absolute"&&j!=="fixed"&&(_.left-=u.scrollLeft,_.top-=u.scrollTop)}return _},getPositionOnElement:function(r,p,u){var _=typeof p.getBoundingClientRect<"u"?p.getBoundingClientRect():{left:0,top:0,width:0,height:0},x=document.body,h=document.documentElement,j=window.pageYOffset||h.scrollTop||x.scrollTop,y=window.pageXOffset||h.scrollLeft||x.scrollLeft,w=h.clientTop||x.clientTop||0,g=h.clientLeft||x.clientLeft||0,E=0,U=0,R=_.top+j-w+E*u,B=_.left+y-g+U*u,n=jsPlumb.pageLocation(r),o=_.width||p.offsetWidth*u,t=_.height||p.offsetHeight*u,d=(n[0]-B)/o,v=(n[1]-R)/t;return[d,v]},getAbsolutePosition:function(r){var p=function(u){var _=r.style[u];if(_)return parseFloat(_.substring(0,_.length-2))};return[p("left"),p("top")]},setAbsolutePosition:function(r,p,u,_){u?this.animate(r,{left:"+="+(p[0]-u[0]),top:"+="+(p[1]-u[1])},_):(r.style.left=p[0]+"px",r.style.top=p[1]+"px")},getSize:function(r){return[r.offsetWidth,r.offsetHeight]},getWidth:function(r){return r.offsetWidth},getHeight:function(r){return r.offsetHeight},getRenderMode:function(){return"svg"},draggable:function(r,p){var u;return r=V.isArray(r)||r.length!=null&&!V.isString(r)?r:[r],Array.prototype.slice.call(r).forEach(function(_){u=this.info(_),u.el&&this._initDraggableIfNecessary(u.el,!0,p,u.id,!0)}.bind(this)),this},snapToGrid:function(r,p,u){var _=[],x=function(y){var w=this.info(y);if(w.el!=null&&w.el._katavorioDrag){var g=w.el._katavorioDrag.snap(p,u);this.revalidate(w.el),_.push([w.el,g])}}.bind(this);if(arguments.length===1||arguments.length===3)x(r,p,u);else{var h=this.getManagedElements();for(var j in h)x(j,arguments[0],arguments[1])}return _},initDraggable:function(r,p,u){c(this,u).draggable(r,p),r._jsPlumbDragOptions=p},destroyDraggable:function(r,p){c(this,p).destroyDraggable(r),r._jsPlumbDragOptions=null,r._jsPlumbRelatedElement=null},unbindDraggable:function(r,p,u,_){c(this,_).destroyDraggable(r,p,u)},setDraggable:function(r,p){return jsPlumb.each(r,function(u){this.isDragSupported(u)&&(this._draggableStates[this.getAttribute(u,"id")]=p,this.setElementDraggable(u,p))}.bind(this))},_draggableStates:{},toggleDraggable:function(r){var p;return jsPlumb.each(r,function(u){var _=this.getAttribute(u,"id");return p=this._draggableStates[_]==null?!1:this._draggableStates[_],p=!p,this._draggableStates[_]=p,this.setDraggable(u,p),p}.bind(this)),p},_initDraggableIfNecessary:function(r,p,u,_,x){if(!jsPlumb.headless){var h=p??!1;if(h&&jsPlumb.isDragSupported(r,this)){var j=u||this.Defaults.DragOptions;if(j=jsPlumb.extend({},j),jsPlumb.isAlreadyDraggable(r,this))u.force&&this.initDraggable(r,j);else{var y=jsPlumb.dragEvents.drag,w=jsPlumb.dragEvents.stop,g=jsPlumb.dragEvents.start;this.manage(_,r),j[g]=V.wrap(j[g],O.bind(this)),j[y]=V.wrap(j[y],l.bind(this)),j[w]=V.wrap(j[w],i.bind(this));var E=this.getId(r);this._draggableStates[E]=!0;var U=this._draggableStates[E];j.disabled=U==null?!1:!U,this.initDraggable(r,j),this.getDragManager().register(r),x&&this.fire("elementDraggable",{el:r,options:j})}}}},animationSupported:!0,getElement:function(r){return r==null?null:(r=typeof r=="string"?r:r.tagName==null&&r.length!=null&&r.enctype==null?r[0]:r,typeof r=="string"?document.getElementById(r):r)},removeElement:function(r){c(this).elementRemoved(r),this.getEventManager().remove(r)},doAnimate:function(r,p,u){u=u||{};var _=this.getOffset(r),x=b(_,p),h=x[0]-_.left,j=x[1]-_.top,y=u.duration||250,w=15,g=y/w,E=w/y*h,U=w/y*j,R=0,B=setInterval(function(){f.setPosition(r,{left:_.left+E*(R+1),top:_.top+U*(R+1)}),u.step!=null&&u.step(R,Math.ceil(g)),R++,R>=g&&(window.clearInterval(B),u.complete!=null&&u.complete())},w)},destroyDroppable:function(r,p){c(this,p).destroyDroppable(r)},unbindDroppable:function(r,p,u,_){c(this,_).destroyDroppable(r,p,u)},droppable:function(r,p){r=V.isArray(r)||r.length!=null&&!V.isString(r)?r:[r];var u;return p=p||{},p.allowLoopback=!1,Array.prototype.slice.call(r).forEach(function(_){u=this.info(_),u.el&&this.initDroppable(u.el,p)}.bind(this)),this},initDroppable:function(r,p,u){c(this,u).droppable(r,p)},isAlreadyDraggable:function(r){return r._katavorioDrag!=null},isDragSupported:function(r,p){return!0},isDropSupported:function(r,p){return!0},isElementDraggable:function(r){return r=f.getElement(r),r._katavorioDrag&&r._katavorioDrag.isEnabled()},getDragObject:function(r){return r[0].drag.getDragElement()},getDragScope:function(r){return r._katavorioDrag&&r._katavorioDrag.scopes.join(" ")||""},getDropEvent:function(r){return r[0].e},getUIPosition:function(r,p){var u=r[0].el;if(u.offsetParent==null)return null;var _=r[0].finalPos||r[0].pos,x={left:_[0],top:_[1]};if(u._katavorioDrag&&u.offsetParent!==this.getContainer()){var h=this.getOffset(u.offsetParent);x.left+=h.left,x.top+=h.top}return x},setDragFilter:function(r,p,u){r._katavorioDrag&&r._katavorioDrag.setFilter(p,u)},setElementDraggable:function(r,p){r=f.getElement(r),r._katavorioDrag&&r._katavorioDrag.setEnabled(p)},setDragScope:function(r,p){r._katavorioDrag&&r._katavorioDrag.k.setDragScope(r,p)},setDropScope:function(r,p){r._katavorioDrop&&r._katavorioDrop.length>0&&r._katavorioDrop[0].k.setDropScope(r,p)},addToPosse:function(r,p){var u=Array.prototype.slice.call(arguments,1),_=c(this);f.each(r,function(x){x=[f.getElement(x)],x.push.apply(x,u),_.addToPosse.apply(_,x)})},setPosse:function(r,p){var u=Array.prototype.slice.call(arguments,1),_=c(this);f.each(r,function(x){x=[f.getElement(x)],x.push.apply(x,u),_.setPosse.apply(_,x)})},removeFromPosse:function(r,p){var u=Array.prototype.slice.call(arguments,1),_=c(this);f.each(r,function(x){x=[f.getElement(x)],x.push.apply(x,u),_.removeFromPosse.apply(_,x)})},removeFromAllPosses:function(r){var p=c(this);f.each(r,function(u){p.removeFromAllPosses(f.getElement(u))})},setPosseState:function(r,p,u){var _=c(this);f.each(r,function(x){_.setPosseState(f.getElement(x),p,u)})},dragEvents:{start:"start",stop:"stop",drag:"drag",step:"step",over:"over",out:"out",drop:"drop",complete:"complete",beforeStart:"beforeStart"},animEvents:{step:"step",complete:"complete"},stopDrag:function(r){r._katavorioDrag&&r._katavorioDrag.abort()},addToDragSelection:function(r){var p=this.getElement(r);p!=null&&(p._isJsPlumbGroup||p._jsPlumbGroup==null)&&c(this).select(r)},removeFromDragSelection:function(r){c(this).deselect(r)},getDragSelection:function(){return c(this).getSelection()},clearDragSelection:function(){c(this).deselectAll()},trigger:function(r,p,u,_){this.getEventManager().trigger(r,p,u,_)},doReset:function(){for(var r in this)r.indexOf("_katavorio_")===0&&this[r].reset()},getEventManager:function(){return nt(this)},on:function(r,p,u){return this.getEventManager().on.apply(this,arguments),this},off:function(r,p,u){return this.getEventManager().off.apply(this,arguments),this}});var A=function(r){var p=function(){/complete|loaded|interactive/.test(document.readyState)&&typeof document.body<"u"&&document.body!=null?r():setTimeout(p,9)};p()};A(f.init)}.call(typeof window<"u"?window:jt)})(De);const ze=[{title:"工作流",icon:"iconfont icon-shouye",isOpen:!0,id:"1",children:[{icon:"iconfont icon-gongju",name:"引擎",id:"11",form:[{type:"input",label:"客户姓名",prop:"name",placeholder:"请输入客户姓名",required:!0,disabled:!1},{type:"select",label:"性别",prop:"sex",placeholder:"请选择性别",required:!0,disabled:!1,options:[{value:"0",label:"女"},{value:"1",label:"男"}]},{type:"input",label:"员工编号",prop:"number",placeholder:"请输入员工编号",required:!0,disabled:!1},{type:"input",label:"办公电话",prop:"mobile",placeholder:"请输入办公电话",required:!0,disabled:!1},{type:"select",label:"权限分配",prop:"role",placeholder:"请选择性别",required:!0,disabled:!1,options:[{value:"0",label:"编辑权限"},{value:"1",label:"删除权限"}]},{type:"checkbox",label:"模块选择",prop:"module",placeholder:"请选择模块",required:!0,disabled:!1}]},{icon:"iconfont icon-shouye_dongtaihui",name:"模版",id:"12",form:[{type:"input",label:"等级",prop:"grade",placeholder:"请输入等级",required:!0,disabled:!1},{type:"input",label:"登记密码",prop:"password",placeholder:"请输入登记密码",required:!0,disabled:!1}]},{icon:"iconfont icon-zhongduancanshuchaxun",name:"名称",id:"13",form:[{type:"input",label:"数据表",prop:"dataSheet",placeholder:"请输入数据表",required:!0,disabled:!1},{type:"input",label:"字段配置",prop:"field",placeholder:"请输入字段配置",required:!0,disabled:!1}]},{icon:"iconfont icon-zhongduancanshu",name:"版本",id:"14",form:[{type:"input",label:"发布模板",prop:"publish",placeholder:"请输入发布模板",required:!0,disabled:!1}]},{icon:"iconfont icon-bolangnengshiyanchang",name:"建模",id:"15",form:[{type:"input",label:"内容模板",prop:"content",placeholder:"请输入内容模板",required:!0,disabled:!1}]},{icon:"iconfont icon-xingqiu",name:"节点",id:"16",form:[{type:"input",label:"活动名称6",prop:"name16"}]}]},{title:"流程",isOpen:!0,icon:"iconfont icon-caijian",id:"2",children:[{icon:"iconfont icon-fuwenben",name:"实例",id:"21",form:[{type:"input",label:"活动名称7",prop:"name21"}]},{icon:"iconfont icon-fuwenbenkuang",name:"轨迹",id:"22",form:[{type:"input",label:"活动名称8",prop:"name22"}]},{icon:"iconfont icon-shangchuan",name:"数据",id:"23",form:[{type:"input",label:"活动名称9",prop:"name23"}]}]},{title:"任务",isOpen:!0,icon:"iconfont icon-shuju",id:"3",children:[{icon:"iconfont icon-icon-",name:"参与人",id:"31",form:[{type:"input",label:"活动名称1",prop:"name31"}]},{icon:"iconfont icon-gerenzhongxin",name:"执行人",id:"32",form:[{type:"input",label:"活动名称2",prop:"name32"}]},{icon:"iconfont icon-fangkuang",name:"工单",id:"33",form:[{type:"input",label:"活动名称3",prop:"name33"}]}]}],qe={Anchors:["Top","TopCenter","TopRight","TopLeft","Right","RightMiddle","Bottom","BottomCenter","BottomRight","BottomLeft","Left","LeftMiddle"],Container:"workflow-right",Connector:["Bezier",{curviness:100}],ConnectionsDetachable:!1,DeleteEndpointsOnDetach:!1,Endpoint:["Blank",{Overlays:""}],EndpointStyle:{fill:"#1879ffa1",outlineWidth:1},LogEnabled:!0,PaintStyle:{stroke:"#E0E3E7",strokeWidth:1,outlineStroke:"transparent",outlineWidth:10},DragOptions:{cursor:"pointer",zIndex:2e3},Overlays:[["Arrow",{width:10,length:8,location:1,direction:1,foldback:.623}],["Label",{label:"",location:.5,cssClass:"aLabel"}]],RenderMode:"svg",HoverPaintStyle:{stroke:"#b0b2b5",strokeWidth:1},EndpointHoverStyle:{fill:"red"},Scope:"jsPlumb_DefaultScope"},Ke={filter:".workflow-icon-drag",filterExclude:!1,anchor:"Continuous",allowLoopback:!0,maxConnections:-1},$e={filter:".workflow-icon-drag",filterExclude:!1,anchor:"Continuous",allowLoopback:!0,dropOptions:{hoverClass:"ef-drop-hover"}},Ee={isSource:!0,isTarget:!0,anchor:"Continuous"},Ze={class:"workflow-container layout-padding"},Je={key:0,class:"workflow-mask"},Qe={class:"layout-padding-auto layout-padding-view workflow-warp"},tn={class:"workflow"},en={class:"workflow-content"},nn={class:"workflow-left"},sn=["onClick"],rn=["data-name","data-icon","data-id"],on={class:"workflow-left-item-icon"},an={class:"font10 pl5 name"},ln=["id","data-node-id","onClick","onContextmenu"],un={class:"workflow-left-item-icon"},hn={class:"font10 pl5 name"},cn=Oe({name:"pagesWorkflow"}),fn=Oe({...cn,setup(Qt){const Z=ye(()=>me(()=>import("./index.ad66fbb1.js"),["./index.ad66fbb1.js","./vue.aade88c7.js","./index.189c97df.js","./index.b5b78cd7.css","./index.c80e0093.css"],import.meta.url)),f=ye(()=>me(()=>import("./index.f207f15e.js"),["./index.f207f15e.js","./vue.aade88c7.js","./index.189c97df.js","./index.b5b78cd7.css","./index.8013691f.css"],import.meta.url)),V=ye(()=>me(()=>import("./index.d8065ff4.js"),["./index.d8065ff4.js","./index.189c97df.js","./vue.aade88c7.js","./index.b5b78cd7.css"],import.meta.url)),it=ye(()=>me(()=>import("./help.295de586.js"),["./help.295de586.js","./vue.aade88c7.js"],import.meta.url)),K=ne([]),nt=ne(),c=ne(),O=ne(),l=ne(),i=ne(),b=Le(),D=Ie(),{themeConfig:M}=Ne(D),{copyText:C}=We(),a=Ge({leftNavList:[],dropdownNode:{x:"",y:""},dropdownLine:{x:"",y:""},isShow:!1,jsPlumb:null,jsPlumbNodeIndex:null,jsplumbDefaults:qe,jsplumbMakeSource:Ke,jsplumbMakeTarget:$e,jsplumbConnect:Ee,jsplumbData:{nodeList:[],lineList:[]}}),e=()=>{document.body.clientWidth<768?a.isShow=!0:a.isShow=!1},T=()=>{a.leftNavList=ze,a.jsplumbData={nodeList:[{nodeId:"huej738hbji",left:"148px",top:"93px",class:"workflow-right-clone",icon:"iconfont icon-gongju",name:"引擎",id:"11"},{nodeId:"52kcszzyxrd",left:"458px",top:"203px",class:"workflow-right-clone",icon:"iconfont icon-shouye_dongtaihui",name:"模版",id:"12"},{nodeId:"nltskl6k4me",left:"164px",top:"350px",class:"workflow-right-clone",icon:"iconfont icon-zhongduancanshuchaxun",name:"名称",id:"13"}],lineList:[{sourceId:"huej738hbji",targetId:"52kcszzyxrd",label:"传送"},{sourceId:"huej738hbji",targetId:"nltskl6k4me",label:""}]}},L=()=>{K.value.forEach(R=>{Ve.create(R,{group:{name:"vue-next-admin-1",pull:"clone",put:!1},animation:0,sort:!1,draggable:".workflow-left-item",forceFallback:!0,onEnd:function(B){const{name:n,icon:o,id:t}=B.clone.dataset,{layerX:d,layerY:v,clientX:F,clientY:I}=B.originalEvent,X=nt.value,{x:N,y:W,width:ot,height:st}=X.getBoundingClientRect();if(Fot+N||IW+st)ae.warning("请把节点拖入到画布中");else{const Q=Math.random().toString(36).substr(2,12),rt={nodeId:Q,left:`${d-40}px`,top:`${v-15}px`,class:"workflow-right-clone",name:n,icon:o,id:t};a.jsplumbData.nodeList.push(rt),be(()=>{a.jsPlumb.makeSource(Q,a.jsplumbMakeSource),a.jsPlumb.makeTarget(Q,a.jsplumbMakeTarget,Ee),a.jsPlumb.draggable(Q,{containment:"parent",stop:pt=>{a.jsplumbData.nodeList.forEach(ft=>{ft.nodeId===pt.el.id&&(ft.left=`${pt.pos[0]}px`,ft.top=`${pt.pos[1]}px`)})}})})}}})})},H=()=>{De.jsPlumb.ready(()=>{a.jsPlumb=De.jsPlumb.getInstance({detachable:!1,Container:"workflow-right"}),a.jsPlumb.fire("jsPlumbDemoLoaded",a.jsPlumb),a.jsPlumb.importDefaults(a.jsplumbDefaults),a.jsPlumb.setSuspendDrawing(!1,!0),G(),a.jsPlumb.bind("contextmenu",(R,B)=>{B.preventDefault();const{sourceId:n,targetId:o}=R,{clientX:t,clientY:d}=B;a.dropdownLine.x=t,a.dropdownLine.y=d;const v=a.jsplumbData.nodeList.find(I=>I.nodeId===o),F=a.jsplumbData.lineList.find(I=>I.sourceId===n&&I.targetId===o);v.type="line",v.label=F.label,O.value.openContextmenu(v,R)}),a.jsPlumb.bind("beforeDrop",R=>{const{sourceId:B,targetId:n}=R;return a.jsplumbData.lineList.find(t=>t.sourceId===B&&t.targetId===n)?(ae.warning("关系已存在,不可重复连接"),!1):!0}),a.jsPlumb.bind("connection",R=>{const{sourceId:B,targetId:n}=R;a.jsplumbData.lineList.push({sourceId:B,targetId:n,label:""})}),a.jsPlumb.bind("connectionDetached",R=>{const{sourceId:B,targetId:n}=R;a.jsplumbData.lineList=a.jsplumbData.lineList.filter(o=>!(o.sourceId==B&&o.targetId==n))})})},G=()=>{a.jsplumbData.nodeList.forEach(R=>{a.jsPlumb.makeSource(R.nodeId,a.jsplumbMakeSource),a.jsPlumb.makeTarget(R.nodeId,a.jsplumbMakeTarget,Ee),a.jsPlumb.draggable(R.nodeId,{containment:"parent",stop:B=>{a.jsplumbData.nodeList.forEach(n=>{n.nodeId===B.el.id&&(n.left=`${B.pos[0]}px`,n.top=`${B.pos[1]}px`)})}})}),a.jsplumbData.lineList.forEach(R=>{a.jsPlumb.connect({source:R.sourceId,target:R.targetId,label:R.label},a.jsplumbConnect)})},P=R=>{R.isOpen=!R.isOpen},A=R=>{a.jsPlumbNodeIndex=R},r=(R,B,n)=>{a.jsPlumbNodeIndex=B;const{clientX:o,clientY:t}=n;a.dropdownNode.x=o,a.dropdownNode.y=t,R.type="node",R.label="";let d={};a.leftNavList.forEach(v=>{v.children&&v.children.find(F=>F.id===R.id)&&(d=v.children.find(F=>F.id===R.id))}),R.from=d.form,c.value.openContextmenu(R)},p=R=>{const{contextMenuClickId:B,nodeId:n}=R;if(B===0){const o=a.jsplumbData.nodeList.findIndex(t=>t.nodeId===n);a.jsplumbData.nodeList.splice(o,1),a.jsPlumb.removeAllEndpoints(n),a.jsPlumbNodeIndex=null}else B===1&&l.value.open(R)},u=(R,B)=>{const{contextMenuClickId:n}=R,{endpoints:o}=B,t=[];o.forEach(d=>{t.push({id:d.element.id,innerText:d.element.innerText})}),R.contact=`${t[0].innerText}(${t[0].id}) => ${t[1].innerText}(${t[1].id})`,n===0?a.jsPlumb.deleteConnection(B):n===1&&l.value.open(R,B)},_=R=>{const{sourceId:B,targetId:n,label:o}=R,t=a.jsPlumb.getConnections({source:B,target:n})[0];t.setLabel(o),!o||o===""?t.addClass("workflow-right-empty-label"):(t.removeClass("workflow-right-empty-label"),t.addClass("workflow-right-label")),a.jsplumbData.lineList.forEach(d=>{d.sourceId===B&&d.targetId===n&&(d.label=o)})},x=R=>{const{nodeId:B,name:n,icon:o}=R;a.jsplumbData.nodeList.forEach(t=>{t.nodeId===B&&(t.name=n,t.icon=o)}),be(()=>{a.jsPlumb.setSuspendDrawing(!1,!0)})},h=R=>{switch(R){case"help":j();break;case"download":y();break;case"submit":w();break;case"copy":g();break;case"del":E();break;case"fullscreen":U();break}},j=()=>{be(()=>{i.value.open()})},y=()=>{const{globalTitle:R}=M.value,B="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(a.jsplumbData,null," ")),n=document.createElement("a");n.setAttribute("href",B),n.setAttribute("download",`${R}工作流.json`),n.click(),n.remove(),ae.success("下载成功")},w=()=>{ae.success("数据提交成功")},g=()=>{C(JSON.stringify(a.jsplumbData))},E=()=>{Fe.confirm("此操作将清空画布,是否继续?","提示",{confirmButtonText:"清空",cancelButtonText:"取消"}).then(()=>{a.jsplumbData.nodeList.forEach(R=>{a.jsPlumb.removeAllEndpoints(R.nodeId)}),be(()=>{a.jsplumbData={nodeList:[],lineList:[]},ae.success("清空画布成功")})}).catch(()=>{})},U=()=>{b.setCurrenFullscreen(!0)};return Ue(async()=>{await T(),L(),H(),e(),window.addEventListener("resize",e)}),He(()=>{window.removeEventListener("resize",e)}),(R,B)=>{const n=je("SvgIcon"),o=je("el-scrollbar");return Zt(),Jt("div",Ze,[a.isShow?(Zt(),Jt("div",Je)):Be("",!0),Rt("div",Qe,[Rt("div",tn,[zt(le(Z),{onTool:h}),Rt("div",en,[Rt("div",nn,[zt(o,null,{default:Ye(()=>[(Zt(!0),Jt(_e,null,Pe(a.leftNavList,t=>(Zt(),Jt("div",{ref_for:!0,ref_key:"leftNavRefs",ref:K,key:t.id,style:ke({height:t.isOpen?"auto":"50px",overflow:"hidden"}),class:"workflow-left-id"},[Rt("div",{class:"workflow-left-title",onClick:d=>P(t)},[Rt("span",null,Ce(t.title),1),zt(n,{name:t.isOpen?"ele-ArrowDown":"ele-ArrowRight"},null,8,["name"])],8,sn),(Zt(!0),Jt(_e,null,Pe(t.children,(d,v)=>(Zt(),Jt("div",{class:"workflow-left-item",key:v,"data-name":d.name,"data-icon":d.icon,"data-id":d.id},[Rt("div",on,[zt(n,{name:d.icon,class:"workflow-icon-drag"},null,8,["name"]),Rt("div",an,Ce(d.name),1)])],8,rn))),128))],4))),128))]),_:1})]),Rt("div",{class:"workflow-right",ref_key:"workflowRightRef",ref:nt},[(Zt(!0),Jt(_e,null,Pe(a.jsplumbData.nodeList,(t,d)=>(Zt(),Jt("div",{key:t.nodeId,id:t.nodeId,"data-node-id":t.nodeId,class:Te(t.class),style:ke({left:t.left,top:t.top}),onClick:v=>A(d),onContextmenu:Xe(v=>r(t,d,v),["prevent"])},[Rt("div",{class:Te(["workflow-right-box",{"workflow-right-active":a.jsPlumbNodeIndex===d}])},[Rt("div",un,[zt(n,{name:t.icon,class:"workflow-icon-drag"},null,8,["name"]),Rt("div",hn,Ce(t.name),1)])],2)],46,ln))),128))],512)])])]),zt(le(f),{dropdown:a.dropdownNode,ref_key:"contextmenuNodeRef",ref:c,onCurrent:p},null,8,["dropdown"]),zt(le(f),{dropdown:a.dropdownLine,ref_key:"contextmenuLineRef",ref:O,onCurrent:u},null,8,["dropdown"]),zt(le(V),{ref_key:"drawerRef",ref:l,onLabel:_,onNode:x},null,512),zt(le(it),{ref_key:"helpRef",ref:i},null,512)])}}});const bn=Re(fn,[["__scopeId","data-v-fd2debf1"]]);export{bn as default}; //# sourceMappingURL=index.440b293f.js.map