UNPKG

mermaid

Version:

Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.

25 lines 400 kB
import{a as v}from"./chunk-GTKDMUJJ.mjs";function Ue(r){"@babel/helpers - typeof";return Ue=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue(r)}v(Ue,"_typeof");function ni(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}v(ni,"_classCallCheck");function Ai(r,e){for(var t=0;t<e.length;t++){var a=e[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}v(Ai,"_defineProperties");function ii(r,e,t){return e&&Ai(r.prototype,e),t&&Ai(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}v(ii,"_createClass");function Us(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}v(Us,"_defineProperty$1");function Dr(r,e){return $u(r)||Hu(r,e)||Ys(r,e)||Gu()}v(Dr,"_slicedToArray");function $u(r){if(Array.isArray(r))return r}v($u,"_arrayWithHoles");function Hu(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var a=[],n=!0,i=!1,s,o;try{for(t=t.call(r);!(n=(s=t.next()).done)&&(a.push(s.value),!(e&&a.length===e));n=!0);}catch(l){i=!0,o=l}finally{try{!n&&t.return!=null&&t.return()}finally{if(i)throw o}}return a}}v(Hu,"_iterableToArrayLimit");function Ys(r,e){if(r){if(typeof r=="string")return Ri(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ri(r,e)}}v(Ys,"_unsupportedIterableToArray");function Ri(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,a=new Array(e);t<e;t++)a[t]=r[t];return a}v(Ri,"_arrayLikeToArray");function Gu(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}v(Gu,"_nonIterableRest");function Xs(r,e){var t=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=Ys(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var a=0,n=v(function(){},"F");return{s:n,n:v(function(){return a>=r.length?{done:!0}:{done:!1,value:r[a++]}},"n"),e:v(function(l){throw l},"e"),f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,s=!1,o;return{s:v(function(){t=t.call(r)},"s"),n:v(function(){var l=t.next();return i=l.done,l},"n"),e:v(function(l){s=!0,o=l},"e"),f:v(function(){try{!i&&t.return!=null&&t.return()}finally{if(s)throw o}},"f")}}v(Xs,"_createForOfIteratorHelper");var Ke=typeof window>"u"?null:window,Oi=Ke?Ke.navigator:null;Ke&&Ke.document;var Ku=Ue(""),Zs=Ue({}),Wu=Ue(function(){}),Uu=typeof HTMLElement>"u"?"undefined":Ue(HTMLElement),wa=v(function(e){return e&&e.instanceString&&Ve(e.instanceString)?e.instanceString():null},"instanceStr"),he=v(function(e){return e!=null&&Ue(e)==Ku},"string"),Ve=v(function(e){return e!=null&&Ue(e)===Wu},"fn"),Oe=v(function(e){return!pr(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Te=v(function(e){return e!=null&&Ue(e)===Zs&&!Oe(e)&&e.constructor===Object},"plainObject"),Yu=v(function(e){return e!=null&&Ue(e)===Zs},"object"),ie=v(function(e){return e!=null&&Ue(e)===Ue(1)&&!isNaN(e)},"number"),Xu=v(function(e){return ie(e)&&Math.floor(e)===e},"integer"),Ja=v(function(e){if(Uu!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),pr=v(function(e){return xa(e)||Qs(e)},"elementOrCollection"),xa=v(function(e){return wa(e)==="collection"&&e._private.single},"element"),Qs=v(function(e){return wa(e)==="collection"&&!e._private.single},"collection"),si=v(function(e){return wa(e)==="core"},"core"),Js=v(function(e){return wa(e)==="stylesheet"},"stylesheet"),Zu=v(function(e){return wa(e)==="event"},"event"),_r=v(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),Qu=v(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),Ju=v(function(e){return Te(e)&&ie(e.x1)&&ie(e.x2)&&ie(e.y1)&&ie(e.y2)},"boundingBox"),_u=v(function(e){return Yu(e)&&Ve(e.then)},"promise"),ju=v(function(){return Oi&&Oi.userAgent.match(/msie|trident|edge/i)},"ms"),la=v(function(e,t){t||(t=v(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;s<arguments.length;s++)i.push(arguments[s]);return i.join("$")},"keyFn"));var a=v(function n(){var i=this,s=arguments,o,l=t.apply(i,s),u=n.cache;return(o=u[l])||(o=u[l]=e.apply(i,s)),o},"memoizedFn");return a.cache={},a},"memoize"),oi=la(function(r){return r.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),ln=la(function(r){return r.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),_s=la(function(r,e){return r+e[0].toUpperCase()+e.substring(1)},function(r,e){return r+"$"+e}),Ii=v(function(e){return _r(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},"capitalize"),We="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",el="rgb[a]?\\(("+We+"[%]?)\\s*,\\s*("+We+"[%]?)\\s*,\\s*("+We+"[%]?)(?:\\s*,\\s*("+We+"))?\\)",rl="rgb[a]?\\((?:"+We+"[%]?)\\s*,\\s*(?:"+We+"[%]?)\\s*,\\s*(?:"+We+"[%]?)(?:\\s*,\\s*(?:"+We+"))?\\)",tl="hsl[a]?\\(("+We+")\\s*,\\s*("+We+"[%])\\s*,\\s*("+We+"[%])(?:\\s*,\\s*("+We+"))?\\)",al="hsl[a]?\\((?:"+We+")\\s*,\\s*(?:"+We+"[%])\\s*,\\s*(?:"+We+"[%])(?:\\s*,\\s*(?:"+We+"))?\\)",nl="\\#[0-9a-fA-F]{3}",il="\\#[0-9a-fA-F]{6}",js=v(function(e,t){return e<t?-1:e>t?1:0},"ascending"),sl=v(function(e,t){return-1*js(e,t)},"descending"),we=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments,t=1;t<e.length;t++){var a=e[t];if(a!=null)for(var n=Object.keys(a),i=0;i<n.length;i++){var s=n[i];r[s]=a[s]}}return r},ol=v(function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var t=e.length===4,a,n,i,s=16;return t?(a=parseInt(e[1]+e[1],s),n=parseInt(e[2]+e[2],s),i=parseInt(e[3]+e[3],s)):(a=parseInt(e[1]+e[2],s),n=parseInt(e[3]+e[4],s),i=parseInt(e[5]+e[6],s)),[a,n,i]}},"hex2tuple"),ul=v(function(e){var t,a,n,i,s,o,l,u;function f(h,m,y){return y<0&&(y+=1),y>1&&(y-=1),y<1/6?h+(m-h)*6*y:y<1/2?m:y<2/3?h+(m-h)*(2/3-y)*6:h}v(f,"hue2rgb");var c=new RegExp("^"+tl+"$").exec(e);if(c){if(a=parseInt(c[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(c[2]),n<0||n>100||(n=n/100,i=parseFloat(c[3]),i<0||i>100)||(i=i/100,s=c[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=l=u=Math.round(i*255);else{var d=i<.5?i*(1+n):i+n-i*n,g=2*i-d;o=Math.round(255*f(g,d,a+1/3)),l=Math.round(255*f(g,d,a)),u=Math.round(255*f(g,d,a-1/3))}t=[o,l,u,s]}return t},"hsl2tuple"),ll=v(function(e){var t,a=new RegExp("^"+el+"$").exec(e);if(a){t=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;t.push(Math.floor(s))}var o=n[1]||n[2]||n[3],l=n[1]&&n[2]&&n[3];if(o&&!l)return;var u=a[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;t.push(u)}}return t},"rgb2tuple"),vl=v(function(e){return cl[e.toLowerCase()]},"colorname2tuple"),fl=v(function(e){return(Oe(e)?e:null)||vl(e)||ol(e)||ll(e)||ul(e)},"color2tuple"),cl={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},eo=v(function(e){for(var t=e.map,a=e.keys,n=a.length,i=0;i<n;i++){var s=a[i];if(Te(s))throw Error("Tried to set map with object key");i<a.length-1?(t[s]==null&&(t[s]={}),t=t[s]):t[s]=e.value}},"setMap"),ro=v(function(e){for(var t=e.map,a=e.keys,n=a.length,i=0;i<n;i++){var s=a[i];if(Te(s))throw Error("Tried to get map with object key");if(t=t[s],t==null)return t}return t},"getMap");function dl(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}v(dl,"isObject");var ct=dl,ta=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function hl(r,e){return e={exports:{}},r(e,e.exports),e.exports}v(hl,"createCommonjsModule");var gl=typeof ta=="object"&&ta&&ta.Object===Object&&ta,pl=gl,yl=typeof self=="object"&&self&&self.Object===Object&&self,ml=pl||yl||Function("return this")(),vn=ml,bl=v(function(){return vn.Date.now()},"now"),Bn=bl,wl=/\s/;function xl(r){for(var e=r.length;e--&&wl.test(r.charAt(e)););return e}v(xl,"trimmedEndIndex");var El=xl,Cl=/^\s+/;function Sl(r){return r&&r.slice(0,El(r)+1).replace(Cl,"")}v(Sl,"baseTrim");var Tl=Sl,Dl=vn.Symbol,Ot=Dl,to=Object.prototype,kl=to.hasOwnProperty,Pl=to.toString,Jt=Ot?Ot.toStringTag:void 0;function Bl(r){var e=kl.call(r,Jt),t=r[Jt];try{r[Jt]=void 0;var a=!0}catch{}var n=Pl.call(r);return a&&(e?r[Jt]=t:delete r[Jt]),n}v(Bl,"getRawTag");var Ml=Bl,Ll=Object.prototype,Al=Ll.toString;function Rl(r){return Al.call(r)}v(Rl,"objectToString");var Ol=Rl,Il="[object Null]",zl="[object Undefined]",zi=Ot?Ot.toStringTag:void 0;function Nl(r){return r==null?r===void 0?zl:Il:zi&&zi in Object(r)?Ml(r):Ol(r)}v(Nl,"baseGetTag");var ao=Nl;function Fl(r){return r!=null&&typeof r=="object"}v(Fl,"isObjectLike");var Vl=Fl,ql="[object Symbol]";function $l(r){return typeof r=="symbol"||Vl(r)&&ao(r)==ql}v($l,"isSymbol");var Ea=$l,Ni=NaN,Hl=/^[-+]0x[0-9a-f]+$/i,Gl=/^0b[01]+$/i,Kl=/^0o[0-7]+$/i,Wl=parseInt;function Ul(r){if(typeof r=="number")return r;if(Ea(r))return Ni;if(ct(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=ct(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=Tl(r);var t=Gl.test(r);return t||Kl.test(r)?Wl(r.slice(2),t?2:8):Hl.test(r)?Ni:+r}v(Ul,"toNumber");var Fi=Ul,Yl="Expected a function",Xl=Math.max,Zl=Math.min;function Ql(r,e,t){var a,n,i,s,o,l,u=0,f=!1,c=!1,d=!0;if(typeof r!="function")throw new TypeError(Yl);e=Fi(e)||0,ct(t)&&(f=!!t.leading,c="maxWait"in t,i=c?Xl(Fi(t.maxWait)||0,e):i,d="trailing"in t?!!t.trailing:d);function g(C){var E=a,k=n;return a=n=void 0,u=C,s=r.apply(k,E),s}v(g,"invokeFunc");function h(C){return u=C,o=setTimeout(p,e),f?g(C):s}v(h,"leadingEdge");function m(C){var E=C-l,k=C-u,S=e-E;return c?Zl(S,i-k):S}v(m,"remainingWait");function y(C){var E=C-l,k=C-u;return l===void 0||E>=e||E<0||c&&k>=i}v(y,"shouldInvoke");function p(){var C=Bn();if(y(C))return b(C);o=setTimeout(p,m(C))}v(p,"timerExpired");function b(C){return o=void 0,d&&a?g(C):(a=n=void 0,s)}v(b,"trailingEdge");function w(){o!==void 0&&clearTimeout(o),u=0,a=l=n=o=void 0}v(w,"cancel");function x(){return o===void 0?s:b(Bn())}v(x,"flush");function T(){var C=Bn(),E=y(C);if(a=arguments,n=this,l=C,E){if(o===void 0)return h(l);if(c)return clearTimeout(o),o=setTimeout(p,e),g(l)}return o===void 0&&(o=setTimeout(p,e)),s}return v(T,"debounced"),T.cancel=w,T.flush=x,T}v(Ql,"debounce");var fn=Ql,Mn=Ke?Ke.performance:null,no=Mn&&Mn.now?function(){return Mn.now()}:function(){return Date.now()},Jl=function(){if(Ke){if(Ke.requestAnimationFrame)return function(r){Ke.requestAnimationFrame(r)};if(Ke.mozRequestAnimationFrame)return function(r){Ke.mozRequestAnimationFrame(r)};if(Ke.webkitRequestAnimationFrame)return function(r){Ke.webkitRequestAnimationFrame(r)};if(Ke.msRequestAnimationFrame)return function(r){Ke.msRequestAnimationFrame(r)}}return function(r){r&&setTimeout(function(){r(no())},1e3/60)}}(),_a=v(function(e){return Jl(e)},"requestAnimationFrame"),$r=no,kt=9261,io=65599,aa=5381,so=v(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kt,a=t,n;n=e.next(),!n.done;)a=a*io+n.value|0;return a},"hashIterableInts"),va=v(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:kt;return t*io+e|0},"hashInt"),fa=v(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aa;return(t<<5)+t+e|0},"hashIntAlt"),_l=v(function(e,t){return e*2097152+t},"combineHashes"),Ur=v(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),Ma=v(function(e,t){return[va(e[0],t[0]),fa(e[1],t[1])]},"hashArrays"),jl=v(function(e,t){var a={value:0,done:!1},n=0,i=e.length,s={next:v(function(){return n<i?a.value=e[n++]:a.done=!0,a},"next")};return so(s,t)},"hashIntsArray"),dt=v(function(e,t){var a={value:0,done:!1},n=0,i=e.length,s={next:v(function(){return n<i?a.value=e.charCodeAt(n++):a.done=!0,a},"next")};return so(s,t)},"hashString"),oo=v(function(){return ev(arguments)},"hashStrings"),ev=v(function(e){for(var t,a=0;a<e.length;a++){var n=e[a];a===0?t=dt(n):t=dt(n,t)}return t},"hashStringsArray"),Vi=!0,rv=console.warn!=null,tv=console.trace!=null,ui=Number.MAX_SAFE_INTEGER||9007199254740991,uo=v(function(){return!0},"trueify"),ja=v(function(){return!1},"falsify"),qi=v(function(){return 0},"zeroify"),li=v(function(){},"noop"),qe=v(function(e){throw new Error(e)},"error"),lo=v(function(e){if(e!==void 0)Vi=!!e;else return Vi},"warnings"),Le=v(function(e){lo()&&(rv?console.warn(e):(console.log(e),tv&&console.trace()))},"warn"),av=v(function(e){return we({},e)},"clone"),Or=v(function(e){return e==null?e:Oe(e)?e.slice():Te(e)?av(e):e},"copy"),nv=v(function(e){return e.slice()},"copyArray"),vo=v(function(e,t){for(t=e="";e++<36;t+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return t},"uuid"),iv={},fo=v(function(){return iv},"staticEmptyObject"),rr=v(function(e){var t=Object.keys(e);return function(a){for(var n={},i=0;i<t.length;i++){var s=t[i],o=a?.[s];n[s]=o===void 0?e[s]:o}return n}},"defaults"),jr=v(function(e,t,a){for(var n=e.length-1;n>=0&&!(e[n]===t&&(e.splice(n,1),a));n--);},"removeFromArray"),vi=v(function(e){e.splice(0,e.length)},"clearArray"),sv=v(function(e,t){for(var a=0;a<t.length;a++){var n=t[a];e.push(n)}},"push"),Pr=v(function(e,t,a){return a&&(t=_s(a,t)),e[t]},"getPrefixedProperty"),Xr=v(function(e,t,a,n){a&&(t=_s(a,t)),e[t]=n},"setPrefixedProperty"),ov=function(){function r(){ni(this,r),this._obj={}}return v(r,"ObjectMap"),ii(r,[{key:"set",value:v(function(t,a){return this._obj[t]=a,this},"set")},{key:"delete",value:v(function(t){return this._obj[t]=void 0,this},"_delete")},{key:"clear",value:v(function(){this._obj={}},"clear")},{key:"has",value:v(function(t){return this._obj[t]!==void 0},"has")},{key:"get",value:v(function(t){return this._obj[t]},"get")}]),r}(),Ir=typeof Map<"u"?Map:ov,uv="undefined",lv=function(){function r(e){if(ni(this,r),this._obj=Object.create(null),this.size=0,e!=null){var t;e.instanceString!=null&&e.instanceString()===this.instanceString()?t=e.toArray():t=e;for(var a=0;a<t.length;a++)this.add(t[a])}}return v(r,"ObjectSet"),ii(r,[{key:"instanceString",value:v(function(){return"set"},"instanceString")},{key:"add",value:v(function(t){var a=this._obj;a[t]!==1&&(a[t]=1,this.size++)},"add")},{key:"delete",value:v(function(t){var a=this._obj;a[t]===1&&(a[t]=0,this.size--)},"_delete")},{key:"clear",value:v(function(){this._obj=Object.create(null)},"clear")},{key:"has",value:v(function(t){return this._obj[t]===1},"has")},{key:"toArray",value:v(function(){var t=this;return Object.keys(this._obj).filter(function(a){return t.has(a)})},"toArray")},{key:"forEach",value:v(function(t,a){return this.toArray().forEach(t,a)},"forEach")}]),r}(),Vt=(typeof Set>"u"?"undefined":Ue(Set))!==uv?Set:lv,cn=v(function(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!si(e)){qe("An element must have a core reference and parameters set");return}var n=t.group;if(n==null&&(t.data&&t.data.source!=null&&t.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){qe("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?n==="edges":!!t.pannable,active:!1,classes:new Vt,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),t.renderedPosition){var s=t.renderedPosition,o=e.pan(),l=e.zoom();i.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Oe(t.classes)?u=t.classes:he(t.classes)&&(u=t.classes.split(/\s+/));for(var f=0,c=u.length;f<c;f++){var d=u[f];!d||d===""||i.classes.add(d)}this.createEmitter();var g=t.style||t.css;g&&(Le("Setting a `style` bypass at element creation should be done only when absolutely necessary.  Try to use the stylesheet instead."),this.style(g)),(a===void 0||a)&&this.restore()},"Element"),$i=v(function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},v(function(a,n,i){var s;Te(a)&&!pr(a)&&(s=a,a=s.roots||s.root,n=s.visit,i=s.directed),i=arguments.length===2&&!Ve(n)?n:i,n=Ve(n)?n:function(){};for(var o=this._private.cy,l=a=he(a)?this.filter(a):a,u=[],f=[],c={},d={},g={},h=0,m,y=this.byGroup(),p=y.nodes,b=y.edges,w=0;w<l.length;w++){var x=l[w],T=x.id();x.isNode()&&(u.unshift(x),e.bfs&&(g[T]=!0,f.push(x)),d[T]=0)}for(var C=v(function(){var A=e.bfs?u.shift():u.pop(),P=A.id();if(e.dfs){if(g[P])return"continue";g[P]=!0,f.push(A)}var I=d[P],R=c[P],O=R!=null?R.source():null,z=R!=null?R.target():null,$=R==null?void 0:A.same(O)?z[0]:O[0],H=void 0;if(H=n(A,R,$,h++,I),H===!0)return m=A,"break";if(H===!1)return"break";for(var V=A.connectedEdges().filter(function(ee){return(!i||ee.source().same(A))&&b.has(ee)}),F=0;F<V.length;F++){var U=V[F],J=U.connectedNodes().filter(function(ee){return!ee.same(A)&&p.has(ee)}),j=J.id();J.length!==0&&!g[j]&&(J=J[0],u.push(J),e.bfs&&(g[j]=!0,f.push(J)),c[j]=U,d[j]=d[P]+1)}},"_loop");u.length!==0;){var E=C();if(E!=="continue"&&E==="break")break}for(var k=o.collection(),S=0;S<f.length;S++){var L=f[S],B=c[L.id()];B!=null&&k.push(B),k.push(L)}return{path:o.collection(k),found:o.collection(m)}},"searchFn")},"defineSearch"),ca={breadthFirstSearch:$i({bfs:!0}),depthFirstSearch:$i({dfs:!0})};ca.bfs=ca.breadthFirstSearch;ca.dfs=ca.depthFirstSearch;var vv=hl(function(r,e){(function(){var t,a,n,i,s,o,l,u,f,c,d,g,h,m,y;n=Math.floor,c=Math.min,a=v(function(p,b){return p<b?-1:p>b?1:0},"defaultCmp"),f=v(function(p,b,w,x,T){var C;if(w==null&&(w=0),T==null&&(T=a),w<0)throw new Error("lo must be non-negative");for(x==null&&(x=p.length);w<x;)C=n((w+x)/2),T(b,p[C])<0?x=C:w=C+1;return[].splice.apply(p,[w,w-w].concat(b)),b},"insort"),o=v(function(p,b,w){return w==null&&(w=a),p.push(b),m(p,0,p.length-1,w)},"heappush"),s=v(function(p,b){var w,x;return b==null&&(b=a),w=p.pop(),p.length?(x=p[0],p[0]=w,y(p,0,b)):x=w,x},"heappop"),u=v(function(p,b,w){var x;return w==null&&(w=a),x=p[0],p[0]=b,y(p,0,w),x},"heapreplace"),l=v(function(p,b,w){var x;return w==null&&(w=a),p.length&&w(p[0],b)<0&&(x=[p[0],b],b=x[0],p[0]=x[1],y(p,0,w)),b},"heappushpop"),i=v(function(p,b){var w,x,T,C,E,k;for(b==null&&(b=a),C=function(){k=[];for(var S=0,L=n(p.length/2);0<=L?S<L:S>L;0<=L?S++:S--)k.push(S);return k}.apply(this).reverse(),E=[],x=0,T=C.length;x<T;x++)w=C[x],E.push(y(p,w,b));return E},"heapify"),h=v(function(p,b,w){var x;if(w==null&&(w=a),x=p.indexOf(b),x!==-1)return m(p,0,x,w),y(p,x,w)},"updateItem"),d=v(function(p,b,w){var x,T,C,E,k;if(w==null&&(w=a),T=p.slice(0,b),!T.length)return T;for(i(T,w),k=p.slice(b),C=0,E=k.length;C<E;C++)x=k[C],l(T,x,w);return T.sort(w).reverse()},"nlargest"),g=v(function(p,b,w){var x,T,C,E,k,S,L,B,M;if(w==null&&(w=a),b*10<=p.length){if(C=p.slice(0,b).sort(w),!C.length)return C;for(T=C[C.length-1],L=p.slice(b),E=0,S=L.length;E<S;E++)x=L[E],w(x,T)<0&&(f(C,x,0,null,w),C.pop(),T=C[C.length-1]);return C}for(i(p,w),M=[],k=0,B=c(b,p.length);0<=B?k<B:k>B;0<=B?++k:--k)M.push(s(p,w));return M},"nsmallest"),m=v(function(p,b,w,x){var T,C,E;for(x==null&&(x=a),T=p[w];w>b;){if(E=w-1>>1,C=p[E],x(T,C)<0){p[w]=C,w=E;continue}break}return p[w]=T},"_siftdown"),y=v(function(p,b,w){var x,T,C,E,k;for(w==null&&(w=a),T=p.length,k=b,C=p[b],x=2*b+1;x<T;)E=x+1,E<T&&!(w(p[x],p[E])<0)&&(x=E),p[b]=p[x],b=x,x=2*b+1;return p[b]=C,m(p,k,b,w)},"_siftup"),t=function(){p.push=o,p.pop=s,p.replace=u,p.pushpop=l,p.heapify=i,p.updateItem=h,p.nlargest=d,p.nsmallest=g;function p(b){this.cmp=b??a,this.nodes=[]}return v(p,"Heap"),p.prototype.push=function(b){return o(this.nodes,b,this.cmp)},p.prototype.pop=function(){return s(this.nodes,this.cmp)},p.prototype.peek=function(){return this.nodes[0]},p.prototype.contains=function(b){return this.nodes.indexOf(b)!==-1},p.prototype.replace=function(b){return u(this.nodes,b,this.cmp)},p.prototype.pushpop=function(b){return l(this.nodes,b,this.cmp)},p.prototype.heapify=function(){return i(this.nodes,this.cmp)},p.prototype.updateItem=function(b){return h(this.nodes,b,this.cmp)},p.prototype.clear=function(){return this.nodes=[]},p.prototype.empty=function(){return this.nodes.length===0},p.prototype.size=function(){return this.nodes.length},p.prototype.clone=function(){var b;return b=new p,b.nodes=this.nodes.slice(0),b},p.prototype.toArray=function(){return this.nodes.slice(0)},p.prototype.insert=p.prototype.push,p.prototype.top=p.prototype.peek,p.prototype.front=p.prototype.peek,p.prototype.has=p.prototype.contains,p.prototype.copy=p.prototype.clone,p}(),function(p,b){return r.exports=b()}(this,function(){return t})}).call(ta)}),Ca=vv,fv=rr({root:null,weight:v(function(e){return 1},"weight"),directed:!1}),cv={dijkstra:v(function(e){if(!Te(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var a=fv(e),n=a.root,i=a.weight,s=a.directed,o=this,l=i,u=he(n)?this.filter(n)[0]:n[0],f={},c={},d={},g=this.byGroup(),h=g.nodes,m=g.edges;m.unmergeBy(function(I){return I.isLoop()});for(var y=v(function(R){return f[R.id()]},"getDist"),p=v(function(R,O){f[R.id()]=O,b.updateItem(R)},"setDist"),b=new Ca(function(I,R){return y(I)-y(R)}),w=0;w<h.length;w++){var x=h[w];f[x.id()]=x.same(u)?0:1/0,b.push(x)}for(var T=v(function(R,O){for(var z=(s?R.edgesTo(O):R.edgesWith(O)).intersect(m),$=1/0,H,V=0;V<z.length;V++){var F=z[V],U=l(F);(U<$||!H)&&($=U,H=F)}return{edge:H,dist:$}},"distBetween");b.size()>0;){var C=b.pop(),E=y(C),k=C.id();if(d[k]=E,E!==1/0)for(var S=C.neighborhood().intersect(h),L=0;L<S.length;L++){var B=S[L],M=B.id(),A=T(C,B),P=E+A.dist;P<y(B)&&(p(B,P),c[M]={node:C,edge:A.edge})}}return{distanceTo:v(function(R){var O=he(R)?h.filter(R)[0]:R[0];return d[O.id()]},"distanceTo"),pathTo:v(function(R){var O=he(R)?h.filter(R)[0]:R[0],z=[],$=O,H=$.id();if(O.length>0)for(z.unshift(O);c[H];){var V=c[H];z.unshift(V.edge),z.unshift(V.node),$=V.node,H=$.id()}return o.spawn(z)},"pathTo")}},"dijkstra")},dv={kruskal:v(function(e){e=e||function(w){return 1};for(var t=this.byGroup(),a=t.nodes,n=t.edges,i=a.length,s=new Array(i),o=a,l=v(function(x){for(var T=0;T<s.length;T++){var C=s[T];if(C.has(x))return T}},"findSetIndex"),u=0;u<i;u++)s[u]=this.spawn(a[u]);for(var f=n.sort(function(w,x){return e(w)-e(x)}),c=0;c<f.length;c++){var d=f[c],g=d.source()[0],h=d.target()[0],m=l(g),y=l(h),p=s[m],b=s[y];m!==y&&(o.merge(d),p.merge(b),s.splice(y,1))}return o},"kruskal")},hv=rr({root:null,goal:null,weight:v(function(e){return 1},"weight"),heuristic:v(function(e){return 0},"heuristic"),directed:!1}),gv={aStar:v(function(e){var t=this.cy(),a=hv(e),n=a.root,i=a.goal,s=a.heuristic,o=a.directed,l=a.weight;n=t.collection(n)[0],i=t.collection(i)[0];var u=n.id(),f=i.id(),c={},d={},g={},h=new Ca(function(H,V){return d[H.id()]-d[V.id()]}),m=new Vt,y={},p={},b=v(function(V,F){h.push(V),m.add(F)},"addToOpenSet"),w,x,T=v(function(){w=h.pop(),x=w.id(),m.delete(x)},"popFromOpenSet"),C=v(function(V){return m.has(V)},"isInOpenSet");b(n,u),c[u]=0,d[u]=s(n);for(var E=0;h.size()>0;){if(T(),E++,x===f){for(var k=[],S=i,L=f,B=p[L];k.unshift(S),B!=null&&k.unshift(B),S=y[L],S!=null;)L=S.id(),B=p[L];return{found:!0,distance:c[x],path:this.spawn(k),steps:E}}g[x]=!0;for(var M=w._private.edges,A=0;A<M.length;A++){var P=M[A];if(this.hasElementWithId(P.id())&&!(o&&P.data("source")!==x)){var I=P.source(),R=P.target(),O=I.id()!==x?I:R,z=O.id();if(this.hasElementWithId(z)&&!g[z]){var $=c[x]+l(P);if(!C(z)){c[z]=$,d[z]=$+s(O),b(O,z),y[z]=w,p[z]=P;continue}$<c[z]&&(c[z]=$,d[z]=$+s(O),y[z]=w,p[z]=P)}}}}return{found:!1,distance:void 0,path:void 0,steps:E}},"aStar")},pv=rr({weight:v(function(e){return 1},"weight"),directed:!1}),yv={floydWarshall:v(function(e){for(var t=this.cy(),a=pv(e),n=a.weight,i=a.directed,s=n,o=this.byGroup(),l=o.nodes,u=o.edges,f=l.length,c=f*f,d=v(function(U){return l.indexOf(U)},"indexOf"),g=v(function(U){return l[U]},"atIndex"),h=new Array(c),m=0;m<c;m++){var y=m%f,p=(m-y)/f;p===y?h[m]=0:h[m]=1/0}for(var b=new Array(c),w=new Array(c),x=0;x<u.length;x++){var T=u[x],C=T.source()[0],E=T.target()[0];if(C!==E){var k=d(C),S=d(E),L=k*f+S,B=s(T);if(h[L]>B&&(h[L]=B,b[L]=S,w[L]=T),!i){var M=S*f+k;!i&&h[M]>B&&(h[M]=B,b[M]=k,w[M]=T)}}}for(var A=0;A<f;A++)for(var P=0;P<f;P++)for(var I=P*f+A,R=0;R<f;R++){var O=P*f+R,z=A*f+R;h[I]+h[z]<h[O]&&(h[O]=h[I]+h[z],b[O]=b[I])}var $=v(function(U){return(he(U)?t.filter(U):U)[0]},"getArgEle"),H=v(function(U){return d($(U))},"indexOfArgEle"),V={distance:v(function(U,J){var j=H(U),ee=H(J);return h[j*f+ee]},"distance"),path:v(function(U,J){var j=H(U),ee=H(J),re=g(j);if(j===ee)return re.collection();if(b[j*f+ee]==null)return t.collection();var Y=t.collection(),N=j,X;for(Y.merge(re);j!==ee;)N=j,j=b[j*f+ee],X=w[N*f+j],Y.merge(X),Y.merge(g(j));return Y},"path")};return V},"floydWarshall")},mv=rr({weight:v(function(e){return 1},"weight"),directed:!1,root:null}),bv={bellmanFord:v(function(e){var t=this,a=mv(e),n=a.weight,i=a.directed,s=a.root,o=n,l=this,u=this.cy(),f=this.byGroup(),c=f.edges,d=f.nodes,g=d.length,h=new Ir,m=!1,y=[];s=u.collection(s)[0],c.unmergeBy(function(de){return de.isLoop()});for(var p=c.length,b=v(function(fe){var ye=h.get(fe.id());return ye||(ye={},h.set(fe.id(),ye)),ye},"getInfo"),w=v(function(fe){return(he(fe)?u.$(fe):fe)[0]},"getNodeFromTo"),x=v(function(fe){return b(w(fe)).dist},"distanceTo"),T=v(function(fe){for(var ye=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s,Be=w(fe),Ce=[],Ee=Be;;){if(Ee==null)return t.spawn();var De=b(Ee),_=De.edge,D=De.pred;if(Ce.unshift(Ee[0]),Ee.same(ye)&&Ce.length>0)break;_!=null&&Ce.unshift(_),Ee=D}return l.spawn(Ce)},"pathTo"),C=0;C<g;C++){var E=d[C],k=b(E);E.same(s)?k.dist=0:k.dist=1/0,k.pred=null,k.edge=null}for(var S=!1,L=v(function(fe,ye,Be,Ce,Ee,De){var _=Ce.dist+De;_<Ee.dist&&!Be.same(Ce.edge)&&(Ee.dist=_,Ee.pred=fe,Ee.edge=Be,S=!0)},"checkForEdgeReplacement"),B=1;B<g;B++){S=!1;for(var M=0;M<p;M++){var A=c[M],P=A.source(),I=A.target(),R=o(A),O=b(P),z=b(I);L(P,I,A,O,z,R),i||L(I,P,A,z,O,R)}if(!S)break}if(S)for(var $=[],H=0;H<p;H++){var V=c[H],F=V.source(),U=V.target(),J=o(V),j=b(F).dist,ee=b(U).dist;if(j+J<ee||!i&&ee+J<j)if(m||(Le("Graph contains a negative weight cycle for Bellman-Ford"),m=!0),e.findNegativeWeightCycles!==!1){var re=[];j+J<ee&&re.push(F),!i&&ee+J<j&&re.push(U);for(var Y=re.length,N=0;N<Y;N++){var X=re[N],Z=[X];Z.push(b(X).edge);for(var oe=b(X).pred;Z.indexOf(oe)===-1;)Z.push(oe),Z.push(b(oe).edge),oe=b(oe).pred;Z=Z.slice(Z.indexOf(oe));for(var ge=Z[0].id(),ne=0,se=2;se<Z.length;se+=2)Z[se].id()<ge&&(ge=Z[se].id(),ne=se);Z=Z.slice(ne).concat(Z.slice(0,ne)),Z.push(Z[0]);var le=Z.map(function(de){return de.id()}).join(",");$.indexOf(le)===-1&&(y.push(l.spawn(Z)),$.push(le))}}else break}return{distanceTo:x,pathTo:T,hasNegativeWeightCycle:m,negativeWeightCycles:y}},"bellmanFord")},wv=Math.sqrt(2),xv=v(function(e,t,a){a.length===0&&qe("Karger-Stein must be run on a connected (sub)graph");for(var n=a[e],i=n[1],s=n[2],o=t[i],l=t[s],u=a,f=u.length-1;f>=0;f--){var c=u[f],d=c[1],g=c[2];(t[d]===o&&t[g]===l||t[d]===l&&t[g]===o)&&u.splice(f,1)}for(var h=0;h<u.length;h++){var m=u[h];m[1]===l?(u[h]=m.slice(),u[h][1]=o):m[2]===l&&(u[h]=m.slice(),u[h][2]=o)}for(var y=0;y<t.length;y++)t[y]===l&&(t[y]=o);return u},"collapse"),Ln=v(function(e,t,a,n){for(;a>n;){var i=Math.floor(Math.random()*t.length);t=xv(i,e,t),a--}return t},"contractUntil"),Ev={kargerStein:v(function(){var e=this,t=this.byGroup(),a=t.nodes,n=t.edges;n.unmergeBy(function(z){return z.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/wv);if(i<2){qe("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],f=0;f<s;f++){var c=n[f];u.push([f,a.indexOf(c.source()),a.indexOf(c.target())])}for(var d=1/0,g=[],h=new Array(i),m=new Array(i),y=new Array(i),p=v(function($,H){for(var V=0;V<i;V++)H[V]=$[V]},"copyNodesMap"),b=0;b<=o;b++){for(var w=0;w<i;w++)m[w]=w;var x=Ln(m,u.slice(),i,l),T=x.slice();p(m,y);var C=Ln(m,x,l,2),E=Ln(y,T,l,2);C.length<=E.length&&C.length<d?(d=C.length,g=C,p(m,h)):E.length<=C.length&&E.length<d&&(d=E.length,g=E,p(y,h))}for(var k=this.spawn(g.map(function(z){return n[z[0]]})),S=this.spawn(),L=this.spawn(),B=h[0],M=0;M<h.length;M++){var A=h[M],P=a[M];A===B?S.merge(P):L.merge(P)}var I=v(function($){var H=e.spawn();return $.forEach(function(V){H.merge(V),V.connectedEdges().forEach(function(F){e.contains(F)&&!k.contains(F)&&H.merge(F)})}),H},"constructComponent"),R=[I(S),I(L)],O={cut:k,components:R,partition1:S,partition2:L};return O},"kargerStein")},Cv=v(function(e){return{x:e.x,y:e.y}},"copyPosition"),dn=v(function(e,t,a){return{x:e.x*t+a.x,y:e.y*t+a.y}},"modelToRenderedPosition"),co=v(function(e,t,a){return{x:(e.x-a.x)/t,y:(e.y-a.y)/t}},"renderedToModelPosition"),Pt=v(function(e){return{x:e[0],y:e[1]}},"array2point"),Sv=v(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=t;i<a;i++){var s=e[i];isFinite(s)&&(n=Math.min(s,n))}return n},"min"),Tv=v(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=t;i<a;i++){var s=e[i];isFinite(s)&&(n=Math.max(s,n))}return n},"max"),Dv=v(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=t;s<a;s++){var o=e[s];isFinite(o)&&(n+=o,i++)}return n/i},"mean"),kv=v(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(t,a):(a<e.length&&e.splice(a,e.length-a),t>0&&e.splice(0,t));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}i&&e.sort(function(d,g){return d-g});var f=e.length,c=Math.floor(f/2);return f%2!==0?e[c+1+o]:(e[c-1+o]+e[c+o])/2},"median"),Pv=v(function(e){return Math.PI*e/180},"deg2rad"),La=v(function(e,t){return Math.atan2(t,e)-Math.PI/2},"getAngleFromDisp"),fi=Math.log2||function(r){return Math.log(r)/Math.log(2)},ho=v(function(e){return e>0?1:e<0?-1:0},"signum"),ht=v(function(e,t){return Math.sqrt(ot(e,t))},"dist"),ot=v(function(e,t){var a=t.x-e.x,n=t.y-e.y;return a*a+n*n},"sqdist"),Bv=v(function(e){for(var t=e.length,a=0,n=0;n<t;n++)a+=e[n];for(var i=0;i<t;i++)e[i]=e[i]/a;return e},"inPlaceSumNormalize"),Ze=v(function(e,t,a,n){return(1-n)*(1-n)*e+2*(1-n)*n*t+n*n*a},"qbezierAt"),Mt=v(function(e,t,a,n){return{x:Ze(e.x,t.x,a.x,n),y:Ze(e.y,t.y,a.y,n)}},"qbezierPtAt"),Mv=v(function(e,t,a,n){var i={x:t.x-e.x,y:t.y-e.y},s=ht(e,t),o={x:i.x/s,y:i.y/s};return a=a??0,n=n??a*s,{x:e.x+o.x*n,y:e.y+o.y*n}},"lineAt"),da=v(function(e,t,a){return Math.max(e,Math.min(a,t))},"bound"),gr=v(function(e){if(e==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(e.x1!=null&&e.y1!=null){if(e.x2!=null&&e.y2!=null&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),Lv=v(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),Av=v(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),Rv=v(function(e,t,a){return{x1:e.x1+t,x2:e.x2+t,y1:e.y1+a,y2:e.y2+a,w:e.w,h:e.h}},"shiftBoundingBox"),go=v(function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},"updateBoundingBox"),Ov=v(function(e,t,a){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),Ha=v(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),Ga=v(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(t.length===1)a=n=i=s=t[0];else if(t.length===2)a=i=t[0],s=n=t[1];else if(t.length===4){var o=Dr(t,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Hi=v(function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),ci=v(function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2<t.x1||t.x2<e.x1||e.y2<t.y1||t.y2<e.y1||e.y1>t.y2||t.y1>e.y2)},"boundingBoxesIntersect"),It=v(function(e,t,a){return e.x1<=t&&t<=e.x2&&e.y1<=a&&a<=e.y2},"inBoundingBox"),Iv=v(function(e,t){return It(e,t.x,t.y)},"pointInBoundingBox"),po=v(function(e,t){return It(e,t.x1,t.y1)&&It(e,t.x2,t.y2)},"boundingBoxInBoundingBox"),yo=v(function(e,t,a,n,i,s,o){var l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?gt(i,s):l,f=i/2,c=s/2;u=Math.min(u,f,c);var d=u!==f,g=u!==c,h;if(d){var m=a-f+u-o,y=n-c-o,p=a+f-u+o,b=y;if(h=Zr(e,t,a,n,m,y,p,b,!1),h.length>0)return h}if(g){var w=a+f+o,x=n-c+u-o,T=w,C=n+c-u+o;if(h=Zr(e,t,a,n,w,x,T,C,!1),h.length>0)return h}if(d){var E=a-f+u-o,k=n+c+o,S=a+f-u+o,L=k;if(h=Zr(e,t,a,n,E,k,S,L,!1),h.length>0)return h}if(g){var B=a-f-o,M=n-c+u-o,A=B,P=n+c-u+o;if(h=Zr(e,t,a,n,B,M,A,P,!1),h.length>0)return h}var I;{var R=a-f+u,O=n-c+u;if(I=na(e,t,a,n,R,O,u+o),I.length>0&&I[0]<=R&&I[1]<=O)return[I[0],I[1]]}{var z=a+f-u,$=n-c+u;if(I=na(e,t,a,n,z,$,u+o),I.length>0&&I[0]>=z&&I[1]<=$)return[I[0],I[1]]}{var H=a+f-u,V=n+c-u;if(I=na(e,t,a,n,H,V,u+o),I.length>0&&I[0]>=H&&I[1]>=V)return[I[0],I[1]]}{var F=a-f+u,U=n+c-u;if(I=na(e,t,a,n,F,U,u+o),I.length>0&&I[0]<=F&&I[1]>=U)return[I[0],I[1]]}return[]},"roundRectangleIntersectLine"),zv=v(function(e,t,a,n,i,s,o){var l=o,u=Math.min(a,i),f=Math.max(a,i),c=Math.min(n,s),d=Math.max(n,s);return u-l<=e&&e<=f+l&&c-l<=t&&t<=d+l},"inLineVicinity"),Nv=v(function(e,t,a,n,i,s,o,l,u){var f={x1:Math.min(a,o,i)-u,x2:Math.max(a,o,i)+u,y1:Math.min(n,l,s)-u,y2:Math.max(n,l,s)+u};return!(e<f.x1||e>f.x2||t<f.y1||t>f.y2)},"inBezierVicinity"),Fv=v(function(e,t,a,n){a-=n;var i=t*t-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,l=(-t+s)/o,u=(-t-s)/o;return[l,u]},"solveQuadratic"),Vv=v(function(e,t,a,n,i){var s=1e-5;e===0&&(e=s),t/=e,a/=e,n/=e;var o,l,u,f,c,d,g,h;if(l=(3*a-t*t)/9,u=-(27*n)+t*(9*a-2*(t*t)),u/=54,o=l*l*l+u*u,i[1]=0,g=t/3,o>0){c=u+Math.sqrt(o),c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),d=u-Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),i[0]=-g+c+d,g+=(c+d)/2,i[4]=i[2]=-g,g=Math.sqrt(3)*(-d+c)/2,i[3]=g,i[5]=-g;return}if(i[5]=i[3]=0,o===0){h=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-g+2*h,i[4]=i[2]=-(h+g);return}l=-l,f=l*l*l,f=Math.acos(u/Math.sqrt(f)),h=2*Math.sqrt(l),i[0]=-g+h*Math.cos(f/3),i[2]=-g+h*Math.cos((f+2*Math.PI)/3),i[4]=-g+h*Math.cos((f+4*Math.PI)/3)},"solveCubic"),qv=v(function(e,t,a,n,i,s,o,l){var u=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*l+4*s*s-4*s*l+l*l,f=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*l-6*s*s+3*s*l,c=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*l-n*t+2*s*s+2*s*t-l*t,d=1*a*i-a*a+a*e-i*e+n*s-n*n+n*t-s*t,g=[];Vv(u,f,c,d,g);for(var h=1e-7,m=[],y=0;y<6;y+=2)Math.abs(g[y+1])<h&&g[y]>=0&&g[y]<=1&&m.push(g[y]);m.push(1),m.push(0);for(var p=-1,b,w,x,T=0;T<m.length;T++)b=Math.pow(1-m[T],2)*a+2*(1-m[T])*m[T]*i+m[T]*m[T]*o,w=Math.pow(1-m[T],2)*n+2*(1-m[T])*m[T]*s+m[T]*m[T]*l,x=Math.pow(b-e,2)+Math.pow(w-t,2),p>=0?x<p&&(p=x):p=x;return p},"sqdistToQuadraticBezier"),$v=v(function(e,t,a,n,i,s){var o=[e-a,t-n],l=[i-a,s-n],u=l[0]*l[0]+l[1]*l[1],f=o[0]*o[0]+o[1]*o[1],c=o[0]*l[0]+o[1]*l[1],d=c*c/u;return c<0?f:d>u?(e-i)*(e-i)+(t-s)*(t-s):f-d},"sqdistToFiniteLine"),hr=v(function(e,t,a){for(var n,i,s,o,l,u=0,f=0;f<a.length/2;f++)if(n=a[f*2],i=a[f*2+1],f+1<a.length/2?(s=a[(f+1)*2],o=a[(f+1)*2+1]):(s=a[(f+1-a.length/2)*2],o=a[(f+1-a.length/2)*2+1]),!(n==e&&s==e))if(n>=e&&e>=s||n<=e&&e<=s)l=(e-n)/(s-n)*(o-i)+i,l>t&&u++;else continue;return u%2!==0},"pointInsidePolygonPoints"),Hr=v(function(e,t,a,n,i,s,o,l,u){var f=new Array(a.length),c;l[0]!=null?(c=Math.atan(l[1]/l[0]),l[0]<0?c=c+Math.PI/2:c=-c-Math.PI/2):c=l;for(var d=Math.cos(-c),g=Math.sin(-c),h=0;h<f.length/2;h++)f[h*2]=s/2*(a[h*2]*d-a[h*2+1]*g),f[h*2+1]=o/2*(a[h*2+1]*d+a[h*2]*g),f[h*2]+=n,f[h*2+1]+=i;var m;if(u>0){var y=rn(f,-u);m=en(y)}else m=f;return hr(e,t,m)},"pointInsidePolygon"),Hv=v(function(e,t,a,n,i,s,o,l){for(var u=new Array(a.length*2),f=0;f<l.length;f++){var c=l[f];u[f*4+0]=c.startX,u[f*4+1]=c.startY,u[f*4+2]=c.stopX,u[f*4+3]=c.stopY;var d=Math.pow(c.cx-e,2)+Math.pow(c.cy-t,2);if(d<=Math.pow(c.radius,2))return!0}return hr(e,t,u)},"pointInsideRoundPolygon"),en=v(function(e){for(var t=new Array(e.length/2),a,n,i,s,o,l,u,f,c=0;c<e.length/4;c++){a=e[c*4],n=e[c*4+1],i=e[c*4+2],s=e[c*4+3],c<e.length/4-1?(o=e[(c+1)*4],l=e[(c+1)*4+1],u=e[(c+1)*4+2],f=e[(c+1)*4+3]):(o=e[0],l=e[1],u=e[2],f=e[3]);var d=Zr(a,n,i,s,o,l,u,f,!0);t[c*2]=d[0],t[c*2+1]=d[1]}return t},"joinLines"),rn=v(function(e,t){for(var a=new Array(e.length*2),n,i,s,o,l=0;l<e.length/2;l++){n=e[l*2],i=e[l*2+1],l<e.length/2-1?(s=e[(l+1)*2],o=e[(l+1)*2+1]):(s=e[0],o=e[1]);var u=o-i,f=-(s-n),c=Math.sqrt(u*u+f*f),d=u/c,g=f/c;a[l*4]=n+d*t,a[l*4+1]=i+g*t,a[l*4+2]=s+d*t,a[l*4+3]=o+g*t}return a},"expandPolygon"),Gv=v(function(e,t,a,n,i,s){var o=a-e,l=n-t;o/=i,l/=s;var u=Math.sqrt(o*o+l*l),f=u-1;if(f<0)return[];var c=f/u;return[(a-e)*c+e,(n-t)*c+t]},"intersectLineEllipse"),ft=v(function(e,t,a,n,i,s,o){return e-=i,t-=s,e/=a/2+o,t/=n/2+o,e*e+t*t<=1},"checkInEllipse"),na=v(function(e,t,a,n,i,s,o){var l=[a-e,n-t],u=[e-i,t-s],f=l[0]*l[0]+l[1]*l[1],c=2*(u[0]*l[0]+u[1]*l[1]),d=u[0]*u[0]+u[1]*u[1]-o*o,g=c*c-4*f*d;if(g<0)return[];var h=(-c+Math.sqrt(g))/(2*f),m=(-c-Math.sqrt(g))/(2*f),y=Math.min(h,m),p=Math.max(h,m),b=[];if(y>=0&&y<=1&&b.push(y),p>=0&&p<=1&&b.push(p),b.length===0)return[];var w=b[0]*l[0]+e,x=b[0]*l[1]+t;if(b.length>1){if(b[0]==b[1])return[w,x];var T=b[1]*l[0]+e,C=b[1]*l[1]+t;return[w,x,T,C]}else return[w,x]},"intersectLineCircle"),An=v(function(e,t,a){return t<=e&&e<=a||a<=e&&e<=t?e:e<=t&&t<=a||a<=t&&t<=e?t:a},"midOfThree"),Zr=v(function(e,t,a,n,i,s,o,l,u){var f=e-i,c=a-e,d=o-i,g=t-s,h=n-t,m=l-s,y=d*g-m*f,p=c*g-h*f,b=m*c-d*h;if(b!==0){var w=y/b,x=p/b,T=.001,C=0-T,E=1+T;return C<=w&&w<=E&&C<=x&&x<=E?[e+w*c,t+w*h]:u?[e+w*c,t+w*h]:[]}else return y===0||p===0?An(e,a,o)===o?[o,l]:An(e,a,i)===i?[i,s]:An(i,o,a)===a?[a,n]:[]:[]},"finiteLinesIntersect"),ha=v(function(e,t,a,n,i,s,o,l){var u=[],f,c=new Array(a.length),d=!0;s==null&&(d=!1);var g;if(d){for(var h=0;h<c.length/2;h++)c[h*2]=a[h*2]*s+n,c[h*2+1]=a[h*2+1]*o+i;if(l>0){var m=rn(c,-l);g=en(m)}else g=c}else g=a;for(var y,p,b,w,x=0;x<g.length/2;x++)y=g[x*2],p=g[x*2+1],x<g.length/2-1?(b=g[(x+1)*2],w=g[(x+1)*2+1]):(b=g[0],w=g[1]),f=Zr(e,t,n,i,y,p,b,w),f.length!==0&&u.push(f[0],f[1]);return u},"polygonIntersectLine"),Kv=v(function(e,t,a,n,i,s,o,l,u){var f=[],c,d=new Array(a.length*2);u.forEach(function(b,w){w===0?(d[d.length-2]=b.startX,d[d.length-1]=b.startY):(d[w*4-2]=b.startX,d[w*4-1]=b.startY),d[w*4]=b.stopX,d[w*4+1]=b.stopY,c=na(e,t,n,i,b.cx,b.cy,b.radius),c.length!==0&&f.push(c[0],c[1])});for(var g=0;g<d.length/4;g++)c=Zr(e,t,n,i,d[g*4],d[g*4+1],d[g*4+2],d[g*4+3],!1),c.length!==0&&f.push(c[0],c[1]);if(f.length>2){for(var h=[f[0],f[1]],m=Math.pow(h[0]-e,2)+Math.pow(h[1]-t,2),y=1;y<f.length/2;y++){var p=Math.pow(f[y*2]-e,2)+Math.pow(f[y*2+1]-t,2);p<=m&&(h[0]=f[y*2],h[1]=f[y*2+1],m=p)}return h}return f},"roundPolygonIntersectLine"),Aa=v(function(e,t,a){var n=[e[0]-t[0],e[1]-t[1]],i=Math.sqrt(n[0]*n[0]+n[1]*n[1]),s=(i-a)/i;return s<0&&(s=1e-5),[t[0]+s*n[0],t[1]+s*n[1]]},"shortenIntersection"),fr=v(function(e,t){var a=Hn(e,t);return a=mo(a),a},"generateUnitNgonPointsFitToSquare"),mo=v(function(e){for(var t,a,n=e.length/2,i=1/0,s=1/0,o=-1/0,l=-1/0,u=0;u<n;u++)t=e[2*u],a=e[2*u+1],i=Math.min(i,t),o=Math.max(o,t),s=Math.min(s,a),l=Math.max(l,a);for(var f=2/(o-i),c=2/(l-s),d=0;d<n;d++)t=e[2*d]=e[2*d]*f,a=e[2*d+1]=e[2*d+1]*c,i=Math.min(i,t),o=Math.max(o,t),s=Math.min(s,a),l=Math.max(l,a);if(s<-1)for(var g=0;g<n;g++)a=e[2*g+1]=e[2*g+1]+(-1-s);return e},"fitPolygonToSquare"),Hn=v(function(e,t){var a=1/e*2*Math.PI,n=e%2===0?Math.PI/2+a/2:Math.PI/2;n+=t;for(var i=new Array(e*2),s,o=0;o<e;o++)s=o*a+n,i[2*o]=Math.cos(s),i[2*o+1]=Math.sin(-s);return i},"generateUnitNgonPoints"),gt=v(function(e,t){return Math.min(e/4,t/4,8)},"getRoundRectangleRadius"),bo=v(function(e,t){return Math.min(e/10,t/10,8)},"getRoundPolygonRadius"),di=v(function(){return 8},"getCutRectangleCornerLength"),Wv=v(function(e,t,a){return[e-2*t+a,2*(t-e),e]},"bezierPtsToQuadCoeff"),Gn=v(function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},"getBarrelCurveConstants"),Uv=rr({dampingFactor:.8,precision:1e-6,iterations:200,weight:v(function(e){return 1},"weight")}),Yv={pageRank:v(function(e){for(var t=Uv(e),a=t.dampingFactor,n=t.precision,i=t.iterations,s=t.weight,o=this._private.cy,l=this.byGroup(),u=l.nodes,f=l.edges,c=u.length,d=c*c,g=f.length,h=new Array(d),m=new Array(c),y=(1-a)/c,p=0;p<c;p++){for(var b=0;b<c;b++){var w=p*c+b;h[w]=0}m[p]=0}for(var x=0;x<g;x++){var T=f[x],C=T.data("source"),E=T.data("target");if(C!==E){var k=u.indexOfId(C),S=u.indexOfId(E),L=s(T),B=S*c+k;h[B]+=L,m[k]+=L}}for(var M=1/c+y,A=0;A<c;A++)if(m[A]===0)for(var P=0;P<c;P++){var I=P*c+A;h[I]=M}else for(var R=0;R<c;R++){var O=R*c+A;h[O]=h[O]/m[A]+y}for(var z=new Array(c),$=new Array(c),H,V=0;V<c;V++)z[V]=1;for(var F=0;F<i;F++){for(var U=0;U<c;U++)$[U]=0;for(var J=0;J<c;J++)for(var j=0;j<c;j++){var ee=J*c+j;$[J]+=h[ee]*z[j]}Bv($),H=z,z=$,$=H;for(var re=0,Y=0;Y<c;Y++){var N=H[Y]-z[Y];re+=N*N}if(re<n)break}var X={rank:v(function(oe){return oe=o.collection(oe)[0],z[u.indexOf(oe)]},"rank")};return X},"pageRank")},Gi=rr({root:null,weight:v(function(e){return 1},"weight"),directed:!1,alpha:0}),Lt={degreeCentralityNormalized:v(function(e){e=Gi(e);var t=this.cy(),a=this.nodes(),n=a.length;if(e.directed){for(var f={},c={},d=0,g=0,h=0;h<n;h++){var m=a[h],y=m.id();e.root=m;var p=this.degreeCentrality(e);d<p.indegree&&(d=p.indegree),g<p.outdegree&&(g=p.outdegree),f[y]=p.indegree,c[y]=p.outdegree}return{indegree:v(function(w){return d==0?0:(he(w)&&(w=t.filter(w)),f[w.id()]/d)},"indegree"),outdegree:v(function(w){return g===0?0:(he(w)&&(w=t.filter(w)),c[w.id()]/g)},"outdegree")}}else{for(var i={},s=0,o=0;o<n;o++){var l=a[o];e.root=l;var u=this.degreeCentrality(e);s<u.degree&&(s=u.degree),i[l.id()]=u.degree}return{degree:v(function(w){return s===0?0:(he(w)&&(w=t.filter(w)),i[w.id()]/s)},"degree")}}},"degreeCentralityNormalized"),degreeCentrality:v(function(e){e=Gi(e);var t=this.cy(),a=this,n=e,i=n.root,s=n.weight,o=n.directed,l=n.alpha;if(i=t.collection(i)[0],o){for(var g=i.connectedEdges(),h=g.filter(function(C){return C.target().same(i)&&a.has(C)}),m=g.filter(function(C){return C.source().same(i)&&a.has(C)}),y=h.length,p=m.length,b=0,w=0,x=0;x<h.length;x++)b+=s(h[x]);for(var T=0;T<m.length;T++)w+=s(m[T]);return{indegree:Math.pow(y,1-l)*Math.pow(b,l),outdegree:Math.pow(p,1-l)*Math.pow(w,l)}}else{for(var u=i.connectedEdges().intersection(a),f=u.length,c=0,d=0;d<u.length;d++)c+=s(u[d]);return{degree:Math.pow(f,1-l)*Math.pow(c,l)}}},"degreeCentrality")};Lt.dc=Lt.degreeCentrality;Lt.dcn=Lt.degreeCentralityNormalised=Lt.degreeCentralityNormalized;var Ki=rr({harmonic:!0,weight:v(function(){return 1},"weight"),directed:!1,root:null}),At={closenessCentralityNormalized:v(function(e){for(var t=Ki(e),a=t.harmonic,n=t.weight,i=t.directed,s=this.cy(),o={},l=0,u=this.nodes(),f=this.floydWarshall({weight:n,directed:i}),c=0;c<u.length;c++){for(var d=0,g=u[c],h=0;h<u.length;h++)if(c!==h){var m=f.distance(g,u[h]);a?d+=1/m:d+=m}a||(d=1/d),l<d&&(l=d),o[g.id()]=d}return{closeness:v(function(p){return l==0?0:(he(p)?p=s.filter(p)[0].id():p=p.id(),o[p]/l)},"closeness")}},"closenessCentralityNormalized"),closenessCentrality:v(function(e){var t=Ki(e),a=t.root,n=t.weight,i=t.directed,s=t.harmonic;a=this.filter(a)[0];for(var o=this.dijkstra({root:a,weight:n,directed:i}),l=0,u=this.nodes(),f=0;f<u.length;f++){var c=u[f];if(!c.same(a)){var d=o.distanceTo(c);s?l+=1/d:l+=d}}return s?l:1/l},"closenessCentrality")};At.cc=At.closenessCentrality;At.ccn=At.closenessCentralityNormalised=At.closenessCentralityNormalized;var Xv=rr({weight:null,directed:!1}),Kn={betweennessCentrality:v(function(e){for(var t=Xv(e),a=t.directed,n=t.weight,i=n!=null,s=this.cy(),o=this.nodes(),l={},u={},f=0,c={set:v(function(w,x){u[w]=x,x>f&&(f=x)},"set"),get:v(function(w){return u[w]},"get")},d=0;d<o.length;d++){var g=o[d],h=g.id();a?l[h]=g.outgoers().nodes():l[h]=g.openNeighborhood().nodes(),c.set(h,0)}for(var m=v(function(w){for(var x=o[w].id(),T=[],C={},E={},k={},S=new Ca(function(j,ee){return k[j]-k[ee]}),L=0;L<o.length;L++){var B=o[L].id();C[B]=[],E[B]=0,k[B]=1/0}for(E[x]=1,k[x]=0,S.push(x);!S.empty();){var M=S.pop();if(T.push(M),i)for(var A=0;A<l[M].length;A++){var P=l[M][A],I=s.getElementById(M),R=void 0;I.edgesTo(P).length>0?R=I.edgesTo(P)[0]:R=P.edgesTo(I)[0];var O=n(R);P=P.id(),k[P]>k[M]+O&&(k[P]=k[M]+O,S.nodes.indexOf(P)<0?S.push(P):S.updateItem(P),E[P]=0,C[P]=[]),k[P]==k[M]+O&&(E[P]=E[P]+E[M],C[P].push(M))}else for(var z=0;z<l[M].length;z++){var $=l[M][z].id();k[$]==1/0&&(S.push($),k[$]=k[M]+1),k[$]==k[M]+1&&(E[$]=E[$]+E[M],C[$].push(M))}}for(var H={},V=0;V<o.length;V++)H[o[V].id()]=0;for(;T.length>0;){for(var F=T.pop(),U=0;U<C[F].length;U++){var J=C[F][U];H[J]=H[J]+E[J]/E[F]*(1+H[F])}F!=o[w].id()&&c.set(F,c.get(F)+H[F])}},"_loop"),y=0;y<o.length;y++)m(y);var p={betweenness:v(function(w){var x=s.collection(w).id();return c.get(x)},"betweenness"),betweennessNormalized:v(function(w){if(f==0)return 0;var x=s.collection(w).id();return c.get(x)/f},"betweennessNormalized")};return p.betweennessNormalised=p.betweennessNormalized,p},"betweennessCentrality")};Kn.bc=Kn.betweennessCentrality;var Zv=rr({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(r){return 1}]}),Qv=v(function(e){return Zv(e)},"setOptions"),Jv=v(function(e,t){for(var a=0,n=0;n<t.length;n++)a+=t[n](e);return a},"getSimilarity"),_v=v(function(e,t,a){for(var n=0;n<t;n++)e[n*t+n]=a},"addLoops"),wo=v(function(e,t){for(var a,n=0;n<t;n++){a=0;for(var i=0;i<t;i++)a+=e[i*t+n];for(var s=0;s<t;s++)e[s*t+n]=e[s*t+n]/a}},"normalize"),jv=v(function(e,t,a){for(var n=new Array(a*a),i=0;i<a;i++){for(var s=0;s<a;s++)n[i*a+s]=0;for(var o=0;o<a;o++)for(var l=0;l<a;l++)n[i*a+l]+=e[i*a+o]*t[o*a+l]}return n},"mmult"),ef=v(function(e,t,a){for(var n=e.slice(0),i=1;i<a;i++)e=jv(e,n,t);return e},"expand"),rf=v(function(e,t,a){for(var n=new Array(t*t),i=0;i<t*t;i++)n[i]=Math.pow(e[i],a);return wo(n,t),n},"inflate"),tf=v(function(e,t,a,n){for(var i=0;i<a;i++){var s=Math.round(e[i]*Math.pow(10,n))/Math.pow(10,n),o=Math.round(t[i]*Math.pow(10,n))/Math.pow(10,n);if(s!==o)return!1}return!0},"hasConverged"),af=v(function(e,t,a,n){for(var i=[],s=0;s<t;s++){for(var o=[],l=0;l<t;l++)Math.round(e[s*t+l]*1e3)/1e3>0&&o.push(a[l]);o.length!==0&&i.push(n.collection(o))}return i},"assign"),nf=v(function(e,t){for(var a=0;a<e.length;a++)if(!t[a]||e[a].id()!==t[a].id())return!1;return!0},"isDuplicate"),sf=v(function(e){for(var t=0;t<e.length;t++)for(var a=0;a<e.length;a++)t!=a&&nf(e[t],e[a])&&e.splice(a,1);return e},"removeDuplicates"),Wi=v(function(e){for(var t=this.nodes(),a=this.edges(),n=this.cy(),i=Qv(e),s={},o=0;o<t.length;o++)s[t[o].id()]=o;for(var l=t.length,u=l*l,f=new Array(u),c,d=0;d<u;d++)f[d]=0;for(var g=0;g<a.length;g++){var h=a[g],m=s[h.source().id()],y=s[h.target().id()],p=Jv(h,i.attributes);f[m*l+y]+=p,f[y*l+m]+=p}_v(f,l,i.multFactor),wo(f,l);for(var b=!0,w=0;b&&w<i.maxIterations;)b=!1,c=ef(f,l,i.expandFactor),f=rf(c,l,i.inflateFactor),tf(f,c,u,4)||(b=!0),w++;var x=af(f,l,t,n);return x=sf(x),x},"markovClustering"),of={markovClustering:Wi,mcl:Wi},uf=v(function(e){return e},"identity"),xo=v(function(e,t){return Math.abs(t-e)},"absDiff"),Ui=v(function(e,t,a){return e+xo(t,a)},"addAbsDiff"),Yi=v(function(e,t,a){return e+Math.pow(a-t,2)},"addSquaredDiff"),lf=v(function(e){return Math.sqrt(e)},"sqrt"),vf=v(function(e,t,a){return Math.max(e,xo(t,a))},"maxAbsDiff"),_t=v(function(e,t,a,n,i){for(var s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:uf,o=n,l,u,f=0;f<e;f++)l=t(f),u=a(f),o=i(o,l,u);return s(o)},"getDistance"),zt={euclidean:v(function(e,t,a){return e>=2?_t(e,t,a,0,Yi,lf):_t(e,t,a,0,Ui)},"euclidean"),squaredEuclidean:v(function(e,t,a){return _t(e,t,a,0,Yi)},"squaredEuclidean"),manhattan:v(function(e,t,a){return _t(e,t,a,0,Ui)},"manhattan"),max:v(function(e,t,a){return _t(e,t,a,-1/0,vf)},"max")};zt["squared-euclidean"]=zt.squaredEuclidean;zt.squaredeuclidean=zt.squaredEuclidean;function hn(r,e,t,a,n,i){var s;return Ve(r)?s=r:s=zt[r]||zt.euclidean,e===0&&Ve(r)?s(n,i):s(e,t,a,n,i)}v(hn,"clusteringDistance");var ff=rr({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hi=v(function(e){return ff(e)},"setOptions"),tn=v(function(e,t,a,n,i){var s=i!=="kMedoids",o=s?function(c){return a[c]}:function(c){return n[c](a)},l=v(function(d){return n[d](t)},"getQ"),u=a,f=t;return hn(e,n.length,o,l,u,f)},"getDist"),Rn=v(function(e,t,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(t),l=null,u=0;u<n;u++)i[u]=e.min(a[u]).value,s[u]=e.max(a[u]).value;for(var f=0;f<t;f++){l=[];for(var c=0;c<n;c++)l[c]=Math.random()*(s[c]-i[c])+i[c];o[f]=l}return o},"randomCentroids"),Eo=v(function(e,t,a,n,i){for(var s=1/0,o=0,l=0;l<t.length;l++){var u=tn(a,e,t[l],n,i);u<s&&(s=u,o=l)}return o},"classify"),Co=v(function(e,t,a){for(var n=[],i=null,s=0;s<t.length;s++)i=t[s],a[i.id()]===e&&n.push(i);return n},"buildCluster"),cf=v(function(e,t,a){return Math.abs(t-e)<=a},"haveValuesConverged"),df=v(function(e,t,a){for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++){var s=Math.abs(e[n][i]-t[n][i]);if(s>a)return!1}return!0},"haveMatricesConverged"),hf=v(function(e,t,a){for(var n=0;n<a;n++)if(e===t[n])return!0;return!1},"seenBefore"),Xi=v(function(e,t){var a=new Array(t);if(e.length<50)for(var n=0;n<t;n++){for(var i=e[Math.floor(Math.random()*e.length)];hf(i,a,n);)i=e[Math.floor(Math.random()*e.length)];a[n]=i}else for(var s=0;s<t;s++)a[s]=e[Math.floor(Math.random()*e.length)];return a},"randomMedoids"),Zi=v(function(e,t,a){for(var n=0,i=0;i<t.length;i++)n+=tn("manhattan",t[i],e,a,"kMedoids");return n},"findCost"),gf=v(function(e){var t=this.cy(),a=this.nodes(),n=null,i=hi(e),s=new Array(i.k),o={},l;i.testMode?typeof i.testCentroids=="number"?(i.testCentroids,l=Rn(a,i.k,i.attributes)):Ue(i.testCentroids)==="object"?l=i.testCentroids:l=Rn(a,i.k,i.attributes):l=Rn(a,i.k,i.attributes);for(var u=!0,f=0;u&&f<i.maxIterations;){for(var c=0;c<a.length;c++)n=a[c],o[n.id()]=Eo(n,l,i.distance,i.attributes,"kMeans");u=!1;for(var d=0;d<i.k;d++){var g=Co(d,a,o);if(g.length!==0){for(var h=i.attributes.length,m=l[d],y=new Array(h),p=new Array(h),b=0;b<h;b++){p[b]=0;for(var w=0;w<g.length;w++)n=g[w],p[b]+=i.attributes[b](n);y[b]=p[b]/g.length,cf(y[b],m[b],i.sensitivityThreshold)||(u=!0)}l[d]=y,s[d]=t.collection(g)}}f++}return s},"kMeans"),pf=v(function(e){var t=this.cy(),a=this.nodes(),n=null,i=hi(e),s=new Array(i.k),o,l={},u,f=new Array(i.k);i.testMode?typeof i.testCentroids=="number"||(Ue(i.testCentroids)==="object"?o=i.testCentroids:o=Xi(a,i.k)):o=Xi(a,i.k);for(var c=!0,d=0;c&&d<i.maxIterations;){for(var g=0;g<a.length;g++)n=a[g],l[n.id()]=Eo(n,o,i.distance,i.attributes,"kMedoids");c=!1;for(var h=0;h<o.length;h++){var m=Co(h,a,l);if(m.length!==0){f[h]=Zi(o[h],m,i.attributes);for(var y=0;y<m.length;y++)u=Zi(m[y],m,i.attributes),u<f[h]&&(f[h]=u,o[h]=m[y],c=!0);s[h]=t.collection(m)}}d++}return s},"kMedoids"),yf=v(function(e,t,a,n,i){for(var s,o,l=0;l<t.length;l++)for(var u=0;u<e.length;u++)n[l][u]=Math.pow(a[l][u],i.m);for(var f=0;f<e.length;f++)for(var c=0;c<i.attributes.length;c++){s=0,o=0;for(var d=0;d<t.length;d++)s+=n[d][f]*i.attributes[c](t[d]),o+=n[d][f];e[f][c]=s/o}},"updateCentroids"),mf=v(function(e,t,a,n,i){for(var s=0;s<e.length;s++)t[s]=e[s].slice();for(var o,l,u,f=2/(i.m-1),c=0;c<a.length;c++)for(var d=0;d<n.length;d++){o=0;for(var g=0;g<a.length;g++)l=tn(i.distance,n[d],a[c],i.attributes,"cmeans"),u=tn(i.distance,n[d],a[g],i.attributes,"cmeans"),o+=Math.pow(l/u,f);e[d][c]=1/o}},"updateMembership"),bf=v(function(e,t,a,n){for(var i=new Array(a.k),s=0;s<i.length;s++)i[s]=[];for(var o,l,u=0;u<t.length;u++){o=-1/0,l=-1;for(var f=0;f<t[0].length;f++)t[u][f]>o&&(o=t[u][f],l=f);i[l].push(e[u])}for(var c=0;c<i.length;c++)i[c]=n.collection(i[c]);return i},"assign"),Qi=v(function(e){var t=this.cy(),a=this.nodes(),n=hi(e),i,s,o,l,u;l=new Array(a.length);for(var f=0;f<a.length;f++)l[f]=new Array(n.k);o=new Array(a.length);for(var c=0;c<a.length;c++)o[c]=new Array(n.k);for(var d=0;d<a.length;d++){for(var g=0,h=0;h<n.k;h++)o[d][h]=Math.random(),g+=o[d][h];for(var m=0;m<n.k;m++)o[d][m]=o[d][m]/g}s=new Array(n.k);for(var y=0;y<n.k;y++)s[y]=new Array(n.attributes.length);u=new Array(a.length);for(var p=0;p<a.length;p++)u[p]=new Array(n.k);for(var b=!0,w=0;b&&w<n.maxIterations;)b=!1,yf(s,a,o,u,n),mf(o,l,s,a,n),df(o,l,n.sensitivityThreshold)||(b=!0),w++;return i=bf(a,o,n,t),{clusters:i,degreeOfMembership:o}},"fuzzyCMeans"),wf={kMeans:gf,kMedoids:pf,fuzzyCMeans:Qi,fcm:Qi},xf=rr({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),Ef={single:"min",complete:"max"},Cf=v(function(e){var t=xf(e),a=Ef[t.linkage];return a!=null&&(t.linkage=a),t},"setOptions"),Ji=v(function(e,t,a,n,i){for(var s=0,o=1/0,l,u=i.attributes,f=v(function(S,L){return hn(i.distance,u.length,function(B){return u[B](S)},function(B){return u[B](L)},S,L)},"getDist"),c=0;c<e.length;c++){var d=e[c].key,g=a[d][n[d]];g<o&&(s=d,o=g)}if(i.mode==="threshold"&&o>=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var h=t[s],m=t[n[s]],y;i.mode==="dendrogram"?y={left:h,right:m,key:h.key}:y={value:h.value.concat(m.value),key:h.key},e[h.index]=y,e.splice(m.index,1),t[h.key]=y;for(var p=0;p<e.length;p++){var b=e[p];h.key===b.key?l=1/0:i.linkage==="min"?(l=a[h.key][b.key],a[h.key][b.key]>a[m.key][b.key]&&(l=a[m.key][b.key])):i.linkage==="max"?(l=a[h.key][b.key],a[h.key][b.key]<a[m.key][b.key]&&(l=a[m.key][b.key])):i.linkage==="mean"?l=(a[h.key][b.key]*h.size+a[m.key][b.key]*m.size)/(h.size+m.size):i.mode==="dendrogram"?l=f(b.value,h.value):l=f(b.value[0],h.value[0]),a[h.key][b.key]=a[b.key][h.key]=l}for(var w=0;w<e.length;w++){var x=e[w].key;if(n[x]===h.key||n[x]===m.key){for(var T=x,C=0;C<e.length;C++){var E=e[C].key;a[x][E]<a[x][T]&&(T=E)}n[x]=T}e[w].index=w}return h.key=m.key=h.index=m.index=null,!0},"mergeClosest"),Ra=v(function r(e,t,a){e&&(e.value?t.push(e.value):(e.left&&r(e.left,t),e.right&&r(e.right,t)))},"getAllChildren"),Sf=v(function r(e,t){if(!e)return"";if(e.left&&e.right){var a=r(e.left,t),n=r(e.right,t),i=t.add({group:"nodes",data:{id:a+","+n}});return t.add({group:"edges",data:{source:a,target:i.id()}}),t.add({group:"edges",data:{source:n,target:i.id()}}),i.id()}else if(e.value)return e.value.id()},"buildDendrogram"),Tf=v(function r(e,t,a){if(!e)return[];var n=[],i=[],s=[];return t===0?(e.left&&Ra(e.left,n),e.right&&Ra(e.right,i),s=n.concat(i),[a.collection(s)]):t===1?e.value?[a.collection(e.value)]:(e.left&&Ra(e.left,n),e.right&&Ra(e.right,i),[a.collection(n),a.collection(i)]):e.value?[a.collection(e.value)]:(e.left&&(n=r(e.left,t-1,a)),e.right&&(i=r(e.right,t-1,a)),n.concat(i))},"buildClustersFromTree"),_i=v(function(e){for(var t=this.cy(),a=this.nodes(),n=Cf(e),i=n.attributes,s=v(function(w,x){return hn(n.distance,i.length,function(T){return i[T](w)},function(T){return i[T](x)},w,x)},"getDist"),o=[],l=[],u=[],f=[],c=0;c<a.length;c++){var d={value:n.mode==="dendrogram"?a[c]:[a[c]],key:c,index:c};o[c]=d,f[c]=d,l[c]=[],u[c]=0}for(var g=0;g<o.length;g++)for(var h=0;h<=g;h++){var m=void 0;n.mode==="dendrogram"?m=g===h?1/0:s(o[g].value,o[h].value):m=g===h?1/0:s(o[g].value[0],o[h].value[0]),l[g][h]=m,l[h][g]=m,m<l[g][u[g]]&&(u[g]=h)}for(var y=Ji(o,f,l,u,n);y;)y=Ji(o,f,l,u,n);var p;return n.mode==="dendrogram"?(p=Tf(o[0],n.dendrogramDepth,t),n.addDendrogram&&Sf(o[0],t)):(p=new Array(o.length),o.forEach(function(b,w){b.key=b.index=null,p[w]=t.collection(b.value)})),p},"hierarchicalClustering"),Df={hierarchicalClustering:_i,hca:_i},kf=rr({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),Pf=v(function(e){var t=e.damping,a=e.preference;.5<=t&&t<1||qe("Damping must range on [0.5, 1).  Got: ".concat(t));var n=["median","mean","min","max"];return n.some(function(i){return i===a})||ie(a)||qe("Preference must be one of [".concat(n.map(function(i){return"'".concat(i,"'")}).join(", "),"] or a number.  Got: ").concat(a)),kf(e)},"setOptions"),Bf=v(function(e,t,a,n){var i=v(function(o,l){return n[l](o)},"attr");return-hn(e,n.length,function(s){return i(t,s)},function(s){return i(a,s)},t,a)},"getSimilarity"),Mf=v(function(e,t){var a=null;return t==="median"?a=kv(e):t==="mean"?a=Dv(e):t==="min"?a=Sv(e):t==="max"?a=Tv(e):a=t,a},"getPreference"),Lf=v(function(e,t,a){for(var n=[],i=0;i<e;i++)t[i*e+i]+a[i*e+i]>0&&n.push(i);return n},"findExemplars"),ji=v(function(e,t,a){for(var n=[],i=0;i<e;i++){for(var s=-1,o=-1/0,l=0;l<a.length;l++){var u=a[l];t[i*e+u]>o&&(s=u,o=t[i*e+u])}s>0&&n.push(s)}for(var f=0;f<a.length;f++)n[a[f]]=a[f];return n},"assignClusters"),Af=v(function(e,t,a){for(var n=ji(e,t,a),i=0;i<a.length;i++){for(var s=[],o=0;o<n.length;o++)n[o]===a[i]&&s.push(o);for(var l=-1,u=-1/0,f=0;f<s.length;f++){for(var c=0,d=0;d<s.length;d++)c+=t[s[d]*e+s[f]];c>u&&(l=f,u=c)}a[i]=s[l]}return n=ji(e,t,a),n},"assign"),es=v(function(e){for(var t=this.cy(),a=this.nodes(),n=Pf(e),i={},s=0;s<a.length;s++)i[a[s].id()]=s;var o,l,u,f,c,d;o=a.length,l=o*o,u=new Array(l);for(var g=0;g<l;g++)u[g]=-1/0;for(var h=0;h<o;h++)for(var m=0;m<o;m++)h!==m&&(u[h*o+m]=Bf(n.distance,a[h],a[m],n.attributes));f=Mf(u,n.preference);for(var y=0;y<o;y++)u[y*o+y]=f;c=new Array(l);for(var p=0;p<l;p++)c[p]=0;d=new Array(l);for(var b=0;b<l;b++)d[b]=0;for(var w=new Array(o),x=new Array(o),T=new Array(o),C=0;C<o;C++)w[C]=0,x[C]=0,T[C]=0;for(var E=new Array(o*n.minIterations),k=0;k<E.length;k++)E[k]=0;var S;for(S=0;S<n.maxIterations;S++){for(var L=0;L<o;L++){for(var B=-1/0,M=-1/0,A=-1,P=0,I=0;I<o;I++)w[I]=c[L*o+I],P=d[L*o+I]+u[L*o+I],P>=B?(M=B,B=P,A=I):P>M&&(M=P);for(var R=0;R<o;R++)c[L*o+R]=(1-n.damping)*(u[L*o+R]-B)+n.damping*w[R];c[L*o+A]=(1-n.damping)*(u[L*o+A]-M)+n.damping*w[A]}for(var O=0;O<o;O++){for(var z=0,$=0;$<o;$++)w[$]=d[$*o+O],x[$]=Math.max(0,c[$*o+O]),z+=x[$];z-=x[O],x[O]=c[O*o+O],z+=x[O];for(var H=0;H<o;H++)d[H*o+O]=(1-n.damping)*Math.min(0,z-x[H])+n.damping*w[H];d[O*o+O]=(1-n.damping)*(z-x[O])+n.damping*w[O]}for(var V=0,F=0;F<o;F++){var U=d[F*o+F]+c[F*o+F]>0?1:0;E[S%n.minIterations*o+F]=U,V+=U}if(V>0&&(S>=n.minIterations-1||S==n.maxIterations-1)){for(var J=0,j=0;j<o;j++){T[j]=0;for(var ee=0;ee<n.minIterations;ee++)T[j]+=E[ee*o+j];(T[j]===0||T[j]===n.minIterations)&&J++}if(J===o)break}}for(var re=Lf(o,c,d),Y=Af(o,u,re),N={},X=0;X<re.length;X++)N[re[X]]=[];for(var Z=0;Z<a.length;Z++){var oe=i[a[Z].id()],ge=Y[oe];ge!=null&&N[ge].push(a[Z])}for(var ne=new Array(re.length),se=0;se<re.length;se++)ne[se]=t.collection(N[re[se]]);return ne},"affinityPropagation"),Rf={affinityPropagation:es,ap:es},Of=rr({root:void 0,directed:!1}),If={hierholzer:v(function(e){if(!Te(e)){var t=arguments;e={root:t[0],directed:t[1]}}var a=Of(e),n=a.root,i=a.directed,s=this,o=!1,l,u,f;n&&(f=he(n)?this.filter(n)[0].id():n[0].id());var c={},d={};i?s.forEach(function(b){var w=b.id();if(b.isNode()){var x=b.indegree(!0),T=b.outdegree(!0),C=x-T,E=T-x;C==1?l?o=!0:l=w:E==1?u?o=!0:u=w:(E>1||C>1)&&(o=!0),c[w]=[],b.outgoers().forEach(function(k){k.isEdge()&&c[w].push(k.id())})}else d[w]=[void 0,b.target().id()]}):s.forEach(function(b){var w=b.id();if(b.isNode()){var x=b.degree(!0);x%2&&(l?u?o=!0:u=w:l=w),c[w]=[],b.connectedEdges().forEach(function(T){return c[w].push(T.id())})}else d[w]=[b.source().id(),b.target().id()]});var g={found:!1,trail:void 0};if(o)return g;if(u&&l)if(i){if(f&&u!=f)return g;f=u}else{if(f&&u!=f&&l!=f)return g;f||(f=u)}else f||(f=s[0].id());var h=v(function(w){for(var x=w,T=[w],C,E,k;c[x].length;)C=c[x].shift(),E=d[C][0],k=d[C][1],x!=k?(c[k]=c[k].filter(function(S){return S!=C}),x=k):!i&&x!=E&&(c[E]=c[E].filter(function(S){return S!=C}),x=E),T.unshift(C),T.unshift(x);return T},"walk"),m=[],y=[];for(y=h(f);y.length!=1;)c[y[0]].length==0?(m.unshift(s.getElementById(y.shift())),m.unshift(s.getElementById(y.shift()))):y=h(y.shift()).concat(y);m.unshift(s.getElementById(y.shift()));for(var p in c)if(c[p].length)return g;return g.found=!0,g.trail=this.spawn(m,!0),g},"hierholzer")},Oa=v(function(){var e=this,t={},a=0,n=0,i=[],s=[],o={},l=v(function(d,g){for(var h=s.length-1,m=[],y=e.spawn();s[h].x!=d||s[h].y!=g;)m.push(s.pop().edge),h--;m.push(s.pop().edge),m.forEach(function(p){var b=p.connectedNodes().intersection(e);y.merge(p),b.forEach(function(w){var x=w.id(),T=w.connectedEdges().intersection(e);y.merge(w),t[x].cutVertex?y.merge(T.filter(function(C){return C.isLoop()})):y.merge(T)})}),i.push(y)},"buildComponent"),u=v(function c(d,g,h){d===h&&(n+=1),t[g]={id:a,low:a++,cutVertex:!1};var m=e.getElementById(g).connectedEdges().intersection(e);if(m.size()===0)i.push(e.spawn(e.getElementById(g)));else{var y,p,b,w;m.forEach(function(x){y=x.source().id(),p=x.target().id(),b=y===g?p:y,b!==h&&(w=x.id(),o[w]||(o[w]=!0,s.push({x:g,y:b,edge:x})),b in t?t[g].low=Math.min(t[g].low,t[b].id):(c(d,b,g),t[g].low=Math.min(t[g].low,t[b].low),t[g].id<=t[b].low&&(t[g].cutVertex=!0,l(g,b))))})}},"biconnectedSearch");e.forEach(function(c){if(c.isNode()){var d=c.id();d in t||(n=0,u(d,d),t[d].cutVertex=n>1)}});var f=Object.keys(t).filter(function(c){return t[c].cutVertex}).map(function(c){return e.getElementById(c)});return{cut:e.spawn(f),components:i}},"hopcroftTarjanBiconnected"),zf={hopcroftTarjanBiconnected:Oa,htbc:Oa,htb:Oa,hopcroftTarjanBiconnectedComponents:Oa},Ia=v(function(){var e=this,t={},a=0,n=[],i=[],s=e.spawn(e),o=v(function l(u){i.push(u),t[u]={index:a,low:a++,explored:!1};var f=e.getElementById(u).connectedEdges().intersection(e);if(f.forEach(function(m){var y=m.target().id();y!==u&&(y in t||l(y),t[y].explored||(t[u].low=Math.min(t[u].low,t[y].low)))}),t[u].index===t[u].low){for(var c=e.spawn();;){var d=i.pop();if(c.merge(e.getElementById(d)),t[d].low=t[u].index,t[d].explored=!0,d===u)break}var g=c.edgesWith(c),h=c.merge(g);n.push(h),s=s.difference(h)}},"stronglyConnectedSearch");return e.forEach(function(l){if(l.isNode()){var u=l.id();u in t||o(u)}}),{cut:s,components:n}},"tarjanStronglyConnected"),Nf={tarjanStronglyConnected:Ia,tsc:Ia,tscc:Ia,tarjanStronglyConnectedComponents:Ia},So={};[ca,cv,dv,gv,yv,bv,Ev,Yv,Lt,At,Kn,of,wf,Df,Rf,If,zf,Nf].forEach(function(r){we(So,r)});var To=0,Do=1,ko=2,Gr=v(function r(e){if(!(this instanceof r))return new r(e);this.id="Thenable/1.0.7",this.state=To,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Gr.prototype={fulfill:v(function(e){return rs(this,Do,"fulfillValue",e)},"fulfill"),reject:v(function(e){return rs(this,ko,"rejectReason",e)},"reject"),then:v(function(e,t){var a=this,n=new Gr;return a.onFulfilled.push(as(e,n,"fulfill")),a.onRejected.push(as(t,n,"reject")),Po(a),n.proxy},"then")};var rs=v(function(e,t,a,n){return e.state===To&&(e.state=t,e[a]=n,Po(e)),e},"deliver"),Po=v(function(e){e.state===Do?ts(e,"onFulfilled",e.fulfillValue):e.state===ko&&ts(e,"onRejected",e.rejectReason)},"execute"),ts=v(function(e,t,a){if(e[t].length!==0){var n=e[t];e[t]=[];var i=v(function(){for(var o=0;o<n.length;o++)n[o](a)},"func");typeof setImmediate=="function"?setImmediate(i):setTimeout(i,0)}},"execute_handlers"),as=v(function(e,t,a){return function(n){if(typeof e!="function")t[a].call(t,n);else{var i;try{i=e(n)}catch(s){t.reject(s);return}Ff(t,i)}}},"resolver"),Ff=v(function r(e,t){if(e===t||e.proxy===t){e.reject(new TypeError("cannot resolve promise with itself"));return}var a;if(Ue(t)==="object"&&t!==null||typeof t=="function")try{a=t.then}catch(i){e.reject(i);return}if(typeof a=="function"){var n=!1;try{a.call(t,function(i){n||(n=!0,i===t?e.reject(new TypeError("circular thenable chain")):r(e,i))},function(i){n||(n=!0,e.reject(i))})}catch(i){n||e.reject(i)}return}e.fulfill(t)},"resolve");Gr.all=function(r){return new Gr(function(e,t){for(var a=new Array(r.length),n=0,i=v(function(l,u){a[l]=u,n++,n===r.length&&e(a)},"fulfill"),s=0;s<r.length;s++)(function(o){var l=r[o],u=l!=null&&l.then!=null;if(u)l.then(function(c){i(o,c)},function(c){t(c)});else{var f=l;i(o,f)}})(s)})};Gr.resolve=function(r){return new Gr(function(e,t){e(r)})};Gr.reject=function(r){return new Gr(function(e,t){t(r)})};var qt=typeof Promise<"u"?Promise:Gr,Wn=v(function(e,t,a){var n=si(e),i=!n,s=this._private=we({duration:1e3},t,a);if(s.target=e,s.style=s.style||s.css,s.started=!1,s.playing=!1,s.hooked=!1,s.applying=!1,s.progress=0,s.completes=[],s.frames=[],s.complete&&Ve(s.complete)&&s.completes.push(s.complete),i){var o=e.position();s.startPosition=s.startPosition||{x:o.x,y:o.y},s.startStyle=s.startStyle||e.cy().style().getAnimationStartStyle(e,s.style)}if(n){var l=e.pan();s.startPan={x:l.x,y:l.y},s.startZoom=e.zoom()}this.length=1,this[0]=this},"Animation"),pt=Wn.prototype;we(pt,{instanceString:v(function(){return"animation"},"instanceString"),hook:v(function(){var e=this._private;if(!e.hooked){var t,a=e.target._private.animation;e.queue?t=a.queue:t=a.current,t.push(this),pr(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},"hook"),play:v(function(){var e=this._private;return e.progress===1&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},"play"),playing:v(function(){return this._private.playing},"playing"),apply:v(function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},"apply"),applying:v(function(){return this._private.applying},"applying"),pause:v(function(){var e=this._private;return e.playing=!1,e.started=!1,this},"pause"),stop:v(function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},"stop"),rewind:v(function(){return this.progress(0)},"rewind"),fastforward:v(function(){return this.progress(1)},"fastforward"),time:v(function(e){var t=this._private;return e===void 0?t.progress*t.duration:this.progress(e/t.duration)},"time"),progress:v(function(e){var t=this._private,a=t.playing;return e===void 0?t.progress:(a&&this.pause(),t.progress=e,t.started=!1,a&&this.play(),this)},"progress"),completed:v(function(){return this._private.progress===1},"completed"),reverse:v(function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var a=v(function(u,f){var c=e[u];c!=null&&(e[u]=e[f],e[f]=c)},"swap");if(a("zoom","startZoom"),a("pan","startPan"),a("position","startPosition"),e.style)for(var n=0;n<e.style.length;n++){var i=e.style[n],s=i.name,o=e.startStyle[s];e.startStyle[s]=i,e.style[n]=o}return t&&this.play(),this},"reverse"),promise:v(function(e){var t=this._private,a;switch(e){case"frame":a=t.frames;break;default:case"complete":case"completed":a=t.completes}return new qt(function(n,i){a.push(function(){n()})})},"promise")});pt.complete=pt.completed;pt.run=pt.play;pt.running=pt.playing;var Vf={animated:v(function(){return v(function(){var t=this,a=t.length!==void 0,n=a?t:[t],i=this._private.cy||this;if(!i.styleEnabled())return!1;var s=n[0];if(s)return s._private.animation.current.length>0},"animatedImpl")},"animated"),clearQueue:v(function(){return v(function(){var t=this,a=t.length!==void 0,n=a?t:[t],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var s=0;s<n.length;s++){var o=n[s];o._private.animation.queue=[]}return this},"clearQueueImpl")},"clearQueue"),delay:v(function(){return v(function(t,a){var n=this._private.cy||this;return n.styleEnabled()?this.animate({delay:t,duration:t,complete:a}):this},"delayImpl")},"delay"),delayAnimation:v(function(){return v(function(t,a){var n=this._private.cy||this;return n.styleEnabled()?this.animation({delay:t,duration:t,complete:a}):this},"delayAnimationImpl")},"delayAnimation"),animation:v(function(){return v(function(t,a){var n=this,i=n.length!==void 0,s=i?n:[n],o=this._private.cy||this,l=!i,u=!l;if(!o.styleEnabled())return this;var f=o.style();t=we({},t,a);var c=Object.keys(t).length===0;if(c)return new Wn(s[0],t);switch(t.duration===void 0&&(t.duration=400),t.duration){case"slow":t.duration=600;break;case"fast":t.duration=200;break}if(u&&(t.style=f.getPropsList(t.style||t.css),t.css=void 0),u&&t.renderedPosition!=null){var d=t.renderedPosition,g=o.pan(),h=o.zoom();t.position=co(d,h,g)}if(l&&t.panBy!=null){var m=t.panBy,y=o.pan();t.pan={x:y.x+m.x,y:y.y+m.y}}var p=t.center||t.centre;if(l&&p!=null){var b=o.getCenterPan(p.eles,t.zoom);b!=null&&(t.pan=b)}if(l&&t.fit!=null){var w=t.fit,x=o.getFitViewport(w.eles||w.boundingBox,w.padding);x!=null&&(t.pan=x.pan,t.zoom=x.zoom)}if(l&&Te(t.zoom)){var T=o.getZoomedViewport(t.zoom);T!=null?(T.zoomed&&(t.zoom=T.zoom),T.panned&&(t.pan=T.pan)):t.zoom=null}return new Wn(s[0],t)},"animationImpl")},"animation"),animate:v(function(){return v(function(t,a){var n=this,i=n.length!==void 0,s=i?n:[n],o=this._private.cy||this;if(!o.styleEnabled())return this;a&&(t=we({},t,a));for(var l=0;l<s.length;l++){var u=s[l],f=u.animated()&&(t.queue===void 0||t.queue),c=u.animation(t,f?{queue:!0}:void 0);c.play()}return this},"animateImpl")},"animate"),stop:v(function(){return v(function(t,a){var n=this,i=n.length!==void 0,s=i?n:[n],o=this._private.cy||this;if(!o.styleEnabled())return this;for(var l=0;l<s.length;l++){for(var u=s[l],f=u._private,c=f.animation.current,d=0;d<c.length;d++){var g=c[d],h=g._private;a&&(h.duration=0)}t&&(f.animation.queue=[]),a||(f.animation.current=[])}return o.notify("draw"),this},"stopImpl")},"stop")},qf=Array.isArray,gn=qf,$f=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hf=/^\w*$/;function Gf(r,e){if(gn(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||Ea(r)?!0:Hf.test(r)||!$f.test(r)||e!=null&&r in Object(e)}v(Gf,"isKey");var Kf=Gf,Wf="[object AsyncFunction]",Uf="[object Function]",Yf="[object GeneratorFunction]",Xf="[object Proxy]";function Zf(r){if(!ct(r))return!1;var e=ao(r);return e==Uf||e==Yf||e==Wf||e==Xf}v(Zf,"isFunction");var Qf=Zf,Jf=vn["__core-js_shared__"],On=Jf,ns=function(){var r=/[^.]+$/.exec(On&&On.keys&&On.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function _f(r){return!!ns&&ns in r}v(_f,"isMasked");var jf=_f,ec=Function.prototype,rc=ec.toString;function tc(r){if(r!=null){try{return rc.call(r)}catch{}try{return r+""}catch{}}return""}v(tc,"toSource");var ac=tc,nc=/[\\^$.*+?()[\]{}|]/g,ic=/^\[object .+?Constructor\]$/,sc=Function.prototype,oc=Object.prototype,uc=sc.toString,lc=oc.hasOwnProperty,vc=RegExp("^"+uc.call(lc).replace(nc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function fc(r){if(!ct(r)||jf(r))return!1;var e=Qf(r)?vc:ic;return e.test(ac(r))}v(fc,"baseIsNative");var cc=fc;function dc(r,e){return r?.[e]}v(dc,"getValue$1");var hc=dc;function gc(r,e){var t=hc(r,e);return cc(t)?t:void 0}v(gc,"getNative");var gi=gc,pc=gi(Object,"create"),ga=pc;function yc(){this.__data__=ga?ga(null):{},this.size=0}v(yc,"hashClear");var mc=yc;function bc(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}v(bc,"hashDelete");var wc=bc,xc="__lodash_hash_undefined__",Ec=Object.prototype,Cc=Ec.hasOwnProperty;function Sc(r){var e=this.__data__;if(ga){var t=e[r];return t===xc?void 0:t}return Cc.call(e,r)?e[r]:void 0}v(Sc,"hashGet");var Tc=Sc,Dc=Object.prototype,kc=Dc.hasOwnProperty;function Pc(r){var e=this.__data__;return ga?e[r]!==void 0:kc.call(e,r)}v(Pc,"hashHas");var Bc=Pc,Mc="__lodash_hash_undefined__";function Lc(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=ga&&e===void 0?Mc:e,this}v(Lc,"hashSet");var Ac=Lc;function $t(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var a=r[e];this.set(a[0],a[1])}}v($t,"Hash");$t.prototype.clear=mc;$t.prototype.delete=wc;$t.prototype.get=Tc;$t.prototype.has=Bc;$t.prototype.set=Ac;var is=$t;function Rc(){this.__data__=[],this.size=0}v(Rc,"listCacheClear");var Oc=Rc;function Ic(r,e){return r===e||r!==r&&e!==e}v(Ic,"eq");var Bo=Ic;function zc(r,e){for(var t=r.length;t--;)if(Bo(r[t][0],e))return t;return-1}v(zc,"assocIndexOf");var pn=zc,Nc=Array.prototype,Fc=Nc.splice;function Vc(r){var e=this.__data__,t=pn(e,r);if(t<0)return!1;var a=e.length-1;return t==a?e.pop():Fc.call(e,t,1),--this.size,!0}v(Vc,"listCacheDelete");var qc=Vc;function $c(r){var e=this.__data__,t=pn(e,r);return t<0?void 0:e[t][1]}v($c,"listCacheGet");var Hc=$c;function Gc(r){return pn(this.__data__,r)>-1}v(Gc,"listCacheHas");var Kc=Gc;function Wc(r,e){var t=this.__data__,a=pn(t,r);return a<0?(++this.size,t.push([r,e])):t[a][1]=e,this}v(Wc,"listCacheSet");var Uc=Wc;function Ht(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var a=r[e];this.set(a[0],a[1])}}v(Ht,"ListCache");Ht.prototype.clear=Oc;Ht.prototype.delete=qc;Ht.prototype.get=Hc;Ht.prototype.has=Kc;Ht.prototype.set=Uc;var Yc=Ht,Xc=gi(vn,"Map"),Zc=Xc;function Qc(){this.size=0,this.__data__={hash:new is,map:new(Zc||Yc),string:new is}}v(Qc,"mapCacheClear");var Jc=Qc;function _c(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}v(_c,"isKeyable");var jc=_c;function ed(r,e){var t=r.__data__;return jc(e)?t[typeof e=="string"?"string":"hash"]:t.map}v(ed,"getMapData");var yn=ed;function rd(r){var e=yn(this,r).delete(r);return this.size-=e?1:0,e}v(rd,"mapCacheDelete");var td=rd;function ad(r){return yn(this,r).get(r)}v(ad,"mapCacheGet");var nd=ad;function id(r){return yn(this,r).has(r)}v(id,"mapCacheHas");var sd=id;function od(r,e){var t=yn(this,r),a=t.size;return t.set(r,e),this.size+=t.size==a?0:1,this}v(od,"mapCacheSet");var ud=od;function Gt(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var a=r[e];this.set(a[0],a[1])}}v(Gt,"MapCache");Gt.prototype.clear=Jc;Gt.prototype.delete=td;Gt.prototype.get=nd;Gt.prototype.has=sd;Gt.prototype.set=ud;var Mo=Gt,ld="Expected a function";function pi(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(ld);var t=v(function(){var a=arguments,n=e?e.apply(this,a):a[0],i=t.cache;if(i.has(n))return i.get(n);var s=r.apply(this,a);return t.cache=i.set(n,s)||i,s},"memoized");return t.cache=new(pi.Cache||Mo),t}v(pi,"memoize");pi.Cache=Mo;var vd=pi,fd=500;function cd(r){var e=vd(r,function(a){return t.size===fd&&t.clear(),a}),t=e.cache;return e}v(cd,"memoizeCapped");var dd=cd,hd=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,gd=/\\(\\)?/g,pd=dd(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(hd,function(t,a,n,i){e.push(n?i.replace(gd,"$1"):a||t)}),e}),Lo=pd;function yd(r,e){for(var t=-1,a=r==null?0:r.length,n=Array(a);++t<a;)n[t]=e(r[t],t,r);return n}v(yd,"arrayMap");var Ao=yd,md=1/0,ss=Ot?Ot.prototype:void 0,os=ss?ss.toString:void 0;function Ro(r){if(typeof r=="string")return r;if(gn(r))return Ao(r,Ro)+"";if(Ea(r))return os?os.call(r):"";var e=r+"";return e=="0"&&1/r==-md?"-0":e}v(Ro,"baseToString");var bd=Ro;function wd(r){return r==null?"":bd(r)}v(wd,"toString$1");var Oo=wd;function xd(r,e){return gn(r)?r:Kf(r,e)?[r]:Lo(Oo(r))}v(xd,"castPath");var Io=xd,Ed=1/0;function Cd(r){if(typeof r=="string"||Ea(r))return r;var e=r+"";return e=="0"&&1/r==-Ed?"-0":e}v(Cd,"toKey");var yi=Cd;function Sd(r,e){e=Io(e,r);for(var t=0,a=e.length;r!=null&&t<a;)r=r[yi(e[t++])];return t&&t==a?r:void 0}v(Sd,"baseGet");var Td=Sd;function Dd(r,e,t){var a=r==null?void 0:Td(r,e);return a===void 0?t:a}v(Dd,"get");var kd=Dd,Pd=function(){try{var r=gi(Object,"defineProperty");return r({},"",{}),r}catch{}}(),us=Pd;function Bd(r,e,t){e=="__proto__"&&us?us(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}v(Bd,"baseAssignValue");var Md=Bd,Ld=Object.prototype,Ad=Ld.hasOwnProperty;function Rd(r,e,t){var a=r[e];(!(Ad.call(r,e)&&Bo(a,t))||t===void 0&&!(e in r))&&Md(r,e,t)}v(Rd,"assignValue");var Od=Rd,Id=9007199254740991,zd=/^(?:0|[1-9]\d*)$/;function Nd(r,e){var t=typeof r;return e=e??Id,!!e&&(t=="number"||t!="symbol"&&zd.test(r))&&r>-1&&r%1==0&&r<e}v(Nd,"isIndex");var Fd=Nd;function Vd(r,e,t,a){if(!ct(r))return r;e=Io(e,r);for(var n=-1,i=e.length,s=i-1,o=r;o!=null&&++n<i;){var l=yi(e[n]),u=t;if(l==="__proto__"||l==="constructor"||l==="prototype")return r;if(n!=s){var f=o[l];u=a?a(f,l,o):void 0,u===void 0&&(u=ct(f)?f:Fd(e[n+1])?[]:{})}Od(o,l,u),o=o[l]}return r}v(Vd,"baseSet");var qd=Vd;function $d(r,e,t){return r==null?r:qd(r,e,t)}v($d,"set");var Hd=$d;function Gd(r,e){var t=-1,a=r.length;for(e||(e=Array(a));++t<a;)e[t]=r[t];return e}v(Gd,"copyArray");var Kd=Gd;function Wd(r){return gn(r)?Ao(r,yi):Ea(r)?[r]:Kd(Lo(Oo(r)))}v(Wd,"toPath");var Ud=Wd,Yd={data:v(function(e){var t={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:v(function(n){},"beforeGet"),beforeSet:v(function(n,i){},"beforeSet"),onSet:v(function(n){},"onSet"),canSet:v(function(n){return!0},"canSet")};return e=we({},t,e),v(function(n,i){var s=e,o=this,l=o.length!==void 0,u=l?o:[o],f=l?o[0]:o;if(he(n)){var c=n.indexOf(".")!==-1,d=c&&Ud(n);if(s.allowGetting&&i===void 0){var g;return f&&(s.beforeGet(f),d&&f._private[s.field][n]===void 0?g=kd(f._private[s.field],d):g=f._private[s.field][n]),g}else if(s.allowSetting&&i!==void 0){var h=!s.immutableKeys[n];if(h){var m=Us({},n,i);s.beforeSet(o,m);for(var y=0,p=u.length;y<p;y++){var b=u[y];s.canSet(b)&&(d&&f._private[s.field][n]===void 0?Hd(b._private[s.field],d,i):b._private[s.field][n]=i)}s.updateStyle&&o.updateStyle(),s.onSet(o),s.settingTriggersEvent&&o[s.triggerFnName](s.settingEvent)}}}else if(s.allowSetting&&Te(n)){var w=n,x,T,C=Object.keys(w);s.beforeSet(o,w);for(var E=0;E<C.length;E++){x=C[E],T=w[x];var k=!s.immutableKeys[x];if(k)for(var S=0;S<u.length;S++){var L=u[S];s.canSet(L)&&(L._private[s.field][x]=T)}}s.updateStyle&&o.updateStyle(),s.onSet(o),s.settingTriggersEvent&&o[s.triggerFnName](s.settingEvent)}else if(s.allowBinding&&Ve(n)){var B=n;o.on(s.bindingEvent,B)}else if(s.allowGetting&&n===void 0){var M;return f&&(s.beforeGet(f),M=f._private[s.field]),M}return o},"dataImpl")},"data"),removeData:v(function(e){var t={field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}};return e=we({},t,e),v(function(n){var i=e,s=this,o=s.length!==void 0,l=o?s:[s];if(he(n)){for(var u=n.split(/\s+/),f=u.length,c=0;c<f;c++){var d=u[c];if(!_r(d)){var g=!i.immutableKeys[d];if(g)for(var h=0,m=l.length;h<m;h++)l[h]._private[i.field][d]=void 0}}i.triggerEvent&&s[i.triggerFnName](i.event)}else if(n===void 0){for(var y=0,p=l.length;y<p;y++)for(var b=l[y]._private[i.field],w=Object.keys(b),x=0;x<w.length;x++){var T=w[x],C=!i.immutableKeys[T];C&&(b[T]=void 0)}i.triggerEvent&&s[i.triggerFnName](i.event)}return s},"removeDataImpl")},"removeData")},Xd={eventAliasesOn:v(function(e){var t=e;t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(a,n){var i=this,s=Array.prototype.slice.call(arguments,0);return new qt(function(o,l){var u=v(function(g){i.off.apply(i,c),o(g)},"callback"),f=s.concat([u]),c=f.concat([]);i.on.apply(i,f)})}},"eventAliasesOn")},Me={};[Vf,Yd,Xd].forEach(function(r){we(Me,r)});var Zd={animate:Me.animate(),animation:Me.animation(),animated:Me.animated(),clearQueue:Me.clearQueue(),delay:Me.delay(),delayAnimation:Me.delayAnimation(),stop:Me.stop()},Ka={classes:v(function(e){var t=this;if(e===void 0){var a=[];return t[0]._private.classes.forEach(function(h){return a.push(h)}),a}else Oe(e)||(e=(e||"").match(/\S+/g)||[]);for(var n=[],i=new Vt(e),s=0;s<t.length;s++){for(var o=t[s],l=o._private,u=l.classes,f=!1,c=0;c<e.length;c++){var d=e[c],g=u.has(d);if(!g){f=!0;break}}f||(f=u.size!==e.length),f&&(l.classes=i,n.push(o))}return n.length>0&&this.spawn(n).updateStyle().emit("class"),t},"classes"),addClass:v(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:v(function(e){var t=this[0];return t!=null&&t._private.classes.has(e)},"hasClass"),toggleClass:v(function(e,t){Oe(e)||(e=e.match(/\S+/g)||[]);for(var a=this,n=t===void 0,i=[],s=0,o=a.length;s<o;s++)for(var l=a[s],u=l._private.classes,f=!1,c=0;c<e.length;c++){var d=e[c],g=u.has(d),h=!1;t||n&&!g?(u.add(d),h=!0):(!t||n&&g)&&(u.delete(d),h=!0),!f&&h&&(i.push(l),f=!0)}return i.length>0&&this.spawn(i).updateStyle().emit("class"),a},"toggleClass"),removeClass:v(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:v(function(e,t){var a=this;if(t==null)t=250;else if(t===0)return a;return a.addClass(e),setTimeout(function(){a.removeClass(e)},t),a},"flashClass")};Ka.className=Ka.classNames=Ka.classes;var Se={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:We,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Se.variable="(?:[\\w-.]|(?:\\\\"+Se.metaChar+"))+";Se.className="(?:[\\w-]|(?:\\\\"+Se.metaChar+"))+";Se.value=Se.string+"|"+Se.number;Se.id=Se.variable;(function(){var r,e,t;for(r=Se.comparatorOp.split("|"),t=0;t<r.length;t++)e=r[t],Se.comparatorOp+="|@"+e;for(r=Se.comparatorOp.split("|"),t=0;t<r.length;t++)e=r[t],!(e.indexOf("!")>=0)&&e!=="="&&(Se.comparatorOp+="|\\!"+e)})();var Ae=v(function(){return{checks:[]}},"newQuery"),ue={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Un=[{selector:":selected",matches:v(function(e){return e.selected()},"matches")},{selector:":unselected",matches:v(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:v(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:v(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:v(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:v(function(e){return!e.locked()},"matches")},{selector:":visible",matches:v(function(e){return e.visible()},"matches")},{selector:":hidden",matches:v(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:v(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:v(function(e){return e.grabbed()},"matches")},{selector:":free",matches:v(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:v(function(e){return e.removed()},"matches")},{selector:":inside",matches:v(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:v(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:v(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:v(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:v(function(e){return!e.animated()},"matches")},{selector:":parent",matches:v(function(e){return e.isParent()},"matches")},{selector:":childless",matches:v(function(e){return e.isChildless()},"matches")},{selector:":child",matches:v(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:v(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:v(function(e){return e.isChild()},"matches")},{selector:":compound",matches:v(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:v(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:v(function(e){return e.isSimple()},"matches")},{selector:":active",matches:v(function(e){return e.active()},"matches")},{selector:":inactive",matches:v(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:v(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:v(function(e){return!e.backgrounding()},"matches")}].sort(function(r,e){return sl(r.selector,e.selector)}),Qd=function(){for(var r={},e,t=0;t<Un.length;t++)e=Un[t],r[e.selector]=e.matches;return r}(),Jd=v(function(e,t){return Qd[e](t)},"stateSelectorMatches"),_d="("+Un.map(function(r){return r.selector}).join("|")+")",Et=v(function(e){return e.replace(new RegExp("\\\\("+Se.metaChar+")","g"),function(t,a){return a})},"cleanMetaChars"),Yr=v(function(e,t,a){e[e.length-1]=a},"replaceLastQuery"),Yn=[{name:"group",query:!0,regex:"("+Se.group+")",populate:v(function(e,t,a){var n=Dr(a,1),i=n[0];t.checks.push({type:ue.GROUP,value:i==="*"?i:i+"s"})},"populate")},{name:"state",query:!0,regex:_d,populate:v(function(e,t,a){var n=Dr(a,1),i=n[0];t.checks.push({type:ue.STATE,value:i})},"populate")},{name:"id",query:!0,regex:"\\#("+Se.id+")",populate:v(function(e,t,a){var n=Dr(a,1),i=n[0];t.checks.push({type:ue.ID,value:Et(i)})},"populate")},{name:"className",query:!0,regex:"\\.("+Se.className+")",populate:v(function(e,t,a){var n=Dr(a,1),i=n[0];t.checks.push({type:ue.CLASS,value:Et(i)})},"populate")},{name:"dataExists",query:!0,regex:"\\[\\s*("+Se.variable+")\\s*\\]",populate:v(function(e,t,a){var n=Dr(a,1),i=n[0];t.checks.push({type:ue.DATA_EXIST,field:Et(i)})},"populate")},{name:"dataCompare",query:!0,regex:"\\[\\s*("+Se.variable+")\\s*("+Se.comparatorOp+")\\s*("+Se.value+")\\s*\\]",populate:v(function(e,t,a){var n=Dr(a,3),i=n[0],s=n[1],o=n[2],l=new RegExp("^"+Se.string+"$").exec(o)!=null;l?o=o.substring(1,o.length-1):o=parseFloat(o),t.checks.push({type:ue.DATA_COMPARE,field:Et(i),operator:s,value:o})},"populate")},{name:"dataBool",query:!0,regex:"\\[\\s*("+Se.boolOp+")\\s*("+Se.variable+")\\s*\\]",populate:v(function(e,t,a){var n=Dr(a,2),i=n[0],s=n[1];t.checks.push({type:ue.DATA_BOOL,field:Et(s),operator:i})},"populate")},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+Se.meta+")\\s*("+Se.comparatorOp+")\\s*("+Se.number+")\\s*\\]\\]",populate:v(function(e,t,a){var n=Dr(a,3),i=n[0],s=n[1],o=n[2];t.checks.push({type:ue.META_COMPARE,field:Et(i),operator:s,value:parseFloat(o)})},"populate")},{name:"nextQuery",separator:!0,regex:Se.separator,populate:v(function(e,t){var a=e.currentSubject,n=e.edgeCount,i=e.compoundCount,s=e[e.length-1];a!=null&&(s.subject=a,e.currentSubject=null),s.edgeCount=n,s.compoundCount=i,e.edgeCount=0,e.compoundCount=0;var o=e[e.length++]=Ae();return o},"populate")},{name:"directedEdge",separator:!0,regex:Se.directedEdge,populate:v(function(e,t){if(e.currentSubject==null){var a=Ae(),n=t,i=Ae();return a.checks.push({type:ue.DIRECTED_EDGE,source:n,target:i}),Yr(e,t,a),e.edgeCount++,i}else{var s=Ae(),o=t,l=Ae();return s.checks.push({type:ue.NODE_SOURCE,source:o,target:l}),Yr(e,t,s),e.edgeCount++,l}},"populate")},{name:"undirectedEdge",separator:!0,regex:Se.undirectedEdge,populate:v(function(e,t){if(e.currentSubject==null){var a=Ae(),n=t,i=Ae();return a.checks.push({type:ue.UNDIRECTED_EDGE,nodes:[n,i]}),Yr(e,t,a),e.edgeCount++,i}else{var s=Ae(),o=t,l=Ae();return s.checks.push({type:ue.NODE_NEIGHBOR,node:o,neighbor:l}),Yr(e,t,s),l}},"populate")},{name:"child",separator:!0,regex:Se.child,populate:v(function(e,t){if(e.currentSubject==null){var a=Ae(),n=Ae(),i=e[e.length-1];return a.checks.push({type:ue.CHILD,parent:i,child:n}),Yr(e,t,a),e.compoundCount++,n}else if(e.currentSubject===t){var s=Ae(),o=e[e.length-1],l=Ae(),u=Ae(),f=Ae(),c=Ae();return s.checks.push({type:ue.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=t.checks,t.checks=[{type:ue.TRUE}],c.checks.push({type:ue.TRUE}),l.checks.push({type:ue.PARENT,parent:c,child:f}),Yr(e,o,s),e.currentSubject=u,e.compoundCount++,f}else{var d=Ae(),g=Ae(),h=[{type:ue.PARENT,parent:d,child:g}];return d.checks=t.checks,t.checks=h,e.compoundCount++,g}},"populate")},{name:"descendant",separator:!0,regex:Se.descendant,populate:v(function(e,t){if(e.currentSubject==null){var a=Ae(),n=Ae(),i=e[e.length-1];return a.checks.push({type:ue.DESCENDANT,ancestor:i,descendant:n}),Yr(e,t,a),e.compoundCount++,n}else if(e.currentSubject===t){var s=Ae(),o=e[e.length-1],l=Ae(),u=Ae(),f=Ae(),c=Ae();return s.checks.push({type:ue.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=t.checks,t.checks=[{type:ue.TRUE}],c.checks.push({type:ue.TRUE}),l.checks.push({type:ue.ANCESTOR,ancestor:c,descendant:f}),Yr(e,o,s),e.currentSubject=u,e.compoundCount++,f}else{var d=Ae(),g=Ae(),h=[{type:ue.ANCESTOR,ancestor:d,descendant:g}];return d.checks=t.checks,t.checks=h,e.compoundCount++,g}},"populate")},{name:"subject",modifier:!0,regex:Se.subject,populate:v(function(e,t){if(e.currentSubject!=null&&e.currentSubject!==t)return Le("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var a=e[e.length-1],n=a.checks[0],i=n==null?null:n.type;i===ue.DIRECTED_EDGE?n.type=ue.NODE_TARGET:i===ue.UNDIRECTED_EDGE&&(n.type=ue.NODE_NEIGHBOR,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)},"populate")}];Yn.forEach(function(r){return r.regexObj=new RegExp("^"+r.regex)});var jd=v(function(e){for(var t,a,n,i=0;i<Yn.length;i++){var s=Yn[i],o=s.name,l=e.match(s.regexObj);if(l!=null){a=l,t=s,n=o;var u=l[0];e=e.substring(u.length);break}}return{expr:t,match:a,name:n,remaining:e}},"consumeExpr"),eh=v(function(e){var t=e.match(/^\s+/);if(t){var a=t[0];e=e.substring(a.length)}return e},"consumeWhitespace"),rh=v(function(e){var t=this,a=t.inputText=e,n=t[0]=Ae();for(t.length=1,a=eh(a);;){var i=jd(a);if(i.expr==null)return Le("The selector `"+e+"`is invalid"),!1;var s=i.match.slice(1),o=i.expr.populate(t,n,s);if(o===!1)return!1;if(o!=null&&(n=o),a=i.remaining,a.match(/^\s*$/))break}var l=t[t.length-1];t.currentSubject!=null&&(l.subject=t.currentSubject),l.edgeCount=t.edgeCount,l.compoundCount=t.compoundCount;for(var u=0;u<t.length;u++){var f=t[u];if(f.compoundCount>0&&f.edgeCount>0)return Le("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Le("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Le("The selector `"+e+"` is deprecated.  Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons.  Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),th=v(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=v(function(f){return f??""},"clean"),t=v(function(f){return he(f)?'"'+f+'"':e(f)},"cleanVal"),a=v(function(f){return" "+f+" "},"space"),n=v(function(f,c){var d=f.type,g=f.value;switch(d){case ue.GROUP:{var h=e(g);return h.substring(0,h.length-1)}case ue.DATA_COMPARE:{var m=f.field,y=f.operator;return"["+m+a(e(y))+t(g)+"]"}case ue.DATA_BOOL:{var p=f.operator,b=f.field;return"["+e(p)+b+"]"}case ue.DATA_EXIST:{var w=f.field;return"["+w+"]"}case ue.META_COMPARE:{var x=f.operator,T=f.field;return"[["+T+a(e(x))+t(g)+"]]"}case ue.STATE:return g;case ue.ID:return"#"+g;case ue.CLASS:return"."+g;case ue.PARENT:case ue.CHILD:return i(f.parent,c)+a(">")+i(f.child,c);case ue.ANCESTOR:case ue.DESCENDANT:return i(f.ancestor,c)+" "+i(f.descendant,c);case ue.COMPOUND_SPLIT:{var C=i(f.left,c),E=i(f.subject,c),k=i(f.right,c);return C+(C.length>0?" ":"")+E+k}case ue.TRUE:return""}},"checkToString"),i=v(function(f,c){return f.checks.reduce(function(d,g,h){return d+(c===f&&h===0?"$":"")+n(g,c)},"")},"queryToString"),s="",o=0;o<this.length;o++){var l=this[o];s+=i(l,l.subject),this.length>1&&o<this.length-1&&(s+=", ")}return this.toStringCache=s,s},"toString"),ah={parse:rh,toString:th},zo=v(function(e,t,a){var n,i=he(e),s=ie(e),o=he(a),l,u,f=!1,c=!1,d=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),f=!0),(i||o||f)&&(l=!i&&!s?"":""+e,u=""+a),f&&(e=l=l.toLowerCase(),a=u=u.toLowerCase()),t){case"*=":n=l.indexOf(u)>=0;break;case"$=":n=l.indexOf(u,l.length-u.length)>=0;break;case"^=":n=l.indexOf(u)===0;break;case"=":n=e===a;break;case">":d=!0,n=e>a;break;case">=":d=!0,n=e>=a;break;case"<":d=!0,n=e<a;break;case"<=":d=!0,n=e<=a;break;default:n=!1;break}return c&&(e!=null||!d)&&(n=!n),n},"valCmp"),nh=v(function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return e===void 0}},"boolCmp"),ih=v(function(e){return e!==void 0},"existCmp"),mi=v(function(e,t){return e.data(t)},"data"),sh=v(function(e,t){return e[t]()},"meta"),$e=[],Ne=v(function(e,t){return e.checks.every(function(a){return $e[a.type](a,t)})},"matches");$e[ue.GROUP]=function(r,e){var t=r.value;return t==="*"||t===e.group()};$e[ue.STATE]=function(r,e){var t=r.value;return Jd(t,e)};$e[ue.ID]=function(r,e){var t=r.value;return e.id()===t};$e[ue.CLASS]=function(r,e){var t=r.value;return e.hasClass(t)};$e[ue.META_COMPARE]=function(r,e){var t=r.field,a=r.operator,n=r.value;return zo(sh(e,t),a,n)};$e[ue.DATA_COMPARE]=function(r,e){var t=r.field,a=r.operator,n=r.value;return zo(mi(e,t),a,n)};$e[ue.DATA_BOOL]=function(r,e){var t=r.field,a=r.operator;return nh(mi(e,t),a)};$e[ue.DATA_EXIST]=function(r,e){var t=r.field;return r.operator,ih(mi(e,t))};$e[ue.UNDIRECTED_EDGE]=function(r,e){var t=r.nodes[0],a=r.nodes[1],n=e.source(),i=e.target();return Ne(t,n)&&Ne(a,i)||Ne(a,n)&&Ne(t,i)};$e[ue.NODE_NEIGHBOR]=function(r,e){return Ne(r.node,e)&&e.neighborhood().some(function(t){return t.isNode()&&Ne(r.neighbor,t)})};$e[ue.DIRECTED_EDGE]=function(r,e){return Ne(r.source,e.source())&&Ne(r.target,e.target())};$e[ue.NODE_SOURCE]=function(r,e){return Ne(r.source,e)&&e.outgoers().some(function(t){return t.isNode()&&Ne(r.target,t)})};$e[ue.NODE_TARGET]=function(r,e){return Ne(r.target,e)&&e.incomers().some(function(t){return t.isNode()&&Ne(r.source,t)})};$e[ue.CHILD]=function(r,e){return Ne(r.child,e)&&Ne(r.parent,e.parent())};$e[ue.PARENT]=function(r,e){return Ne(r.parent,e)&&e.children().some(function(t){return Ne(r.child,t)})};$e[ue.DESCENDANT]=function(r,e){return Ne(r.descendant,e)&&e.ancestors().some(function(t){return Ne(r.ancestor,t)})};$e[ue.ANCESTOR]=function(r,e){return Ne(r.ancestor,e)&&e.descendants().some(function(t){return Ne(r.descendant,t)})};$e[ue.COMPOUND_SPLIT]=function(r,e){return Ne(r.subject,e)&&Ne(r.left,e)&&Ne(r.right,e)};$e[ue.TRUE]=function(){return!0};$e[ue.COLLECTION]=function(r,e){var t=r.value;return t.has(e)};$e[ue.FILTER]=function(r,e){var t=r.value;return t(e)};var oh=v(function(e){var t=this;if(t.length===1&&t[0].checks.length===1&&t[0].checks[0].type===ue.ID)return e.getElementById(t[0].checks[0].value).collection();var a=v(function(i){for(var s=0;s<t.length;s++){var o=t[s];if(Ne(o,i))return!0}return!1},"selectorFunction");return t.text()==null&&(a=v(function(){return!0},"selectorFunction")),e.filter(a)},"filter"),uh=v(function(e){for(var t=this,a=0;a<t.length;a++){var n=t[a];if(Ne(n,e))return!0}return!1},"matches"),lh={matches:uh,filter:oh},et=v(function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,e==null||he(e)&&e.match(/^\s*$/)||(pr(e)?this.addQuery({checks:[{type:ue.COLLECTION,value:e.collection()}]}):Ve(e)?this.addQuery({checks:[{type:ue.FILTER,value:e}]}):he(e)?this.parse(e)||(this.invalid=!0):qe("A selector must be created from a string; found "))},"Selector"),rt=et.prototype;[ah,lh].forEach(function(r){return we(rt,r)});rt.text=function(){return this.inputText};rt.size=function(){return this.length};rt.eq=function(r){return this[r]};rt.sameText=function(r){return!this.invalid&&!r.invalid&&this.text()===r.text()};rt.addQuery=function(r){this[this.length++]=r};rt.selector=rt.toString;var Qr={allAre:v(function(e){var t=new et(e);return this.every(function(a){return t.matches(a)})},"allAre"),is:v(function(e){var t=new et(e);return this.some(function(a){return t.matches(a)})},"is"),some:v(function(e,t){for(var a=0;a<this.length;a++){var n=t?e.apply(t,[this[a],a,this]):e(this[a],a,this);if(n)return!0}return!1},"some"),every:v(function(e,t){for(var a=0;a<this.length;a++){var n=t?e.apply(t,[this[a],a,this]):e(this[a],a,this);if(!n)return!1}return!0},"every"),same:v(function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length,a=e.length;return t!==a?!1:t===1?this[0]===e[0]:this.every(function(n){return e.hasElementWithId(n.id())})},"same"),anySame:v(function(e){return e=this.cy().collection(e),this.some(function(t){return e.hasElementWithId(t.id())})},"anySame"),allAreNeighbors:v(function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every(function(a){return t.hasElementWithId(a.id())})},"allAreNeighbors"),contains:v(function(e){e=this.cy().collection(e);var t=this;return e.every(function(a){return t.hasElementWithId(a.id())})},"contains")};Qr.allAreNeighbours=Qr.allAreNeighbors;Qr.has=Qr.contains;Qr.equal=Qr.equals=Qr.same;var xr=v(function(e,t){return v(function(n,i,s,o){var l=n,u=this,f;if(l==null?f="":pr(l)&&l.length===1&&(f=l.id()),u.length===1&&f){var c=u[0]._private,d=c.traversalCache=c.traversalCache||{},g=d[t]=d[t]||[],h=dt(f),m=g[h];return m||(g[h]=e.call(u,n,i,s,o))}else return e.call(u,n,i,s,o)},"traversalCache")},"cache"),Nt={parent:v(function(e){var t=[];if(this.length===1){var a=this[0]._private.parent;if(a)return a}for(var n=0;n<this.length;n++){var i=this[n],s=i._private.parent;s&&t.push(s)}return this.spawn(t,!0).filter(e)},"parent"),parents:v(function(e){for(var t=[],a=this.parent();a.nonempty();){for(var n=0;n<a.length;n++){var i=a[n];t.push(i)}a=a.parent()}return this.spawn(t,!0).filter(e)},"parents"),commonAncestors:v(function(e){for(var t,a=0;a<this.length;a++){var n=this[a],i=n.parents();t=t||i,t=t.intersect(i)}return t.filter(e)},"commonAncestors"),orphans:v(function(e){return this.stdFilter(function(t){return t.isOrphan()}).filter(e)},"orphans"),nonorphans:v(function(e){return this.stdFilter(function(t){return t.isChild()}).filter(e)},"nonorphans"),children:xr(function(r){for(var e=[],t=0;t<this.length;t++)for(var a=this[t],n=a._private.children,i=0;i<n.length;i++)e.push(n[i]);return this.spawn(e,!0).filter(r)},"children"),siblings:v(function(e){return this.parent().children().not(this).filter(e)},"siblings"),isParent:v(function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length!==0},"isParent"),isChildless:v(function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length===0},"isChildless"),isChild:v(function(){var e=this[0];if(e)return e.isNode()&&e._private.parent!=null},"isChild"),isOrphan:v(function(){var e=this[0];if(e)return e.isNode()&&e._private.parent==null},"isOrphan"),descendants:v(function(e){var t=[];function a(n){for(var i=0;i<n.length;i++){var s=n[i];t.push(s),s.children().nonempty()&&a(s.children())}}return v(a,"add"),a(this.children()),this.spawn(t,!0).filter(e)},"descendants")};function bi(r,e,t,a){for(var n=[],i=new Vt,s=r.cy(),o=s.hasCompoundNodes(),l=0;l<r.length;l++){var u=r[l];t?n.push(u):o&&a(n,i,u)}for(;n.length>0;){var f=n.shift();e(f),i.add(f.id()),o&&a(n,i,f)}return r}v(bi,"forEachCompound");function No(r,e,t){if(t.isParent())for(var a=t._private.children,n=0;n<a.length;n++){var i=a[n];e.has(i.id())||r.push(i)}}v(No,"addChildren");Nt.forEachDown=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return bi(this,r,e,No)};function Fo(r,e,t){if(t.isChild()){var a=t._private.parent;e.has(a.id())||r.push(a)}}v(Fo,"addParent");Nt.forEachUp=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return bi(this,r,e,Fo)};function vh(r,e,t){Fo(r,e,t),No(r,e,t)}v(vh,"addParentAndChildren");Nt.forEachUpAndDown=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return bi(this,r,e,vh)};Nt.ancestors=Nt.parents;var pa,Vo;pa=Vo={data:Me.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Me.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Me.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Me.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Me.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Me.removeData({field:"rscratch",triggerEvent:!1}),id:v(function(){var e=this[0];if(e)return e._private.data.id},"id")};pa.attr=pa.data;pa.removeAttr=pa.removeData;var fh=Vo,mn={};function In(r){return function(e){var t=this;if(e===void 0&&(e=!0),t.length!==0)if(t.isNode()&&!t.removed()){for(var a=0,n=t[0],i=n._private.edges,s=0;s<i.length;s++){var o=i[s];!e&&o.isLoop()||(a+=r(n,o))}return a}else return}}v(In,"defineDegreeFunction");we(mn,{degree:In(function(r,e){return e.source().same(e.target())?2:1}),indegree:In(function(r,e){return e.target().same(r)?1:0}),outdegree:In(function(r,e){return e.source().same(r)?1:0})});function Ct(r,e){return function(t){for(var a,n=this.nodes(),i=0;i<n.length;i++){var s=n[i],o=s[r](t);o!==void 0&&(a===void 0||e(o,a))&&(a=o)}return a}}v(Ct,"defineDegreeBoundsFunction");we(mn,{minDegree:Ct("degree",function(r,e){return r<e}),maxDegree:Ct("degree",function(r,e){return r>e}),minIndegree:Ct("indegree",function(r,e){return r<e}),maxIndegree:Ct("indegree",function(r,e){return r>e}),minOutdegree:Ct("outdegree",function(r,e){return r<e}),maxOutdegree:Ct("outdegree",function(r,e){return r>e})});we(mn,{totalDegree:v(function(e){for(var t=0,a=this.nodes(),n=0;n<a.length;n++)t+=a[n].degree(e);return t},"totalDegree")});var Br,qo,$o=v(function(e,t,a){for(var n=0;n<e.length;n++){var i=e[n];if(!i.locked()){var s=i._private.position,o={x:t.x!=null?t.x-s.x:0,y:t.y!=null?t.y-s.y:0};i.isParent()&&!(o.x===0&&o.y===0)&&i.children().shift(o,a),i.dirtyBoundingBoxCache()}}},"beforePositionSet"),ls={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:v(function(e){e.updateCompoundBounds()},"beforeGet"),beforeSet:v(function(e,t){$o(e,t,!1)},"beforeSet"),onSet:v(function(e){e.dirtyCompoundBoundsCache()},"onSet"),canSet:v(function(e){return!e.locked()},"canSet")};Br=qo={position:Me.data(ls),silentPosition:Me.data(we({},ls,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:v(function(e,t){$o(e,t,!0)},"beforeSet"),onSet:v(function(e){e.dirtyCompoundBoundsCache()},"onSet")})),positions:v(function(e,t){if(Te(e))t?this.silentPosition(e):this.position(e);else if(Ve(e)){var a=e,n=this.cy();n.startBatch();for(var i=0;i<this.length;i++){var s=this[i],o=void 0;(o=a(s,i))&&(t?s.silentPosition(o):s.position(o))}n.endBatch()}return this},"positions"),silentPositions:v(function(e){return this.positions(e,!0)},"silentPositions"),shift:v(function(e,t,a){var n;if(Te(e)?(n={x:ie(e.x)?e.x:0,y:ie(e.y)?e.y:0},a=t):he(e)&&ie(t)&&(n={x:0,y:0},n[e]=t),n!=null){var i=this.cy();i.startBatch();for(var s=0;s<this.length;s++){var o=this[s];if(!(i.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var l=o.position(),u={x:l.x+n.x,y:l.y+n.y};a?o.silentPosition(u):o.position(u)}}i.endBatch()}return this},"shift"),silentShift:v(function(e,t){return Te(e)?this.shift(e,!0):he(e)&&ie(t)&&this.shift(e,t,!0),this},"silentShift"),renderedPosition:v(function(e,t){var a=this[0],n=this.cy(),i=n.zoom(),s=n.pan(),o=Te(e)?e:void 0,l=o!==void 0||t!==void 0&&he(e);if(a&&a.isNode())if(l)for(var u=0;u<this.length;u++){var f=this[u];t!==void 0?f.position(e,(t-s[e])/i):o!==void 0&&f.position(co(o,i,s))}else{var c=a.position();return o=dn(c,i,s),e===void 0?o:o[e]}else if(!l)return;return this},"renderedPosition"),relativePosition:v(function(e,t){var a=this[0],n=this.cy(),i=Te(e)?e:void 0,s=i!==void 0||t!==void 0&&he(e),o=n.hasCompoundNodes();if(a&&a.isNode())if(s)for(var l=0;l<this.length;l++){var u=this[l],f=o?u.parent():null,c=f&&f.length>0,d=c;c&&(f=f[0]);var g=d?f.position():{x:0,y:0};t!==void 0?u.position(e,t+g[e]):i!==void 0&&u.position({x:i.x+g.x,y:i.y+g.y})}else{var h=a.position(),m=o?a.parent():null,y=m&&m.length>0,p=y;y&&(m=m[0]);var b=p?m.position():{x:0,y:0};return i={x:h.x-b.x,y:h.y-b.y},e===void 0?i:i[e]}else if(!s)return;return this},"relativePosition")};Br.modelPosition=Br.point=Br.position;Br.modelPositions=Br.points=Br.positions;Br.renderedPoint=Br.renderedPosition;Br.relativePoint=Br.relativePosition;var ch=qo,Rt,at;Rt=at={};at.renderedBoundingBox=function(r){var e=this.boundingBox(r),t=this.cy(),a=t.zoom(),n=t.pan(),i=e.x1*a+n.x,s=e.x2*a+n.x,o=e.y1*a+n.y,l=e.y2*a+n.y;return{x1:i,x2:s,y1:o,y2:l,w:s-i,h:l-o}};at.dirtyCompoundBoundsCache=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(t){if(t.isParent()){var a=t._private;a.compoundBoundsClean=!1,a.bbCache=null,r||t.emitAndNotify("bounds")}}),this)};at.updateCompoundBounds=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!r&&e.batching())return this;function t(s){if(!s.isParent())return;var o=s._private,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},c=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),d=o.position;(c.w===0||c.h===0)&&(c={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},c.x1=d.x-c.w/2,c.x2=d.x+c.w/2,c.y1=d.y-c.h/2,c.y2=d.y+c.h/2);function g(S,L,B){var M=0,A=0,P=L+B;return S>0&&P>0&&(M=L/P*S,A=B/P*S),{biasDiff:M,biasComplementDiff:A}}v(g,"computeBiasValues");function h(S,L,B,M){if(B.units==="%")switch(M){case"width":return S>0?B.pfValue*S:0;case"height":return L>0?B.pfValue*L:0;case"average":return S>0&&L>0?B.pfValue*(S+L)/2:0;case"min":return S>0&&L>0?S>L?B.pfValue*L:B.pfValue*S:0;case"max":return S>0&&L>0?S>L?B.pfValue*S:B.pfValue*L:0;default:return 0}else return B.units==="px"?B.pfValue:0}v(h,"computePaddingValues");var m=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(m=m*100/f.width.val);var y=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var p=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(p=p*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var w=g(f.width.val-c.w,m,y),x=w.biasDiff,T=w.biasComplementDiff,C=g(f.height.val-c.h,p,b),E=C.biasDiff,k=C.biasComplementDiff;o.autoPadding=h(c.w,c.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(c.w,f.width.val),d.x=(-x+c.x1+c.x2+T)/2,o.autoHeight=Math.max(c.h,f.height.val),d.y=(-E+c.y1+c.y2+k)/2}v(t,"update");for(var a=0;a<this.length;a++){var n=this[a],i=n._private;(!i.compoundBoundsClean||r)&&(t(n),e.batching()||(i.compoundBoundsClean=!0))}return this};var wr=v(function(e){return e===1/0||e===-1/0?0:e},"noninf"),kr=v(function(e,t,a,n,i){n-t===0||i-a===0||t==null||a==null||n==null||i==null||(e.x1=t<e.x1?t:e.x1,e.x2=n>e.x2?n:e.x2,e.y1=a<e.y1?a:e.y1,e.y2=i>e.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),ut=v(function(e,t){return t==null?e:kr(e,t.x1,t.y1,t.x2,t.y2)},"updateBoundsFromBox"),jt=v(function(e,t,a){return Pr(e,t,a)},"prefixedProperty"),za=v(function(e,t,a){if(!t.cy().headless()){var n=t._private,i=n.rstyle,s=i.arrowWidth/2,o=t.pstyle(a+"-arrow-shape").value,l,u;if(o!=="none"){a==="source"?(l=i.srcX,u=i.srcY):a==="target"?(l=i.tgtX,u=i.tgtY):(l=i.midX,u=i.midY);var f=n.arrowBounds=n.arrowBounds||{},c=f[a]=f[a]||{};c.x1=l-s,c.y1=u-s,c.x2=l+s,c.y2=u+s,c.w=c.x2-c.x1,c.h=c.y2-c.y1,Ha(c,1),kr(e,c.x1,c.y1,c.x2,c.y2)}}},"updateBoundsFromArrow"),zn=v(function(e,t,a){if(!t.cy().headless()){var n;a?n=a+"-":n="";var i=t._private,s=i.rstyle,o=t.pstyle(n+"label").strValue;if(o){var l=t.pstyle("text-halign"),u=t.pstyle("text-valign"),f=jt(s,"labelWidth",a),c=jt(s,"labelHeight",a),d=jt(s,"labelX",a),g=jt(s,"labelY",a),h=t.pstyle(n+"text-margin-x").pfValue,m=t.pstyle(n+"text-margin-y").pfValue,y=t.isEdge(),p=t.pstyle(n+"text-rotation"),b=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue,x=w/2,T=t.pstyle("text-background-padding").pfValue,C=2,E=c,k=f,S=k/2,L=E/2,B,M,A,P;if(y)B=d-S,M=d+S,A=g-L,P=g+L;else{switch(l.value){case"left":B=d-k,M=d;break;case"center":B=d-S,M=d+S;break;case"right":B=d,M=d+k;break}switch(u.value){case"top":A=g-E,P=g;break;case"center":A=g-L,P=g+L;break;case"bottom":A=g,P=g+E;break}}B+=h-Math.max(b,x)-T-C,M+=h+Math.max(b,x)+T+C,A+=m-Math.max(b,x)-T-C,P+=m+Math.max(b,x)+T+C;var I=a||"main",R=i.labelBounds,O=R[I]=R[I]||{};O.x1=B,O.y1=A,O.x2=M,O.y2=P,O.w=M-B,O.h=P-A;var z=y&&p.strValue==="autorotate",$=p.pfValue!=null&&p.pfValue!==0;if(z||$){var H=z?jt(i.rstyle,"labelAngle",a):p.pfValue,V=Math.cos(H),F=Math.sin(H),U=(B+M)/2,J=(A+P)/2;if(!y){switch(l.value){case"left":U=M;break;case"right":U=B;break}switch(u.value){case"top":J=P;break;case"bottom":J=A;break}}var j=v(function(ge,ne){return ge=ge-U,ne=ne-J,{x:ge*V-ne*F+U,y:ge*F+ne*V+J}},"rotate"),ee=j(B,A),re=j(B,P),Y=j(M,A),N=j(M,P);B=Math.min(ee.x,re.x,Y.x,N.x),M=Math.max(ee.x,re.x,Y.x,N.x),A=Math.min(ee.y,re.y,Y.y,N.y),P=Math.max(ee.y,re.y,Y.y,N.y)}var X=I+"Rot",Z=R[X]=R[X]||{};Z.x1=B,Z.y1=A,Z.x2=M,Z.y2=P,Z.w=M-B,Z.h=P-A,kr(e,B,A,M,P),kr(i.labelBounds.all,B,A,M,P)}return e}},"updateBoundsFromLabel"),dh=v(function(e,t){if(!t.cy().headless()){var a=t.pstyle("outline-opacity").value,n=t.pstyle("outline-width").value;if(a>0&&n>0){var i=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,o=n+i,l=(e.w+o*2)/e.w,u=(e.h+o*2)/e.h,f=0,c=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+o*2.4)/e.w,c=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+o*2.4)/e.w:s==="star"?(l=(e.w+o*2.8)/e.w,u=(e.h+o*2.6)/e.h,c=-o/3.8):s==="triangle"?(l=(e.w+o*2.8)/e.w,u=(e.h+o*2.4)/e.h,c=-o/1.4):s==="vee"&&(l=(e.w+o*4.4)/e.w,u=(e.h+o*3.8)/e.h,c=-o*.5);var d=e.h*u-e.h,g=e.w*l-e.w;if(Ga(e,[Math.ceil(d/2),Math.ceil(g/2)]),f!=0||c!==0){var h=Rv(e,f,c);go(e,h)}}}},"updateBoundsFromOutline"),hh=v(function(e,t){var a=e._private.cy,n=a.styleEnabled(),i=a.headless(),s=gr(),o=e._private,l=e.isNode(),u=e.isEdge(),f,c,d,g,h,m,y=o.rstyle,p=l&&n?e.pstyle("bounds-expansion").pfValue:[0],b=v(function(le){return le.pstyle("display").value!=="none"},"isDisplayed"),w=!n||b(e)&&(!u||b(e.source())&&b(e.target()));if(w){var x=0,T=0;n&&t.includeOverlays&&(x=e.pstyle("overlay-opacity").value,x!==0&&(T=e.pstyle("overlay-padding").value));var C=0,E=0;n&&t.includeUnderlays&&(C=e.pstyle("underlay-opacity").value,C!==0&&(E=e.pstyle("underlay-padding").value));var k=Math.max(T,E),S=0,L=0;if(n&&(S=e.pstyle("width").pfValue,L=S/2),l&&t.includeNodes){var B=e.position();h=B.x,m=B.y;var M=e.outerWidth(),A=M/2,P=e.outerHeight(),I=P/2;f=h-A,c=h+A,d=m-I,g=m+I,kr(s,f,d,c,g),n&&t.includeOutlines&&dh(s,e)}else if(u&&t.includeEdges)if(n&&!i){var R=e.pstyle("curve-style").strValue;if(f=Math.min(y.srcX,y.midX,y.tgtX),c=Math.max(y.srcX,y.midX,y.tgtX),d=Math.min(y.srcY,y.midY,y.tgtY),g=Math.max(y.srcY,y.midY,y.tgtY),f-=L,c+=L,d-=L,g+=L,kr(s,f,d,c,g),R==="haystack"){var O=y.haystackPts;if(O&&O.length===2){if(f=O[0].x,d=O[0].y,c=O[1].x,g=O[1].y,f>c){var z=f;f=c,c=z}if(d>g){var $=d;d=g,g=$}kr(s,f-L,d-L,c+L,g+L)}}else if(R==="bezier"||R==="unbundled-bezier"||R.endsWith("segments")||R.endsWith("taxi")){var H;switch(R){case"bezier":case"unbundled-bezier":H=y.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":H=y.linePts;break}if(H!=null)for(var V=0;V<H.length;V++){var F=H[V];f=F.x-L,c=F.x+L,d=F.y-L,g=F.y+L,kr(s,f,d,c,g)}}}else{var U=e.source(),J=U.position(),j=e.target(),ee=j.position();if(f=J.x,c=ee.x,d=J.y,g=ee.y,f>c){var re=f;f=c,c=re}if(d>g){var Y=d;d=g,g=Y}f-=L,c+=L,d-=L,g+=L,kr(s,f,d,c,g)}if(n&&t.includeEdges&&u&&(za(s,e,"mid-source"),za(s,e,"mid-target"),za(s,e,"source"),za(s,e,"target")),n){var N=e.pstyle("ghost").value==="yes";if(N){var X=e.pstyle("ghost-offset-x").pfValue,Z=e.pstyle("ghost-offset-y").pfValue;kr(s,s.x1+X,s.y1+Z,s.x2+X,s.y2+Z)}}var oe=o.bodyBounds=o.bodyBounds||{};Hi(oe,s),Ga(oe,p),Ha(oe,1),n&&(f=s.x1,c=s.x2,d=s.y1,g=s.y2,kr(s,f-k,d-k,c+k,g+k));var ge=o.overlayBounds=o.overlayBounds||{};Hi(ge,s),Ga(ge,p),Ha(ge,1);var ne=o.labelBounds=o.labelBounds||{};ne.all!=null?Av(ne.all):ne.all=gr(),n&&t.includeLabels&&(t.includeMainLabels&&zn(s,e,null),u&&(t.includeSourceLabels&&zn(s,e,"source"),t.includeTargetLabels&&zn(s,e,"target")))}return s.x1=wr(s.x1),s.y1=wr(s.y1),s.x2=wr(s.x2),s.y2=wr(s.y2),s.w=wr(s.x2-s.x1),s.h=wr(s.y2-s.y1),s.w>0&&s.h>0&&w&&(Ga(s,p),Ha(s,1)),s},"boundingBoxImpl"),Ho=v(function(e){var t=0,a=v(function(s){return(s?1:0)<<t++},"tf"),n=0;return n+=a(e.incudeNodes),n+=a(e.includeEdges),n+=a(e.includeLabels),n+=a(e.includeMainLabels),n+=a(e.includeSourceLabels),n+=a(e.includeTargetLabels),n+=a(e.includeOverlays),n+=a(e.includeOutlines),n},"getKey"),Go=v(function(e){if(e.isEdge()){var t=e.source().position(),a=e.target().position(),n=v(function(s){return Math.round(s)},"r");return jl([n(t.x),n(t.y),n(a.x),n(a.y)])}else return 0},"getBoundingBoxPosKey"),vs=v(function(e,t){var a=e._private,n,i=e.isEdge(),s=t==null?fs:Ho(t),o=s===fs,l=Go(e),u=a.bbCachePosKey===l,f=t.useCache&&u,c=v(function(m){return m._private.bbCache==null||m._private.styleDirty},"isDirty"),d=!f||c(e)||i&&c(e.source())||c(e.target());if(d?(u||e.recalculateRenderedStyle(f),n=hh(e,ya),a.bbCache=n,a.bbCachePosKey=l):n=a.bbCache,!o){var g=e.isNode();n=gr(),(t.includeNodes&&g||t.includeEdges&&!g)&&(t.includeOverlays?ut(n,a.overlayBounds):ut(n,a.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?ut(n,a.labelBounds.all):(t.includeMainLabels&&ut(n,a.labelBounds.mainRot),t.includeSourceLabels&&ut(n,a.labelBounds.sourceRot),t.includeTargetLabels&&ut(n,a.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},"cachedBoundingBoxImpl"),ya={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},fs=Ho(ya),cs=rr(ya);at.boundingBox=function(r){var e;if(this.length===1&&this[0]._private.bbCache!=null&&!this[0]._private.styleDirty&&(r===void 0||r.useCache===void 0||r.useCache===!0))r===void 0?r=ya:r=cs(r),e=vs(this[0],r);else{e=gr(),r=r||ya;var t=cs(r),a=this,n=a.cy(),i=n.styleEnabled();if(i)for(var s=0;s<a.length;s++){var o=a[s],l=o._private,u=Go(o),f=l.bbCachePosKey===u,c=t.useCache&&f&&!l.styleDirty;o.recalculateRenderedStyle(c)}this.updateCompoundBounds(!r.useCache);for(var d=0;d<a.length;d++){var g=a[d];ut(e,vs(g,t))}}return e.x1=wr(e.x1),e.y1=wr(e.y1),e.x2=wr(e.x2),e.y2=wr(e.y2),e.w=wr(e.x2-e.x1),e.h=wr(e.y2-e.y1),e};at.dirtyBoundingBoxCache=function(){for(var r=0;r<this.length;r++){var e=this[r]._private;e.bbCache=null,e.bbCachePosKey=null,e.bodyBounds=null,e.overlayBounds=null,e.labelBounds.all=null,e.labelBounds.source=null,e.labelBounds.target=null,e.labelBounds.main=null,e.labelBounds.sourceRot=null,e.labelBounds.targetRot=null,e.labelBounds.mainRot=null,e.arrowBounds.source=null,e.arrowBounds.target=null,e.arrowBounds["mid-source"]=null,e.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this};at.boundingBoxAt=function(r){var e=this.nodes(),t=this.cy(),a=t.hasCompoundNodes(),n=t.collection();if(a&&(n=e.filter(function(u){return u.isParent()}),e=e.not(n)),Te(r)){var i=r;r=v(function(){return i},"fn")}var s=v(function(f,c){return f._private.bbAtOldPos=r(f,c)},"storeOldPos"),o=v(function(f){return f._private.bbAtOldPos},"getOldPos");t.startBatch(),e.forEach(s).silentPositions(r),a&&(n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),n.updateCompoundBounds(!0));var l=Lv(this.boundingBox({useCache:!1}));return e.silentPositions(o),a&&(n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),n.updateCompoundBounds(!0)),t.endBatch(),l};Rt.boundingbox=Rt.bb=Rt.boundingBox;Rt.renderedBoundingbox=Rt.renderedBoundingBox;var gh=at,ia,Sa;ia=Sa={};var Ko=v(function(e){e.uppercaseName=Ii(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=Ii(e.outerName),ia[e.name]=v(function(){var a=this[0],n=a._private,i=n.cy,s=i._private.styleEnabled;if(a)if(s){if(a.isParent())return a.updateCompoundBounds(),n[e.autoName]||0;var o=a.pstyle(e.name);switch(o.strValue){case"label":return a.recalculateRenderedStyle(),n.rstyle[e.labelName]||0;default:return o.pfValue}}else return 1},"dimImpl"),ia["outer"+e.uppercaseName]=v(function(){var a=this[0],n=a._private,i=n.cy,s=i._private.styleEnabled;if(a)if(s){var o=a[e.name](),l=a.pstyle("border-width").pfValue,u=2*a.padding();return o+l+u}else return 1},"outerDimImpl"),ia["rendered"+e.uppercaseName]=v(function(){var a=this[0];if(a){var n=a[e.name]();return n*this.cy().zoom()}},"renderedDimImpl"),ia["rendered"+e.uppercaseOuterName]=v(function(){var a=this[0];if(a){var n=a[e.outerName]();return n*this.cy().zoom()}},"renderedOuterDimImpl")},"defineDimFns");Ko({name:"width"});Ko({name:"height"});Sa.padding=function(){var r=this[0],e=r._private;return r.isParent()?(r.updateCompoundBounds(),e.autoPadding!==void 0?e.autoPadding:r.pstyle("padding").pfValue):r.pstyle("padding").pfValue};Sa.paddedHeight=function(){var r=this[0];return r.height()+2*r.padding()};Sa.paddedWidth=function(){var r=this[0];return r.width()+2*r.padding()};var ph=Sa,yh=v(function(e,t){if(e.isEdge())return t(e)},"ifEdge"),mh=v(function(e,t){if(e.isEdge()){var a=e.cy();return dn(t(e),a.zoom(),a.pan())}},"ifEdgeRenderedPosition"),bh=v(function(e,t){if(e.isEdge()){var a=e.cy(),n=a.pan(),i=a.zoom();return t(e).map(function(s){return dn(s,i,n)})}},"ifEdgeRenderedPositions"),wh=v(function(e){return e.renderer().getControlPoints(e)},"controlPoints"),xh=v(function(e){return e.renderer().getSegmentPoints(e)},"segmentPoints"),Eh=v(function(e){return e.renderer().getSourceEndpoint(e)},"sourceEndpoint"),Ch=v(function(e){return e.renderer().getTargetEndpoint(e)},"targetEndpoint"),Sh=v(function(e){return e.renderer().getEdgeMidpoint(e)},"midpoint"),ds={controlPoints:{get:wh,mult:!0},segmentPoints:{get:xh,mult:!0},sourceEndpoint:{get:Eh},targetEndpoint:{get:Ch},midpoint:{get:Sh}},Th=v(function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)},"renderedName"),Dh=Object.keys(ds).reduce(function(r,e){var t=ds[e],a=Th(e);return r[e]=function(){return yh(this,t.get)},t.mult?r[a]=function(){return bh(this,t.get)}:r[a]=function(){return mh(this,t.get)},r},{}),kh=we({},ch,gh,ph,Dh);var Wo=v(function(e,t){this.recycle(e,t)},"Event");function ea(){return!1}v(ea,"returnFalse");function Na(){return!0}v(Na,"returnTrue");Wo.prototype={instanceString:v(function(){return"event"},"instanceString"),recycle:v(function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=ea,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?Na:ea):e!=null&&e.type?t=e:this.type=e,t!=null&&(this.originalEvent=t.originalEvent,this.type=t.type!=null?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var a=this.position,n=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:a.x*n+i.x,y:a.y*n+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},"recycle"),preventDefault:v(function(){this.isDefaultPrevented=Na;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},"preventDefault"),stopPropagation:v(function(){this.isPropagationStopped=Na;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},"stopPropagation"),stopImmediatePropagation:v(function(){this.isImmediatePropagationStopped=Na,this.stopPropagation()},"stopImmediatePropagation"),isDefaultPrevented:ea,isPropagationStopped:ea,isImmediatePropagationStopped:ea};var Uo=/^([^.]+)(\.(?:[^.]+))?$/,Ph=".*",Yo={qualifierCompare:v(function(e,t){return e===t},"qualifierCompare"),eventMatches:v(function(){return!0},"eventMatches"),addEventFields:v(function(){},"addEventFields"),callbackContext:v(function(e){return e},"callbackContext"),beforeEmit:v(function(){},"beforeEmit"),afterEmit:v(function(){},"afterEmit"),bubble:v(function(){return!1},"bubble"),parent:v(function(){return null},"parent"),context:null},hs=Object.keys(Yo),Bh={};function bn(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Bh,e=arguments.length>1?arguments[1]:void 0,t=0;t<hs.length;t++){var a=hs[t];this[a]=r[a]||Yo[a]}this.context=e||this.context,this.listeners=[],this.emitting=0}v(bn,"Emitter");var tt=bn.prototype,Xo=v(function(e,t,a,n,i,s,o){Ve(n)&&(i=n,n=null),o&&(s==null?s=o:s=we({},s,o));for(var l=Oe(a)?a:a.split(/\s+/),u=0;u<l.length;u++){var f=l[u];if(!_r(f)){var c=f.match(Uo);if(c){var d=c[1],g=c[2]?c[2]:null,h=t(e,f,d,g,n,i,s);if(h===!1)break}}}},"forEachEvent"),gs=v(function(e,t){return e.addEventFields(e.context,t),new Wo(t.type,t)},"makeEventObj"),Mh=v(function(e,t,a){if(Zu(a)){t(e,a);return}else if(Te(a)){t(e,gs(e,a));return}for(var n=Oe(a)?a:a.split(/\s+/),i=0;i<n.length;i++){var s=n[i];if(!_r(s)){var o=s.match(Uo);if(o){var l=o[1],u=o[2]?o[2]:null,f=gs(e,{type:l,namespace:u,target:e.context});t(e,f)}}}},"forEachEventObj");tt.on=tt.addListener=function(r,e,t,a,n){return Xo(this,function(i,s,o,l,u,f,c){Ve(f)&&i.listeners.push({event:s,callback:f,type:o,namespace:l,qualifier:u,conf:c})},r,e,t,a,n),this};tt.one=function(r,e,t,a){return this.on(r,e,t,a,{one:!0})};tt.removeListener=tt.off=function(r,e,t,a){var n=this;this.emitting!==0&&(this.listeners=nv(this.listeners));for(var i=this.listeners,s=v(function(u){var f=i[u];Xo(n,function(c,d,g,h,m,y){if((f.type===g||r==="*")&&(!h&&f.namespace!==".*"||f.namespace===h)&&(!m||c.qualifierCompare(f.qualifier,m))&&(!y||f.callback===y))return i.splice(u,1),!1},r,e,t,a)},"_loop"),o=i.length-1;o>=0;o--)s(o);return this};tt.removeAllListeners=function(){return this.removeListener("*")};tt.emit=tt.trigger=function(r,e,t){var a=this.listeners,n=a.length;return this.emitting++,Oe(e)||(e=[e]),Mh(this,function(i,s){t!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:t}],n=a.length);for(var o=v(function(f){var c=a[f];if(c.type===s.type&&(!c.namespace||c.namespace===s.namespace||c.namespace===Ph)&&i.eventMatches(i.context,c,s)){var d=[s];e!=null&&sv(d,e),i.beforeEmit(i.context,c,s),c.conf&&c.conf.one&&(i.listeners=i.listeners.filter(function(m){return m!==c}));var g=i.callbackContext(i.context,c,s),h=c.callback.apply(g,d);i.afterEmit(i.context,c,s),h===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),l=0;l<n;l++)o(l);i.bubble(i.context)&&!s.isPropagationStopped()&&i.parent(i.context).emit(s,e)},r),this.emitting--,this};var Lh={qualifierCompare:v(function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},"qualifierCompare"),eventMatches:v(function(e,t,a){var n=t.qualifier;return n!=null?e!==a.target&&xa(a.target)&&n.matches(a.target):!0},"eventMatches"),addEventFields:v(function(e,t){t.cy=e.cy(),t.target=e},"addEventFields"),callbackContext:v(function(e,t,a){return t.qualifier!=null?a.target:e},"callbackContext"),beforeEmit:v(function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},"beforeEmit"),bubble:v(function(){return!0},"bubble"),parent:v(function(e){return e.isChild()?e.parent():e.cy()},"parent")},Fa=v(function(e){return he(e)?new et(e):e},"argSelector"),Zo={createEmitter:v(function(){for(var e=0;e<this.length;e++){var t=this[e],a=t._private;a.emitter||(a.emitter=new bn(Lh,t))}return this},"createEmitter"),emitter:v(function(){return this._private.emitter},"emitter"),on:v(function(e,t,a){for(var n=Fa(t),i=0;i<this.length;i++){var s=this[i];s.emitter().on(e,n,a)}return this},"on"),removeListener:v(function(e,t,a){for(var n=Fa(t),i=0;i<this.length;i++){var s=this[i];s.emitter().removeListener(e,n,a)}return this},"removeListener"),removeAllListeners:v(function(){for(var e=0;e<this.length;e++){var t=this[e];t.emitter().removeAllListeners()}return this},"removeAllListeners"),one:v(function(e,t,a){for(var n=Fa(t),i=0;i<this.length;i++){var s=this[i];s.emitter().one(e,n,a)}return this},"one"),once:v(function(e,t,a){for(var n=Fa(t),i=0;i<this.length;i++){var s=this[i];s.emitter().on(e,n,a,{once:!0,onceCollection:this})}},"once"),emit:v(function(e,t){for(var a=0;a<this.length;a++){var n=this[a];n.emitter().emit(e,t)}return this},"emit"),emitAndNotify:v(function(e,t){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,t),this},"emitAndNotify")};Me.eventAliasesOn(Zo);var Qo={nodes:v(function(e){return this.filter(function(t){return t.isNode()}).filter(e)},"nodes"),edges:v(function(e){return this.filter(function(t){return t.isEdge()}).filter(e)},"edges"),byGroup:v(function(){for(var e=this.spawn(),t=this.spawn(),a=0;a<this.length;a++){var n=this[a];n.isNode()?e.push(n):t.push(n)}return{nodes:e,edges:t}},"byGroup"),filter:v(function(e,t){if(e===void 0)return this;if(he(e)||pr(e))return new et(e).filter(this);if(Ve(e)){for(var a=this.spawn(),n=this,i=0;i<n.length;i++){var s=n[i],o=t?e.apply(t,[s,i,n]):e(s,i,n);o&&a.push(s)}return a}return this.spawn()},"filter"),not:v(function(e){if(e){he(e)&&(e=this.filter(e));for(var t=this.spawn(),a=0;a<this.length;a++){var n=this[a],i=e.has(n);i||t.push(n)}return t}else return this},"not"),absoluteComplement:v(function(){var e=this.cy();return e.mutableElements().not(this)},"absoluteComplement"),intersect:v(function(e){if(he(e)){var t=e;return this.filter(t)}for(var a=this.spawn(),n=this,i=e,s=this.length<e.length,o=s?n:i,l=s?i:n,u=0;u<o.length;u++){var f=o[u];l.has(f)&&a.push(f)}return a},"intersect"),xor:v(function(e){var t=this._private.cy;he(e)&&(e=t.$(e));var a=this.spawn(),n=this,i=e,s=v(function(l,u){for(var f=0;f<l.length;f++){var c=l[f],d=c._private.data.id,g=u.hasElementWithId(d);g||a.push(c)}},"add");return s(n,i),s(i,n),a},"xor"),diff:v(function(e){var t=this._private.cy;he(e)&&(e=t.$(e));var a=this.spawn(),n=this.spawn(),i=this.spawn(),s=this,o=e,l=v(function(f,c,d){for(var g=0;g<f.length;g++){var h=f[g],m=h._private.data.id,y=c.hasElementWithId(m);y?i.merge(h):d.push(h)}},"add");return l(s,o,a),l(o,s,n),{left:a,right:n,both:i}},"diff"),add:v(function(e){var t=this._private.cy;if(!e)return this;if(he(e)){var a=e;e=t.mutableElements().filter(a)}for(var n=this.spawnSelf(),i=0;i<e.length;i++){var s=e[i],o=!this.has(s);o&&n.push(s)}return n},"add"),merge:v(function(e){var t=this._private,a=t.cy;if(!e)return this;if(e&&he(e)){var n=e;e=a.mutableElements().filter(n)}for(var i=t.map,s=0;s<e.length;s++){var o=e[s],l=o._private.data.id,u=!i.has(l);if(u){var f=this.length++;this[f]=o,i.set(l,{ele:o,index:f})}}return this},"merge"),unmergeAt:v(function(e){var t=this[e],a=t.id(),n=this._private,i=n.map;this[e]=void 0,i.delete(a);var s=e===this.length-1;if(this.length>1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,i.set(u,{ele:l,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:v(function(e){e=e[0];var t=this._private,a=e._private.data.id,n=t.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:v(function(e){var t=this._private.cy;if(!e)return this;if(e&&he(e)){var a=e;e=t.mutableElements().filter(a)}for(var n=0;n<e.length;n++)this.unmergeOne(e[n]);return this},"unmerge"),unmergeBy:v(function(e){for(var t=this.length-1;t>=0;t--){var a=this[t];e(a)&&this.unmergeAt(t)}return this},"unmergeBy"),map:v(function(e,t){for(var a=[],n=this,i=0;i<n.length;i++){var s=n[i],o=t?e.apply(t,[s,i,n]):e(s,i,n);a.push(o)}return a},"map"),reduce:v(function(e,t){for(var a=t,n=this,i=0;i<n.length;i++)a=e(a,n[i],i,n);return a},"reduce"),max:v(function(e,t){for(var a=-1/0,n,i=this,s=0;s<i.length;s++){var o=i[s],l=t?e.apply(t,[o,s,i]):e(o,s,i);l>a&&(a=l,n=o)}return{value:a,ele:n}},"max"),min:v(function(e,t){for(var a=1/0,n,i=this,s=0;s<i.length;s++){var o=i[s],l=t?e.apply(t,[o,s,i]):e(o,s,i);l<a&&(a=l,n=o)}return{value:a,ele:n}},"min")},Pe=Qo;Pe.u=Pe["|"]=Pe["+"]=Pe.union=Pe.or=Pe.add;Pe["\\"]=Pe["!"]=Pe["-"]=Pe.difference=Pe.relativeComplement=Pe.subtract=Pe.not;Pe.n=Pe["&"]=Pe["."]=Pe.and=Pe.intersection=Pe.intersect;Pe["^"]=Pe["(+)"]=Pe["(-)"]=Pe.symmetricDifference=Pe.symdiff=Pe.xor;Pe.fnFilter=Pe.filterFn=Pe.stdFilter=Pe.filter;Pe.complement=Pe.abscomp=Pe.absoluteComplement;var Ah={isNode:v(function(){return this.group()==="nodes"},"isNode"),isEdge:v(function(){return this.group()==="edges"},"isEdge"),isLoop:v(function(){return this.isEdge()&&this.source()[0]===this.target()[0]},"isLoop"),isSimple:v(function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},"isSimple"),group:v(function(){var e=this[0];if(e)return e._private.group},"group")},Jo=v(function(e,t){var a=e.cy(),n=a.hasCompoundNodes();function i(f){var c=f.pstyle("z-compound-depth");return c.value==="auto"?n?f.zDepth():0:c.value==="bottom"?-1:c.value==="top"?ui:0}v(i,"getDepth");var s=i(e)-i(t);if(s!==0)return s;function o(f){var c=f.pstyle("z-index-compare");return c.value==="auto"&&f.isNode()?1:0}v(o,"getEleDepth");var l=o(e)-o(t);if(l!==0)return l;var u=e.pstyle("z-index").value-t.pstyle("z-index").value;return u!==0?u:e.poolIndex()-t.poolIndex()},"zIndexSort"),an={forEach:v(function(e,t){if(Ve(e))for(var a=this.length,n=0;n<a;n++){var i=this[n],s=t?e.apply(t,[i,n,this]):e(i,n,this);if(s===!1)break}return this},"forEach"),toArray:v(function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},"toArray"),slice:v(function(e,t){var a=[],n=this.length;t==null&&(t=n),e==null&&(e=0),e<0&&(e=n+e),t<0&&(t=n+t);for(var i=e;i>=0&&i<t&&i<n;i++)a.push(this[i]);return this.spawn(a)},"slice"),size:v(function(){return this.length},"size"),eq:v(function(e){return this[e]||this.spawn()},"eq"),first:v(function(){return this[0]||this.spawn()},"first"),last:v(function(){return this[this.length-1]||this.spawn()},"last"),empty:v(function(){return this.length===0},"empty"),nonempty:v(function(){return!this.empty()},"nonempty"),sort:v(function(e){if(!Ve(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},"sort"),sortByZIndex:v(function(){return this.sort(Jo)},"sortByZIndex"),zDepth:v(function(){var e=this[0];if(e){var t=e._private,a=t.group;if(a==="nodes"){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:ui-1}else{var i=t.source,s=t.target,o=i.zDepth(),l=s.zDepth();return Math.max(o,l,0)}}},"zDepth")};an.each=an.forEach;var Rh=v(function(){var e="undefined",t=(typeof Symbol>"u"?"undefined":Ue(Symbol))!=e&&Ue(Symbol.iterator)!=e;t&&(an[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return Us({next:v(function(){return i<s?n.value=a[i++]:(n.value=void 0,n.done=!0),n},"next")},Symbol.iterator,function(){return this})})},"defineSymbolIterator");Rh();var Oh=rr({nodeDimensionsIncludeLabels:!1}),Wa={layoutDimensions:v(function(e){e=Oh(e);var t;if(!this.takesUpSpace())t={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var a=this.boundingBox();t={w:a.w,h:a.h}}else t={w:this.outerWidth(),h:this.outerHeight()};return(t.w===0||t.h===0)&&(t.w=t.h=1),t},"layoutDimensions"),layoutPositions:v(function(e,t,a){var n=this.nodes().filter(function(T){return!T.isParent()}),i=this.cy(),s=t.eles,o=v(function(C){return C.id()},"getMemoizeKey"),l=la(a,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var u=v(function(C,E,k){var S={x:E.x1+E.w/2,y:E.y1+E.h/2},L={x:(k.x-S.x)*C,y:(k.y-S.y)*C};return{x:S.x+L.x,y:S.y+L.y}},"calculateSpacing"),f=t.spacingFactor&&t.spacingFactor!==1,c=v(function(){if(!f)return null;for(var C=gr(),E=0;E<n.length;E++){var k=n[E],S=l(k,E);Ov(C,S.x,S.y)}return C},"spacingBb"),d=c(),g=la(function(T,C){var E=l(T,C);if(f){var k=Math.abs(t.spacingFactor);E=u(k,d,E)}return t.transform!=null&&(E=t.transform(T,E)),E},o);if(t.animate){for(var h=0;h<n.length;h++){var m=n[h],y=g(m,h),p=t.animateFilter==null||t.animateFilter(m,h);if(p){var b=m.animation({position:y,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(b)}else m.position(y)}if(t.fit){var w=i.animation({fit:{boundingBox:s.boundingBoxAt(g),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(w)}else if(t.zoom!==void 0&&t.pan!==void 0){var x=i.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(x)}e.animations.forEach(function(T){return T.play()}),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),qt.all(e.animations.map(function(T){return T.promise()})).then(function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})})}else n.positions(g),t.fit&&i.fit(t.eles,t.padding),t.zoom!=null&&i.zoom(t.zoom),t.pan&&i.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},"layoutPositions"),layout:v(function(e){var t=this.cy();return t.makeLayout(we({},e,{eles:this}))},"layout")};Wa.createLayout=Wa.makeLayout=Wa.layout;function _o(r,e,t){var a=t._private,n=a.styleCache=a.styleCache||[],i;return(i=n[r])!=null||(i=n[r]=e(t)),i}v(_o,"styleCache");function wn(r,e){return r=dt(r),v(function(a){return _o(r,e,a)},"cachedStyleFunction")}v(wn,"cacheStyleFunction");function xn(r,e){r=dt(r);var t=v(function(n){return e.call(n)},"selfFn");return v(function(){var n=this[0];if(n)return _o(r,t,n)},"cachedPrototypeStyleFunction")}v(xn,"cachePrototypeStyleFunction");var je={recalculateRenderedStyle:v(function(e){var t=this.cy(),a=t.renderer(),n=t.styleEnabled();return a&&n&&a.recalculateRenderedStyle(this,e),this},"recalculateRenderedStyle"),dirtyStyleCache:v(function(){var e=this.cy(),t=v(function(i){return i._private.styleCache=null},"dirty");if(e.hasCompoundNodes()){var a;a=this.spawnSelf().merge(this.descendants()).merge(this.parents()),a.merge(a.connectedEdges()),a.forEach(t)}else this.forEach(function(n){t(n),n.connectedEdges().forEach(t)});return this},"dirtyStyleCache"),updateStyle:v(function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching()){var a=t._private.batchStyleEles;return a.merge(this),this}var n=t.hasCompoundNodes(),i=this;e=!!(e||e===void 0),n&&(i=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var s=i;return e?s.emitAndNotify("style"):s.emit("style"),i.forEach(function(o){return o._private.styleDirty=!0}),this},"updateStyle"),cleanStyle:v(function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var a=this[t];a._private.styleDirty&&(a._private.styleDirty=!1,e.style().apply(a))}},"cleanStyle"),parsedStyle:v(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){this.cleanStyle();var i=a._private.style[e];return i??(t?n.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:v(function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var a=t.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},"numericStyle"),numericStyleUnits:v(function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},"numericStyleUnits"),renderedStyle:v(function(e){var t=this.cy();if(!t.styleEnabled())return this;var a=this[0];if(a)return t.style().getRenderedStyle(a,e)},"renderedStyle"),style:v(function(e,t){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(Te(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(he(e))if(t===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,t,n),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?i.getRawStyle(l):void 0}return this},"style"),removeStyle:v(function(e){var t=this.cy();if(!t.styleEnabled())return this;var a=!1,n=t.style(),i=this;if(e===void 0)for(var s=0;s<i.length;s++){var o=i[s];n.removeAllBypasses(o,a)}else{e=e.split(/\s+/);for(var l=0;l<i.length;l++){var u=i[l];n.removeBypasses(u,e,a)}}return this.emitAndNotify("style"),this},"removeStyle"),show:v(function(){return this.css("display","element"),this},"show"),hide:v(function(){return this.css("display","none"),this},"hide"),effectiveOpacity:v(function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),a=this[0];if(a){var n=a._private,i=a.pstyle("opacity").value;if(!t)return i;var s=n.data.parent?a.parents():null;if(s)for(var o=0;o<s.length;o++){var l=s[o],u=l.pstyle("opacity").value;i=u*i}return i}},"effectiveOpacity"),transparent:v(function(){var e=this.cy();if(!e.styleEnabled())return!1;var t=this[0],a=t.cy().hasCompoundNodes();if(t)return a?t.effectiveOpacity()===0:t.pstyle("opacity").value===0},"transparent"),backgrounding:v(function(){var e=this.cy();if(!e.styleEnabled())return!1;var t=this[0];return!!t._private.backgrounding},"backgrounding")};function Nn(r,e){var t=r._private,a=t.data.parent?r.parents():null;if(a)for(var n=0;n<a.length;n++){var i=a[n];if(!e(i))return!1}return!0}v(Nn,"checkCompound");function wi(r){var e=r.ok,t=r.edgeOkViaNode||r.ok,a=r.parentOk||r.ok;return function(){var n=this.cy();if(!n.styleEnabled())return!0;var i=this[0],s=n.hasCompoundNodes();if(i){var o=i._private;if(!e(i))return!1;if(i.isNode())return!s||Nn(i,a);var l=o.source,u=o.target;return t(l)&&(!s||Nn(l,t))&&(l===u||t(u)&&(!s||Nn(u,t)))}}}v(wi,"defineDerivedStateFunction");var Kt=wn("eleTakesUpSpace",function(r){return r.pstyle("display").value==="element"&&r.width()!==0&&(r.isNode()?r.height()!==0:!0)});je.takesUpSpace=xn("takesUpSpace",wi({ok:Kt}));var Ih=wn("eleInteractive",function(r){return r.pstyle("events").value==="yes"&&r.pstyle("visibility").value==="visible"&&Kt(r)}),zh=wn("parentInteractive",function(r){return r.pstyle("visibility").value==="visible"&&Kt(r)});je.interactive=xn("interactive",wi({ok:Ih,parentOk:zh,edgeOkViaNode:Kt}));je.noninteractive=function(){var r=this[0];if(r)return!r.interactive()};var Nh=wn("eleVisible",function(r){return r.pstyle("visibility").value==="visible"&&r.pstyle("opacity").pfValue!==0&&Kt(r)}),Fh=Kt;je.visible=xn("visible",wi({ok:Nh,edgeOkViaNode:Fh}));je.hidden=function(){var r=this[0];if(r)return!r.visible()};je.isBundledBezier=xn("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1});je.bypass=je.css=je.style;je.renderedCss=je.renderedStyle;je.removeBypass=je.removeCss=je.removeStyle;je.pstyle=je.parsedStyle;var Jr={};function ps(r){return function(){var e=arguments,t=[];if(e.length===2){var a=e[0],n=e[1];this.on(r.event,a,n)}else if(e.length===1&&Ve(e[0])){var i=e[0];this.on(r.event,i)}else if(e.length===0||e.length===1&&Oe(e[0])){for(var s=e.length===1?e[0]:null,o=0;o<this.length;o++){var l=this[o],u=!r.ableField||l._private[r.ableField],f=l._private[r.field]!=r.value;if(r.overrideAble){var c=r.overrideAble(l);if(c!==void 0&&(u=c,!c))return this}u&&(l._private[r.field]=r.value,f&&t.push(l))}var d=this.spawn(t);d.updateStyle(),d.emit(r.event),s&&d.emit(s)}return this}}v(ps,"defineSwitchFunction");function Wt(r){Jr[r.field]=function(){var e=this[0];if(e){if(r.overrideField){var t=r.overrideField(e);if(t!==void 0)return t}return e._private[r.field]}},Jr[r.on]=ps({event:r.on,field:r.field,ableField:r.ableField,overrideAble:r.overrideAble,value:!0}),Jr[r.off]=ps({event:r.off,field:r.field,ableField:r.ableField,overrideAble:r.overrideAble,value:!1})}v(Wt,"defineSwitchSet");Wt({field:"locked",overrideField:v(function(e){return e.cy().autolock()?!0:void 0},"overrideField"),on:"lock",off:"unlock"});Wt({field:"grabbable",overrideField:v(function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},"overrideField"),on:"grabify",off:"ungrabify"});Wt({field:"selected",ableField:"selectable",overrideAble:v(function(e){return e.cy().autounselectify()?!1:void 0},"overrideAble"),on:"select",off:"unselect"});Wt({field:"selectable",overrideField:v(function(e){return e.cy().autounselectify()?!1:void 0},"overrideField"),on:"selectify",off:"unselectify"});Jr.deselect=Jr.unselect;Jr.grabbed=function(){var r=this[0];if(r)return r._private.grabbed};Wt({field:"active",on:"activate",off:"unactivate"});Wt({field:"pannable",on:"panify",off:"unpanify"});Jr.inactive=function(){var r=this[0];if(r)return!r._private.active};var ir={},ys=v(function(e){return v(function(a){for(var n=this,i=[],s=0;s<n.length;s++){var o=n[s];if(o.isNode()){for(var l=!1,u=o.connectedEdges(),f=0;f<u.length;f++){var c=u[f],d=c.source(),g=c.target();if(e.noIncomingEdges&&g===o&&d!==o||e.noOutgoingEdges&&d===o&&g!==o){l=!0;break}}l||i.push(o)}}return this.spawn(i,!0).filter(a)},"dagExtremityImpl")},"defineDagExtremity"),ms=v(function(e){return function(t){for(var a=this,n=[],i=0;i<a.length;i++){var s=a[i];if(s.isNode())for(var o=s.connectedEdges(),l=0;l<o.length;l++){var u=o[l],f=u.source(),c=u.target();e.outgoing&&f===s?(n.push(u),n.push(c)):e.incoming&&c===s&&(n.push(u),n.push(f))}}return this.spawn(n,!0).filter(t)}},"defineDagOneHop"),bs=v(function(e){return function(t){for(var a=this,n=[],i={};;){var s=e.outgoing?a.outgoers():a.incomers();if(s.length===0)break;for(var o=!1,l=0;l<s.length;l++){var u=s[l],f=u.id();i[f]||(i[f]=!0,n.push(u),o=!0)}if(!o)break;a=s}return this.spawn(n,!0).filter(t)}},"defineDagAllHops");ir.clearTraversalCache=function(){for(var r=0;r<this.length;r++)this[r]._private.traversalCache=null};we(ir,{roots:ys({noIncomingEdges:!0}),leaves:ys({noOutgoingEdges:!0}),outgoers:xr(ms({outgoing:!0}),"outgoers"),successors:bs({outgoing:!0}),incomers:xr(ms({incoming:!0}),"incomers"),predecessors:bs({incoming:!0})});we(ir,{neighborhood:xr(function(r){for(var e=[],t=this.nodes(),a=0;a<t.length;a++)for(var n=t[a],i=n.connectedEdges(),s=0;s<i.length;s++){var o=i[s],l=o.source(),u=o.target(),f=n===l?u:l;f.length>0&&e.push(f[0]),e.push(o[0])}return this.spawn(e,!0).filter(r)},"neighborhood"),closedNeighborhood:v(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:v(function(e){return this.neighborhood(e)},"openNeighborhood")});ir.neighbourhood=ir.neighborhood;ir.closedNeighbourhood=ir.closedNeighborhood;ir.openNeighbourhood=ir.openNeighborhood;we(ir,{source:xr(v(function(e){var t=this[0],a;return t&&(a=t._private.source||t.cy().collection()),a&&e?a.filter(e):a},"sourceImpl"),"source"),target:xr(v(function(e){var t=this[0],a;return t&&(a=t._private.target||t.cy().collection()),a&&e?a.filter(e):a},"targetImpl"),"target"),sources:ws({attr:"source"}),targets:ws({attr:"target"})});function ws(r){return v(function(t){for(var a=[],n=0;n<this.length;n++){var i=this[n],s=i._private[r.attr];s&&a.push(s)}return this.spawn(a,!0).filter(t)},"sourceImpl")}v(ws,"defineSourceFunction");we(ir,{edgesWith:xr(xs(),"edgesWith"),edgesTo:xr(xs({thisIsSrc:!0}),"edgesTo")});function xs(r){return v(function(t){var a=[],n=this._private.cy,i=r||{};he(t)&&(t=n.$(t));for(var s=0;s<t.length;s++)for(var o=t[s]._private.edges,l=0;l<o.length;l++){var u=o[l],f=u._private.data,c=this.hasElementWithId(f.source)&&t.hasElementWithId(f.target),d=t.hasElementWithId(f.source)&&this.hasElementWithId(f.target),g=c||d;g&&((i.thisIsSrc||i.thisIsTgt)&&(i.thisIsSrc&&!c||i.thisIsTgt&&!d)||a.push(u))}return this.spawn(a,!0)},"edgesWithImpl")}v(xs,"defineEdgesWithFunction");we(ir,{connectedEdges:xr(function(r){for(var e=[],t=this,a=0;a<t.length;a++){var n=t[a];if(n.isNode())for(var i=n._private.edges,s=0;s<i.length;s++){var o=i[s];e.push(o)}}return this.spawn(e,!0).filter(r)},"connectedEdges"),connectedNodes:xr(function(r){for(var e=[],t=this,a=0;a<t.length;a++){var n=t[a];n.isEdge()&&(e.push(n.source()[0]),e.push(n.target()[0]))}return this.spawn(e,!0).filter(r)},"connectedNodes"),parallelEdges:xr(Es(),"parallelEdges"),codirectedEdges:xr(Es({codirected:!0}),"codirectedEdges")});function Es(r){var e={codirected:!1};return r=we({},e,r),v(function(a){for(var n=[],i=this.edges(),s=r,o=0;o<i.length;o++)for(var l=i[o],u=l._private,f=u.source,c=f._private.data.id,d=u.data.target,g=f._private.edges,h=0;h<g.length;h++){var m=g[h],y=m._private.data,p=y.target,b=y.source,w=p===d&&b===c,x=c===p&&d===b;(s.codirected&&w||!s.codirected&&(w||x))&&n.push(m)}return this.spawn(n,!0).filter(a)},"parallelEdgesImpl")}v(Es,"defineParallelEdgesFunction");we(ir,{components:v(function(e){var t=this,a=t.cy(),n=a.collection(),i=e==null?t.nodes():e.nodes(),s=[];e!=null&&i.empty()&&(i=e.sources());var o=v(function(f,c){n.merge(f),i.unmerge(f),c.merge(f)},"visitInComponent");if(i.empty())return t.spawn();var l=v(function(){var f=a.collection();s.push(f);var c=i[0];o(c,f),t.bfs({directed:!1,roots:c,visit:v(function(g){return o(g,f)},"visit")}),f.forEach(function(d){d.connectedEdges().forEach(function(g){t.has(g)&&f.has(g.source())&&f.has(g.target())&&f.merge(g)})})},"_loop");do l();while(i.length>0);return s},"components"),component:v(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});ir.componentsOf=ir.components;var er=v(function(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){qe("A collection must have a reference to the core");return}var i=new Ir,s=!1;if(!t)t=[];else if(t.length>0&&Te(t[0])&&!xa(t[0])){s=!0;for(var o=[],l=new Vt,u=0,f=t.length;u<f;u++){var c=t[u];c.data==null&&(c.data={});var d=c.data;if(d.id==null)d.id=vo();else if(e.hasElementWithId(d.id)||l.has(d.id))continue;var g=new cn(e,c,!1);o.push(g),l.add(d.id)}t=o}this.length=0;for(var h=0,m=t.length;h<m;h++){var y=t[h][0];if(y!=null){var p=y._private.data.id;(!a||!i.has(p))&&(a&&i.set(p,{index:this.length,ele:y}),this[this.length]=y,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(b){this.lazyMap=b},rebuildMap:v(function(){for(var w=this.lazyMap=new Ir,x=this.eles,T=0;T<x.length;T++){var C=x[T];w.set(C.id(),{index:T,ele:C})}},"rebuildMap")},a&&(this._private.map=i),s&&!n&&this.restore()},"Collection"),ze=cn.prototype=er.prototype=Object.create(Array.prototype);ze.instanceString=function(){return"collection"};ze.spawn=function(r,e){return new er(this.cy(),r,e)};ze.spawnSelf=function(){return this.spawn(this)};ze.cy=function(){return this._private.cy};ze.renderer=function(){return this._private.cy.renderer()};ze.element=function(){return this[0]};ze.collection=function(){return Qs(this)?this:new er(this._private.cy,[this])};ze.unique=function(){return new er(this._private.cy,this,!0)};ze.hasElementWithId=function(r){return r=""+r,this._private.map.has(r)};ze.getElementById=function(r){r=""+r;var e=this._private.cy,t=this._private.map.get(r);return t?t.ele:new er(e)};ze.$id=ze.getElementById;ze.poolIndex=function(){var r=this._private.cy,e=r._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index};ze.indexOf=function(r){var e=r[0]._private.data.id;return this._private.map.get(e).index};ze.indexOfId=function(r){return r=""+r,this._private.map.get(r).index};ze.json=function(r){var e=this.element(),t=this.cy();if(e==null&&r)return this;if(e!=null){var a=e._private;if(Te(r)){if(t.startBatch(),r.data){e.data(r.data);var n=a.data;if(e.isEdge()){var i=!1,s={},o=r.data.source,l=r.data.target;o!=null&&o!=n.source&&(s.source=""+o,i=!0),l!=null&&l!=n.target&&(s.target=""+l,i=!0),i&&(e=e.move(s))}else{var u="parent"in r.data,f=r.data.parent;u&&(f!=null||n.parent!=null)&&f!=n.parent&&(f===void 0&&(f=null),f!=null&&(f=""+f),e=e.move({parent:f}))}}r.position&&e.position(r.position);var c=v(function(m,y,p){var b=r[m];b!=null&&b!==a[m]&&(b?e[y]():e[p]())},"checkSwitch");return c("removed","remove","restore"),c("selected","select","unselect"),c("selectable","selectify","unselectify"),c("locked","lock","unlock"),c("grabbable","grabify","ungrabify"),c("pannable","panify","unpanify"),r.classes!=null&&e.classes(r.classes),t.endBatch(),this}else if(r===void 0){var d={data:Or(a.data),position:Or(a.position),group:a.group,removed:a.removed,selected:a.selected,selectable:a.selectable,locked:a.locked,grabbable:a.grabbable,pannable:a.pannable,classes:null};d.classes="";var g=0;return a.classes.forEach(function(h){return d.classes+=g++===0?h:" "+h}),d}}};ze.jsons=function(){for(var r=[],e=0;e<this.length;e++){var t=this[e],a=t.json();r.push(a)}return r};ze.clone=function(){for(var r=this.cy(),e=[],t=0;t<this.length;t++){var a=this[t],n=a.json(),i=new cn(r,n,!1);e.push(i)}return new er(r,e)};ze.copy=ze.clone;ze.restore=function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this,a=t.cy(),n=a._private,i=[],s=[],o,l=0,u=t.length;l<u;l++){var f=t[l];e&&!f.removed()||(f.isNode()?i.push(f):s.push(f))}o=i.concat(s);var c,d=v(function(){o.splice(c,1),c--},"removeFromElements");for(c=0;c<o.length;c++){var g=o[c],h=g._private,m=h.data;if(g.clearTraversalCache(),!(!e&&!h.removed)){if(m.id===void 0)m.id=vo();else if(ie(m.id))m.id=""+m.id;else if(_r(m.id)||!he(m.id)){qe("Can not create element with invalid string ID `"+m.id+"`"),d();continue}else if(a.hasElementWithId(m.id)){qe("Can not create second element with ID `"+m.id+"`"),d();continue}}var y=m.id;if(g.isNode()){var p=h.position;p.x==null&&(p.x=0),p.y==null&&(p.y=0)}if(g.isEdge()){for(var b=g,w=["source","target"],x=w.length,T=!1,C=0;C<x;C++){var E=w[C],k=m[E];ie(k)&&(k=m[E]=""+m[E]),k==null||k===""?(qe("Can not create edge `"+y+"` with unspecified "+E),T=!0):a.hasElementWithId(k)||(qe("Can not create edge `"+y+"` with nonexistant "+E+" `"+k+"`"),T=!0)}if(T){d();continue}var S=a.getElementById(m.source),L=a.getElementById(m.target);S.same(L)?S._private.edges.push(b):(S._private.edges.push(b),L._private.edges.push(b)),b._private.source=S,b._private.target=L}h.map=new Ir,h.map.set(y,{ele:g,index:0}),h.removed=!1,e&&a.addToPool(g)}for(var B=0;B<i.length;B++){var M=i[B],A=M._private.data;ie(A.parent)&&(A.parent=""+A.parent);var P=A.parent,I=P!=null;if(I||M._private.parent){var R=M._private.parent?a.collection().merge(M._private.parent):a.getElementById(P);if(R.empty())A.parent=void 0;else if(R[0].removed())Le("Node added with missing parent, reference to parent removed"),A.parent=void 0,M._private.parent=null;else{for(var O=!1,z=R;!z.empty();){if(M.same(z)){O=!0,A.parent=void 0;break}z=z.parent()}O||(R[0]._private.children.push(M),M._private.parent=R[0],n.hasCompoundNodes=!0)}}}if(o.length>0){for(var $=o.length===t.length?t:new er(a,o),H=0;H<$.length;H++){var V=$[H];V.isNode()||(V.parallelEdges().clearTraversalCache(),V.source().clearTraversalCache(),V.target().clearTraversalCache())}var F;n.hasCompoundNodes?F=a.collection().merge($).merge($.connectedNodes()).merge($.parent()):F=$,F.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(r),r?$.emitAndNotify("add"):e&&$.emit("add")}return t};ze.removed=function(){var r=this[0];return r&&r._private.removed};ze.inside=function(){var r=this[0];return r&&!r._private.removed};ze.remove=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=this,a=[],n={},i=t._private.cy;function s(P){for(var I=P._private.edges,R=0;R<I.length;R++)l(I[R])}v(s,"addConnectedEdges");function o(P){for(var I=P._private.children,R=0;R<I.length;R++)l(I[R])}v(o,"addChildren");function l(P){var I=n[P.id()];e&&P.removed()||I||(n[P.id()]=!0,P.isNode()?(a.push(P),s(P),o(P)):a.unshift(P))}v(l,"add");for(var u=0,f=t.length;u<f;u++){var c=t[u];l(c)}function d(P,I){var R=P._private.edges;jr(R,I),P.clearTraversalCache()}v(d,"removeEdgeRef");function g(P){P.clearTraversalCache()}v(g,"removeParallelRef");var h=[];h.ids={};function m(P,I){I=I[0],P=P[0];var R=P._private.children,O=P.id();jr(R,I),I._private.parent=null,h.ids[O]||(h.ids[O]=!0,h.push(P))}v(m,"removeChildRef"),t.dirtyCompoundBoundsCache(),e&&i.removeFromPool(a);for(var y=0;y<a.length;y++){var p=a[y];if(p.isEdge()){var b=p.source()[0],w=p.target()[0];d(b,p),d(w,p);for(var x=p.parallelEdges(),T=0;T<x.length;T++){var C=x[T];g(C),C.isBundledBezier()&&C.dirtyBoundingBoxCache()}}else{var E=p.parent();E.length!==0&&m(E,p)}e&&(p._private.removed=!0)}var k=i._private.elements;i._private.hasCompoundNodes=!1;for(var S=0;S<k.length;S++){var L=k[S];if(L.isParent()){i._private.hasCompoundNodes=!0;break}}var B=new er(this.cy(),a);B.size()>0&&(r?B.emitAndNotify("remove"):e&&B.emit("remove"));for(var M=0;M<h.length;M++){var A=h[M];(!e||!A.removed())&&A.updateStyle()}return B};ze.move=function(r){var e=this._private.cy,t=this,a=!1,n=!1,i=v(function(h){return h==null?h:""+h},"toString");if(r.source!==void 0||r.target!==void 0){var s=i(r.source),o=i(r.target),l=s!=null&&e.hasElementWithId(s),u=o!=null&&e.hasElementWithId(o);(l||u)&&(e.batch(function(){t.remove(a,n),t.emitAndNotify("moveout");for(var g=0;g<t.length;g++){var h=t[g],m=h._private.data;h.isEdge()&&(l&&(m.source=s),u&&(m.target=o))}t.restore(a,n)}),t.emitAndNotify("move"))}else if(r.parent!==void 0){var f=i(r.parent),c=f===null||e.hasElementWithId(f);if(c){var d=f===null?void 0:f;e.batch(function(){var g=t.remove(a,n);g.emitAndNotify("moveout");for(var h=0;h<t.length;h++){var m=t[h],y=m._private.data;m.isNode()&&(y.parent=d)}g.restore(a,n)}),t.emitAndNotify("move")}}return this};[So,Zd,Ka,Qr,Nt,fh,mn,kh,Zo,Qo,Ah,an,Wa,je,Jr,ir].forEach(function(r){we(ze,r)});var Vh={add:v(function(e){var t,a=this;if(pr(e)){var n=e;if(n._private.cy===a)t=n.restore();else{for(var i=[],s=0;s<n.length;s++){var o=n[s];i.push(o.json())}t=new er(a,i)}}else if(Oe(e)){var l=e;t=new er(a,l)}else if(Te(e)&&(Oe(e.nodes)||Oe(e.edges))){for(var u=e,f=[],c=["nodes","edges"],d=0,g=c.length;d<g;d++){var h=c[d],m=u[h];if(Oe(m))for(var y=0,p=m.length;y<p;y++){var b=we({group:h},m[y]);f.push(b)}}t=new er(a,f)}else{var w=e;t=new cn(a,w).collection()}return t},"add"),remove:v(function(e){if(!pr(e)){if(he(e)){var t=e;e=this.$(t)}}return e.remove()},"remove")};function qh(r,e,t,a){var n=4,i=.001,s=1e-7,o=10,l=11,u=1/(l-1),f=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var c=0;c<4;++c)if(typeof arguments[c]!="number"||isNaN(arguments[c])||!isFinite(arguments[c]))return!1;r=Math.min(r,1),t=Math.min(t,1),r=Math.max(r,0),t=Math.max(t,0);var d=f?new Float32Array(l):new Array(l);function g(L,B){return 1-3*B+3*L}v(g,"A");function h(L,B){return 3*B-6*L}v(h,"B");function m(L){return 3*L}v(m,"C");function y(L,B,M){return((g(B,M)*L+h(B,M))*L+m(B))*L}v(y,"calcBezier");function p(L,B,M){return 3*g(B,M)*L*L+2*h(B,M)*L+m(B)}v(p,"getSlope");function b(L,B){for(var M=0;M<n;++M){var A=p(B,r,t);if(A===0)return B;var P=y(B,r,t)-L;B-=P/A}return B}v(b,"newtonRaphsonIterate");function w(){for(var L=0;L<l;++L)d[L]=y(L*u,r,t)}v(w,"calcSampleValues");function x(L,B,M){var A,P,I=0;do P=B+(M-B)/2,A=y(P,r,t)-L,A>0?M=P:B=P;while(Math.abs(A)>s&&++I<o);return P}v(x,"binarySubdivide");function T(L){for(var B=0,M=1,A=l-1;M!==A&&d[M]<=L;++M)B+=u;--M;var P=(L-d[M])/(d[M+1]-d[M]),I=B+P*u,R=p(I,r,t);return R>=i?b(L,I):R===0?I:x(L,B,B+u)}v(T,"getTForX");var C=!1;function E(){C=!0,(r!==e||t!==a)&&w()}v(E,"precompute");var k=v(function(B){return C||E(),r===e&&t===a?B:B===0?0:B===1?1:y(T(B),e,a)},"f");k.getControlPoints=function(){return[{x:r,y:e},{x:t,y:a}]};var S="generateBezier("+[r,e,t,a]+")";return k.toString=function(){return S},k}v(qh,"generateCubicBezier");var $h=function(){function r(a){return-a.tension*a.x-a.friction*a.v}v(r,"springAccelerationForState");function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:r(s)}}v(e,"springEvaluateStateWithDerivative");function t(a,n){var i={dx:a.v,dv:r(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),l=e(a,n,o),u=1/6*(i.dx+2*(s.dx+o.dx)+l.dx),f=1/6*(i.dv+2*(s.dv+o.dv)+l.dv);return a.x=a.x+u*n,a.v=a.v+f*n,a}return v(t,"springIntegrateState"),v(function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,f=1/1e4,c=16/1e3,d,g,h;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,d=s!==null,d?(u=a(n,i),g=u/s*c):g=c;h=t(h||o,g),l.push(1+h.x),u+=16,Math.abs(h.x)>f&&Math.abs(h.v)>f;);return d?function(m){return l[m*(l.length-1)|0]}:u},"springRK4Factory")}(),Ie=v(function(e,t,a,n){var i=qh(e,t,a,n);return function(s,o,l){return s+(o-s)*i(l)}},"cubicBezier"),Ua={linear:v(function(e,t,a){return e+(t-e)*a},"linear"),ease:Ie(.25,.1,.25,1),"ease-in":Ie(.42,0,1,1),"ease-out":Ie(0,0,.58,1),"ease-in-out":Ie(.42,0,.58,1),"ease-in-sine":Ie(.47,0,.745,.715),"ease-out-sine":Ie(.39,.575,.565,1),"ease-in-out-sine":Ie(.445,.05,.55,.95),"ease-in-quad":Ie(.55,.085,.68,.53),"ease-out-quad":Ie(.25,.46,.45,.94),"ease-in-out-quad":Ie(.455,.03,.515,.955),"ease-in-cubic":Ie(.55,.055,.675,.19),"ease-out-cubic":Ie(.215,.61,.355,1),"ease-in-out-cubic":Ie(.645,.045,.355,1),"ease-in-quart":Ie(.895,.03,.685,.22),"ease-out-quart":Ie(.165,.84,.44,1),"ease-in-out-quart":Ie(.77,0,.175,1),"ease-in-quint":Ie(.755,.05,.855,.06),"ease-out-quint":Ie(.23,1,.32,1),"ease-in-out-quint":Ie(.86,0,.07,1),"ease-in-expo":Ie(.95,.05,.795,.035),"ease-out-expo":Ie(.19,1,.22,1),"ease-in-out-expo":Ie(1,0,0,1),"ease-in-circ":Ie(.6,.04,.98,.335),"ease-out-circ":Ie(.075,.82,.165,1),"ease-in-out-circ":Ie(.785,.135,.15,.86),spring:v(function(e,t,a){if(a===0)return Ua.linear;var n=$h(e,t,a);return function(i,s,o){return i+(s-i)*n(o)}},"spring"),"cubic-bezier":Ie};function Cs(r,e,t,a,n){if(a===1||e===t)return t;var i=n(e,t,a);return r==null||((r.roundValue||r.color)&&(i=Math.round(i)),r.min!==void 0&&(i=Math.max(i,r.min)),r.max!==void 0&&(i=Math.min(i,r.max))),i}v(Cs,"getEasedValue");function Ss(r,e){return r.pfValue!=null||r.value!=null?r.pfValue!=null&&(e==null||e.type.units!=="%")?r.pfValue:r.value:r}v(Ss,"getValue");function St(r,e,t,a,n){var i=n!=null?n.type:null;t<0?t=0:t>1&&(t=1);var s=Ss(r,n),o=Ss(e,n);if(ie(s)&&ie(o))return Cs(i,s,o,t,a);if(Oe(s)&&Oe(o)){for(var l=[],u=0;u<o.length;u++){var f=s[u],c=o[u];if(f!=null&&c!=null){var d=Cs(i,f,c,t,a);l.push(d)}else l.push(c)}return l}}v(St,"ease");function Hh(r,e,t,a){var n=!a,i=r._private,s=e._private,o=s.easing,l=s.startTime,u=a?r:r.cy(),f=u.style();if(!s.easingImpl)if(o==null)s.easingImpl=Ua.linear;else{var c;if(he(o)){var d=f.parse("transition-timing-function",o);c=d.value}else c=o;var g,h;he(c)?(g=c,h=[]):(g=c[1],h=c.slice(2).map(function($){return+$})),h.length>0?(g==="spring"&&h.push(s.duration),s.easingImpl=Ua[g].apply(null,h)):s.easingImpl=Ua[g]}var m=s.easingImpl,y;if(s.duration===0?y=1:y=(t-l)/s.duration,s.applying&&(y=s.progress),y<0?y=0:y>1&&(y=1),s.delay==null){var p=s.startPosition,b=s.position;if(b&&n&&!r.locked()){var w={};ra(p.x,b.x)&&(w.x=St(p.x,b.x,y,m)),ra(p.y,b.y)&&(w.y=St(p.y,b.y,y,m)),r.position(w)}var x=s.startPan,T=s.pan,C=i.pan,E=T!=null&&a;E&&(ra(x.x,T.x)&&(C.x=St(x.x,T.x,y,m)),ra(x.y,T.y)&&(C.y=St(x.y,T.y,y,m)),r.emit("pan"));var k=s.startZoom,S=s.zoom,L=S!=null&&a;L&&(ra(k,S)&&(i.zoom=da(i.minZoom,St(k,S,y,m),i.maxZoom)),r.emit("zoom")),(E||L)&&r.emit("viewport");var B=s.style;if(B&&B.length>0&&n){for(var M=0;M<B.length;M++){var A=B[M],P=A.name,I=A,R=s.startStyle[P],O=f.properties[R.name],z=St(R,I,y,m,O);f.overrideBypass(r,P,z)}r.emit("style")}}return s.progress=y,y}v(Hh,"step$1");function ra(r,e){return r==null||e==null?!1:ie(r)&&ie(e)?!0:!!(r&&e)}v(ra,"valid");function Gh(r,e,t,a){var n=e._private;n.started=!0,n.startTime=t-n.progress*n.duration}v(Gh,"startAnimation");function Ts(r,e){var t=e._private.aniEles,a=[];function n(f,c){var d=f._private,g=d.animation.current,h=d.animation.queue,m=!1;if(g.length===0){var y=h.shift();y&&g.push(y)}for(var p=v(function(C){for(var E=C.length-1;E>=0;E--){var k=C[E];k()}C.splice(0,C.length)},"callbacks"),b=g.length-1;b>=0;b--){var w=g[b],x=w._private;if(x.stopped){g.splice(b,1),x.hooked=!1,x.playing=!1,x.started=!1,p(x.frames);continue}!x.playing&&!x.applying||(x.playing&&x.applying&&(x.applying=!1),x.started||Gh(f,w,r),Hh(f,w,r,c),x.applying&&(x.applying=!1),p(x.frames),x.step!=null&&x.step(r),w.completed()&&(g.splice(b,1),x.hooked=!1,x.playing=!1,x.started=!1,p(x.completes)),m=!0)}return!c&&g.length===0&&h.length===0&&a.push(f),m}v(n,"stepOne");for(var i=!1,s=0;s<t.length;s++){var o=t[s],l=n(o);i=i||l}var u=n(e,!0);(i||u)&&(t.length>0?e.notify("draw",t):e.notify("draw")),t.unmerge(a),e.emit("step")}v(Ts,"stepAll");var Kh={animate:Me.animate(),animation:Me.animation(),animated:Me.animated(),clearQueue:Me.clearQueue(),delay:Me.delay(),delayAnimation:Me.delayAnimation(),stop:Me.stop(),addToAnimationPool:v(function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:v(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:v(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function t(){e._private.animationsRunning&&_a(v(function(i){Ts(i,e),t()},"animationStep"))}v(t,"headlessStep");var a=e.renderer();a&&a.beforeRender?a.beforeRender(v(function(i,s){Ts(s,e)},"rendererAnimationStep"),a.beforeRenderPriorities.animations):t()},"startAnimationLoop")},Wh={qualifierCompare:v(function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},"qualifierCompare"),eventMatches:v(function(e,t,a){var n=t.qualifier;return n!=null?e!==a.target&&xa(a.target)&&n.matches(a.target):!0},"eventMatches"),addEventFields:v(function(e,t){t.cy=e,t.target=e},"addEventFields"),callbackContext:v(function(e,t,a){return t.qualifier!=null?a.target:e},"callbackContext")},Va=v(function(e){return he(e)?new et(e):e},"argSelector"),jo={createEmitter:v(function(){var e=this._private;return e.emitter||(e.emitter=new bn(Wh,this)),this},"createEmitter"),emitter:v(function(){return this._private.emitter},"emitter"),on:v(function(e,t,a){return this.emitter().on(e,Va(t),a),this},"on"),removeListener:v(function(e,t,a){return this.emitter().removeListener(e,Va(t),a),this},"removeListener"),removeAllListeners:v(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:v(function(e,t,a){return this.emitter().one(e,Va(t),a),this},"one"),once:v(function(e,t,a){return this.emitter().one(e,Va(t),a),this},"once"),emit:v(function(e,t){return this.emitter().emit(e,t),this},"emit"),emitAndNotify:v(function(e,t){return this.emit(e),this.notify(e,t),this},"emitAndNotify")};Me.eventAliasesOn(jo);var Xn={png:v(function(e){var t=this._private.renderer;return e=e||{},t.png(e)},"png"),jpg:v(function(e){var t=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",t.jpg(e)},"jpg")};Xn.jpeg=Xn.jpg;var Ya={layout:v(function(e){var t=this;if(e==null){qe("Layout options must be specified to make a layout");return}if(e.name==null){qe("A `name` must be specified to make a layout");return}var a=e.name,n=t.extension("layout",a);if(n==null){qe("No such layout `"+a+"` found.  Did you forget to import it and `cytoscape.use()` it?");return}var i;he(e.eles)?i=t.$(e.eles):i=e.eles!=null?e.eles:t.$();var s=new n(we({},e,{cy:t,eles:i}));return s},"layout")};Ya.createLayout=Ya.makeLayout=Ya.layout;var Uh={notify:v(function(e,t){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();t!=null&&n.merge(t);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,t)}},"notify"),notifications:v(function(e){var t=this._private;return e===void 0?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},"notifications"),noNotifications:v(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:v(function(){return this._private.batchCount>0},"batching"),startBatch:v(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:v(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(a){var n=e.batchNotifications[a];n.empty()?t.notify(a):t.notify(a,n)})}return this},"endBatch"),batch:v(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:v(function(e){var t=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n<a.length;n++){var i=a[n],s=e[i],o=t.getElementById(i);o.data(s)}})},"batchData")},Yh=rr({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),Zn={renderTo:v(function(e,t,a,n){var i=this._private.renderer;return i.renderTo(e,t,a,n),this},"renderTo"),renderer:v(function(){return this._private.renderer},"renderer"),forceRender:v(function(){return this.notify("draw"),this},"forceRender"),resize:v(function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},"resize"),initRenderer:v(function(e){var t=this,a=t.extension("renderer",e.name);if(a==null){qe("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}e.wheelSensitivity!==void 0&&Le("You have set a custom wheel sensitivity.  This will make your app zoom unnaturally when using mainstream mice.  You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=Yh(e);n.cy=t,t._private.renderer=new a(n),this.notify("init")},"initRenderer"),destroyRenderer:v(function(){var e=this;e.notify("destroy");var t=e.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},"destroyRenderer"),onRender:v(function(e){return this.on("render",e)},"onRender"),offRender:v(function(e){return this.off("render",e)},"offRender")};Zn.invalidateDimensions=Zn.resize;var Xa={collection:v(function(e,t){return he(e)?this.$(e):pr(e)?e.collection():Oe(e)?(t||(t={}),new er(this,e,t.unique,t.removed)):new er(this)},"collection"),nodes:v(function(e){var t=this.$(function(a){return a.isNode()});return e?t.filter(e):t},"nodes"),edges:v(function(e){var t=this.$(function(a){return a.isEdge()});return e?t.filter(e):t},"edges"),$:v(function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},"$"),mutableElements:v(function(){return this._private.elements},"mutableElements")};Xa.elements=Xa.filter=Xa.$;var or={},oa="t",Xh="f";or.apply=function(r){for(var e=this,t=e._private,a=t.cy,n=a.collection(),i=0;i<r.length;i++){var s=r[i],o=e.getContextMeta(s);if(!o.empty){var l=e.getContextStyle(o),u=e.applyContextStyle(o,l,s);s._private.appliedInitStyle?e.updateTransitions(s,u.diffProps):s._private.appliedInitStyle=!0;var f=e.updateStyleHints(s);f&&n.push(s)}}return n};or.getPropertiesDiff=function(r,e){var t=this,a=t._private.propDiffs=t._private.propDiffs||{},n=r+"-"+e,i=a[n];if(i)return i;for(var s=[],o={},l=0;l<t.length;l++){var u=t[l],f=r[l]===oa,c=e[l]===oa,d=f!==c,g=u.mappedProperties.length>0;if(d||c&&g){var h=void 0;d&&g||d?h=u.properties:g&&(h=u.mappedProperties);for(var m=0;m<h.length;m++){for(var y=h[m],p=y.name,b=!1,w=l+1;w<t.length;w++){var x=t[w],T=e[w]===oa;if(T&&(b=x.properties[y.name]!=null,b))break}!o[p]&&!b&&(o[p]=!0,s.push(p))}}}return a[n]=s,s};or.getContextMeta=function(r){for(var e=this,t="",a,n=r._private.styleCxtKey||"",i=0;i<e.length;i++){var s=e[i],o=s.selector&&s.selector.matches(r);o?t+=oa:t+=Xh}return a=e.getPropertiesDiff(n,t),r._private.styleCxtKey=t,{key:t,diffPropNames:a,empty:a.length===0}};or.getContextStyle=function(r){var e=r.key,t=this,a=this._private.contextStyles=this._private.contextStyles||{};if(a[e])return a[e];for(var n={_private:{key:e}},i=0;i<t.length;i++){var s=t[i],o=e[i]===oa;if(o)for(var l=0;l<s.properties.length;l++){var u=s.properties[l];n[u.name]=u}}return a[e]=n,n};or.applyContextStyle=function(r,e,t){for(var a=this,n=r.diffPropNames,i={},s=a.types,o=0;o<n.length;o++){var l=n[o],u=e[l],f=t.pstyle(l);if(!u)if(f)f.bypass?u={name:l,deleteBypassed:!0}:u={name:l,delete:!0};else continue;if(f!==u){if(u.mapped===s.fn&&f!=null&&f.mapping!=null&&f.mapping.value===u.value){var c=f.mapping,d=c.fnValue=u.value(t);if(d===c.prevFnValue)continue}var g=i[l]={prev:f};a.applyParsedProperty(t,u),g.next=t.pstyle(l),g.next&&g.next.bypass&&(g.next=g.next.bypassed)}}return{diffProps:i}};or.updateStyleHints=function(r){var e=r._private,t=this,a=t.propertyGroupNames,n=t.propertyGroupKeys,i=v(function(Z,oe,ge){return t.getPropertiesHash(Z,oe,ge)},"propHash"),s=e.styleKey;if(r.removed())return!1;var o=e.group==="nodes",l=r._private.style;a=Object.keys(l);for(var u=0;u<n.length;u++){var f=n[u];e.styleKeys[f]=[kt,aa]}for(var c=v(function(Z,oe){return e.styleKeys[oe][0]=va(Z,e.styleKeys[oe][0])},"updateGrKey1"),d=v(function(Z,oe){return e.styleKeys[oe][1]=fa(Z,e.styleKeys[oe][1])},"updateGrKey2"),g=v(function(Z,oe){c(Z,oe),d(Z,oe)},"updateGrKey"),h=v(function(Z,oe){for(var ge=0;ge<Z.length;ge++){var ne=Z.charCodeAt(ge);c(ne,oe),d(ne,oe)}},"updateGrKeyWStr"),m=2e9,y=v(function(Z){return-128<Z&&Z<128&&Math.floor(Z)!==Z?m-(Z*1024|0):Z},"cleanNum"),p=0;p<a.length;p++){var b=a[p],w=l[b];if(w!=null){var x=this.properties[b],T=x.type,C=x.groupKey,E=void 0;x.hashOverride!=null?E=x.hashOverride(r,w):w.pfValue!=null&&(E=w.pfValue);var k=x.enums==null?w.value:null,S=E!=null,L=k!=null,B=S||L,M=w.units;if(T.number&&B&&!T.multiple){var A=S?E:k;g(y(A),C),!S&&M!=null&&h(M,C)}else h(w.strValue,C)}}for(var P=[kt,aa],I=0;I<n.length;I++){var R=n[I],O=e.styleKeys[R];P[0]=va(O[0],P[0]),P[1]=fa(O[1],P[1])}e.styleKey=_l(P[0],P[1]);var z=e.styleKeys;e.labelDimsKey=Ur(z.labelDimensions);var $=i(r,["label"],z.labelDimensions);if(e.labelKey=Ur($),e.labelStyleKey=Ur(Ma(z.commonLabel,$)),!o){var H=i(r,["source-label"],z.labelDimensions);e.sourceLabelKey=Ur(H),e.sourceLabelStyleKey=Ur(Ma(z.commonLabel,H));var V=i(r,["target-label"],z.labelDimensions);e.targetLabelKey=Ur(V),e.targetLabelStyleKey=Ur(Ma(z.commonLabel,V))}if(o){var F=e.styleKeys,U=F.nodeBody,J=F.nodeBorder,j=F.nodeOutline,ee=F.backgroundImage,re=F.compound,Y=F.pie,N=[U,J,j,ee,re,Y].filter(function(X){return X!=null}).reduce(Ma,[kt,aa]);e.nodeKey=Ur(N),e.hasPie=Y!=null&&Y[0]!==kt&&Y[1]!==aa}return s!==e.styleKey};or.clearStyleHints=function(r){var e=r._private;e.styleCxtKey="",e.styleKeys={},e.styleKey=null,e.labelKey=null,e.labelStyleKey=null,e.sourceLabelKey=null,e.sourceLabelStyleKey=null,e.targetLabelKey=null,e.targetLabelStyleKey=null,e.nodeKey=null,e.hasPie=null};or.applyParsedProperty=function(r,e){var t=this,a=e,n=r._private.style,i,s=t.types,o=t.properties[a.name].type,l=a.bypass,u=n[a.name],f=u&&u.bypass,c=r._private,d="mapping",g=v(function(U){return U==null?null:U.pfValue!=null?U.pfValue:U.value},"getVal"),h=v(function(){var U=g(u),J=g(a);t.checkTriggers(r,a.name,U,J)},"checkTriggers");if(e.name==="curve-style"&&r.isEdge()&&(e.value!=="bezier"&&r.isLoop()||e.value==="haystack"&&(r.source().isParent()||r.target().isParent()))&&(a=e=this.parse(e.name,"bezier",l)),a.delete)return n[a.name]=void 0,h(),!0;if(a.deleteBypassed)return u?u.bypass?(u.bypassed=void 0,h(),!0):!1:(h(),!0);if(a.deleteBypass)return u?u.bypass?(n[a.name]=u.bypassed,h(),!0):!1:(h(),!0);var m=v(function(){Le("Do not assign mappings to elements without corresponding data (i.e. ele `"+r.id()+"` has no mapping for property `"+a.name+"` with data field `"+a.field+"`); try a `["+a.field+"]` selector to limit scope to elements with `"+a.field+"` defined")},"printMappingErr");switch(a.mapped){case s.mapData:{for(var y=a.field.split("."),p=c.data,b=0;b<y.length&&p;b++){var w=y[b];p=p[w]}if(p==null)return m(),!1;var x;if(ie(p)){var T=a.fieldMax-a.fieldMin;T===0?x=0:x=(p-a.fieldMin)/T}else return Le("Do not use continuous mappers without specifying numeric data (i.e. `"+a.field+": "+p+"` for `"+r.id()+"` is non-numeric)"),!1;if(x<0?x=0:x>1&&(x=1),o.color){var C=a.valueMin[0],E=a.valueMax[0],k=a.valueMin[1],S=a.valueMax[1],L=a.valueMin[2],B=a.valueMax[2],M=a.valueMin[3]==null?1:a.valueMin[3],A=a.valueMax[3]==null?1:a.valueMax[3],P=[Math.round(C+(E-C)*x),Math.round(k+(S-k)*x),Math.round(L+(B-L)*x),Math.round(M+(A-M)*x)];i={bypass:a.bypass,name:a.name,value:P,strValue:"rgb("+P[0]+", "+P[1]+", "+P[2]+")"}}else if(o.number){var I=a.valueMin+(a.valueMax-a.valueMin)*x;i=this.parse(a.name,I,a.bypass,d)}else return!1;if(!i)return m(),!1;i.mapping=a,a=i;break}case s.data:{for(var R=a.field.split("."),O=c.data,z=0;z<R.length&&O;z++){var $=R[z];O=O[$]}if(O!=null&&(i=this.parse(a.name,O,a.bypass,d)),!i)return m(),!1;i.mapping=a,a=i;break}case s.fn:{var H=a.value,V=a.fnValue!=null?a.fnValue:H(r);if(a.prevFnValue=V,V==null)return Le("Custom function mappers may not return null (i.e. `"+a.name+"` for ele `"+r.id()+"` is null)"),!1;if(i=this.parse(a.name,V,a.bypass,d),!i)return Le("Custom function mappers may not return invalid values for the property type (i.e. `"+a.name+"` for ele `"+r.id()+"` is invalid)"),!1;i.mapping=Or(a),a=i;break}case void 0:break;default:return!1}return l?(f?a.bypassed=u.bypassed:a.bypassed=u,n[a.name]=a):f?u.bypassed=a:n[a.name]=a,h(),!0};or.cleanElements=function(r,e){for(var t=0;t<r.length;t++){var a=r[t];if(this.clearStyleHints(a),a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),!e)a._private.style={};else for(var n=a._private.style,i=Object.keys(n),s=0;s<i.length;s++){var o=i[s],l=n[o];l!=null&&(l.bypass?l.bypassed=null:n[o]=null)}}};or.update=function(){var r=this._private.cy,e=r.mutableElements();e.updateStyle()};or.updateTransitions=function(r,e){var t=this,a=r._private,n=r.pstyle("transition-property").value,i=r.pstyle("transition-duration").pfValue,s=r.pstyle("transition-delay").pfValue;if(n.length>0&&i>0){for(var o={},l=!1,u=0;u<n.length;u++){var f=n[u],c=r.pstyle(f),d=e[f];if(d){var g=d.prev,h=g,m=d.next!=null?d.next:c,y=!1,p=void 0,b=1e-6;h&&(ie(h.pfValue)&&ie(m.pfValue)?(y=m.pfValue-h.pfValue,p=h.pfValue+b*y):ie(h.value)&&ie(m.value)?(y=m.value-h.value,p=h.value+b*y):Oe(h.value)&&Oe(m.value)&&(y=h.value[0]!==m.value[0]||h.value[1]!==m.value[1]||h.value[2]!==m.value[2],p=h.strValue),y&&(o[f]=m.strValue,this.applyBypass(r,f,p),l=!0))}}if(!l)return;a.transitioning=!0,new qt(function(w){s>0?r.delayAnimation(s).play().promise().then(w):w()}).then(function(){return r.animation({style:o,duration:i,easing:r.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){t.removeBypasses(r,n),r.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(r,n),r.emitAndNotify("style"),a.transitioning=!1)};or.checkTrigger=function(r,e,t,a,n,i){var s=this.properties[e],o=n(s);o!=null&&o(t,a)&&i(s)};or.checkZOrderTrigger=function(r,e,t,a){var n=this;this.checkTrigger(r,e,t,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",r)})};or.checkBoundsTrigger=function(r,e,t,a){this.checkTrigger(r,e,t,a,function(n){return n.triggersBounds},function(n){r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),n.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(t==="bezier"||a==="bezier")&&r.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),n.triggersBoundsOfConnectedEdges&&e==="display"&&(t==="none"||a==="none")&&r.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};or.checkTriggers=function(r,e,t,a){r.dirtyStyleCache(),this.checkZOrderTrigger(r,e,t,a),this.checkBoundsTrigger(r,e,t,a)};var Ta={};Ta.applyBypass=function(r,e,t,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(t!==void 0)for(var o=0;o<n.properties.length;o++){var l=n.properties[o],u=l.name,f=this.parse(u,t,!0);f&&i.push(f)}}else if(he(e)){var c=this.parse(e,t,!0);c&&i.push(c)}else if(Te(e)){var d=e;a=t;for(var g=Object.keys(d),h=0;h<g.length;h++){var m=g[h],y=d[m];if(y===void 0&&(y=d[ln(m)]),y!==void 0){var p=this.parse(m,y,!0);p&&i.push(p)}}}else return!1;if(i.length===0)return!1;for(var b=!1,w=0;w<r.length;w++){for(var x=r[w],T={},C=void 0,E=0;E<i.length;E++){var k=i[E];if(a){var S=x.pstyle(k.name);C=T[k.name]={prev:S}}b=this.applyParsedProperty(x,Or(k))||b,a&&(C.next=x.pstyle(k.name))}b&&this.updateStyleHints(x),a&&this.updateTransitions(x,T,s)}return b};Ta.overrideBypass=function(r,e,t){e=oi(e);for(var a=0;a<r.length;a++){var n=r[a],i=n._private.style[e],s=this.properties[e].type,o=s.color,l=s.mutiple,u=i?i.pfValue!=null?i.pfValue:i.value:null;!i||!i.bypass?this.applyBypass(n,e,t):(i.value=t,i.pfValue!=null&&(i.pfValue=t),o?i.strValue="rgb("+t.join(",")+")":l?i.strValue=t.join(" "):i.strValue=""+t,this.updateStyleHints(n)),this.checkTriggers(n,e,u,t)}};Ta.removeAllBypasses=function(r,e){return this.removeBypasses(r,this.propertyNames,e)};Ta.removeBypasses=function(r,e,t){for(var a=!0,n=0;n<r.length;n++){for(var i=r[n],s={},o=0;o<e.length;o++){var l=e[o],u=this.properties[l],f=i.pstyle(u.name);if(!(!f||!f.bypass)){var c="",d=this.parse(l,c,!0),g=s[u.name]={prev:f};this.applyParsedProperty(i,d),g.next=i.pstyle(u.name)}}this.updateStyleHints(i),t&&this.updateTransitions(i,s,a)}};var xi={};xi.getEmSizeInPixels=function(){var r=this.containerCss("font-size");return r!=null?parseFloat(r):1};xi.containerCss=function(r){var e=this._private.cy,t=e.container(),a=e.window();if(a&&t&&a.getComputedStyle)return a.getComputedStyle(t).getPropertyValue(r)};var zr={};zr.getRenderedStyle=function(r,e){return e?this.getStylePropertyValue(r,e,!0):this.getRawStyle(r,!0)};zr.getRawStyle=function(r,e){var t=this;if(r=r[0],r){for(var a={},n=0;n<t.properties.length;n++){var i=t.properties[n],s=t.getStylePropertyValue(r,i.name,e);s!=null&&(a[i.name]=s,a[ln(i.name)]=s)}return a}};zr.getIndexedStyle=function(r,e,t,a){var n=r.pstyle(e)[t][a];return n??r.cy().style().getDefaultProperty(e)[t][0]};zr.getStylePropertyValue=function(r,e,t){var a=this;if(r=r[0],r){var n=a.properties[e];n.alias&&(n=n.pointsTo);var i=n.type,s=r.pstyle(n.name);if(s){var o=s.value,l=s.units,u=s.strValue;if(t&&i.number&&o!=null&&ie(o)){var f=r.cy().zoom(),c=v(function(y){return y*f},"getRenderedValue"),d=v(function(y,p){return c(y)+p},"getValueStringWithUnits"),g=Oe(o),h=g?l.every(function(m){return m!=null}):l!=null;return h?g?o.map(function(m,y){return d(m,l[y])}).join(" "):d(o,l):g?o.map(function(m){return he(m)?m:""+c(m)}).join(" "):""+c(o)}else if(u!=null)return u}return null}};zr.getAnimationStartStyle=function(r,e){for(var t={},a=0;a<e.length;a++){var n=e[a],i=n.name,s=r.pstyle(i);s!==void 0&&(Te(s)?s=this.parse(i,s.strValue):s=this.parse(i,s)),s&&(t[i]=s)}return t};zr.getPropsList=function(r){var e=this,t=[],a=r,n=e.properties;if(a)for(var i=Object.keys(a),s=0;s<i.length;s++){var o=i[s],l=a[o],u=n[o]||n[oi(o)],f=this.parse(u.name,l);f&&t.push(f)}return t};zr.getNonDefaultPropertiesHash=function(r,e,t){var a=t.slice(),n,i,s,o,l,u;for(l=0;l<e.length;l++)if(n=e[l],i=r.pstyle(n,!1),i!=null)if(i.pfValue!=null)a[0]=va(o,a[0]),a[1]=fa(o,a[1]);else for(s=i.strValue,u=0;u<s.length;u++)o=s.charCodeAt(u),a[0]=va(o,a[0]),a[1]=fa(o,a[1]);return a};zr.getPropertiesHash=zr.getNonDefaultPropertiesHash;var En={};En.appendFromJson=function(r){for(var e=this,t=0;t<r.length;t++){var a=r[t],n=a.selector,i=a.style||a.css,s=Object.keys(i);e.selector(n);for(var o=0;o<s.length;o++){var l=s[o],u=i[l];e.css(l,u)}}return e};En.fromJson=function(r){var e=this;return e.resetToDefault(),e.appendFromJson(r),e};En.json=function(){for(var r=[],e=this.defaultLength;e<this.length;e++){for(var t=this[e],a=t.selector,n=t.properties,i={},s=0;s<n.length;s++){var o=n[s];i[o.name]=o.strValue}r.push({selector:a?a.toString():"core",style:i})}return r};var Ei={};Ei.appendFromString=function(r){var e=this,t=this,a=""+r,n,i,s;a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");function o(){a.length>n.length?a=a.substr(n.length):a=""}v(o,"removeSelAndBlockFromRemaining");function l(){i.length>s.length?i=i.substr(s.length):i=""}for(v(l,"removePropAndValFromRem");;){var u=a.match(/^\s*$/);if(u)break;var f=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Le("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=f[0];var c=f[1];if(c!=="core"){var d=new et(c);if(d.invalid){Le("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),o();continue}}var g=f[2],h=!1;i=g;for(var m=[];;){var y=i.match(/^\s*$/);if(y)break;var p=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){Le("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+g),h=!0;break}s=p[0];var b=p[1],w=p[2],x=e.properties[b];if(!x){Le("Skipping property: Invalid property name in: "+s),l();continue}var T=t.parse(b,w);if(!T){Le("Skipping property: Invalid property definition in: "+s),l();continue}m.push({name:b,val:w}),l()}if(h){o();break}t.selector(c);for(var C=0;C<m.length;C++){var E=m[C];t.css(E.name,E.val)}o()}return t};Ei.fromString=function(r){var e=this;return e.resetToDefault(),e.appendFromString(r),e};var _e={};(function(){var r=We,e=rl,t=al,a=nl,n=il,i=v(function(N){return"^"+N+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},"data"),s=v(function(N){var X=r+"|\\w+|"+e+"|"+t+"|"+a+"|"+n;return"^"+N+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+r+")\\s*\\,\\s*("+r+")\\s*,\\s*("+X+")\\s*\\,\\s*("+X+")\\)$"},"mapData"),o=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];_e.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:i("data")},layoutData:{mapping:!0,regex:i("layoutData")},scratch:{mapping:!0,regex:i("scratch")},mapData:{mapping:!0,regex:s("mapData")},mapLayoutData:{mapping:!0,regex:s("mapLayoutData")},mapScratch:{mapping:!0,regex:s("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:o,singleRegexMatchValue:!0},urls:{regexes:o,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:v(function(N,X){switch(N.length){case 2:return X[0]!=="deg"&&X[0]!=="rad"&&X[1]!=="deg"&&X[1]!=="rad";case 1:return he(N[0])||X[0]==="deg"||X[0]==="rad";default:return!1}},"validate")},easing:{regexes:["^(spring)\\s*\\(\\s*("+r+")\\s*,\\s*("+r+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+r+")\\s*,\\s*("+r+")\\s*,\\s*("+r+")\\s*,\\s*("+r+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:v(function(N){var X=N.length;return X===1||X===2||X===4},"validate")}};var l={zeroNonZero:v(function(N,X){return(N==null||X==null)&&N!==X||N==0&&X!=0?!0:N!=0&&X==0},"zeroNonZero"),any:v(function(N,X){return N!=X},"any"),emptyNonEmpty:v(function(N,X){var Z=_r(N),oe=_r(X);return Z&&!oe||!Z&&oe},"emptyNonEmpty")},u=_e.types,f=[{name:"label",type:u.text,triggersBounds:l.any,triggersZOrder:l.emptyNonEmpty},{name:"text-rotation",type:u.textRotation,triggersBounds:l.any},{name:"text-margin-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"text-margin-y",type:u.bidirectionalSize,triggersBounds:l.any}],c=[{name:"source-label",type:u.text,triggersBounds:l.any},{name:"source-text-rotation",type:u.textRotation,triggersBounds:l.any},{name:"source-text-margin-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"source-text-margin-y",type:u.bidirectionalSize,triggersBounds:l.any},{name:"source-text-offset",type:u.size,triggersBounds:l.any}],d=[{name:"target-label",type:u.text,triggersBounds:l.any},{name:"target-text-rotation",type:u.textRotation,triggersBounds:l.any},{name:"target-text-margin-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"target-text-margin-y",type:u.bidirectionalSize,triggersBounds:l.any},{name:"target-text-offset",type:u.size,triggersBounds:l.any}],g=[{name:"font-family",type:u.fontFamily,triggersBounds:l.any},{name:"font-style",type:u.fontStyle,triggersBounds:l.any},{name:"font-weight",type:u.fontWeight,triggersBounds:l.any},{name:"font-size",type:u.size,triggersBounds:l.any},{name:"text-transform",type:u.textTransform,triggersBounds:l.any},{name:"text-wrap",type:u.textWrap,triggersBounds:l.any},{name:"text-overflow-wrap",type:u.textOverflowWrap,triggersBounds:l.any},{name:"text-max-width",type:u.size,triggersBounds:l.any},{name:"text-outline-width",type:u.size,triggersBounds:l.any},{name:"line-height",type:u.positiveNumber,triggersBounds:l.any}],h=[{name:"text-valign",type:u.valign,triggersBounds:l.any},{name:"text-halign",type:u.halign,triggersBounds:l.any},{name:"color",type:u.color},{name:"text-outline-color",type:u.color},{name:"text-outline-opacity",type:u.zeroOneNumber},{name:"text-background-color",type:u.color},{name:"text-background-opacity",type:u.zeroOneNumber},{name:"text-background-padding",type:u.size,triggersBounds:l.any},{name:"text-border-opacity",type:u.zeroOneNumber},{name:"text-border-color",type:u.color},{name:"text-border-width",type:u.size,triggersBounds:l.any},{name:"text-border-style",type:u.borderStyle,triggersBounds:l.any},{name:"text-background-shape",type:u.textBackgroundShape,triggersBounds:l.any},{name:"text-justification",type:u.justification}],m=[{name:"events",type:u.bool,triggersZOrder:l.any},{name:"text-events",type:u.bool,triggersZOrder:l.any}],y=[{name:"display",type:u.display,triggersZOrder:l.any,triggersBounds:l.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:u.visibility,triggersZOrder:l.any},{name:"opacity",type:u.zeroOneNumber,triggersZOrder:l.zeroNonZero},{name:"text-opacity",type:u.zeroOneNumber},{name:"min-zoomed-font-size",type:u.size},{name:"z-compound-depth",type:u.zCompoundDepth,triggersZOrder:l.any},{name:"z-index-compare",type:u.zIndexCompare,triggersZOrder:l.any},{name:"z-index",type:u.number,triggersZOrder:l.any}],p=[{name:"overlay-padding",type:u.size,triggersBounds:l.any},{name:"overlay-color",type:u.color},{name:"overlay-opacity",type:u.zeroOneNumber,triggersBounds:l.zeroNonZero},{name:"overlay-shape",type:u.overlayShape,triggersBounds:l.any},{name:"overlay-corner-radius",type:u.cornerRadius}],b=[{name:"underlay-padding",type:u.size,triggersBounds:l.any},{name:"underlay-color",type:u.color},{name:"underlay-opacity",type:u.zeroOneNumber,triggersBounds:l.zeroNonZero},{name:"underlay-shape",type:u.overlayShape,triggersBounds:l.any},{name:"underlay-corner-radius",type:u.cornerRadius}],w=[{name:"transition-property",type:u.propList},{name:"transition-duration",type:u.time},{name:"transition-delay",type:u.time},{name:"transition-timing-function",type:u.easing}],x=v(function(N,X){return X.value==="label"?-N.poolIndex():X.pfValue},"nodeSizeHashOverride"),T=[{name:"height",type:u.nodeSize,triggersBounds:l.any,hashOverride:x},{name:"width",type:u.nodeSize,triggersBounds:l.any,hashOverride:x},{name:"shape",type:u.nodeShape,triggersBounds:l.any},{name:"shape-polygon-points",type:u.polygonPointList,triggersBounds:l.any},{name:"corner-radius",type:u.cornerRadius},{name:"background-color",type:u.color},{name:"background-fill",type:u.fill},{name:"background-opacity",type:u.zeroOneNumber},{name:"background-blacken",type:u.nOneOneNumber},{name:"background-gradient-stop-colors",type:u.colors},{name:"background-gradient-stop-positions",type:u.percentages},{name:"background-gradient-direction",type:u.gradientDirection},{name:"padding",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"padding-relative-to",type:u.paddingRelativeTo,triggersBounds:l.any},{name:"bounds-expansion",type:u.boundsExpansion,triggersBounds:l.any}],C=[{name:"border-color",type:u.color},{name:"border-opacity",type:u.zeroOneNumber},{name:"border-width",type:u.size,triggersBounds:l.any},{name:"border-style",type:u.borderStyle},{name:"border-cap",type:u.lineCap},{name:"border-join",type:u.lineJoin},{name:"border-dash-pattern",type:u.numbers},{name:"border-dash-offset",type:u.number},{name:"border-position",type:u.linePosition}],E=[{name:"outline-color",type:u.color},{name:"outline-opacity",type:u.zeroOneNumber},{name:"outline-width",type:u.size,triggersBounds:l.any},{name:"outline-style",type:u.borderStyle},{name:"outline-offset",type:u.size,triggersBounds:l.any}],k=[{name:"background-image",type:u.urls},{name:"background-image-crossorigin",type:u.bgCrossOrigin},{name:"background-image-opacity",type:u.zeroOneNumbers},{name:"background-image-containment",type:u.bgContainment},{name:"background-image-smoothing",type:u.bools},{name:"background-position-x",type:u.bgPos},{name:"background-position-y",type:u.bgPos},{name:"background-width-relative-to",type:u.bgRelativeTo},{name:"background-height-relative-to",type:u.bgRelativeTo},{name:"background-repeat",type:u.bgRepeat},{name:"background-fit",type:u.bgFit},{name:"background-clip",type:u.bgClip},{name:"background-width",type:u.bgWH},{name:"background-height",type:u.bgWH},{name:"background-offset-x",type:u.bgPos},{name:"background-offset-y",type:u.bgPos}],S=[{name:"position",type:u.position,triggersBounds:l.any},{name:"compound-sizing-wrt-labels",type:u.compoundIncludeLabels,triggersBounds:l.any},{name:"min-width",type:u.size,triggersBounds:l.any},{name:"min-width-bias-left",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"min-width-bias-right",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"min-height",type:u.size,triggersBounds:l.any},{name:"min-height-bias-top",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"min-height-bias-bottom",type:u.sizeMaybePercent,triggersBounds:l.any}],L=[{name:"line-style",type:u.lineStyle},{name:"line-color",type:u.color},{name:"line-fill",type:u.fill},{name:"line-cap",type:u.lineCap},{name:"line-opacity",type:u.zeroOneNumber},{name:"line-dash-pattern",type:u.numbers},{name:"line-dash-offset",type:u.number},{name:"line-outline-width",type:u.size},{name:"line-outline-color",type:u.color},{name:"line-gradient-stop-colors",type:u.colors},{name:"line-gradient-stop-positions",type:u.percentages},{name:"curve-style",type:u.curveStyle,triggersBounds:l.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:u.zeroOneNumber,triggersBounds:l.any},{name:"source-endpoint",type:u.edgeEndpoint,triggersBounds:l.any},{name:"target-endpoint",type:u.edgeEndpoint,triggersBounds:l.any},{name:"control-point-step-size",type:u.size,triggersBounds:l.any},{name:"control-point-distances",type:u.bidirectionalSizes,triggersBounds:l.any},{name:"control-point-weights",type:u.numbers,triggersBounds:l.any},{name:"segment-distances",type:u.bidirectionalSizes,triggersBounds:l.any},{name:"segment-weights",type:u.numbers,triggersBounds:l.any},{name:"segment-radii",type:u.numbers,triggersBounds:l.any},{name:"radius-type",type:u.radiusType,triggersBounds:l.any},{name:"taxi-turn",type:u.bidirectionalSizeMaybePercent,triggersBounds:l.any},{name:"taxi-turn-min-distance",type:u.size,triggersBounds:l.any},{name:"taxi-direction",type:u.axisDirection,triggersBounds:l.any},{name:"taxi-radius",type:u.number,triggersBounds:l.any},{name:"edge-distances",type:u.edgeDistances,triggersBounds:l.any},{name:"arrow-scale",type:u.positiveNumber,triggersBounds:l.any},{name:"loop-direction",type:u.angle,triggersBounds:l.any},{name:"loop-sweep",type:u.angle,triggersBounds:l.any},{name:"source-distance-from-node",type:u.size,triggersBounds:l.any},{name:"target-distance-from-node",type:u.size,triggersBounds:l.any}],B=[{name:"ghost",type:u.bool,triggersBounds:l.any},{name:"ghost-offset-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"ghost-offset-y",type:u.bidirectionalSize,triggersBounds:l.any},{name:"ghost-opacity",type:u.zeroOneNumber}],M=[{name:"selection-box-color",type:u.color},{name:"selection-box-opacity",type:u.zeroOneNumber},{name:"selection-box-border-color",type:u.color},{name:"selection-box-border-width",type:u.size},{name:"active-bg-color",type:u.color},{name:"active-bg-opacity",type:u.zeroOneNumber},{name:"active-bg-size",type:u.size},{name:"outside-texture-bg-color",type:u.color},{name:"outside-texture-bg-opacity",type:u.zeroOneNumber}],A=[];_e.pieBackgroundN=16,A.push({name:"pie-size",type:u.sizeMaybePercent});for(var P=1;P<=_e.pieBackgroundN;P++)A.push({name:"pie-"+P+"-background-color",type:u.color}),A.push({name:"pie-"+P+"-background-size",type:u.percent}),A.push({name:"pie-"+P+"-background-opacity",type:u.zeroOneNumber});var I=[],R=_e.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:u.arrowShape,triggersBounds:l.any},{name:"arrow-color",type:u.color},{name:"arrow-fill",type:u.arrowFill},{name:"arrow-width",type:u.arrowWidth}].forEach(function(Y){R.forEach(function(N){var X=N+"-"+Y.name,Z=Y.type,oe=Y.triggersBounds;I.push({name:X,type:Z,triggersBounds:oe})})},{});var O=_e.properties=[].concat(m,w,y,p,b,B,h,g,f,c,d,T,C,E,k,A,S,L,I,M),z=_e.propertyGroups={behavior:m,transition:w,visibility:y,overlay:p,underlay:b,ghost:B,commonLabel:h,labelDimensions:g,mainLabel:f,sourceLabel:c,targetLabel:d,nodeBody:T,nodeBorder:C,nodeOutline:E,backgroundImage:k,pie:A,compound:S,edgeLine:L,edgeArrow:I,core:M},$=_e.propertyGroupNames={},H=_e.propertyGroupKeys=Object.keys(z);H.forEach(function(Y){$[Y]=z[Y].map(function(N){return N.name}),z[Y].forEach(function(N){return N.groupKey=Y})});var V=_e.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];_e.propertyNames=O.map(function(Y){return Y.name});for(var F=0;F<O.length;F++){var U=O[F];O[U.name]=U}for(var J=0;J<V.length;J++){var j=V[J],ee=O[j.pointsTo],re={name:j.name,alias:!0,pointsTo:ee};O.push(re),O[j.name]=re}})();_e.getDefaultProperty=function(r){return this.getDefaultProperties()[r]};_e.getDefaultProperties=function(){var r=this._private;if(r.defaultProperties!=null)return r.defaultProperties;for(var e=we({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1,   1, -1,   1, 1,   -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(l,u){for(var f=1;f<=_e.pieBackgroundN;f++){var c=u.name.replace("{{i}}",f),d=u.value;l[c]=d}return l},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(l,u){return _e.arrowPrefixes.forEach(function(f){var c=f+"-"+u.name,d=u.value;l[c]=d}),l},{})),t={},a=0;a<this.properties.length;a++){var n=this.properties[a];if(!n.pointsTo){var i=n.name,s=e[i],o=this.parse(i,s);t[i]=o}}return r.defaultProperties=t,r.defaultProperties};_e.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Cn={};Cn.parse=function(r,e,t,a){var n=this;if(Ve(e))return n.parseImplWarn(r,e,t,a);var i=a==="mapping"||a===!0||a===!1||a==null?"dontcare":a,s=t?"t":"f",o=""+e,l=oo(r,o,s,i),u=n.propCache=n.propCache||[],f;return(f=u[l])||(f=u[l]=n.parseImplWarn(r,e,t,a)),(t||a==="mapping")&&(f=Or(f),f&&(f.value=Or(f.value))),f};Cn.parseImplWarn=function(r,e,t,a){var n=this.parseImpl(r,e,t,a);return!n&&e!=null&&Le("The style property `".concat(r,": ").concat(e,"` is invalid")),n&&(n.name==="width"||n.name==="height")&&e==="label"&&Le("The style value of `label` is deprecated for `"+n.name+"`"),n};Cn.parseImpl=function(r,e,t,a){var n=this;r=oi(r);var i=n.properties[r],s=e,o=n.types;if(!i||e===void 0)return null;i.alias&&(i=i.pointsTo,r=i.name);var l=he(e);l&&(e=e.trim());var u=i.type;if(!u)return null;if(t&&(e===""||e===null))return{name:r,value:e,bypass:!0,deleteBypass:!0};if(Ve(e))return{name:r,value:e,strValue:"fn",mapped:o.fn,bypass:t};var f,c;if(!(!l||a||e.length<7||e[1]!=="a")){if(e.length>=7&&e[0]==="d"&&(f=new RegExp(o.data.regex).exec(e))){if(t)return!1;var d=o.data;return{name:r,value:f,strValue:""+e,mapped:d,field:f[1],bypass:t}}else if(e.length>=10&&e[0]==="m"&&(c=new RegExp(o.mapData.regex).exec(e))){if(t||u.multiple)return!1;var g=o.mapData;if(!(u.color||u.number))return!1;var h=this.parse(r,c[4]);if(!h||h.mapped)return!1;var m=this.parse(r,c[5]);if(!m||m.mapped)return!1;if(h.pfValue===m.pfValue||h.strValue===m.strValue)return Le("`"+r+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+r+": "+h.strValue+"`"),this.parse(r,h.strValue);if(u.color){var y=h.value,p=m.value,b=y[0]===p[0]&&y[1]===p[1]&&y[2]===p[2]&&(y[3]===p[3]||(y[3]==null||y[3]===1)&&(p[3]==null||p[3]===1));if(b)return!1}return{name:r,value:c,strValue:""+e,mapped:g,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:h.value,valueMax:m.value,bypass:t}}}if(u.multiple&&a!=="multiple"){var w;if(l?w=e.split(/\s+/):Oe(e)?w=e:w=[e],u.evenMultiple&&w.length%2!==0)return null;for(var x=[],T=[],C=[],E="",k=!1,S=0;S<w.length;S++){var L=n.parse(r,w[S],t,"multiple");k=k||he(L.value),x.push(L.value),C.push(L.pfValue!=null?L.pfValue:L.value),T.push(L.units),E+=(S>0?" ":"")+L.strValue}return u.validate&&!u.validate(x,T)?null:u.singleEnum&&k?x.length===1&&he(x[0])?{name:r,value:x[0],strValue:x[0],bypass:t}:null:{name:r,value:x,pfValue:C,strValue:E,bypass:t,units:T}}var B=v(function(){for(var N=0;N<u.enums.length;N++){var X=u.enums[N];if(X===e)return{name:r,value:e,strValue:""+e,bypass:t}}return null},"checkEnums");if(u.number){var M,A="px";if(u.units&&(M=u.units),u.implicitUnits&&(A=u.implicitUnits),!u.unitless)if(l){var P="px|em"+(u.allowPercent?"|\\%":"");M&&(P=M);var I=e.match("^("+We+")("+P+")?$");I&&(e=I[1],M=I[2]||A)}else(!M||u.implicitUnits)&&(M=A);if(e=parseFloat(e),isNaN(e)&&u.enums===void 0)return null;if(isNaN(e)&&u.enums!==void 0)return e=s,B();if(u.integer&&!Xu(e)||u.min!==void 0&&(e<u.min||u.strictMin&&e===u.min)||u.max!==void 0&&(e>u.max||u.strictMax&&e===u.max))return null;var R={name:r,value:e,strValue:""+e+(M||""),units:M,bypass:t};return u.unitless||M!=="px"&&M!=="em"?R.pfValue=e:R.pfValue=M==="px"||!M?e:this.getEmSizeInPixels()*e,(M==="ms"||M==="s")&&(R.pfValue=M==="ms"?e:1e3*e),(M==="deg"||M==="rad")&&(R.pfValue=M==="rad"?e:Pv(e)),M==="%"&&(R.pfValue=e/100),R}else if(u.propList){var O=[],z=""+e;if(z!=="none"){for(var $=z.split(/\s*,\s*|\s+/),H=0;H<$.length;H++){var V=$[H].trim();n.properties[V]?O.push(V):Le("`"+V+"` is not a valid property name")}if(O.length===0)return null}return{name:r,value:O,strValue:O.length===0?"none":O.join(" "),bypass:t}}else if(u.color){var F=fl(e);return F?{name:r,value:F,pfValue:F,strValue:"rgb("+F[0]+","+F[1]+","+F[2]+")",bypass:t}:null}else if(u.regex||u.regexes){if(u.enums){var U=B();if(U)return U}for(var J=u.regexes?u.regexes:[u.regex],j=0;j<J.length;j++){var ee=new RegExp(J[j]),re=ee.exec(e);if(re)return{name:r,value:u.singleRegexMatchValue?re[1]:re,strValue:""+e,bypass:t}}return null}else return u.string?{name:r,value:""+e,strValue:""+e,bypass:t}:u.enums?B():null};var nr=v(function r(e){if(!(this instanceof r))return new r(e);if(!si(e)){qe("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},"Style"),sr=nr.prototype;sr.instanceString=function(){return"style"};sr.clear=function(){for(var r=this._private,e=r.cy,t=e.elements(),a=0;a<this.length;a++)this[a]=void 0;return this.length=0,r.contextStyles={},r.propDiffs={},this.cleanElements(t,!0),t.forEach(function(n){var i=n[0]._private;i.styleDirty=!0,i.appliedInitStyle=!1}),this};sr.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this};sr.core=function(r){return this._private.coreStyle[r]||this.getDefaultProperty(r)};sr.selector=function(r){var e=r==="core"?null:new et(r),t=this.length++;return this[t]={selector:e,properties:[],mappedProperties:[],index:t},this};sr.css=function(){var r=this,e=arguments;if(e.length===1)for(var t=e[0],a=0;a<r.properties.length;a++){var n=r.properties[a],i=t[n.name];i===void 0&&(i=t[ln(n.name)]),i!==void 0&&this.cssRule(n.name,i)}else e.length===2&&this.cssRule(e[0],e[1]);return this};sr.style=sr.css;sr.cssRule=function(r,e){var t=this.parse(r,e);if(t){var a=this.length-1;this[a].properties.push(t),this[a].properties[t.name]=t,t.name.match(/pie-(\d+)-background-size/)&&t.value&&(this._private.hasPie=!0),t.mapped&&this[a].mappedProperties.push(t);var n=!this[a].selector;n&&(this._private.coreStyle[t.name]=t)}return this};sr.append=function(r){return Js(r)?r.appendToStyle(this):Oe(r)?this.appendFromJson(r):he(r)&&this.appendFromString(r),this};nr.fromJson=function(r,e){var t=new nr(r);return t.fromJson(e),t};nr.fromString=function(r,e){return new nr(r).fromString(e)};[or,Ta,xi,zr,En,Ei,_e,Cn].forEach(function(r){we(sr,r)});nr.types=sr.types;nr.properties=sr.properties;nr.propertyGroups=sr.propertyGroups;nr.propertyGroupNames=sr.propertyGroupNames;nr.propertyGroupKeys=sr.propertyGroupKeys;var Zh={style:v(function(e){if(e){var t=this.setStyle(e);t.update()}return this._private.style},"style"),setStyle:v(function(e){var t=this._private;return Js(e)?t.style=e.generateStyle(this):Oe(e)?t.style=nr.fromJson(this,e):he(e)?t.style=nr.fromString(this,e):t.style=nr(this),t.style},"setStyle"),updateStyle:v(function(){this.mutableElements().updateStyle()},"updateStyle")},Qh="single",yt={autolock:v(function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},"autolock"),autoungrabify:v(function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},"autoungrabify"),autounselectify:v(function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},"autounselectify"),selectionType:v(function(e){var t=this._private;if(t.selectionType==null&&(t.selectionType=Qh),e!==void 0)(e==="additive"||e==="single")&&(t.selectionType=e);else return t.selectionType;return this},"selectionType"),panningEnabled:v(function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},"panningEnabled"),userPanningEnabled:v(function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},"userPanningEnabled"),zoomingEnabled:v(function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},"zoomingEnabled"),userZoomingEnabled:v(function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},"userZoomingEnabled"),boxSelectionEnabled:v(function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},"boxSelectionEnabled"),pan:v(function(){var e=arguments,t=this._private.pan,a,n,i,s,o;switch(e.length){case 0:return t;case 1:if(he(e[0]))return a=e[0],t[a];if(Te(e[0])){if(!this._private.panningEnabled)return this;i=e[0],s=i.x,o=i.y,ie(s)&&(t.x=s),ie(o)&&(t.y=o),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;a=e[0],n=e[1],(a==="x"||a==="y")&&ie(n)&&(t[a]=n),this.emit("pan viewport");break}return this.notify("viewport"),this},"pan"),panBy:v(function(e,t){var a=arguments,n=this._private.pan,i,s,o,l,u;if(!this._private.panningEnabled)return this;switch(a.length){case 1:Te(e)&&(o=a[0],l=o.x,u=o.y,ie(l)&&(n.x+=l),ie(u)&&(n.y+=u),this.emit("pan viewport"));break;case 2:i=e,s=t,(i==="x"||i==="y")&&ie(s)&&(n[i]+=s),this.emit("pan viewport");break}return this.notify("viewport"),this},"panBy"),fit:v(function(e,t){var a=this.getFitViewport(e,t);if(a){var n=this._private;n.zoom=a.zoom,n.pan=a.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},"fit"),getFitViewport:v(function(e,t){if(ie(e)&&t===void 0&&(t=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var a;if(he(e)){var n=e;e=this.$(n)}else if(Ju(e)){var i=e;a={x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},a.w=a.x2-a.x1,a.h=a.y2-a.y1}else pr(e)||(e=this.mutableElements());if(!(pr(e)&&e.empty())){a=a||e.boundingBox();var s=this.width(),o=this.height(),l;if(t=ie(t)?t:0,!isNaN(s)&&!isNaN(o)&&s>0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){l=Math.min((s-2*t)/a.w,(o-2*t)/a.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l<this._private.minZoom?this._private.minZoom:l;var u={x:(s-l*(a.x1+a.x2))/2,y:(o-l*(a.y1+a.y2))/2};return{zoom:l,pan:u}}}}},"getFitViewport"),zoomRange:v(function(e,t){var a=this._private;if(t==null){var n=e;e=n.min,t=n.max}return ie(e)&&ie(t)&&e<=t?(a.minZoom=e,a.maxZoom=t):ie(e)&&t===void 0&&e<=a.maxZoom?a.minZoom=e:ie(t)&&e===void 0&&t>=a.minZoom&&(a.maxZoom=t),this},"zoomRange"),minZoom:v(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:v(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:v(function(e){var t=this._private,a=t.pan,n=t.zoom,i,s,o=!1;if(t.zoomingEnabled||(o=!0),ie(e)?s=e:Te(e)&&(s=e.level,e.position!=null?i=dn(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!t.panningEnabled&&(o=!0)),s=s>t.maxZoom?t.maxZoom:s,s=s<t.minZoom?t.minZoom:s,o||!ie(s)||s===n||i!=null&&(!ie(i.x)||!ie(i.y)))return null;if(i!=null){var l=a,u=n,f=s,c={x:-f/u*(i.x-l.x)+i.x,y:-f/u*(i.y-l.y)+i.y};return{zoomed:!0,panned:!0,zoom:f,pan:c}}else return{zoomed:!0,panned:!1,zoom:s,pan:a}},"getZoomedViewport"),zoom:v(function(e){if(e===void 0)return this._private.zoom;var t=this.getZoomedViewport(e),a=this._private;return t==null||!t.zoomed?this:(a.zoom=t.zoom,t.panned&&(a.pan.x=t.pan.x,a.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},"zoom"),viewport:v(function(e){var t=this._private,a=!0,n=!0,i=[],s=!1,o=!1;if(!e)return this;if(ie(e.zoom)||(a=!1),Te(e.pan)||(n=!1),!a&&!n)return this;if(a){var l=e.zoom;l<t.minZoom||l>t.maxZoom||!t.zoomingEnabled?s=!0:(t.zoom=l,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&t.panningEnabled){var u=e.pan;ie(u.x)&&(t.pan.x=u.x,o=!1),ie(u.y)&&(t.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},"viewport"),center:v(function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:v(function(e,t){if(this._private.panningEnabled){if(he(e)){var a=e;e=this.mutableElements().filter(a)}else pr(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();t=t===void 0?this._private.zoom:t;var o={x:(i-t*(n.x1+n.x2))/2,y:(s-t*(n.y1+n.y2))/2};return o}}},"getCenterPan"),reset:v(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:v(function(){this._private.sizeCache=null},"invalidateSize"),size:v(function(){var e=this._private,t=e.container,a=this;return e.sizeCache=e.sizeCache||(t?function(){var n=a.window().getComputedStyle(t),i=v(function(o){return parseFloat(n.getPropertyValue(o))},"val");return{width:t.clientWidth-i("padding-left")-i("padding-right"),height:t.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},"size"),width:v(function(){return this.size().width},"width"),height:v(function(){return this.size().height},"height"),extent:v(function(){var e=this._private.pan,t=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/t,x2:(a.x2-e.x)/t,y1:(a.y1-e.y)/t,y2:(a.y2-e.y)/t};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},"extent"),renderedExtent:v(function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},"renderedExtent"),multiClickDebounceTime:v(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};yt.centre=yt.center;yt.autolockNodes=yt.autolock;yt.autoungrabifyNodes=yt.autoungrabify;var ma={data:Me.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Me.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Me.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Me.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};ma.attr=ma.data;ma.removeAttr=ma.removeData;var ba=v(function(e){var t=this;e=we({},e);var a=e.container;a&&!Ja(a)&&Ja(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=t;var s=Ke!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=we({name:s?"grid":"null"},o.layout),o.renderer=we({name:s?"canvas":"null"},o.renderer);var l=v(function(h,m,y){return m!==void 0?m:y!==void 0?y:h},"defVal"),u=this._private={container:a,ready:!1,options:o,elements:new er(this),listeners:[],aniEles:new er(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ie(o.zoom)?o.zoom:1,pan:{x:Te(o.pan)&&ie(o.pan.x)?o.pan.x:0,y:Te(o.pan)&&ie(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var f=v(function(h,m){var y=h.some(_u);if(y)return qt.all(h).then(m);m(h)},"loadExtData");u.styleEnabled&&t.setStyle([]);var c=we({},o,o.renderer);t.initRenderer(c);var d=v(function(h,m,y){t.notifications(!1);var p=t.mutableElements();p.length>0&&p.remove(),h!=null&&(Te(h)||Oe(h))&&t.add(h),t.one("layoutready",function(w){t.notifications(!0),t.emit(w),t.one("load",m),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",y),t.emit("done")});var b=we({},t._private.options.layout);b.eles=t.elements(),t.layout(b).run()},"setElesAndLayout");f([o.style,o.elements],function(g){var h=g[0],m=g[1];u.styleEnabled&&t.style().append(h),d(m,function(){t.startAnimationLoop(),u.ready=!0,Ve(o.ready)&&t.on("ready",o.ready);for(var y=0;y<i.length;y++){var p=i[y];t.on("ready",p)}n&&(n.readies=[]),t.emit("ready")},o.done)})},"Core"),nn=ba.prototype;we(nn,{instanceString:v(function(){return"core"},"instanceString"),isReady:v(function(){return this._private.ready},"isReady"),destroyed:v(function(){return this._private.destroyed},"destroyed"),ready:v(function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},"ready"),destroy:v(function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},"destroy"),hasElementWithId:v(function(e){return this._private.elements.hasElementWithId(e)},"hasElementWithId"),getElementById:v(function(e){return this._private.elements.getElementById(e)},"getElementById"),hasCompoundNodes:v(function(){return this._private.hasCompoundNodes},"hasCompoundNodes"),headless:v(function(){return this._private.renderer.isHeadless()},"headless"),styleEnabled:v(function(){return this._private.styleEnabled},"styleEnabled"),addToPool:v(function(e){return this._private.elements.merge(e),this},"addToPool"),removeFromPool:v(function(e){return this._private.elements.unmerge(e),this},"removeFromPool"),container:v(function(){return this._private.container||null},"container"),window:v(function(){var e=this._private.container;if(e==null)return Ke;var t=this._private.container.ownerDocument;return t===void 0||t==null?Ke:t.defaultView||Ke},"window"),mount:v(function(e){if(e!=null){var t=this,a=t._private,n=a.options;return!Ja(e)&&Ja(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),a.container=e,a.styleEnabled=!0,t.invalidateSize(),t.initRenderer(we({},n,n.renderer,{name:n.renderer.name==="null"?"canvas":n.renderer.name})),t.startAnimationLoop(),t.style(n.style),t.emit("mount"),t}},"mount"),unmount:v(function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},"unmount"),options:v(function(){return Or(this._private.options)},"options"),json:v(function(e){var t=this,a=t._private,n=t.mutableElements(),i=v(function(x){return t.getElementById(x.id())},"getFreshRef");if(Te(e)){if(t.startBatch(),e.elements){var s={},o=v(function(x,T){for(var C=[],E=[],k=0;k<x.length;k++){var S=x[k];if(!S.data.id){Le("cy.json() cannot handle elements without an ID attribute");continue}var L=""+S.data.id,B=t.getElementById(L);s[L]=!0,B.length!==0?E.push({ele:B,json:S}):(T&&(S.group=T),C.push(S))}t.add(C);for(var M=0;M<E.length;M++){var A=E[M],P=A.ele,I=A.json;P.json(I)}},"updateEles");if(Oe(e.elements))o(e.elements);else for(var l=["nodes","edges"],u=0;u<l.length;u++){var f=l[u],c=e.elements[f];Oe(c)&&o(c,f)}var d=t.collection();n.filter(function(w){return!s[w.id()]}).forEach(function(w){w.isParent()?d.merge(w):w.remove()}),d.forEach(function(w){return w.children().move({parent:null})}),d.forEach(function(w){return i(w).remove()})}e.style&&t.style(e.style),e.zoom!=null&&e.zoom!==a.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x!==a.pan.x||e.pan.y!==a.pan.y)&&t.pan(e.pan),e.data&&t.data(e.data);for(var g=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],h=0;h<g.length;h++){var m=g[h];e[m]!=null&&t[m](e[m])}return t.endBatch(),this}else{var y=!!e,p={};y?p.elements=this.elements().map(function(w){return w.json()}):(p.elements={},n.forEach(function(w){var x=w.group();p.elements[x]||(p.elements[x]=[]),p.elements[x].push(w.json())})),this._private.styleEnabled&&(p.style=t.style().json()),p.data=Or(t.data());var b=a.options;return p.zoomingEnabled=a.zoomingEnabled,p.userZoomingEnabled=a.userZoomingEnabled,p.zoom=a.zoom,p.minZoom=a.minZoom,p.maxZoom=a.maxZoom,p.panningEnabled=a.panningEnabled,p.userPanningEnabled=a.userPanningEnabled,p.pan=Or(a.pan),p.boxSelectionEnabled=a.boxSelectionEnabled,p.renderer=Or(b.renderer),p.hideEdgesOnViewport=b.hideEdgesOnViewport,p.textureOnViewport=b.textureOnViewport,p.wheelSensitivity=b.wheelSensitivity,p.motionBlur=b.motionBlur,p.multiClickDebounceTime=b.multiClickDebounceTime,p}},"json")});nn.$id=nn.getElementById;[Vh,Kh,jo,Xn,Ya,Uh,Zn,Xa,Zh,yt,ma].forEach(function(r){we(nn,r)});var Jh={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:v(function(e,t){return t},"transform")},_h={maximal:!1,acyclic:!1},Tt=v(function(e){return e.scratch("breadthfirst")},"getInfo"),Ds=v(function(e,t){return e.scratch("breadthfirst",t)},"setInfo");function eu(r){this.options=we({},Jh,_h,r)}v(eu,"BreadthFirstLayout");eu.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=a.nodes().filter(function(ne){return!ne.isParent()}),i=a,s=e.directed,o=e.acyclic||e.maximal||e.maximalAdjustments>0,l=gr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),u;if(pr(e.roots))u=e.roots;else if(Oe(e.roots)){for(var f=[],c=0;c<e.roots.length;c++){var d=e.roots[c],g=t.getElementById(d);f.push(g)}u=t.collection(f)}else if(he(e.roots))u=t.$(e.roots);else if(s)u=n.roots();else{var h=a.components();u=t.collection();for(var m=v(function(se){var le=h[se],de=le.maxDegree(!1),fe=le.filter(function(ye){return ye.degree(!1)===de});u=u.add(fe)},"_loop"),y=0;y<h.length;y++)m(y)}var p=[],b={},w=v(function(se,le){p[le]==null&&(p[le]=[]);var de=p[le].length;p[le].push(se),Ds(se,{index:de,depth:le})},"addToDepth"),x=v(function(se,le){var de=Tt(se),fe=de.depth,ye=de.index;p[fe][ye]=null,w(se,le)},"changeDepth");i.bfs({roots:u,directed:e.directed,visit:v(function(se,le,de,fe,ye){var Be=se[0],Ce=Be.id();w(Be,ye),b[Ce]=!0},"visit")});for(var T=[],C=0;C<n.length;C++){var E=n[C];b[E.id()]||T.push(E)}var k=v(function(se){for(var le=p[se],de=0;de<le.length;de++){var fe=le[de];if(fe==null){le.splice(de,1),de--;continue}Ds(fe,{depth:se,index:de})}},"assignDepthsAt"),S=v(function(){for(var se=0;se<p.length;se++)k(se)},"assignDepths"),L=v(function(se,le){for(var de=Tt(se),fe=se.incomers().filter(function(D){return D.isNode()&&a.has(D)}),ye=-1,Be=se.id(),Ce=0;Ce<fe.length;Ce++){var Ee=fe[Ce],De=Tt(Ee);ye=Math.max(ye,De.depth)}if(de.depth<=ye){if(!e.acyclic&&le[Be])return null;var _=ye+1;return x(se,_),le[Be]=_,!0}return!1},"adjustMaximally");if(s&&o){var B=[],M={},A=v(function(se){return B.push(se)},"enqueue"),P=v(function(){return B.shift()},"dequeue");for(n.forEach(function(ne){return B.push(ne)});B.length>0;){var I=P(),R=L(I,M);if(R)I.outgoers().filter(function(ne){return ne.isNode()&&a.has(ne)}).forEach(A);else if(R===null){Le("Detected double maximal shift for node `"+I.id()+"`.  Bailing maximal adjustment due to cycle.  Use `options.maximal: true` only on DAGs.");break}}}S();var O=0;if(e.avoidOverlap)for(var z=0;z<n.length;z++){var $=n[z],H=$.layoutDimensions(e),V=H.w,F=H.h;O=Math.max(O,V,F)}var U={},J=v(function(se){if(U[se.id()])return U[se.id()];for(var le=Tt(se).depth,de=se.neighborhood(),fe=0,ye=0,Be=0;Be<de.length;Be++){var Ce=de[Be];if(!(Ce.isEdge()||Ce.isParent()||!n.has(Ce))){var Ee=Tt(Ce);if(Ee!=null){var De=Ee.index,_=Ee.depth;if(!(De==null||_==null)){var D=p[_].length;_<le&&(fe+=De/D,ye++)}}}}return ye=Math.max(1,ye),fe=fe/ye,ye===0&&(fe=0),U[se.id()]=fe,fe},"getWeightedPercent"),j=v(function(se,le){var de=J(se),fe=J(le),ye=de-fe;return ye===0?js(se.id(),le.id()):ye},"sortFn");e.depthSort!==void 0&&(j=e.depthSort);for(var ee=0;ee<p.length;ee++)p[ee].sort(j),k(ee);for(var re=[],Y=0;Y<T.length;Y++)re.push(T[Y]);p.unshift(re),S();for(var N=0,X=0;X<p.length;X++)N=Math.max(p[X].length,N);var Z={x:l.x1+l.w/2,y:l.x1+l.h/2},oe=p.reduce(function(ne,se){return Math.max(ne,se.length)},0),ge=v(function(se){var le=Tt(se),de=le.depth,fe=le.index,ye=p[de].length,Be=Math.max(l.w/((e.grid?oe:ye)+1),O),Ce=Math.max(l.h/(p.length+1),O),Ee=Math.min(l.w/2/p.length,l.h/2/p.length);if(Ee=Math.max(Ee,O),e.circle){var _=Ee*de+Ee-(p.length>0&&p[0].length<=3?Ee/2:0),D=2*Math.PI/p[de].length*fe;return de===0&&p[0].length===1&&(_=1),{x:Z.x+_*Math.cos(D),y:Z.y+_*Math.sin(D)}}else{var De={x:Z.x+(fe+1-(ye+1)/2)*Be,y:(de+1)*Ce};return De}},"getPosition");return a.nodes().layoutPositions(this,e,ge),this};var jh={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:v(function(e,t){return t},"transform")};function ru(r){this.options=we({},jh,r)}v(ru,"CircleLayout");ru.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=gr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,u=l/Math.max(1,i.length-1),f,c=0,d=0;d<i.length;d++){var g=i[d],h=g.layoutDimensions(e),m=h.w,y=h.h;c=Math.max(c,m,y)}if(ie(e.radius)?f=e.radius:i.length<=1?f=0:f=Math.min(s.h,s.w)/2-c,i.length>1&&e.avoidOverlap){c*=1.75;var p=Math.cos(u)-Math.cos(0),b=Math.sin(u)-Math.sin(0),w=Math.sqrt(c*c/(p*p+b*b));f=Math.max(w,f)}var x=v(function(C,E){var k=e.startAngle+E*u*(n?1:-1),S=f*Math.cos(k),L=f*Math.sin(k),B={x:o.x+S,y:o.y+L};return B},"getPos");return a.nodes().layoutPositions(this,e,x),this};var eg={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:v(function(e){return e.degree()},"concentric"),levelWidth:v(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:v(function(e,t){return t},"transform")};function tu(r){this.options=we({},eg,r)}v(tu,"ConcentricLayout");tu.prototype.run=function(){for(var r=this.options,e=r,t=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=r.cy,n=e.eles,i=n.nodes().not(":parent"),s=gr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,f=0;f<i.length;f++){var c=i[f],d=void 0;d=e.concentric(c),l.push({value:d,node:c}),c._private.scratch.concentric=d}i.updateStyle();for(var g=0;g<i.length;g++){var h=i[g],m=h.layoutDimensions(e);u=Math.max(u,m.w,m.h)}l.sort(function(ne,se){return se.value-ne.value});for(var y=e.levelWidth(i),p=[[]],b=p[0],w=0;w<l.length;w++){var x=l[w];if(b.length>0){var T=Math.abs(b[0].value-x.value);T>=y&&(b=[],p.push(b))}b.push(x)}var C=u+e.minNodeSpacing;if(!e.avoidOverlap){var E=p.length>0&&p[0].length>1,k=Math.min(s.w,s.h)/2-C,S=k/(p.length+E?1:0);C=Math.min(C,S)}for(var L=0,B=0;B<p.length;B++){var M=p[B],A=e.sweep===void 0?2*Math.PI-2*Math.PI/M.length:e.sweep,P=M.dTheta=A/Math.max(1,M.length-1);if(M.length>1&&e.avoidOverlap){var I=Math.cos(P)-Math.cos(0),R=Math.sin(P)-Math.sin(0),O=Math.sqrt(C*C/(I*I+R*R));L=Math.max(O,L)}M.r=L,L+=C}if(e.equidistant){for(var z=0,$=0,H=0;H<p.length;H++){var V=p[H],F=V.r-$;z=Math.max(z,F)}$=0;for(var U=0;U<p.length;U++){var J=p[U];U===0&&($=J.r),J.r=$,$+=z}}for(var j={},ee=0;ee<p.length;ee++)for(var re=p[ee],Y=re.dTheta,N=re.r,X=0;X<re.length;X++){var Z=re[X],oe=e.startAngle+(t?1:-1)*Y*X,ge={x:o.x+N*Math.cos(oe),y:o.y+N*Math.sin(oe)};j[Z.node.id()]=ge}return n.nodes().layoutPositions(this,e,function(ne){var se=ne.id();return j[se]}),this};var Fn,rg={ready:v(function(){},"ready"),stop:v(function(){},"stop"),animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:v(function(e){return 2048},"nodeRepulsion"),nodeOverlap:4,idealEdgeLength:v(function(e){return 32},"idealEdgeLength"),edgeElasticity:v(function(e){return 32},"edgeElasticity"),nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Sn(r){this.options=we({},rg,r),this.options.layout=this;var e=this.options.eles.nodes(),t=this.options.eles.edges(),a=t.filter(function(n){var i=n.source().data("id"),s=n.target().data("id"),o=e.some(function(u){return u.data("id")===i}),l=e.some(function(u){return u.data("id")===s});return!o||!l});this.options.eles=this.options.eles.not(a)}v(Sn,"CoseLayout");Sn.prototype.run=function(){var r=this.options,e=r.cy,t=this;t.stopped=!1,(r.animate===!0||r.animate===!1)&&t.emit({type:"layoutstart",layout:t}),r.debug===!0?Fn=!0:Fn=!1;var a=tg(e,t,r);Fn&&ig(a),r.randomize&&sg(a);var n=$r(),i=v(function(){og(a,e,r),r.fit===!0&&e.fit(r.padding)},"refresh"),s=v(function(d){return!(t.stopped||d>=r.numIter||(ug(a,r),a.temperature=a.temperature*r.coolingFactor,a.temperature<r.minTemp))},"mainLoop"),o=v(function(){if(r.animate===!0||r.animate===!1)i(),t.one("layoutstop",r.stop),t.emit({type:"layoutstop",layout:t});else{var d=r.eles.nodes(),g=au(a,r,d);d.layoutPositions(t,r,g)}},"done"),l=0,u=!0;if(r.animate===!0){var f=v(function c(){for(var d=0;u&&d<r.refresh;)u=s(l),l++,d++;if(!u)Ps(a,r),o();else{var g=$r();g-n>=r.animationThreshold&&i(),_a(c)}},"frame");f()}else{for(;u;)u=s(l),l++;Ps(a,r),o()}return this};Sn.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};Sn.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var tg=v(function(e,t,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=gr(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=a.eles.components(),u={},f=0;f<l.length;f++)for(var c=l[f],d=0;d<c.length;d++){var g=c[d];u[g.id()]=f}for(var f=0;f<o.nodeSize;f++){var h=i[f],m=h.layoutDimensions(a),y={};y.isLocked=h.locked(),y.id=h.data("id"),y.parentId=h.data("parent"),y.cmptId=u[h.id()],y.children=[],y.positionX=h.position("x"),y.positionY=h.position("y"),y.offsetX=0,y.offsetY=0,y.height=m.w,y.width=m.h,y.maxX=y.positionX+y.width/2,y.minX=y.positionX-y.width/2,y.maxY=y.positionY+y.height/2,y.minY=y.positionY-y.height/2,y.padLeft=parseFloat(h.style("padding")),y.padRight=parseFloat(h.style("padding")),y.padTop=parseFloat(h.style("padding")),y.padBottom=parseFloat(h.style("padding")),y.nodeRepulsion=Ve(a.nodeRepulsion)?a.nodeRepulsion(h):a.nodeRepulsion,o.layoutNodes.push(y),o.idToIndex[y.id]=f}for(var p=[],b=0,w=-1,x=[],f=0;f<o.nodeSize;f++){var h=o.layoutNodes[f],T=h.parentId;T!=null?o.layoutNodes[o.idToIndex[T]].children.push(h.id):(p[++w]=h.id,x.push(h.id))}for(o.graphSet.push(x);b<=w;){var C=p[b++],E=o.idToIndex[C],g=o.layoutNodes[E],k=g.children;if(k.length>0){o.graphSet.push(k);for(var f=0;f<k.length;f++)p[++w]=k[f]}}for(var f=0;f<o.graphSet.length;f++)for(var S=o.graphSet[f],d=0;d<S.length;d++){var L=o.idToIndex[S[d]];o.indexToGraph[L]=f}for(var f=0;f<o.edgeSize;f++){var B=n[f],M={};M.id=B.data("id"),M.sourceId=B.data("source"),M.targetId=B.data("target");var A=Ve(a.idealEdgeLength)?a.idealEdgeLength(B):a.idealEdgeLength,P=Ve(a.edgeElasticity)?a.edgeElasticity(B):a.edgeElasticity,I=o.idToIndex[M.sourceId],R=o.idToIndex[M.targetId],O=o.indexToGraph[I],z=o.indexToGraph[R];if(O!=z){for(var $=ag(M.sourceId,M.targetId,o),H=o.graphSet[$],V=0,y=o.layoutNodes[I];H.indexOf(y.id)===-1;)y=o.layoutNodes[o.idToIndex[y.parentId]],V++;for(y=o.layoutNodes[R];H.indexOf(y.id)===-1;)y=o.layoutNodes[o.idToIndex[y.parentId]],V++;A*=V*a.nestingFactor}M.idealLength=A,M.elasticity=P,o.layoutEdges.push(M)}return o},"createLayoutInfo"),ag=v(function(e,t,a){var n=ng(e,t,0,a);return 2>n.count?0:n.graph},"findLCA"),ng=v(function r(e,t,a,n){var i=n.graphSet[a];if(-1<i.indexOf(e)&&-1<i.indexOf(t))return{count:2,graph:a};for(var s=0,o=0;o<i.length;o++){var l=i[o],u=n.idToIndex[l],f=n.layoutNodes[u].children;if(f.length!==0){var c=n.indexToGraph[n.idToIndex[f[0]]],d=r(e,t,c,n);if(d.count!==0)if(d.count===1){if(s++,s===2)break}else return d}}return{count:s,graph:a}},"findLCA_aux"),ig,sg=v(function(e,t){for(var a=e.clientWidth,n=e.clientHeight,i=0;i<e.nodeSize;i++){var s=e.layoutNodes[i];s.children.length===0&&!s.isLocked&&(s.positionX=Math.random()*a,s.positionY=Math.random()*n)}},"randomizePositions"),au=v(function(e,t,a){var n=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(a.forEach(function(s){var o=e.layoutNodes[e.idToIndex[s.data("id")]];i.x1=Math.min(i.x1,o.positionX),i.x2=Math.max(i.x2,o.positionX),i.y1=Math.min(i.y1,o.positionY),i.y2=Math.max(i.y2,o.positionY)}),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(s,o){var l=e.layoutNodes[e.idToIndex[s.data("id")]];if(t.boundingBox){var u=(l.positionX-i.x1)/i.w,f=(l.positionY-i.y1)/i.h;return{x:n.x1+u*n.w,y:n.y1+f*n.h}}else return{x:l.positionX,y:l.positionY}}},"getScaleInBoundsFn"),og=v(function(e,t,a){var n=a.layout,i=a.eles.nodes(),s=au(e,a,i);i.positions(s),e.ready!==!0&&(e.ready=!0,n.one("layoutready",a.ready),n.emit({type:"layoutready",layout:this}))},"refreshPositions"),ug=v(function(e,t,a){lg(e,t),cg(e),dg(e,t),hg(e),gg(e)},"step"),lg=v(function(e,t){for(var a=0;a<e.graphSet.length;a++)for(var n=e.graphSet[a],i=n.length,s=0;s<i;s++)for(var o=e.layoutNodes[e.idToIndex[n[s]]],l=s+1;l<i;l++){var u=e.layoutNodes[e.idToIndex[n[l]]];vg(o,u,e,t)}},"calculateNodeForces"),ks=v(function(e){return-e+2*e*Math.random()},"randomDistance"),vg=v(function(e,t,a,n){var i=e.cmptId,s=t.cmptId;if(!(i!==s&&!a.isCompound)){var o=t.positionX-e.positionX,l=t.positionY-e.positionY,u=1;o===0&&l===0&&(o=ks(u),l=ks(u));var f=fg(e,t,o,l);if(f>0)var c=n.nodeOverlap*f,d=Math.sqrt(o*o+l*l),g=c*o/d,h=c*l/d;else var m=sn(e,o,l),y=sn(t,-1*o,-1*l),p=y.x-m.x,b=y.y-m.y,w=p*p+b*b,d=Math.sqrt(w),c=(e.nodeRepulsion+t.nodeRepulsion)/w,g=c*p/d,h=c*b/d;e.isLocked||(e.offsetX-=g,e.offsetY-=h),t.isLocked||(t.offsetX+=g,t.offsetY+=h)}},"nodeRepulsion"),fg=v(function(e,t,a,n){if(a>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(n>0)var s=e.maxY-t.minY;else var s=t.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},"nodesOverlap"),sn=v(function(e,t,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,l=a/t,u=s/o,f={};return t===0&&0<a||t===0&&0>a?(f.x=n,f.y=i+s/2,f):0<t&&-1*u<=l&&l<=u?(f.x=n+o/2,f.y=i+o*a/2/t,f):0>t&&-1*u<=l&&l<=u?(f.x=n-o/2,f.y=i-o*a/2/t,f):0<a&&(l<=-1*u||l>=u)?(f.x=n+s*t/2/a,f.y=i+s/2,f):(0>a&&(l<=-1*u||l>=u)&&(f.x=n-s*t/2/a,f.y=i-s/2),f)},"findClippingPoint"),cg=v(function(e,t){for(var a=0;a<e.edgeSize;a++){var n=e.layoutEdges[a],i=e.idToIndex[n.sourceId],s=e.layoutNodes[i],o=e.idToIndex[n.targetId],l=e.layoutNodes[o],u=l.positionX-s.positionX,f=l.positionY-s.positionY;if(!(u===0&&f===0)){var c=sn(s,u,f),d=sn(l,-1*u,-1*f),g=d.x-c.x,h=d.y-c.y,m=Math.sqrt(g*g+h*h),y=Math.pow(n.idealLength-m,2)/n.elasticity;if(m!==0)var p=y*g/m,b=y*h/m;else var p=0,b=0;s.isLocked||(s.offsetX+=p,s.offsetY+=b),l.isLocked||(l.offsetX-=p,l.offsetY-=b)}}},"calculateEdgeForces"),dg=v(function(e,t){if(t.gravity!==0)for(var a=1,n=0;n<e.graphSet.length;n++){var i=e.graphSet[n],s=i.length;if(n===0)var o=e.clientHeight/2,l=e.clientWidth/2;else var u=e.layoutNodes[e.idToIndex[i[0]]],f=e.layoutNodes[e.idToIndex[u.parentId]],o=f.positionX,l=f.positionY;for(var c=0;c<s;c++){var d=e.layoutNodes[e.idToIndex[i[c]]];if(!d.isLocked){var g=o-d.positionX,h=l-d.positionY,m=Math.sqrt(g*g+h*h);if(m>a){var y=t.gravity*g/m,p=t.gravity*h/m;d.offsetX+=y,d.offsetY+=p}}}}},"calculateGravityForces"),hg=v(function(e,t){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0<u.length&&!l.isLocked){for(var f=l.offsetX,c=l.offsetY,d=0;d<u.length;d++){var g=e.layoutNodes[e.idToIndex[u[d]]];g.offsetX+=f,g.offsetY+=c,a[++i]=u[d]}l.offsetX=0,l.offsetY=0}}},"propagateForces"),gg=v(function(e,t){for(var a=0;a<e.nodeSize;a++){var n=e.layoutNodes[a];0<n.children.length&&(n.maxX=void 0,n.minX=void 0,n.maxY=void 0,n.minY=void 0)}for(var a=0;a<e.nodeSize;a++){var n=e.layoutNodes[a];if(!(0<n.children.length||n.isLocked)){var i=pg(n.offsetX,n.offsetY,e.temperature);n.positionX+=i.x,n.positionY+=i.y,n.offsetX=0,n.offsetY=0,n.minX=n.positionX-n.width,n.maxX=n.positionX+n.width,n.minY=n.positionY-n.height,n.maxY=n.positionY+n.height,yg(n,e)}}for(var a=0;a<e.nodeSize;a++){var n=e.layoutNodes[a];0<n.children.length&&!n.isLocked&&(n.positionX=(n.maxX+n.minX)/2,n.positionY=(n.maxY+n.minY)/2,n.width=n.maxX-n.minX,n.height=n.maxY-n.minY)}},"updatePositions"),pg=v(function(e,t,a){var n=Math.sqrt(e*e+t*t);if(n>a)var i={x:a*e/n,y:a*t/n};else var i={x:e,y:t};return i},"limitForce"),yg=v(function r(e,t){var a=e.parentId;if(a!=null){var n=t.layoutNodes[t.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeft<n.minX)&&(n.minX=e.minX-n.padLeft,i=!0),(n.maxY==null||e.maxY+n.padBottom>n.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTop<n.minY)&&(n.minY=e.minY-n.padTop,i=!0),i)return r(n,t)}},"updateAncestryBoundaries"),Ps=v(function(e,t){for(var a=e.layoutNodes,n=[],i=0;i<a.length;i++){var s=a[i],o=s.cmptId,l=n[o]=n[o]||[];l.push(s)}for(var u=0,i=0;i<n.length;i++){var f=n[i];if(f){f.x1=1/0,f.x2=-1/0,f.y1=1/0,f.y2=-1/0;for(var c=0;c<f.length;c++){var d=f[c];f.x1=Math.min(f.x1,d.positionX-d.width/2),f.x2=Math.max(f.x2,d.positionX+d.width/2),f.y1=Math.min(f.y1,d.positionY-d.height/2),f.y2=Math.max(f.y2,d.positionY+d.height/2)}f.w=f.x2-f.x1,f.h=f.y2-f.y1,u+=f.w*f.h}}n.sort(function(b,w){return w.w*w.h-b.w*b.h});for(var g=0,h=0,m=0,y=0,p=Math.sqrt(u)*e.clientWidth/e.clientHeight,i=0;i<n.length;i++){var f=n[i];if(f){for(var c=0;c<f.length;c++){var d=f[c];d.isLocked||(d.positionX+=g-f.x1,d.positionY+=h-f.y1)}g+=f.w+t.componentSpacing,m+=f.w+t.componentSpacing,y=Math.max(y,f.h),m>p&&(h+=y+t.componentSpacing,g=0,m=0,y=0)}}},"separateComponents"),mg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:v(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:v(function(e,t){return t},"transform")};function nu(r){this.options=we({},mg,r)}v(nu,"GridLayout");nu.prototype.run=function(){var r=this.options,e=r,t=r.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=gr(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(U){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),l=Math.round(o),u=Math.round(i.w/i.h*o),f=v(function(J){if(J==null)return Math.min(l,u);var j=Math.min(l,u);j==l?l=J:u=J},"small"),c=v(function(J){if(J==null)return Math.max(l,u);var j=Math.max(l,u);j==l?l=J:u=J},"large"),d=e.rows,g=e.cols!=null?e.cols:e.columns;if(d!=null&&g!=null)l=d,u=g;else if(d!=null&&g==null)l=d,u=Math.ceil(s/l);else if(d==null&&g!=null)u=g,l=Math.ceil(s/u);else if(u*l>s){var h=f(),m=c();(h-1)*m>=s?f(h-1):(m-1)*h>=s&&c(m-1)}else for(;u*l<s;){var y=f(),p=c();(p+1)*y>=s?c(p+1):f(y+1)}var b=i.w/u,w=i.h/l;if(e.condense&&(b=0,w=0),e.avoidOverlap)for(var x=0;x<n.length;x++){var T=n[x],C=T._private.position;(C.x==null||C.y==null)&&(C.x=0,C.y=0);var E=T.layoutDimensions(e),k=e.avoidOverlapPadding,S=E.w+k,L=E.h+k;b=Math.max(b,S),w=Math.max(w,L)}for(var B={},M=v(function(J,j){return!!B["c-"+J+"-"+j]},"used"),A=v(function(J,j){B["c-"+J+"-"+j]=!0},"use"),P=0,I=0,R=v(function(){I++,I>=u&&(I=0,P++)},"moveToNextCell"),O={},z=0;z<n.length;z++){var $=n[z],H=e.position($);if(H&&(H.row!==void 0||H.col!==void 0)){var V={row:H.row,col:H.col};if(V.col===void 0)for(V.col=0;M(V.row,V.col);)V.col++;else if(V.row===void 0)for(V.row=0;M(V.row,V.col);)V.row++;O[$.id()]=V,A(V.row,V.col)}}var F=v(function(J,j){var ee,re;if(J.locked()||J.isParent())return!1;var Y=O[J.id()];if(Y)ee=Y.col*b+b/2+i.x1,re=Y.row*w+w/2+i.y1;else{for(;M(P,I);)R();ee=I*b+b/2+i.x1,re=P*w+w/2+i.y1,A(P,I),R()}return{x:ee,y:re}},"getPos");n.layoutPositions(this,e,F)}return this};var bg={ready:v(function(){},"ready"),stop:v(function(){},"stop")};function Ci(r){this.options=we({},bg,r)}v(Ci,"NullLayout");Ci.prototype.run=function(){var r=this.options,e=r.eles,t=this;return r.cy,t.emit("layoutstart"),e.nodes().positions(function(){return{x:0,y:0}}),t.one("layoutready",r.ready),t.emit("layoutready"),t.one("layoutstop",r.stop),t.emit("layoutstop"),this};Ci.prototype.stop=function(){return this};var wg={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:v(function(e,t){return t},"transform")};function iu(r){this.options=we({},wg,r)}v(iu,"PresetLayout");iu.prototype.run=function(){var r=this.options,e=r.eles,t=e.nodes(),a=Ve(r.positions);function n(i){if(r.positions==null)return Cv(i.position());if(a)return r.positions(i);var s=r.positions[i._private.data.id];return s??null}return v(n,"getPosition"),t.layoutPositions(this,r,function(i,s){var o=n(i);return i.locked()||o==null?!1:o}),this};var xg={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:v(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:v(function(e,t){return t},"transform")};function su(r){this.options=we({},xg,r)}v(su,"RandomLayout");su.prototype.run=function(){var r=this.options,e=r.cy,t=r.eles,a=gr(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),n=v(function(s,o){return{x:a.x1+Math.round(Math.random()*a.w),y:a.y1+Math.round(Math.random()*a.h)}},"getPos");return t.nodes().layoutPositions(this,r,n),this};var Eg=[{name:"breadthfirst",impl:eu},{name:"circle",impl:ru},{name:"concentric",impl:tu},{name:"cose",impl:Sn},{name:"grid",impl:nu},{name:"null",impl:Ci},{name:"preset",impl:iu},{name:"random",impl:su}];function ou(r){this.options=r,this.notifications=0}v(ou,"NullRenderer");var Bs=v(function(){},"noop"),Ms=v(function(){throw new Error("A headless instance can not render images")},"throwImgErr");ou.prototype={recalculateRenderedStyle:Bs,notify:v(function(){this.notifications++},"notify"),init:Bs,isHeadless:v(function(){return!0},"isHeadless"),png:Ms,jpg:Ms};var Si={};Si.arrowShapeWidth=.3;Si.registerArrowShapes=function(){var r=this.arrowShapes={},e=this,t=v(function(u,f,c,d,g,h,m){var y=g.x-c/2-m,p=g.x+c/2+m,b=g.y-c/2-m,w=g.y+c/2+m,x=y<=u&&u<=p&&b<=f&&f<=w;return x},"bbCollide"),a=v(function(u,f,c,d,g){var h=u*Math.cos(d)-f*Math.sin(d),m=u*Math.sin(d)+f*Math.cos(d),y=h*c,p=m*c,b=y+g.x,w=p+g.y;return{x:b,y:w}},"transform"),n=v(function(u,f,c,d){for(var g=[],h=0;h<u.length;h+=2){var m=u[h],y=u[h+1];g.push(a(m,y,f,c,d))}return g},"transformPoints"),i=v(function(u){for(var f=[],c=0;c<u.length;c++){var d=u[c];f.push(d.x,d.y)}return f},"pointsToArr"),s=v(function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").pfValue*2},"standardGap"),o=v(function(u,f){he(f)&&(f=r[f]),r[u]=we({name:u,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:v(function(d,g,h,m,y,p){var b=i(n(this.points,h+2*p,m,y)),w=hr(d,g,b);return w},"collide"),roughCollide:t,draw:v(function(d,g,h,m){var y=n(this.points,g,h,m);e.arrowShapeImpl("polygon")(d,y)},"draw"),spacing:v(function(d){return 0},"spacing"),gap:s},f)},"defineArrowShape");o("none",{collide:ja,roughCollide:ja,draw:li,spacing:qi,gap:qi}),o("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),o("arrow","triangle"),o("triangle-backcurve",{points:r.triangle.points,controlPoint:[0,-.15],roughCollide:t,draw:v(function(u,f,c,d,g){var h=n(this.points,f,c,d),m=this.controlPoint,y=a(m[0],m[1],f,c,d);e.arrowShapeImpl(this.name)(u,h,y)},"draw"),gap:v(function(u){return s(u)*.8},"gap")}),o("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:v(function(u,f,c,d,g,h,m){var y=i(n(this.points,c+2*m,d,g)),p=i(n(this.pointsTee,c+2*m,d,g)),b=hr(u,f,y)||hr(u,f,p);return b},"collide"),draw:v(function(u,f,c,d,g){var h=n(this.points,f,c,d),m=n(this.pointsTee,f,c,d);e.arrowShapeImpl(this.name)(u,h,m)},"draw")}),o("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:v(function(u,f,c,d,g,h,m){var y=g,p=Math.pow(y.x-u,2)+Math.pow(y.y-f,2)<=Math.pow((c+2*m)*this.radius,2),b=i(n(this.points,c+2*m,d,g));return hr(u,f,b)||p},"collide"),draw:v(function(u,f,c,d,g){var h=n(this.pointsTr,f,c,d);e.arrowShapeImpl(this.name)(u,h,d.x,d.y,this.radius*f)},"draw"),spacing:v(function(u){return e.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius},"spacing")}),o("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:v(function(u,f){var c=this.baseCrossLinePts.slice(),d=f/u,g=3,h=5;return c[g]=c[g]-d,c[h]=c[h]-d,c},"crossLinePts"),collide:v(function(u,f,c,d,g,h,m){var y=i(n(this.points,c+2*m,d,g)),p=i(n(this.crossLinePts(c,h),c+2*m,d,g)),b=hr(u,f,y)||hr(u,f,p);return b},"collide"),draw:v(function(u,f,c,d,g){var h=n(this.points,f,c,d),m=n(this.crossLinePts(f,g),f,c,d);e.arrowShapeImpl(this.name)(u,h,m)},"draw")}),o("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:v(function(u){return s(u)*.525},"gap")}),o("circle",{radius:.15,collide:v(function(u,f,c,d,g,h,m){var y=g,p=Math.pow(y.x-u,2)+Math.pow(y.y-f,2)<=Math.pow((c+2*m)*this.radius,2);return p},"collide"),draw:v(function(u,f,c,d,g){e.arrowShapeImpl(this.name)(u,d.x,d.y,this.radius*f)},"draw"),spacing:v(function(u){return e.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius},"spacing")}),o("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:v(function(u){return 1},"spacing"),gap:v(function(u){return 1},"gap")}),o("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),o("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:v(function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").value},"gap")}),o("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:v(function(u){return .95*u.pstyle("width").pfValue*u.pstyle("arrow-scale").value},"gap")})};var bt={};bt.projectIntoViewport=function(r,e){var t=this.cy,a=this.findContainerClientCoords(),n=a[0],i=a[1],s=a[4],o=t.pan(),l=t.zoom(),u=((r-n)/s-o.x)/l,f=((e-i)/s-o.y)/l;return[u,f]};bt.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var r=this.container,e=r.getBoundingClientRect(),t=this.cy.window().getComputedStyle(r),a=v(function(p){return parseFloat(t.getPropertyValue(p))},"styleValue"),n={left:a("padding-left"),right:a("padding-right"),top:a("padding-top"),bottom:a("padding-bottom")},i={left:a("border-left-width"),right:a("border-right-width"),top:a("border-top-width"),bottom:a("border-bottom-width")},s=r.clientWidth,o=r.clientHeight,l=n.left+n.right,u=n.top+n.bottom,f=i.left+i.right,c=e.width/(s+f),d=s-l,g=o-u,h=e.left+n.left+i.left,m=e.top+n.top+i.top;return this.containerBB=[h,m,d,g,c]};bt.invalidateContainerClientCoordsCache=function(){this.containerBB=null};bt.findNearestElement=function(r,e,t,a){return this.findNearestElements(r,e,t,a)[0]};bt.findNearestElements=function(r,e,t,a){var n=this,i=this,s=i.getCachedZSortedEles(),o=[],l=i.cy.zoom(),u=i.cy.hasCompoundNodes(),f=(a?24:8)/l,c=(a?8:2)/l,d=(a?8:2)/l,g=1/0,h,m;t&&(s=s.interactive);function y(E,k){if(E.isNode()){if(m)return;m=E,o.push(E)}if(E.isEdge()&&(k==null||k<g))if(h){if(h.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value&&h.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value){for(var S=0;S<o.length;S++)if(o[S].isEdge()){o[S]=E,h=E,g=k??g;break}}}else o.push(E),h=E,g=k??g}v(y,"addEle");function p(E){var k=E.outerWidth()+2*c,S=E.outerHeight()+2*c,L=k/2,B=S/2,M=E.position(),A=E.pstyle("corner-radius").value==="auto"?"auto":E.pstyle("corner-radius").pfValue,P=E._private.rscratch;if(M.x-L<=r&&r<=M.x+L&&M.y-B<=e&&e<=M.y+B){var I=i.nodeShapes[n.getNodeShape(E)];if(I.checkPoint(r,e,0,k,S,M.x,M.y,A,P))return y(E,0),!0}}v(p,"checkNode");function b(E){var k=E._private,S=k.rscratch,L=E.pstyle("width").pfValue,B=E.pstyle("arrow-scale").value,M=L/2+f,A=M*M,P=M*2,z=k.source,$=k.target,I;if(S.edgeType==="segments"||S.edgeType==="straight"||S.edgeType==="haystack"){for(var R=S.allpts,O=0;O+3<R.length;O+=2)if(zv(r,e,R[O],R[O+1],R[O+2],R[O+3],P)&&A>(I=$v(r,e,R[O],R[O+1],R[O+2],R[O+3])))return y(E,I),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){for(var R=S.allpts,O=0;O+5<S.allpts.length;O+=4)if(Nv(r,e,R[O],R[O+1],R[O+2],R[O+3],R[O+4],R[O+5],P)&&A>(I=qv(r,e,R[O],R[O+1],R[O+2],R[O+3],R[O+4],R[O+5])))return y(E,I),!0}for(var z=z||k.source,$=$||k.target,H=n.getArrowWidth(L,B),V=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}],O=0;O<V.length;O++){var F=V[O],U=i.arrowShapes[E.pstyle(F.name+"-arrow-shape").value],J=E.pstyle("width").pfValue;if(U.roughCollide(r,e,H,F.angle,{x:F.x,y:F.y},J,f)&&U.collide(r,e,H,F.angle,{x:F.x,y:F.y},J,f))return y(E),!0}u&&o.length>0&&(p(z),p($))}v(b,"checkEdge");function w(E,k,S){return Pr(E,k,S)}v(w,"preprop");function x(E,k){var S=E._private,L=d,B;k?B=k+"-":B="",E.boundingBox();var M=S.labelBounds[k||"main"],A=E.pstyle(B+"label").value,P=E.pstyle("text-events").strValue==="yes";if(!(!P||!A)){var I=w(S.rscratch,"labelX",k),R=w(S.rscratch,"labelY",k),O=w(S.rscratch,"labelAngle",k),z=E.pstyle(B+"text-margin-x").pfValue,$=E.pstyle(B+"text-margin-y").pfValue,H=M.x1-L-z,V=M.x2+L-z,F=M.y1-L-$,U=M.y2+L-$;if(O){var J=Math.cos(O),j=Math.sin(O),ee=v(function(ge,ne){return ge=ge-I,ne=ne-R,{x:ge*J-ne*j+I,y:ge*j+ne*J+R}},"rotate"),re=ee(H,F),Y=ee(H,U),N=ee(V,F),X=ee(V,U),Z=[re.x+z,re.y+$,N.x+z,N.y+$,X.x+z,X.y+$,Y.x+z,Y.y+$];if(hr(r,e,Z))return y(E),!0}else if(It(M,r,e))return y(E),!0}}v(x,"checkLabel");for(var T=s.length-1;T>=0;T--){var C=s[T];C.isNode()?p(C)||x(C):b(C)||x(C)||x(C,"source")||x(C,"target")}return o};bt.getAllInBox=function(r,e,t,a){var n=this.getCachedZSortedEles().interactive,i=[],s=Math.min(r,t),o=Math.max(r,t),l=Math.min(e,a),u=Math.max(e,a);r=s,t=o,e=l,a=u;for(var f=gr({x1:r,y1:e,x2:t,y2:a}),c=0;c<n.length;c++){var d=n[c];if(d.isNode()){var g=d,h=g.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});ci(f,h)&&!po(h,f)&&i.push(g)}else{var m=d,y=m._private,p=y.rscratch;if(p.startX!=null&&p.startY!=null&&!It(f,p.startX,p.startY)||p.endX!=null&&p.endY!=null&&!It(f,p.endX,p.endY))continue;if(p.edgeType==="bezier"||p.edgeType==="multibezier"||p.edgeType==="self"||p.edgeType==="compound"||p.edgeType==="segments"||p.edgeType==="haystack"){for(var b=y.rstyle.bezierPts||y.rstyle.linePts||y.rstyle.haystackPts,w=!0,x=0;x<b.length;x++)if(!Iv(f,b[x])){w=!1;break}w&&i.push(m)}else(p.edgeType==="haystack"||p.edgeType==="straight")&&i.push(m)}}return i};var on={};on.calculateArrowAngles=function(r){var e=r._private.rscratch,t=e.edgeType==="haystack",a=e.edgeType==="bezier",n=e.edgeType==="multibezier",i=e.edgeType==="segments",s=e.edgeType==="compound",o=e.edgeType==="self",l,u,f,c,d,g,p,b;if(t?(f=e.haystackPts[0],c=e.haystackPts[1],d=e.haystackPts[2],g=e.haystackPts[3]):(f=e.arrowStartX,c=e.arrowStartY,d=e.arrowEndX,g=e.arrowEndY),p=e.midX,b=e.midY,i)l=f-e.segpts[0],u=c-e.segpts[1];else if(n||s||o||a){var h=e.allpts,m=Ze(h[0],h[2],h[4],.1),y=Ze(h[1],h[3],h[5],.1);l=f-m,u=c-y}else l=f-p,u=c-b;e.srcArrowAngle=La(l,u);var p=e.midX,b=e.midY;if(t&&(p=(f+d)/2,b=(c+g)/2),l=d-f,u=g-c,i){var h=e.allpts;if(h.length/2%2===0){var w=h.length/2,x=w-2;l=h[w]-h[x],u=h[w+1]-h[x+1]}else if(e.isRound)l=e.midVector[1],u=-e.midVector[0];else{var w=h.length/2-1,x=w-2;l=h[w]-h[x],u=h[w+1]-h[x+1]}}else if(n||s||o){var h=e.allpts,T=e.ctrlpts,C,E,k,S;if(T.length/2%2===0){var L=h.length/2-1,B=L+2,M=B+2;C=Ze(h[L],h[B],h[M],0),E=Ze(h[L+1],h[B+1],h[M+1],0),k=Ze(h[L],h[B],h[M],1e-4),S=Ze(h[L+1],h[B+1],h[M+1],1e-4)}else{var B=h.length/2-1,L=B-2,M=B+2;C=Ze(h[L],h[B],h[M],.4999),E=Ze(h[L+1],h[B+1],h[M+1],.4999),k=Ze(h[L],h[B],h[M],.5),S=Ze(h[L+1],h[B+1],h[M+1],.5)}l=k-C,u=S-E}if(e.midtgtArrowAngle=La(l,u),e.midDispX=l,e.midDispY=u,l*=-1,u*=-1,i){var h=e.allpts;if(h.length/2%2!==0){if(!e.isRound){var w=h.length/2-1,A=w+2;l=-(h[A]-h[w]),u=-(h[A+1]-h[w+1])}}}if(e.midsrcArrowAngle=La(l,u),i)l=d-e.segpts[e.segpts.length-2],u=g-e.segpts[e.segpts.length-1];else if(n||s||o||a){var h=e.allpts,P=h.length,m=Ze(h[P-6],h[P-4],h[P-2],.9),y=Ze(h[P-5],h[P-3],h[P-1],.9);l=d-m,u=g-y}else l=d-p,u=g-b;e.tgtArrowAngle=La(l,u)};on.getArrowWidth=on.getArrowHeight=function(r,e){var t=this.arrowWidthCache=this.arrowWidthCache||{},a=t[r+", "+e];return a||(a=Math.max(Math.pow(r*13.37,.9),29)*e,t[r+", "+e]=a,a)};var Qn,Jn,Rr={},br={},Ls,As,vt,Za,qr,it,lt,Ar,Dt,qa,uu,lu,_n,jn,Rs,Os=v(function(e,t,a){a.x=t.x-e.x,a.y=t.y-e.y,a.len=Math.sqrt(a.x*a.x+a.y*a.y),a.nx=a.x/a.len,a.ny=a.y/a.len,a.ang=Math.atan2(a.ny,a.nx)},"asVec"),Cg=v(function(e,t){t.x=e.x*-1,t.y=e.y*-1,t.nx=e.nx*-1,t.ny=e.ny*-1,t.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),Sg=v(function(e,t,a,n,i){if(e!==Rs?Os(t,e,Rr):Cg(br,Rr),Os(t,a,br),Ls=Rr.nx*br.ny-Rr.ny*br.nx,As=Rr.nx*br.nx-Rr.ny*-br.ny,qr=Math.asin(Math.max(-1,Math.min(1,Ls))),Math.abs(qr)<1e-6){Qn=t.x,Jn=t.y,lt=Dt=0;return}vt=1,Za=!1,As<0?qr<0?qr=Math.PI+qr:(qr=Math.PI-qr,vt=-1,Za=!0):qr>0&&(vt=-1,Za=!0),t.radius!==void 0?Dt=t.radius:Dt=n,it=qr/2,qa=Math.min(Rr.len/2,br.len/2),i?(Ar=Math.abs(Math.cos(it)*Dt/Math.sin(it)),Ar>qa?(Ar=qa,lt=Math.abs(Ar*Math.sin(it)/Math.cos(it))):lt=Dt):(Ar=Math.min(qa,Dt),lt=Math.abs(Ar*Math.sin(it)/Math.cos(it))),_n=t.x+br.nx*Ar,jn=t.y+br.ny*Ar,Qn=_n-br.ny*lt*vt,Jn=jn+br.nx*lt*vt,uu=t.x+Rr.nx*Ar,lu=t.y+Rr.ny*Ar,Rs=t},"calcCornerArc");function vu(r,e){e.radius===0?r.lineTo(e.cx,e.cy):r.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}v(vu,"drawPreparedRoundCorner");function Ti(r,e,t,a){var n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return a===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Sg(r,e,t,a,n),{cx:Qn,cy:Jn,radius:lt,startX:uu,startY:lu,stopX:_n,stopY:jn,startAngle:Rr.ang+Math.PI/2*vt,endAngle:br.ang-Math.PI/2*vt,counterClockwise:Za})}v(Ti,"getRoundCorner");var ur={};ur.findMidptPtsEtc=function(r,e){var t=e.posPts,a=e.intersectionPts,n=e.vectorNormInverse,i,s=r.pstyle("source-endpoint"),o=r.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=v(function(T,C,E,k){var S=k-C,L=E-T,B=Math.sqrt(L*L+S*S);return{x:-S/B,y:L/B}},"recalcVectorNormInverse"),f=r.pstyle("edge-distances").value;switch(f){case"node-position":i=t;break;case"intersection":i=a;break;case"endpoints":{if(l){var c=this.manualEndptToPx(r.source()[0],s),d=Dr(c,2),g=d[0],h=d[1],m=this.manualEndptToPx(r.target()[0],o),y=Dr(m,2),p=y[0],b=y[1],w={x1:g,y1:h,x2:p,y2:b};n=u(g,h,p,b),i=w}else Le("Edge ".concat(r.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint.  Falling back on edge-distances:intersection (default).")),i=a;break}}return{midptPts:i,vectorNormInverse:n}};ur.findHaystackPoints=function(r){for(var e=0;e<r.length;e++){var t=r[e],a=t._private,n=a.rscratch;if(!n.haystack){var i=Math.random()*2*Math.PI;n.source={x:Math.cos(i),y:Math.sin(i)},i=Math.random()*2*Math.PI,n.target={x:Math.cos(i),y:Math.sin(i)}}var s=a.source,o=a.target,l=s.position(),u=o.position(),f=s.width(),c=o.width(),d=s.height(),g=o.height(),h=t.pstyle("haystack-radius").value,m=h/2;n.haystackPts=n.allpts=[n.source.x*f*m+l.x,n.source.y*d*m+l.y,n.target.x*c*m+u.x,n.target.y*g*m+u.y],n.midX=(n.allpts[0]+n.allpts[2])/2,n.midY=(n.allpts[1]+n.allpts[3])/2,n.edgeType="haystack",n.haystack=!0,this.storeEdgeProjections(t),this.calculateArrowAngles(t),this.recalculateEdgeLabelProjections(t),this.calculateLabelAngles(t)}};ur.findSegmentsPoints=function(r,e){var t=r._private.rscratch,a=r.pstyle("segment-weights"),n=r.pstyle("segment-distances"),i=r.pstyle("segment-radii"),s=r.pstyle("radius-type"),o=Math.min(a.pfValue.length,n.pfValue.length),l=i.pfValue[i.pfValue.length-1],u=s.pfValue[s.pfValue.length-1];t.edgeType="segments",t.segpts=[],t.radii=[],t.isArcRadius=[];for(var f=0;f<o;f++){var c=a.pfValue[f],d=n.pfValue[f],g=1-c,h=c,m=this.findMidptPtsEtc(r,e),y=m.midptPts,p=m.vectorNormInverse,b={x:y.x1*g+y.x2*h,y:y.y1*g+y.y2*h};t.segpts.push(b.x+p.x*d,b.y+p.y*d),t.radii.push(i.pfValue[f]!==void 0?i.pfValue[f]:l),t.isArcRadius.push((s.pfValue[f]!==void 0?s.pfValue[f]:u)==="arc-radius")}};ur.findLoopPoints=function(r,e,t,a){var n=r._private.rscratch,i=e.dirCounts,s=e.srcPos,o=r.pstyle("control-point-distances"),l=o?o.pfValue[0]:void 0,u=r.pstyle("loop-direction").pfValue,f=r.pstyle("loop-sweep").pfValue,c=r.pstyle("control-point-step-size").pfValue;n.edgeType="self";var d=t,g=c;a&&(d=0,g=l);var h=u-Math.PI/2,m=h-f/2,y=h+f/2,p=u+"_"+f;d=i[p]===void 0?i[p]=0:++i[p],n.ctrlpts=[s.x+Math.cos(m)*1.4*g*(d/3+1),s.y+Math.sin(m)*1.4*g*(d/3+1),s.x+Math.cos(y)*1.4*g*(d/3+1),s.y+Math.sin(y)*1.4*g*(d/3+1)]};ur.findCompoundLoopPoints=function(r,e,t,a){var n=r._private.rscratch;n.edgeType="compound";var i=e.srcPos,s=e.tgtPos,o=e.srcW,l=e.srcH,u=e.tgtW,f=e.tgtH,c=r.pstyle("control-point-step-size").pfValue,d=r.pstyle("control-point-distances"),g=d?d.pfValue[0]:void 0,h=t,m=c;a&&(h=0,m=g);var y=50,p={x:i.x-o/2,y:i.y-l/2},b={x:s.x-u/2,y:s.y-f/2},w={x:Math.min(p.x,b.x),y:Math.min(p.y,b.y)},x=.5,T=Math.max(x,Math.log(o*.01)),C=Math.max(x,Math.log(u*.01));n.ctrlpts=[w.x,w.y-(1+Math.pow(y,1.12)/100)*m*(h/3+1)*T,w.x-(1+Math.pow(y,1.12)/100)*m*(h/3+1)*C,w.y]};ur.findStraightEdgePoints=function(r){r._private.rscratch.edgeType="straight"};ur.findBezierPoints=function(r,e,t,a,n){var i=r._private.rscratch,s=r.pstyle("control-point-step-size").pfValue,o=r.pstyle("control-point-distances"),l=r.pstyle("control-point-weights"),u=o&&l?Math.min(o.value.length,l.value.length):1,f=o?o.pfValue[0]:void 0,c=l.value[0],d=a;i.edgeType=d?"multibezier":"bezier",i.ctrlpts=[];for(var g=0;g<u;g++){var h=(.5-e.eles.length/2+t)*s*(n?-1:1),m=void 0,y=ho(h);d&&(f=o?o.pfValue[g]:s,c=l.value[g]),a?m=f:m=f!==void 0?y*f:void 0;var p=m!==void 0?m:h,b=1-c,w=c,x=this.findMidptPtsEtc(r,e),T=x.midptPts,C=x.vectorNormInverse,E={x:T.x1*b+T.x2*w,y:T.y1*b+T.y2*w};i.ctrlpts.push(E.x+C.x*p,E.y+C.y*p)}};ur.findTaxiPoints=function(r,e){var t=r._private.rscratch;t.edgeType="segments";var a="vertical",n="horizontal",i="leftward",s="rightward",o="downward",l="upward",u="auto",f=e.posPts,c=e.srcW,d=e.srcH,g=e.tgtW,h=e.tgtH,m=r.pstyle("edge-distances").value,y=m!=="node-position",p=r.pstyle("taxi-direction").value,b=p,w=r.pstyle("taxi-turn"),x=w.units==="%",T=w.pfValue,C=T<0,E=r.pstyle("taxi-turn-min-distance").pfValue,k=y?(c+g)/2:0,S=y?(d+h)/2:0,L=f.x2-f.x1,B=f.y2-f.y1,M=v(function(me,be){return me>0?Math.max(me-be,0):Math.min(me+be,0)},"subDWH"),A=M(L,k),P=M(B,S),I=!1;b===u?p=Math.abs(A)>Math.abs(P)?n:a:b===l||b===o?(p=a,I=!0):(b===i||b===s)&&(p=n,I=!0);var R=p===a,O=R?P:A,z=R?B:L,$=ho(z),H=!1;!(I&&(x||C))&&(b===o&&z<0||b===l&&z>0||b===i&&z>0||b===s&&z<0)&&($*=-1,O=$*Math.abs(O),H=!0);var V;if(x){var F=T<0?1+T:T;V=F*O}else{var U=T<0?O:0;V=U+T*$}var J=v(function(me){return Math.abs(me)<E||Math.abs(me)>=Math.abs(O)},"getIsTooClose"),j=J(V),ee=J(Math.abs(O)-Math.abs(V)),re=j||ee;if(re&&!H)if(R){var Y=Math.abs(z)<=d/2,N=Math.abs(L)<=g/2;if(Y){var X=(f.x1+f.x2)/2,Z=f.y1,oe=f.y2;t.segpts=[X,Z,X,oe]}else if(N){var ge=(f.y1+f.y2)/2,ne=f.x1,se=f.x2;t.segpts=[ne,ge,se,ge]}else t.segpts=[f.x1,f.y2]}else{var le=Math.abs(z)<=c/2,de=Math.abs(B)<=h/2;if(le){var fe=(f.y1+f.y2)/2,ye=f.x1,Be=f.x2;t.segpts=[ye,fe,Be,fe]}else if(de){var Ce=(f.x1+f.x2)/2,Ee=f.y1,De=f.y2;t.segpts=[Ce,Ee,Ce,De]}else t.segpts=[f.x2,f.y1]}else if(R){var _=f.y1+V+(y?d/2*$:0),D=f.x1,q=f.x2;t.segpts=[D,_,q,_]}else{var Q=f.x1+V+(y?c/2*$:0),K=f.y1,G=f.y2;t.segpts=[Q,K,Q,G]}if(t.isRound){var ae=r.pstyle("taxi-radius").value,W=r.pstyle("radius-type").value[0]==="arc-radius";t.radii=new Array(t.segpts.length/2).fill(ae),t.isArcRadius=new Array(t.segpts.length/2).fill(W)}};ur.tryToCorrectInvalidPoints=function(r,e){var t=r._private.rscratch;if(t.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,f=e.tgtShape,c=e.srcCornerRadius,d=e.tgtCornerRadius,g=e.srcRs,h=e.tgtRs,m=!ie(t.startX)||!ie(t.startY),y=!ie(t.arrowStartX)||!ie(t.arrowStartY),p=!ie(t.endX)||!ie(t.endY),b=!ie(t.arrowEndX)||!ie(t.arrowEndY),w=3,x=this.getArrowWidth(r.pstyle("width").pfValue,r.pstyle("arrow-scale").value)*this.arrowShapeWidth,T=w*x,C=ht({x:t.ctrlpts[0],y:t.ctrlpts[1]},{x:t.startX,y:t.startY}),E=C<T,k=ht({x:t.ctrlpts[0],y:t.ctrlpts[1]},{x:t.endX,y:t.endY}),S=k<T,L=!1;if(m||y||E){L=!0;var B={x:t.ctrlpts[0]-a.x,y:t.ctrlpts[1]-a.y},M=Math.sqrt(B.x*B.x+B.y*B.y),A={x:B.x/M,y:B.y/M},P=Math.max(i,s),I={x:t.ctrlpts[0]+A.x*2*P,y:t.ctrlpts[1]+A.y*2*P},R=u.intersectLine(a.x,a.y,i,s,I.x,I.y,0,c,g);E?(t.ctrlpts[0]=t.ctrlpts[0]+A.x*(T-C),t.ctrlpts[1]=t.ctrlpts[1]+A.y*(T-C)):(t.ctrlpts[0]=R[0]+A.x*T,t.ctrlpts[1]=R[1]+A.y*T)}if(p||b||S){L=!0;var O={x:t.ctrlpts[0]-n.x,y:t.ctrlpts[1]-n.y},z=Math.sqrt(O.x*O.x+O.y*O.y),$={x:O.x/z,y:O.y/z},H=Math.max(i,s),V={x:t.ctrlpts[0]+$.x*2*H,y:t.ctrlpts[1]+$.y*2*H},F=f.intersectLine(n.x,n.y,o,l,V.x,V.y,0,d,h);S?(t.ctrlpts[0]=t.ctrlpts[0]+$.x*(T-k),t.ctrlpts[1]=t.ctrlpts[1]+$.y*(T-k)):(t.ctrlpts[0]=F[0]+$.x*T,t.ctrlpts[1]=F[1]+$.y*T)}L&&this.findEndpoints(r)}};ur.storeAllpts=function(r){var e=r._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var t=0;t+1<e.ctrlpts.length;t+=2)e.allpts.push(e.ctrlpts[t],e.ctrlpts[t+1]),t+3<e.ctrlpts.length&&e.allpts.push((e.ctrlpts[t]+e.ctrlpts[t+2])/2,(e.ctrlpts[t+1]+e.ctrlpts[t+3])/2);e.allpts.push(e.endX,e.endY);var a,n;e.ctrlpts.length/2%2===0?(a=e.allpts.length/2-1,e.midX=e.allpts[a],e.midY=e.allpts[a+1]):(a=e.allpts.length/2-3,n=.5,e.midX=Ze(e.allpts[a],e.allpts[a+2],e.allpts[a+4],n),e.midY=Ze(e.allpts[a+1],e.allpts[a+3],e.allpts[a+5],n))}else if(e.edgeType==="straight")e.allpts=[e.startX,e.startY,e.endX,e.endY],e.midX=(e.startX+e.endX+e.arrowStartX+e.arrowEndX)/4,e.midY=(e.startY+e.endY+e.arrowStartY+e.arrowEndY)/4;else if(e.edgeType==="segments"){if(e.allpts=[],e.allpts.push(e.startX,e.startY),e.allpts.push.apply(e.allpts,e.segpts),e.allpts.push(e.endX,e.endY),e.isRound){e.roundCorners=[];for(var i=2;i+3<e.allpts.length;i+=2){var s=e.radii[i/2-1],o=e.isArcRadius[i/2-1];e.roundCorners.push(Ti({x:e.allpts[i-2],y:e.allpts[i-1]},{x:e.allpts[i],y:e.allpts[i+1],radius:s},{x:e.allpts[i+2],y:e.allpts[i+3]},s,o))}}if(e.segpts.length%4===0){var l=e.segpts.length/2,u=l-2;e.midX=(e.segpts[u]+e.segpts[l])/2,e.midY=(e.segpts[u+1]+e.segpts[l+1])/2}else{var f=e.segpts.length/2-1;if(!e.isRound)e.midX=e.segpts[f],e.midY=e.segpts[f+1];else{var c={x:e.segpts[f],y:e.segpts[f+1]},d=e.roundCorners[f/2],g=[c.x-d.cx,c.y-d.cy],h=d.radius/Math.sqrt(Math.pow(g[0],2)+Math.pow(g[1],2));g=g.map(function(m){return m*h}),e.midX=d.cx+g[0],e.midY=d.cy+g[1],e.midVector=g}}}};ur.checkForInvalidEdgeWarning=function(r){var e=r[0]._private.rscratch;e.nodesOverlap||ie(e.startX)&&ie(e.startY)&&ie(e.endX)&&ie(e.endY)?e.loggedErr=!1:e.loggedErr||(e.loggedErr=!0,Le("Edge `"+r.id()+"` has invalid endpoints and so it is impossible to draw.  Adjust your edge style (e.g. control points) accordingly or use an alternative edge type.  This is expected behaviour when the source node and the target node overlap."))};ur.findEdgeControlPoints=function(r){var e=this;if(!(!r||r.length===0)){for(var t=this,a=t.cy,n=a.hasCompoundNodes(),i={map:new Ir,get:v(function(E){var k=this.map.get(E[0]);return k!=null?k.get(E[1]):null},"get"),set:v(function(E,k){var S=this.map.get(E[0]);S==null&&(S=new Ir,this.map.set(E[0],S)),S.set(E[1],k)},"set")},s=[],o=[],l=0;l<r.length;l++){var u=r[l],f=u._private,c=u.pstyle("curve-style").value;if(!(u.removed()||!u.takesUpSpace())){if(c==="haystack"){o.push(u);continue}var d=c==="unbundled-bezier"||c.endsWith("segments")||c==="straight"||c==="straight-triangle"||c.endsWith("taxi"),g=c==="unbundled-bezier"||c==="bezier",h=f.source,m=f.target,y=h.poolIndex(),p=m.poolIndex(),b=[y,p].sort(),w=i.get(b);w==null&&(w={eles:[]},i.set(b,w),s.push(b)),w.eles.push(u),d&&(w.hasUnbundled=!0),g&&(w.hasBezier=!0)}}for(var x=v(function(E){var k=s[E],S=i.get(k),L=void 0;if(!S.hasUnbundled){var B=S.eles[0].parallelEdges().filter(function(Q){return Q.isBundledBezier()});vi(S.eles),B.forEach(function(Q){return S.eles.push(Q)}),S.eles.sort(function(Q,K){return Q.poolIndex()-K.poolIndex()})}var M=S.eles[0],A=M.source(),P=M.target();if(A.poolIndex()>P.poolIndex()){var I=A;A=P,P=I}var R=S.srcPos=A.position(),O=S.tgtPos=P.position(),z=S.srcW=A.outerWidth(),$=S.srcH=A.outerHeight(),H=S.tgtW=P.outerWidth(),V=S.tgtH=P.outerHeight(),F=S.srcShape=t.nodeShapes[e.getNodeShape(A)],U=S.tgtShape=t.nodeShapes[e.getNodeShape(P)],J=S.srcCornerRadius=A.pstyle("corner-radius").value==="auto"?"auto":A.pstyle("corner-radius").pfValue,j=S.tgtCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,ee=S.tgtRs=P._private.rscratch,re=S.srcRs=A._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Y=0;Y<S.eles.length;Y++){var N=S.eles[Y],X=N[0]._private.rscratch,Z=N.pstyle("curve-style").value,oe=Z==="unbundled-bezier"||Z.endsWith("segments")||Z.endsWith("taxi"),ge=!A.same(N.source());if(!S.calculatedIntersection&&A!==P&&(S.hasBezier||S.hasUnbundled)){S.calculatedIntersection=!0;var ne=F.intersectLine(R.x,R.y,z,$,O.x,O.y,0,J,re),se=S.srcIntn=ne,le=U.intersectLine(O.x,O.y,H,V,R.x,R.y,0,j,ee),de=S.tgtIntn=le,fe=S.intersectionPts={x1:ne[0],x2:le[0],y1:ne[1],y2:le[1]},ye=S.posPts={x1:R.x,x2:O.x,y1:R.y,y2:O.y},Be=le[1]-ne[1],Ce=le[0]-ne[0],Ee=Math.sqrt(Ce*Ce+Be*Be),De=S.vector={x:Ce,y:Be},_=S.vectorNorm={x:De.x/Ee,y:De.y/Ee},D={x:-_.y,y:_.x};S.nodesOverlap=!ie(Ee)||U.checkPoint(ne[0],ne[1],0,H,V,O.x,O.y,j,ee)||F.checkPoint(le[0],le[1],0,z,$,R.x,R.y,J,re),S.vectorNormInverse=D,L={nodesOverlap:S.nodesOverlap,dirCounts:S.dirCounts,calculatedIntersection:!0,hasBezier:S.hasBezier,hasUnbundled:S.hasUnbundled,eles:S.eles,srcPos:O,tgtPos:R,srcW:H,srcH:V,tgtW:z,tgtH:$,srcIntn:de,tgtIntn:se,srcShape:U,tgtShape:F,posPts:{x1:ye.x2,y1:ye.y2,x2:ye.x1,y2:ye.y1},intersectionPts:{x1:fe.x2,y1:fe.y2,x2:fe.x1,y2:fe.y1},vector:{x:-De.x,y:-De.y},vectorNorm:{x:-_.x,y:-_.y},vectorNormInverse:{x:-D.x,y:-D.y}}}var q=ge?L:S;X.nodesOverlap=q.nodesOverlap,X.srcIntn=q.srcIntn,X.tgtIntn=q.tgtIntn,X.isRound=Z.startsWith("round"),n&&(A.isParent()||A.isChild()||P.isParent()||P.isChild())&&(A.parents().anySame(P)||P.parents().anySame(A)||A.same(P)&&A.isParent())?e.findCompoundLoopPoints(N,q,Y,oe):A===P?e.findLoopPoints(N,q,Y,oe):Z.endsWith("segments")?e.findSegmentsPoints(N,q):Z.endsWith("taxi")?e.findTaxiPoints(N,q):Z==="straight"||!oe&&S.eles.length%2===1&&Y===Math.floor(S.eles.length/2)?e.findStraightEdgePoints(N):e.findBezierPoints(N,q,Y,oe,ge),e.findEndpoints(N),e.tryToCorrectInvalidPoints(N,q),e.checkForInvalidEdgeWarning(N),e.storeAllpts(N),e.storeEdgeProjections(N),e.calculateArrowAngles(N),e.recalculateEdgeLabelProjections(N),e.calculateLabelAngles(N)}},"_loop"),T=0;T<s.length;T++)x(T);this.findHaystackPoints(o)}};function fu(r){var e=[];if(r!=null){for(var t=0;t<r.length;t+=2){var a=r[t],n=r[t+1];e.push({x:a,y:n})}return e}}v(fu,"getPts");ur.getSegmentPoints=function(r){var e=r[0]._private.rscratch,t=e.edgeType;if(t==="segments")return this.recalculateRenderedStyle(r),fu(e.segpts)};ur.getControlPoints=function(r){var e=r[0]._private.rscratch,t=e.edgeType;if(t==="bezier"||t==="multibezier"||t==="self"||t==="compound")return this.recalculateRenderedStyle(r),fu(e.ctrlpts)};ur.getEdgeMidpoint=function(r){var e=r[0]._private.rscratch;return this.recalculateRenderedStyle(r),{x:e.midX,y:e.midY}};var Da={};Da.manualEndptToPx=function(r,e){var t=this,a=r.position(),n=r.outerWidth(),i=r.outerHeight(),s=r._private.rscratch;if(e.value.length===2){var o=[e.pfValue[0],e.pfValue[1]];return e.units[0]==="%"&&(o[0]=o[0]*n),e.units[1]==="%"&&(o[1]=o[1]*i),o[0]+=a.x,o[1]+=a.y,o}else{var l=e.pfValue[0];l=-Math.PI/2+l;var u=2*Math.max(n,i),f=[a.x+Math.cos(l)*u,a.y+Math.sin(l)*u];return t.nodeShapes[this.getNodeShape(r)].intersectLine(a.x,a.y,n,i,f[0],f[1],0,r.pstyle("corner-radius").value==="auto"?"auto":r.pstyle("corner-radius").pfValue,s)}};Da.findEndpoints=function(r){var e=this,t,a=r.source()[0],n=r.target()[0],i=a.position(),s=n.position(),o=r.pstyle("target-arrow-shape").value,l=r.pstyle("source-arrow-shape").value,u=r.pstyle("target-distance-from-node").pfValue,f=r.pstyle("source-distance-from-node").pfValue,c=a._private.rscratch,d=n._private.rscratch,g=r.pstyle("curve-style").value,h=r._private.rscratch,m=h.edgeType,y=g==="taxi",p=m==="self"||m==="compound",b=m==="bezier"||m==="multibezier"||p,w=m!=="bezier",x=m==="straight"||m==="segments",T=m==="segments",C=b||w||x,E=p||y,k=r.pstyle("source-endpoint"),S=E?"outside-to-node":k.value,L=a.pstyle("corner-radius").value==="auto"?"auto":a.pstyle("corner-radius").pfValue,B=r.pstyle("target-endpoint"),M=E?"outside-to-node":B.value,A=n.pstyle("corner-radius").value==="auto"?"auto":n.pstyle("corner-radius").pfValue;h.srcManEndpt=k,h.tgtManEndpt=B;var P,I,R,O;if(b){var z=[h.ctrlpts[0],h.ctrlpts[1]],$=w?[h.ctrlpts[h.ctrlpts.length-2],h.ctrlpts[h.ctrlpts.length-1]]:z;P=$,I=z}else if(x){var H=T?h.segpts.slice(0,2):[s.x,s.y],V=T?h.segpts.slice(h.segpts.length-2):[i.x,i.y];P=V,I=H}if(M==="inside-to-node")t=[s.x,s.y];else if(B.units)t=this.manualEndptToPx(n,B);else if(M==="outside-to-line")t=h.tgtIntn;else if(M==="outside-to-node"||M==="outside-to-node-or-label"?R=P:(M==="outside-to-line"||M==="outside-to-line-or-label")&&(R=[i.x,i.y]),t=e.nodeShapes[this.getNodeShape(n)].intersectLine(s.x,s.y,n.outerWidth(),n.outerHeight(),R[0],R[1],0,A,d),M==="outside-to-node-or-label"||M==="outside-to-line-or-label"){var F=n._private.rscratch,U=F.labelWidth,J=F.labelHeight,j=F.labelX,ee=F.labelY,re=U/2,Y=J/2,N=n.pstyle("text-valign").value;N==="top"?ee-=Y:N==="bottom"&&(ee+=Y);var X=n.pstyle("text-halign").value;X==="left"?j-=re:X==="right"&&(j+=re);var Z=ha(R[0],R[1],[j-re,ee-Y,j+re,ee-Y,j+re,ee+Y,j-re,ee+Y],s.x,s.y);if(Z.length>0){var oe=i,ge=ot(oe,Pt(t)),ne=ot(oe,Pt(Z)),se=ge;if(ne<ge&&(t=Z,se=ne),Z.length>2){var le=ot(oe,{x:Z[2],y:Z[3]});le<se&&(t=[Z[2],Z[3]])}}}var de=Aa(t,P,e.arrowShapes[o].spacing(r)+u),fe=Aa(t,P,e.arrowShapes[o].gap(r)+u);if(h.endX=fe[0],h.endY=fe[1],h.arrowEndX=de[0],h.arrowEndY=de[1],S==="inside-to-node")t=[i.x,i.y];else if(k.units)t=this.manualEndptToPx(a,k);else if(S==="outside-to-line")t=h.srcIntn;else if(S==="outside-to-node"||S==="outside-to-node-or-label"?O=I:(S==="outside-to-line"||S==="outside-to-line-or-label")&&(O=[s.x,s.y]),t=e.nodeShapes[this.getNodeShape(a)].intersectLine(i.x,i.y,a.outerWidth(),a.outerHeight(),O[0],O[1],0,L,c),S==="outside-to-node-or-label"||S==="outside-to-line-or-label"){var ye=a._private.rscratch,Be=ye.labelWidth,Ce=ye.labelHeight,Ee=ye.labelX,De=ye.labelY,_=Be/2,D=Ce/2,q=a.pstyle("text-valign").value;q==="top"?De-=D:q==="bottom"&&(De+=D);var Q=a.pstyle("text-halign").value;Q==="left"?Ee-=_:Q==="right"&&(Ee+=_);var K=ha(O[0],O[1],[Ee-_,De-D,Ee+_,De-D,Ee+_,De+D,Ee-_,De+D],i.x,i.y);if(K.length>0){var G=s,ae=ot(G,Pt(t)),W=ot(G,Pt(K)),te=ae;if(W<ae&&(t=[K[0],K[1]],te=W),K.length>2){var me=ot(G,{x:K[2],y:K[3]});me<te&&(t=[K[2],K[3]])}}}var be=Aa(t,I,e.arrowShapes[l].spacing(r)+f),ce=Aa(t,I,e.arrowShapes[l].gap(r)+f);h.startX=ce[0],h.startY=ce[1],h.arrowStartX=be[0],h.arrowStartY=be[1],C&&(!ie(h.startX)||!ie(h.startY)||!ie(h.endX)||!ie(h.endY)?h.badLine=!0:h.badLine=!1)};Da.getSourceEndpoint=function(r){var e=r[0]._private.rscratch;switch(this.recalculateRenderedStyle(r),e.edgeType){case"haystack":return{x:e.haystackPts[0],y:e.haystackPts[1]};default:return{x:e.arrowStartX,y:e.arrowStartY}}};Da.getTargetEndpoint=function(r){var e=r[0]._private.rscratch;switch(this.recalculateRenderedStyle(r),e.edgeType){case"haystack":return{x:e.haystackPts[2],y:e.haystackPts[3]};default:return{x:e.arrowEndX,y:e.arrowEndY}}};var Di={};function Tg(r,e,t){for(var a=v(function(u,f,c,d){return Ze(u,f,c,d)},"qbezierAt$1"),n=e._private,i=n.rstyle.bezierPts,s=0;s<r.bezierProjPcts.length;s++){var o=r.bezierProjPcts[s];i.push({x:a(t[0],t[2],t[4],o),y:a(t[1],t[3],t[5],o)})}}v(Tg,"pushBezierPts");Di.storeEdgeProjections=function(r){var e=r._private,t=e.rscratch,a=t.edgeType;if(e.rstyle.bezierPts=null,e.rstyle.linePts=null,e.rstyle.haystackPts=null,a==="multibezier"||a==="bezier"||a==="self"||a==="compound"){e.rstyle.bezierPts=[];for(var n=0;n+5<t.allpts.length;n+=4)Tg(this,r,t.allpts.slice(n,n+6))}else if(a==="segments")for(var i=e.rstyle.linePts=[],n=0;n+1<t.allpts.length;n+=2)i.push({x:t.allpts[n],y:t.allpts[n+1]});else if(a==="haystack"){var s=t.haystackPts;e.rstyle.haystackPts=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}]}e.rstyle.arrowWidth=this.getArrowWidth(r.pstyle("width").pfValue,r.pstyle("arrow-scale").value)*this.arrowShapeWidth};Di.recalculateEdgeProjections=function(r){this.findEdgeControlPoints(r)};var Nr={};Nr.recalculateNodeLabelProjection=function(r){var e=r.pstyle("label").strValue;if(!_r(e)){var t,a,n=r._private,i=r.width(),s=r.height(),o=r.padding(),l=r.position(),u=r.pstyle("text-halign").strValue,f=r.pstyle("text-valign").strValue,c=n.rscratch,d=n.rstyle;switch(u){case"left":t=l.x-i/2-o;break;case"right":t=l.x+i/2+o;break;default:t=l.x}switch(f){case"top":a=l.y-s/2-o;break;case"bottom":a=l.y+s/2+o;break;default:a=l.y}c.labelX=t,c.labelY=a,d.labelX=t,d.labelY=a,this.calculateLabelAngles(r),this.applyLabelDimensions(r)}};var cu=v(function(e,t){var a=Math.atan(t/e);return e===0&&a<0&&(a=a*-1),a},"lineAngleFromDelta"),du=v(function(e,t){var a=t.x-e.x,n=t.y-e.y;return cu(a,n)},"lineAngle"),Dg=v(function(e,t,a,n){var i=da(0,n-.001,1),s=da(0,n+.001,1),o=Mt(e,t,a,i),l=Mt(e,t,a,s);return du(o,l)},"bezierAngle");Nr.recalculateEdgeLabelProjections=function(r){var e,t=r._private,a=t.rscratch,n=this,i={mid:r.pstyle("label").strValue,source:r.pstyle("source-label").strValue,target:r.pstyle("target-label").strValue};if(i.mid||i.source||i.target){e={x:a.midX,y:a.midY};var s=v(function(c,d,g){Xr(t.rscratch,c,d,g),Xr(t.rstyle,c,d,g)},"setRs");s("labelX",null,e.x),s("labelY",null,e.y);var o=cu(a.midDispX,a.midDispY);s("labelAutoAngle",null,o);var l=v(function f(){if(f.cache)return f.cache;for(var c=[],d=0;d+5<a.allpts.length;d+=4){var g={x:a.allpts[d],y:a.allpts[d+1]},h={x:a.allpts[d+2],y:a.allpts[d+3]},m={x:a.allpts[d+4],y:a.allpts[d+5]};c.push({p0:g,p1:h,p2:m,startDist:0,length:0,segments:[]})}var y=t.rstyle.bezierPts,p=n.bezierProjPcts.length;function b(E,k,S,L,B){var M=ht(k,S),A=E.segments[E.segments.length-1],P={p0:k,p1:S,t0:L,t1:B,startDist:A?A.startDist+A.length:0,length:M};E.segments.push(P),E.length+=M}v(b,"addSegment");for(var w=0;w<c.length;w++){var x=c[w],T=c[w-1];T&&(x.startDist=T.startDist+T.length),b(x,x.p0,y[w*p],0,n.bezierProjPcts[0]);for(var C=0;C<p-1;C++)b(x,y[w*p+C],y[w*p+C+1],n.bezierProjPcts[C],n.bezierProjPcts[C+1]);b(x,y[w*p+p-1],x.p2,n.bezierProjPcts[p-1],1)}return f.cache=c},"createControlPointInfo"),u=v(function(c){var d,g=c==="source";if(i[c]){var h=r.pstyle(c+"-text-offset").pfValue;switch(a.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var m=l(),y,p=0,b=0,w=0;w<m.length;w++){for(var x=m[g?w:m.length-1-w],T=0;T<x.segments.length;T++){var C=x.segments[g?T:x.segments.length-1-T],E=w===m.length-1&&T===x.segments.length-1;if(p=b,b+=C.length,b>=h||E){y={cp:x,segment:C};break}}if(y)break}var k=y.cp,S=y.segment,L=(h-p)/S.length,B=S.t1-S.t0,M=g?S.t0+B*L:S.t1-B*L;M=da(0,M,1),e=Mt(k.p0,k.p1,k.p2,M),d=Dg(k.p0,k.p1,k.p2,M);break}case"straight":case"segments":case"haystack":{for(var A=0,P,I,R,O,z=a.allpts.length,$=0;$+3<z&&(g?(R={x:a.allpts[$],y:a.allpts[$+1]},O={x:a.allpts[$+2],y:a.allpts[$+3]}):(R={x:a.allpts[z-2-$],y:a.allpts[z-1-$]},O={x:a.allpts[z-4-$],y:a.allpts[z-3-$]}),P=ht(R,O),I=A,A+=P,!(A>=h));$+=2);var H=h-I,V=H/P;V=da(0,V,1),e=Mv(R,O,V),d=du(R,O);break}}s("labelX",c,e.x),s("labelY",c,e.y),s("labelAutoAngle",c,d)}},"calculateEndProjection");u("source"),u("target"),this.applyLabelDimensions(r)}};Nr.applyLabelDimensions=function(r){this.applyPrefixedLabelDimensions(r),r.isEdge()&&(this.applyPrefixedLabelDimensions(r,"source"),this.applyPrefixedLabelDimensions(r,"target"))};Nr.applyPrefixedLabelDimensions=function(r,e){var t=r._private,a=this.getLabelText(r,e),n=this.calculateLabelDimensions(r,a),i=r.pstyle("line-height").pfValue,s=r.pstyle("text-wrap").strValue,o=Pr(t.rscratch,"labelWrapCachedLines",e)||[],l=s!=="wrap"?1:Math.max(o.length,1),u=n.height/l,f=u*i,c=n.width,d=n.height+(l-1)*(i-1)*u;Xr(t.rstyle,"labelWidth",e,c),Xr(t.rscratch,"labelWidth",e,c),Xr(t.rstyle,"labelHeight",e,d),Xr(t.rscratch,"labelHeight",e,d),Xr(t.rscratch,"labelLineHeight",e,f)};Nr.getLabelText=function(r,e){var t=r._private,a=e?e+"-":"",n=r.pstyle(a+"label").strValue,i=r.pstyle("text-transform").value,s=v(function(U,J){return J?(Xr(t.rscratch,U,e,J),J):Pr(t.rscratch,U,e)},"rscratch");if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=r.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="\u200B",f=n.split(`
`),c=r.pstyle("text-max-width").pfValue,d=r.pstyle("text-overflow-wrap").value,g=d==="anywhere",h=[],m=/[\s\u200b]+|$/g,y=0;y<f.length;y++){var p=f[y],b=this.calculateLabelDimensions(r,p),w=b.width;if(g){var x=p.split("").join(u);p=x}if(w>c){var T=p.matchAll(m),C="",E=0,k=Xs(T),S;try{for(k.s();!(S=k.n()).done;){var L=S.value,B=L[0],M=p.substring(E,L.index);E=L.index+B.length;var A=C.length===0?M:C+M+B,P=this.calculateLabelDimensions(r,A),I=P.width;I<=c?C+=M+B:(C&&h.push(C),C=M+B)}}catch(F){k.e(F)}finally{k.f()}C.match(/^[\s\u200b]+$/)||h.push(C)}else h.push(p)}s("labelWrapCachedLines",h),n=s("labelWrapCachedText",h.join(`
`)),s("labelWrapKey",l)}else if(o==="ellipsis"){var R=r.pstyle("text-max-width").pfValue,O="",z="\u2026",$=!1;if(this.calculateLabelDimensions(r,n).width<R)return n;for(var H=0;H<n.length;H++){var V=this.calculateLabelDimensions(r,O+n[H]+z).width;if(V>R)break;O+=n[H],H===n.length-1&&($=!0)}return $||(O+=z),O}return n};Nr.getLabelJustification=function(r){var e=r.pstyle("text-justification").strValue,t=r.pstyle("text-halign").strValue;if(e==="auto")if(r.isNode())switch(t){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Nr.calculateLabelDimensions=function(r,e){var t=this,a=t.cy.window(),n=a.document,i=dt(e,r._private.labelDimsKey),s=t.labelDimCache||(t.labelDimCache=[]),o=s[i];if(o!=null)return o;var l=0,u=r.pstyle("font-style").strValue,f=r.pstyle("font-size").pfValue,c=r.pstyle("font-family").strValue,d=r.pstyle("font-weight").strValue,g=this.labelCalcCanvas,h=this.labelCalcCanvasContext;if(!g){g=this.labelCalcCanvas=n.createElement("canvas"),h=this.labelCalcCanvasContext=g.getContext("2d");var m=g.style;m.position="absolute",m.left="-9999px",m.top="-9999px",m.zIndex="-1",m.visibility="hidden",m.pointerEvents="none"}h.font="".concat(u," ").concat(d," ").concat(f,"px ").concat(c);for(var y=0,p=0,b=e.split(`
`),w=0;w<b.length;w++){var x=b[w],T=h.measureText(x),C=Math.ceil(T.width),E=f;y=Math.max(C,y),p+=E}return y+=l,p+=l,s[i]={width:y,height:p}};Nr.calculateLabelAngle=function(r,e){var t=r._private,a=t.rscratch,n=r.isEdge(),i=e?e+"-":"",s=r.pstyle(i+"text-rotation"),o=s.strValue;return o==="none"?0:n&&o==="autorotate"?a.labelAutoAngle:o==="autorotate"?0:s.pfValue};Nr.calculateLabelAngles=function(r){var e=this,t=r.isEdge(),a=r._private,n=a.rscratch;n.labelAngle=e.calculateLabelAngle(r),t&&(n.sourceLabelAngle=e.calculateLabelAngle(r,"source"),n.targetLabelAngle=e.calculateLabelAngle(r,"target"))};var hu={},Is=28,zs=!1;hu.getNodeShape=function(r){var e=this,t=r.pstyle("shape").value;if(t==="cutrectangle"&&(r.width()<Is||r.height()<Is))return zs||(Le("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),zs=!0),"rectangle";if(r.isParent())return t==="rectangle"||t==="roundrectangle"||t==="round-rectangle"||t==="cutrectangle"||t==="cut-rectangle"||t==="barrel"?t:"rectangle";if(t==="polygon"){var a=r.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(a).name}return t};var Tn={};Tn.registerCalculationListeners=function(){var r=this.cy,e=r.collection(),t=this,a=v(function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l<s.length;l++){var u=s[l],f=u._private,c=f.rstyle;c.clean=!1,c.cleanConnected=!1}},"enqueue");t.binder(r).on("bounds.* dirty.*",v(function(s){var o=s.target;a(o)},"onDirtyBounds")).on("style.* background.*",v(function(s){var o=s.target;a(o,!1)},"onDirtyStyle"));var n=v(function(s){if(s){var o=t.onUpdateEleCalcsFns;e.cleanStyle();for(var l=0;l<e.length;l++){var u=e[l],f=u._private.rstyle;u.isNode()&&!f.cleanConnected&&(a(u.connectedEdges()),f.cleanConnected=!0)}if(o)for(var c=0;c<o.length;c++){var d=o[c];d(s,e)}t.recalculateRenderedStyle(e),e=r.collection()}},"updateEleCalcs");t.flushRenderedStyleQueue=function(){n(!0)},t.beforeRender(n,t.beforeRenderPriorities.eleCalcs)};Tn.onUpdateEleCalcs=function(r){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(r)};Tn.recalculateRenderedStyle=function(r,e){var t=v(function(x){return x._private.rstyle.cleanConnected},"isCleanConnected"),a=[],n=[];if(!this.destroyed){e===void 0&&(e=!0);for(var i=0;i<r.length;i++){var s=r[i],o=s._private,l=o.rstyle;s.isEdge()&&(!t(s.source())||!t(s.target()))&&(l.clean=!1),!(e&&l.clean||s.removed())&&s.pstyle("display").value!=="none"&&(o.group==="nodes"?n.push(s):a.push(s),l.clean=!0)}for(var u=0;u<n.length;u++){var f=n[u],c=f._private,d=c.rstyle,g=f.position();this.recalculateNodeLabelProjection(f),d.nodeX=g.x,d.nodeY=g.y,d.nodeW=f.pstyle("width").pfValue,d.nodeH=f.pstyle("height").pfValue}this.recalculateEdgeProjections(a);for(var h=0;h<a.length;h++){var m=a[h],y=m._private,p=y.rstyle,b=y.rscratch;p.srcX=b.arrowStartX,p.srcY=b.arrowStartY,p.tgtX=b.arrowEndX,p.tgtY=b.arrowEndY,p.midX=b.midX,p.midY=b.midY,p.labelAngle=b.labelAngle,p.sourceLabelAngle=b.sourceLabelAngle,p.targetLabelAngle=b.targetLabelAngle}}};var Dn={};Dn.updateCachedGrabbedEles=function(){var r=this.cachedZSortedEles;if(r){r.drag=[],r.nondrag=[];for(var e=[],t=0;t<r.length;t++){var a=r[t],n=a._private.rscratch;a.grabbed()&&!a.isParent()?e.push(a):n.inDragLayer?r.drag.push(a):r.nondrag.push(a)}for(var t=0;t<e.length;t++){var a=e[t];r.drag.push(a)}}};Dn.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null};Dn.getCachedZSortedEles=function(r){if(r||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(Jo),e.interactive=e.filter(function(t){return t.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};var gu={};[bt,on,ur,Da,Di,Nr,hu,Tn,Dn].forEach(function(r){we(gu,r)});var pu={};pu.getCachedImage=function(r,e,t){var a=this,n=a.imageCache=a.imageCache||{},i=n[r];if(i)return i.image.complete||i.image.addEventListener("load",t),i.image;i=n[r]=n[r]||{};var s=i.image=new Image;s.addEventListener("load",t),s.addEventListener("error",function(){s.error=!0});var o="data:",l=r.substring(0,o.length).toLowerCase()===o;return l||(e=e==="null"?null:e,s.crossOrigin=e),s.src=r,s};var Ut={};Ut.registerBinding=function(r,e,t,a){var n=Array.prototype.slice.apply(arguments,[1]),i=this.binder(r);return i.on.apply(i,n)};Ut.binder=function(r){var e=this,t=e.cy.window(),a=r===t||r===t.document||r===t.document.body||Qu(r);if(e.supportsPassiveEvents==null){var n=!1;try{var i=Object.defineProperty({},"passive",{get:v(function(){return n=!0,!0},"get")});t.addEventListener("test",null,i)}catch{}e.supportsPassiveEvents=n}var s=v(function(l,u,f){var c=Array.prototype.slice.call(arguments);return a&&e.supportsPassiveEvents&&(c[2]={capture:f??!1,passive:!1,once:!1}),e.bindings.push({target:r,args:c}),(r.addEventListener||r.on).apply(r,c),this},"on");return{on:s,addEventListener:s,addListener:s,bind:s}};Ut.nodeIsDraggable=function(r){return r&&r.isNode()&&!r.locked()&&r.grabbable()};Ut.nodeIsGrabbable=function(r){return this.nodeIsDraggable(r)&&r.interactive()};Ut.load=function(){var r=this,e=r.cy.window(),t=v(function(D){return D.selected()},"isSelected"),a=v(function(D,q,Q,K){D==null&&(D=r.cy);for(var G=0;G<q.length;G++){var ae=q[G];D.emit({originalEvent:Q,type:ae,position:K})}},"triggerEvents"),n=v(function(D){return D.shiftKey||D.metaKey||D.ctrlKey},"isMultSelKeyDown"),i=v(function(D,q){var Q=!0;if(r.cy.hasCompoundNodes()&&D&&D.pannable())for(var K=0;q&&K<q.length;K++){var D=q[K];if(D.isNode()&&D.isParent()&&!D.pannable()){Q=!1;break}}else Q=!0;return Q},"allowPanningPassthrough"),s=v(function(D){D[0]._private.grabbed=!0},"setGrabbed"),o=v(function(D){D[0]._private.grabbed=!1},"setFreed"),l=v(function(D){D[0]._private.rscratch.inDragLayer=!0},"setInDragLayer"),u=v(function(D){D[0]._private.rscratch.inDragLayer=!1},"setOutDragLayer"),f=v(function(D){D[0]._private.rscratch.isGrabTarget=!0},"setGrabTarget"),c=v(function(D){D[0]._private.rscratch.isGrabTarget=!1},"removeGrabTarget"),d=v(function(D,q){var Q=q.addToList,K=Q.has(D);!K&&D.grabbable()&&!D.locked()&&(Q.merge(D),s(D))},"addToDragList"),g=v(function(D,q){if(D.cy().hasCompoundNodes()&&!(q.inDragLayer==null&&q.addToList==null)){var Q=D.descendants();q.inDragLayer&&(Q.forEach(l),Q.connectedEdges().forEach(l)),q.addToList&&d(Q,q)}},"addDescendantsToDrag"),h=v(function(D,q){q=q||{};var Q=D.cy().hasCompoundNodes();q.inDragLayer&&(D.forEach(l),D.neighborhood().stdFilter(function(K){return!Q||K.isEdge()}).forEach(l)),q.addToList&&D.forEach(function(K){d(K,q)}),g(D,q),p(D,{inDragLayer:q.inDragLayer}),r.updateCachedGrabbedEles()},"addNodesToDrag"),m=h,y=v(function(D){D&&(r.getCachedZSortedEles().forEach(function(q){o(q),u(q),c(q)}),r.updateCachedGrabbedEles())},"freeDraggedElements"),p=v(function(D,q){if(!(q.inDragLayer==null&&q.addToList==null)&&D.cy().hasCompoundNodes()){var Q=D.ancestors().orphans();if(!Q.same(D)){var K=Q.descendants().spawnSelf().merge(Q).unmerge(D).unmerge(D.descendants()),G=K.connectedEdges();q.inDragLayer&&(G.forEach(l),K.forEach(l)),q.addToList&&K.forEach(function(ae){d(ae,q)})}}},"updateAncestorsInDragLayer"),b=v(function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},"blurActiveDomElement"),w=typeof MutationObserver<"u",x=typeof ResizeObserver<"u";w?(r.removeObserver=new MutationObserver(function(_){for(var D=0;D<_.length;D++){var q=_[D],Q=q.removedNodes;if(Q)for(var K=0;K<Q.length;K++){var G=Q[K];if(G===r.container){r.destroy();break}}}}),r.container.parentNode&&r.removeObserver.observe(r.container.parentNode,{childList:!0})):r.registerBinding(r.container,"DOMNodeRemoved",function(_){r.destroy()});var T=fn(function(){r.cy.resize()},100);w&&(r.styleObserver=new MutationObserver(T),r.styleObserver.observe(r.container,{attributes:!0})),r.registerBinding(e,"resize",T),x&&(r.resizeObserver=new ResizeObserver(T),r.resizeObserver.observe(r.container));var C=v(function(D,q){for(;D!=null;)q(D),D=D.parentNode},"forEachUp"),E=v(function(){r.invalidateContainerClientCoordsCache()},"invalidateCoords");C(r.container,function(_){r.registerBinding(_,"transitionend",E),r.registerBinding(_,"animationend",E),r.registerBinding(_,"scroll",E)}),r.registerBinding(r.container,"contextmenu",function(_){_.preventDefault()});var k=v(function(){return r.selection[4]!==0},"inBoxSelection"),S=v(function(D){for(var q=r.findContainerClientCoords(),Q=q[0],K=q[1],G=q[2],ae=q[3],W=D.touches?D.touches:[D],te=!1,me=0;me<W.length;me++){var be=W[me];if(Q<=be.clientX&&be.clientX<=Q+G&&K<=be.clientY&&be.clientY<=K+ae){te=!0;break}}if(!te)return!1;for(var ce=r.container,xe=D.target,ve=xe.parentNode,pe=!1;ve;){if(ve===ce){pe=!0;break}ve=ve.parentNode}return!!pe},"eventInContainer");r.registerBinding(r.container,"mousedown",v(function(D){if(S(D)&&!(r.hoverData.which===1&&D.which!==1)){D.preventDefault(),b(),r.hoverData.capture=!0,r.hoverData.which=D.which;var q=r.cy,Q=[D.clientX,D.clientY],K=r.projectIntoViewport(Q[0],Q[1]),G=r.selection,ae=r.findNearestElements(K[0],K[1],!0,!1),W=ae[0],te=r.dragData.possibleDragElements;r.hoverData.mdownPos=K,r.hoverData.mdownGPos=Q;var me=v(function(){r.hoverData.tapholdCancelled=!1,clearTimeout(r.hoverData.tapholdTimeout),r.hoverData.tapholdTimeout=setTimeout(function(){if(!r.hoverData.tapholdCancelled){var Fe=r.hoverData.down;Fe?Fe.emit({originalEvent:D,type:"taphold",position:{x:K[0],y:K[1]}}):q.emit({originalEvent:D,type:"taphold",position:{x:K[0],y:K[1]}})}},r.tapholdDuration)},"checkForTaphold");if(D.which==3){r.hoverData.cxtStarted=!0;var be={originalEvent:D,type:"cxttapstart",position:{x:K[0],y:K[1]}};W?(W.activate(),W.emit(be),r.hoverData.down=W):q.emit(be),r.hoverData.downTime=new Date().getTime(),r.hoverData.cxtDragged=!1}else if(D.which==1){W&&W.activate();{if(W!=null&&r.nodeIsGrabbable(W)){var ce=v(function(Fe){return{originalEvent:D,type:Fe,position:{x:K[0],y:K[1]}}},"makeEvent"),xe=v(function(Fe){Fe.emit(ce("grab"))},"triggerGrab");if(f(W),!W.selected())te=r.dragData.possibleDragElements=q.collection(),m(W,{addToList:te}),W.emit(ce("grabon")).emit(ce("grab"));else{te=r.dragData.possibleDragElements=q.collection();var ve=q.$(function(pe){return pe.isNode()&&pe.selected()&&r.nodeIsGrabbable(pe)});h(ve,{addToList:te}),W.emit(ce("grabon")),ve.forEach(xe)}r.redrawHint("eles",!0),r.redrawHint("drag",!0)}r.hoverData.down=W,r.hoverData.downs=ae,r.hoverData.downTime=new Date().getTime()}a(W,["mousedown","tapstart","vmousedown"],D,{x:K[0],y:K[1]}),W==null?(G[4]=1,r.data.bgActivePosistion={x:K[0],y:K[1]},r.redrawHint("select",!0),r.redraw()):W.pannable()&&(G[4]=1),me()}G[0]=G[2]=K[0],G[1]=G[3]=K[1]}},"mousedownHandler"),!1),r.registerBinding(e,"mousemove",v(function(D){var q=r.hoverData.capture;if(!(!q&&!S(D))){var Q=!1,K=r.cy,G=K.zoom(),ae=[D.clientX,D.clientY],W=r.projectIntoViewport(ae[0],ae[1]),te=r.hoverData.mdownPos,me=r.hoverData.mdownGPos,be=r.selection,ce=null;!r.hoverData.draggingEles&&!r.hoverData.dragging&&!r.hoverData.selecting&&(ce=r.findNearestElement(W[0],W[1],!0,!1));var xe=r.hoverData.last,ve=r.hoverData.down,pe=[W[0]-be[2],W[1]-be[3]],Fe=r.dragData.possibleDragElements,Re;if(me){var lr=ae[0]-me[0],Qe=lr*lr,He=ae[1]-me[1],cr=He*He,Je=Qe+cr;r.hoverData.isOverThresholdDrag=Re=Je>=r.desktopTapThreshold2}var vr=n(D);Re&&(r.hoverData.tapholdCancelled=!0);var Er=v(function(){var Lr=r.hoverData.dragDelta=r.hoverData.dragDelta||[];Lr.length===0?(Lr.push(pe[0]),Lr.push(pe[1])):(Lr[0]+=pe[0],Lr[1]+=pe[1])},"updateDragDelta");Q=!0,a(ce,["mousemove","vmousemove","tapdrag"],D,{x:W[0],y:W[1]});var mr=v(function(){r.data.bgActivePosistion=void 0,r.hoverData.selecting||K.emit({originalEvent:D,type:"boxstart",position:{x:W[0],y:W[1]}}),be[4]=1,r.hoverData.selecting=!0,r.redrawHint("select",!0),r.redraw()},"goIntoBoxMode");if(r.hoverData.which===3){if(Re){var dr={originalEvent:D,type:"cxtdrag",position:{x:W[0],y:W[1]}};ve?ve.emit(dr):K.emit(dr),r.hoverData.cxtDragged=!0,(!r.hoverData.cxtOver||ce!==r.hoverData.cxtOver)&&(r.hoverData.cxtOver&&r.hoverData.cxtOver.emit({originalEvent:D,type:"cxtdragout",position:{x:W[0],y:W[1]}}),r.hoverData.cxtOver=ce,ce&&ce.emit({originalEvent:D,type:"cxtdragover",position:{x:W[0],y:W[1]}}))}}else if(r.hoverData.dragging){if(Q=!0,K.panningEnabled()&&K.userPanningEnabled()){var Mr;if(r.hoverData.justStartedPan){var Vr=r.hoverData.mdownPos;Mr={x:(W[0]-Vr[0])*G,y:(W[1]-Vr[1])*G},r.hoverData.justStartedPan=!1}else Mr={x:pe[0]*G,y:pe[1]*G};K.panBy(Mr),K.emit("dragpan"),r.hoverData.dragged=!0}W=r.projectIntoViewport(D.clientX,D.clientY)}else if(be[4]==1&&(ve==null||ve.pannable())){if(Re){if(!r.hoverData.dragging&&K.boxSelectionEnabled()&&(vr||!K.panningEnabled()||!K.userPanningEnabled()))mr();else if(!r.hoverData.selecting&&K.panningEnabled()&&K.userPanningEnabled()){var Cr=i(ve,r.hoverData.downs);Cr&&(r.hoverData.dragging=!0,r.hoverData.justStartedPan=!0,be[4]=0,r.data.bgActivePosistion=Pt(te),r.redrawHint("select",!0),r.redraw())}ve&&ve.pannable()&&ve.active()&&ve.unactivate()}}else{if(ve&&ve.pannable()&&ve.active()&&ve.unactivate(),(!ve||!ve.grabbed())&&ce!=xe&&(xe&&a(xe,["mouseout","tapdragout"],D,{x:W[0],y:W[1]}),ce&&a(ce,["mouseover","tapdragover"],D,{x:W[0],y:W[1]}),r.hoverData.last=ce),ve)if(Re){if(K.boxSelectionEnabled()&&vr)ve&&ve.grabbed()&&(y(Fe),ve.emit("freeon"),Fe.emit("free"),r.dragData.didDrag&&(ve.emit("dragfreeon"),Fe.emit("dragfree"))),mr();else if(ve&&ve.grabbed()&&r.nodeIsDraggable(ve)){var Ge=!r.dragData.didDrag;Ge&&r.redrawHint("eles",!0),r.dragData.didDrag=!0,r.hoverData.draggingEles||h(Fe,{inDragLayer:!0});var Xe={x:0,y:0};if(ie(pe[0])&&ie(pe[1])&&(Xe.x+=pe[0],Xe.y+=pe[1],Ge)){var ar=r.hoverData.dragDelta;ar&&ie(ar[0])&&ie(ar[1])&&(Xe.x+=ar[0],Xe.y+=ar[1])}r.hoverData.draggingEles=!0,Fe.silentShift(Xe).emit("position drag"),r.redrawHint("drag",!0),r.redraw()}}else Er();Q=!0}if(be[2]=W[0],be[3]=W[1],Q)return D.stopPropagation&&D.stopPropagation(),D.preventDefault&&D.preventDefault(),!1}},"mousemoveHandler"),!1);var L,B,M;r.registerBinding(e,"mouseup",v(function(D){if(!(r.hoverData.which===1&&D.which!==1&&r.hoverData.capture)){var q=r.hoverData.capture;if(q){r.hoverData.capture=!1;var Q=r.cy,K=r.projectIntoViewport(D.clientX,D.clientY),G=r.selection,ae=r.findNearestElement(K[0],K[1],!0,!1),W=r.dragData.possibleDragElements,te=r.hoverData.down,me=n(D);if(r.data.bgActivePosistion&&(r.redrawHint("select",!0),r.redraw()),r.hoverData.tapholdCancelled=!0,r.data.bgActivePosistion=void 0,te&&te.unactivate(),r.hoverData.which===3){var be={originalEvent:D,type:"cxttapend",position:{x:K[0],y:K[1]}};if(te?te.emit(be):Q.emit(be),!r.hoverData.cxtDragged){var ce={originalEvent:D,type:"cxttap",position:{x:K[0],y:K[1]}};te?te.emit(ce):Q.emit(ce)}r.hoverData.cxtDragged=!1,r.hoverData.which=null}else if(r.hoverData.which===1){if(a(ae,["mouseup","tapend","vmouseup"],D,{x:K[0],y:K[1]}),!r.dragData.didDrag&&!r.hoverData.dragged&&!r.hoverData.selecting&&!r.hoverData.isOverThresholdDrag&&(a(te,["click","tap","vclick"],D,{x:K[0],y:K[1]}),B=!1,D.timeStamp-M<=Q.multiClickDebounceTime()?(L&&clearTimeout(L),B=!0,M=null,a(te,["dblclick","dbltap","vdblclick"],D,{x:K[0],y:K[1]})):(L=setTimeout(function(){B||a(te,["oneclick","onetap","voneclick"],D,{x:K[0],y:K[1]})},Q.multiClickDebounceTime()),M=D.timeStamp)),te==null&&!r.dragData.didDrag&&!r.hoverData.selecting&&!r.hoverData.dragged&&!n(D)&&(Q.$(t).unselect(["tapunselect"]),W.length>0&&r.redrawHint("eles",!0),r.dragData.possibleDragElements=W=Q.collection()),ae==te&&!r.dragData.didDrag&&!r.hoverData.selecting&&ae!=null&&ae._private.selectable&&(r.hoverData.dragging||(Q.selectionType()==="additive"||me?ae.selected()?ae.unselect(["tapunselect"]):ae.select(["tapselect"]):me||(Q.$(t).unmerge(ae).unselect(["tapunselect"]),ae.select(["tapselect"]))),r.redrawHint("eles",!0)),r.hoverData.selecting){var xe=Q.collection(r.getAllInBox(G[0],G[1],G[2],G[3]));r.redrawHint("select",!0),xe.length>0&&r.redrawHint("eles",!0),Q.emit({type:"boxend",originalEvent:D,position:{x:K[0],y:K[1]}});var ve=v(function(Re){return Re.selectable()&&!Re.selected()},"eleWouldBeSelected");Q.selectionType()==="additive"||me||Q.$(t).unmerge(xe).unselect(),xe.emit("box").stdFilter(ve).select().emit("boxselect"),r.redraw()}if(r.hoverData.dragging&&(r.hoverData.dragging=!1,r.redrawHint("select",!0),r.redrawHint("eles",!0),r.redraw()),!G[4]){r.redrawHint("drag",!0),r.redrawHint("eles",!0);var pe=te&&te.grabbed();y(W),pe&&(te.emit("freeon"),W.emit("free"),r.dragData.didDrag&&(te.emit("dragfreeon"),W.emit("dragfree")))}}G[4]=0,r.hoverData.down=null,r.hoverData.cxtStarted=!1,r.hoverData.draggingEles=!1,r.hoverData.selecting=!1,r.hoverData.isOverThresholdDrag=!1,r.dragData.didDrag=!1,r.hoverData.dragged=!1,r.hoverData.dragDelta=[],r.hoverData.mdownPos=null,r.hoverData.mdownGPos=null}}},"mouseupHandler"),!1);var A=v(function(D){if(!r.scrollingPage){var q=r.cy,Q=q.zoom(),K=q.pan(),G=r.projectIntoViewport(D.clientX,D.clientY),ae=[G[0]*Q+K.x,G[1]*Q+K.y];if(r.hoverData.draggingEles||r.hoverData.dragging||r.hoverData.cxtStarted||k()){D.preventDefault();return}if(q.panningEnabled()&&q.userPanningEnabled()&&q.zoomingEnabled()&&q.userZoomingEnabled()){D.preventDefault(),r.data.wheelZooming=!0,clearTimeout(r.data.wheelTimeout),r.data.wheelTimeout=setTimeout(function(){r.data.wheelZooming=!1,r.redrawHint("eles",!0),r.redraw()},150);var W;D.deltaY!=null?W=D.deltaY/-250:D.wheelDeltaY!=null?W=D.wheelDeltaY/1e3:W=D.wheelDelta/1e3,W=W*r.wheelSensitivity;var te=D.deltaMode===1;te&&(W*=33);var me=q.zoom()*Math.pow(10,W);D.type==="gesturechange"&&(me=r.gestureStartZoom*D.scale),q.zoom({level:me,renderedPosition:{x:ae[0],y:ae[1]}}),q.emit(D.type==="gesturechange"?"pinchzoom":"scrollzoom")}}},"wheelHandler");r.registerBinding(r.container,"wheel",A,!0),r.registerBinding(e,"scroll",v(function(D){r.scrollingPage=!0,clearTimeout(r.scrollingPageTimeout),r.scrollingPageTimeout=setTimeout(function(){r.scrollingPage=!1},250)},"scrollHandler"),!0),r.registerBinding(r.container,"gesturestart",v(function(D){r.gestureStartZoom=r.cy.zoom(),r.hasTouchStarted||D.preventDefault()},"gestureStartHandler"),!0),r.registerBinding(r.container,"gesturechange",function(_){r.hasTouchStarted||A(_)},!0),r.registerBinding(r.container,"mouseout",v(function(D){var q=r.projectIntoViewport(D.clientX,D.clientY);r.cy.emit({originalEvent:D,type:"mouseout",position:{x:q[0],y:q[1]}})},"mouseOutHandler"),!1),r.registerBinding(r.container,"mouseover",v(function(D){var q=r.projectIntoViewport(D.clientX,D.clientY);r.cy.emit({originalEvent:D,type:"mouseover",position:{x:q[0],y:q[1]}})},"mouseOverHandler"),!1);var P,I,R,O,z,$,H,V,F,U,J,j,ee,re=v(function(D,q,Q,K){return Math.sqrt((Q-D)*(Q-D)+(K-q)*(K-q))},"distance"),Y=v(function(D,q,Q,K){return(Q-D)*(Q-D)+(K-q)*(K-q)},"distanceSq"),N;r.registerBinding(r.container,"touchstart",N=v(function(D){if(r.hasTouchStarted=!0,!!S(D)){b(),r.touchData.capture=!0,r.data.bgActivePosistion=void 0;var q=r.cy,Q=r.touchData.now,K=r.touchData.earlier;if(D.touches[0]){var G=r.projectIntoViewport(D.touches[0].clientX,D.touches[0].clientY);Q[0]=G[0],Q[1]=G[1]}if(D.touches[1]){var G=r.projectIntoViewport(D.touches[1].clientX,D.touches[1].clientY);Q[2]=G[0],Q[3]=G[1]}if(D.touches[2]){var G=r.projectIntoViewport(D.touches[2].clientX,D.touches[2].clientY);Q[4]=G[0],Q[5]=G[1]}if(D.touches[1]){r.touchData.singleTouchMoved=!0,y(r.dragData.touchDragEles);var ae=r.findContainerClientCoords();F=ae[0],U=ae[1],J=ae[2],j=ae[3],P=D.touches[0].clientX-F,I=D.touches[0].clientY-U,R=D.touches[1].clientX-F,O=D.touches[1].clientY-U,ee=0<=P&&P<=J&&0<=R&&R<=J&&0<=I&&I<=j&&0<=O&&O<=j;var W=q.pan(),te=q.zoom();z=re(P,I,R,O),$=Y(P,I,R,O),H=[(P+R)/2,(I+O)/2],V=[(H[0]-W.x)/te,(H[1]-W.y)/te];var me=200,be=me*me;if($<be&&!D.touches[2]){var ce=r.findNearestElement(Q[0],Q[1],!0,!0),xe=r.findNearestElement(Q[2],Q[3],!0,!0);ce&&ce.isNode()?(ce.activate().emit({originalEvent:D,type:"cxttapstart",position:{x:Q[0],y:Q[1]}}),r.touchData.start=ce):xe&&xe.isNode()?(xe.activate().emit({originalEvent:D,type:"cxttapstart",position:{x:Q[0],y:Q[1]}}),r.touchData.start=xe):q.emit({originalEvent:D,type:"cxttapstart",position:{x:Q[0],y:Q[1]}}),r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxt=!0,r.touchData.cxtDragged=!1,r.data.bgActivePosistion=void 0,r.redraw();return}}if(D.touches[2])q.boxSelectionEnabled()&&D.preventDefault();else if(!D.touches[1]){if(D.touches[0]){var ve=r.findNearestElements(Q[0],Q[1],!0,!0),pe=ve[0];if(pe!=null&&(pe.activate(),r.touchData.start=pe,r.touchData.starts=ve,r.nodeIsGrabbable(pe))){var Fe=r.dragData.touchDragEles=q.collection(),Re=null;r.redrawHint("eles",!0),r.redrawHint("drag",!0),pe.selected()?(Re=q.$(function(Je){return Je.selected()&&r.nodeIsGrabbable(Je)}),h(Re,{addToList:Fe})):m(pe,{addToList:Fe}),f(pe);var lr=v(function(vr){return{originalEvent:D,type:vr,position:{x:Q[0],y:Q[1]}}},"makeEvent");pe.emit(lr("grabon")),Re?Re.forEach(function(Je){Je.emit(lr("grab"))}):pe.emit(lr("grab"))}a(pe,["touchstart","tapstart","vmousedown"],D,{x:Q[0],y:Q[1]}),pe==null&&(r.data.bgActivePosistion={x:G[0],y:G[1]},r.redrawHint("select",!0),r.redraw()),r.touchData.singleTouchMoved=!1,r.touchData.singleTouchStartTime=+new Date,clearTimeout(r.touchData.tapholdTimeout),r.touchData.tapholdTimeout=setTimeout(function(){r.touchData.singleTouchMoved===!1&&!r.pinching&&!r.touchData.selecting&&a(r.touchData.start,["taphold"],D,{x:Q[0],y:Q[1]})},r.tapholdDuration)}}if(D.touches.length>=1){for(var Qe=r.touchData.startPosition=[null,null,null,null,null,null],He=0;He<Q.length;He++)Qe[He]=K[He]=Q[He];var cr=D.touches[0];r.touchData.startGPosition=[cr.clientX,cr.clientY]}}},"touchstartHandler"),!1);var X;r.registerBinding(e,"touchmove",X=v(function(D){var q=r.touchData.capture;if(!(!q&&!S(D))){var Q=r.selection,K=r.cy,G=r.touchData.now,ae=r.touchData.earlier,W=K.zoom();if(D.touches[0]){var te=r.projectIntoViewport(D.touches[0].clientX,D.touches[0].clientY);G[0]=te[0],G[1]=te[1]}if(D.touches[1]){var te=r.projectIntoViewport(D.touches[1].clientX,D.touches[1].clientY);G[2]=te[0],G[3]=te[1]}if(D.touches[2]){var te=r.projectIntoViewport(D.touches[2].clientX,D.touches[2].clientY);G[4]=te[0],G[5]=te[1]}var me=r.touchData.startGPosition,be;if(q&&D.touches[0]&&me){for(var ce=[],xe=0;xe<G.length;xe++)ce[xe]=G[xe]-ae[xe];var ve=D.touches[0].clientX-me[0],pe=ve*ve,Fe=D.touches[0].clientY-me[1],Re=Fe*Fe,lr=pe+Re;be=lr>=r.touchTapThreshold2}if(q&&r.touchData.cxt){D.preventDefault();var Qe=D.touches[0].clientX-F,He=D.touches[0].clientY-U,cr=D.touches[1].clientX-F,Je=D.touches[1].clientY-U,vr=Y(Qe,He,cr,Je),Er=vr/$,mr=150,dr=mr*mr,Mr=1.5,Vr=Mr*Mr;if(Er>=Vr||vr>=dr){r.touchData.cxt=!1,r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var Cr={originalEvent:D,type:"cxttapend",position:{x:G[0],y:G[1]}};r.touchData.start?(r.touchData.start.unactivate().emit(Cr),r.touchData.start=null):K.emit(Cr)}}if(q&&r.touchData.cxt){var Cr={originalEvent:D,type:"cxtdrag",position:{x:G[0],y:G[1]}};r.data.bgActivePosistion=void 0,r.redrawHint("select",!0),r.touchData.start?r.touchData.start.emit(Cr):K.emit(Cr),r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxtDragged=!0;var Ge=r.findNearestElement(G[0],G[1],!0,!0);(!r.touchData.cxtOver||Ge!==r.touchData.cxtOver)&&(r.touchData.cxtOver&&r.touchData.cxtOver.emit({originalEvent:D,type:"cxtdragout",position:{x:G[0],y:G[1]}}),r.touchData.cxtOver=Ge,Ge&&Ge.emit({originalEvent:D,type:"cxtdragover",position:{x:G[0],y:G[1]}}))}else if(q&&D.touches[2]&&K.boxSelectionEnabled())D.preventDefault(),r.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,r.touchData.selecting||K.emit({originalEvent:D,type:"boxstart",position:{x:G[0],y:G[1]}}),r.touchData.selecting=!0,r.touchData.didSelect=!0,Q[4]=1,!Q||Q.length===0||Q[0]===void 0?(Q[0]=(G[0]+G[2]+G[4])/3,Q[1]=(G[1]+G[3]+G[5])/3,Q[2]=(G[0]+G[2]+G[4])/3+1,Q[3]=(G[1]+G[3]+G[5])/3+1):(Q[2]=(G[0]+G[2]+G[4])/3,Q[3]=(G[1]+G[3]+G[5])/3),r.redrawHint("select",!0),r.redraw();else if(q&&D.touches[1]&&!r.touchData.didSelect&&K.zoomingEnabled()&&K.panningEnabled()&&K.userZoomingEnabled()&&K.userPanningEnabled()){D.preventDefault(),r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var Xe=r.dragData.touchDragEles;if(Xe){r.redrawHint("drag",!0);for(var ar=0;ar<Xe.length;ar++){var xt=Xe[ar]._private;xt.grabbed=!1,xt.rscratch.inDragLayer=!1}}var Lr=r.touchData.start,Qe=D.touches[0].clientX-F,He=D.touches[0].clientY-U,cr=D.touches[1].clientX-F,Je=D.touches[1].clientY-U,Pi=re(Qe,He,cr,Je),Au=Pi/z;if(ee){var Ru=Qe-P,Ou=He-I,Iu=cr-R,zu=Je-O,Nu=(Ru+Iu)/2,Fu=(Ou+zu)/2,Zt=K.zoom(),kn=Zt*Au,Ba=K.pan(),Bi=V[0]*Zt+Ba.x,Mi=V[1]*Zt+Ba.y,Vu={x:-kn/Zt*(Bi-Ba.x-Nu)+Bi,y:-kn/Zt*(Mi-Ba.y-Fu)+Mi};if(Lr&&Lr.active()){var Xe=r.dragData.touchDragEles;y(Xe),r.redrawHint("drag",!0),r.redrawHint("eles",!0),Lr.unactivate().emit("freeon"),Xe.emit("free"),r.dragData.didDrag&&(Lr.emit("dragfreeon"),Xe.emit("dragfree"))}K.viewport({zoom:kn,pan:Vu,cancelOnFailedZoom:!0}),K.emit("pinchzoom"),z=Pi,P=Qe,I=He,R=cr,O=Je,r.pinching=!0}if(D.touches[0]){var te=r.projectIntoViewport(D.touches[0].clientX,D.touches[0].clientY);G[0]=te[0],G[1]=te[1]}if(D.touches[1]){var te=r.projectIntoViewport(D.touches[1].clientX,D.touches[1].clientY);G[2]=te[0],G[3]=te[1]}if(D.touches[2]){var te=r.projectIntoViewport(D.touches[2].clientX,D.touches[2].clientY);G[4]=te[0],G[5]=te[1]}}else if(D.touches[0]&&!r.touchData.didSelect){var Sr=r.touchData.start,Pn=r.touchData.last,Ge;if(!r.hoverData.draggingEles&&!r.swipePanning&&(Ge=r.findNearestElement(G[0],G[1],!0,!0)),q&&Sr!=null&&D.preventDefault(),q&&Sr!=null&&r.nodeIsDraggable(Sr))if(be){var Xe=r.dragData.touchDragEles,Li=!r.dragData.didDrag;Li&&h(Xe,{inDragLayer:!0}),r.dragData.didDrag=!0;var Qt={x:0,y:0};if(ie(ce[0])&&ie(ce[1])&&(Qt.x+=ce[0],Qt.y+=ce[1],Li)){r.redrawHint("eles",!0);var Tr=r.touchData.dragDelta;Tr&&ie(Tr[0])&&ie(Tr[1])&&(Qt.x+=Tr[0],Qt.y+=Tr[1])}r.hoverData.draggingEles=!0,Xe.silentShift(Qt).emit("position drag"),r.redrawHint("drag",!0),r.touchData.startPosition[0]==ae[0]&&r.touchData.startPosition[1]==ae[1]&&r.redrawHint("eles",!0),r.redraw()}else{var Tr=r.touchData.dragDelta=r.touchData.dragDelta||[];Tr.length===0?(Tr.push(ce[0]),Tr.push(ce[1])):(Tr[0]+=ce[0],Tr[1]+=ce[1])}if(a(Sr||Ge,["touchmove","tapdrag","vmousemove"],D,{x:G[0],y:G[1]}),(!Sr||!Sr.grabbed())&&Ge!=Pn&&(Pn&&Pn.emit({originalEvent:D,type:"tapdragout",position:{x:G[0],y:G[1]}}),Ge&&Ge.emit({originalEvent:D,type:"tapdragover",position:{x:G[0],y:G[1]}})),r.touchData.last=Ge,q)for(var ar=0;ar<G.length;ar++)G[ar]&&r.touchData.startPosition[ar]&&be&&(r.touchData.singleTouchMoved=!0);if(q&&(Sr==null||Sr.pannable())&&K.panningEnabled()&&K.userPanningEnabled()){var qu=i(Sr,r.touchData.starts);qu&&(D.preventDefault(),r.data.bgActivePosistion||(r.data.bgActivePosistion=Pt(r.touchData.startPosition)),r.swipePanning?(K.panBy({x:ce[0]*W,y:ce[1]*W}),K.emit("dragpan")):be&&(r.swipePanning=!0,K.panBy({x:ve*W,y:Fe*W}),K.emit("dragpan"),Sr&&(Sr.unactivate(),r.redrawHint("select",!0),r.touchData.start=null)));var te=r.projectIntoViewport(D.touches[0].clientX,D.touches[0].clientY);G[0]=te[0],G[1]=te[1]}}for(var xe=0;xe<G.length;xe++)ae[xe]=G[xe];q&&D.touches.length>0&&!r.hoverData.draggingEles&&!r.swipePanning&&r.data.bgActivePosistion!=null&&(r.data.bgActivePosistion=void 0,r.redrawHint("select",!0),r.redraw())}},"touchmoveHandler"),!1);var Z;r.registerBinding(e,"touchcancel",Z=v(function(D){var q=r.touchData.start;r.touchData.capture=!1,q&&q.unactivate()},"touchcancelHandler"));var oe,ge,ne,se;if(r.registerBinding(e,"touchend",oe=v(function(D){var q=r.touchData.start,Q=r.touchData.capture;if(Q)D.touches.length===0&&(r.touchData.capture=!1),D.preventDefault();else return;var K=r.selection;r.swipePanning=!1,r.hoverData.draggingEles=!1;var G=r.cy,ae=G.zoom(),W=r.touchData.now,te=r.touchData.earlier;if(D.touches[0]){var me=r.projectIntoViewport(D.touches[0].clientX,D.touches[0].clientY);W[0]=me[0],W[1]=me[1]}if(D.touches[1]){var me=r.projectIntoViewport(D.touches[1].clientX,D.touches[1].clientY);W[2]=me[0],W[3]=me[1]}if(D.touches[2]){var me=r.projectIntoViewport(D.touches[2].clientX,D.touches[2].clientY);W[4]=me[0],W[5]=me[1]}q&&q.unactivate();var be;if(r.touchData.cxt){if(be={originalEvent:D,type:"cxttapend",position:{x:W[0],y:W[1]}},q?q.emit(be):G.emit(be),!r.touchData.cxtDragged){var ce={originalEvent:D,type:"cxttap",position:{x:W[0],y:W[1]}};q?q.emit(ce):G.emit(ce)}r.touchData.start&&(r.touchData.start._private.grabbed=!1),r.touchData.cxt=!1,r.touchData.start=null,r.redraw();return}if(!D.touches[2]&&G.boxSelectionEnabled()&&r.touchData.selecting){r.touchData.selecting=!1;var xe=G.collection(r.getAllInBox(K[0],K[1],K[2],K[3]));K[0]=void 0,K[1]=void 0,K[2]=void 0,K[3]=void 0,K[4]=0,r.redrawHint("select",!0),G.emit({type:"boxend",originalEvent:D,position:{x:W[0],y:W[1]}});var ve=v(function(dr){return dr.selectable()&&!dr.selected()},"eleWouldBeSelected");xe.emit("box").stdFilter(ve).select().emit("boxselect"),xe.nonempty()&&r.redrawHint("eles",!0),r.redraw()}if(q?.unactivate(),D.touches[2])r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);else if(!D.touches[1]){if(!D.touches[0]){if(!D.touches[0]){r.data.bgActivePosistion=void 0,r.redrawHint("select",!0);var pe=r.dragData.touchDragEles;if(q!=null){var Fe=q._private.grabbed;y(pe),r.redrawHint("drag",!0),r.redrawHint("eles",!0),Fe&&(q.emit("freeon"),pe.emit("free"),r.dragData.didDrag&&(q.emit("dragfreeon"),pe.emit("dragfree"))),a(q,["touchend","tapend","vmouseup","tapdragout"],D,{x:W[0],y:W[1]}),q.unactivate(),r.touchData.start=null}else{var Re=r.findNearestElement(W[0],W[1],!0,!0);a(Re,["touchend","tapend","vmouseup","tapdragout"],D,{x:W[0],y:W[1]})}var lr=r.touchData.startPosition[0]-W[0],Qe=lr*lr,He=r.touchData.startPosition[1]-W[1],cr=He*He,Je=Qe+cr,vr=Je*ae*ae;r.touchData.singleTouchMoved||(q||G.$(":selected").unselect(["tapunselect"]),a(q,["tap","vclick"],D,{x:W[0],y:W[1]}),ge=!1,D.timeStamp-se<=G.multiClickDebounceTime()?(ne&&clearTimeout(ne),ge=!0,se=null,a(q,["dbltap","vdblclick"],D,{x:W[0],y:W[1]})):(ne=setTimeout(function(){ge||a(q,["onetap","voneclick"],D,{x:W[0],y:W[1]})},G.multiClickDebounceTime()),se=D.timeStamp)),q!=null&&!r.dragData.didDrag&&q._private.selectable&&vr<r.touchTapThreshold2&&!r.pinching&&(G.selectionType()==="single"?(G.$(t).unmerge(q).unselect(["tapunselect"]),q.select(["tapselect"])):q.selected()?q.unselect(["tapunselect"]):q.select(["tapselect"]),r.redrawHint("eles",!0)),r.touchData.singleTouchMoved=!0}}}for(var Er=0;Er<W.length;Er++)te[Er]=W[Er];r.dragData.didDrag=!1,D.touches.length===0&&(r.touchData.dragDelta=[],r.touchData.startPosition=[null,null,null,null,null,null],r.touchData.startGPosition=null,r.touchData.didSelect=!1),D.touches.length<2&&(D.touches.length===1&&(r.touchData.startGPosition=[D.touches[0].clientX,D.touches[0].clientY]),r.pinching=!1,r.redrawHint("eles",!0),r.redraw())},"touchendHandler"),!1),typeof TouchEvent>"u"){var le=[],de=v(function(D){return{clientX:D.clientX,clientY:D.clientY,force:1,identifier:D.pointerId,pageX:D.pageX,pageY:D.pageY,radiusX:D.width/2,radiusY:D.height/2,screenX:D.screenX,screenY:D.screenY,target:D.target}},"makeTouch"),fe=v(function(D){return{event:D,touch:de(D)}},"makePointer"),ye=v(function(D){le.push(fe(D))},"addPointer"),Be=v(function(D){for(var q=0;q<le.length;q++){var Q=le[q];if(Q.event.pointerId===D.pointerId){le.splice(q,1);return}}},"removePointer"),Ce=v(function(D){var q=le.filter(function(Q){return Q.event.pointerId===D.pointerId})[0];q.event=D,q.touch=de(D)},"updatePointer"),Ee=v(function(D){D.touches=le.map(function(q){return q.touch})},"addTouchesToEvent"),De=v(function(D){return D.pointerType==="mouse"||D.pointerType===4},"pointerIsMouse");r.registerBinding(r.container,"pointerdown",function(_){De(_)||(_.preventDefault(),ye(_),Ee(_),N(_))}),r.registerBinding(r.container,"pointerup",function(_){De(_)||(Be(_),Ee(_),oe(_))}),r.registerBinding(r.container,"pointercancel",function(_){De(_)||(Be(_),Ee(_),Z(_))}),r.registerBinding(r.container,"pointermove",function(_){De(_)||(_.preventDefault(),Ce(_),Ee(_),X(_))})}};var Kr={};Kr.generatePolygon=function(r,e){return this.nodeShapes[r]={renderer:this,name:r,points:e,draw:v(function(a,n,i,s,o,l){this.renderer.nodeShapeImpl("polygon",a,n,i,s,o,this.points)},"draw"),intersectLine:v(function(a,n,i,s,o,l,u,f){return ha(o,l,this.points,a,n,i/2,s/2,u)},"intersectLine"),checkPoint:v(function(a,n,i,s,o,l,u,f){return Hr(a,n,this.points,l,u,s,o,[0,-1],i)},"checkPoint")}};Kr.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:v(function(e,t,a,n,i,s){this.renderer.nodeShapeImpl(this.name,e,t,a,n,i)},"draw"),intersectLine:v(function(e,t,a,n,i,s,o,l){return Gv(i,s,e,t,a/2+o,n/2+o)},"intersectLine"),checkPoint:v(function(e,t,a,n,i,s,o,l){return ft(e,t,n,i,s,o,a)},"checkPoint")}};Kr.generateRoundPolygon=function(r,e){return this.nodeShapes[r]={renderer:this,name:r,points:e,getOrCreateCorners:v(function(a,n,i,s,o,l,u){if(l[u]!==void 0&&l[u+"-cx"]===a&&l[u+"-cy"]===n)return l[u];l[u]=new Array(e.length/2),l[u+"-cx"]=a,l[u+"-cy"]=n;var f=i/2,c=s/2;o=o==="auto"?bo(i,s):o;for(var d=new Array(e.length/2),g=0;g<e.length/2;g++)d[g]={x:a+f*e[g*2],y:n+c*e[g*2+1]};var h,m,y,p,b=d.length;for(m=d[b-1],h=0;h<b;h++)y=d[h%b],p=d[(h+1)%b],l[u][h]=Ti(m,y,p,o),m=y,y=p;return l[u]},"getOrCreateCorners"),draw:v(function(a,n,i,s,o,l,u){this.renderer.nodeShapeImpl("round-polygon",a,n,i,s,o,this.points,this.getOrCreateCorners(n,i,s,o,l,u,"drawCorners"))},"draw"),intersectLine:v(function(a,n,i,s,o,l,u,f,c){return Kv(o,l,this.points,a,n,i,s,u,this.getOrCreateCorners(a,n,i,s,f,c,"corners"))},"intersectLine"),checkPoint:v(function(a,n,i,s,o,l,u,f,c){return Hv(a,n,this.points,l,u,s,o,this.getOrCreateCorners(l,u,s,o,f,c,"corners"))},"checkPoint")}};Kr.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:fr(4,0),draw:v(function(e,t,a,n,i,s){this.renderer.nodeShapeImpl(this.name,e,t,a,n,i,this.points,s)},"draw"),intersectLine:v(function(e,t,a,n,i,s,o,l){return yo(i,s,e,t,a,n,o,l)},"intersectLine"),checkPoint:v(function(e,t,a,n,i,s,o,l){var u=n/2,f=i/2;l=l==="auto"?gt(n,i):l,l=Math.min(u,f,l);var c=l*2;return!!(Hr(e,t,this.points,s,o,n,i-c,[0,-1],a)||Hr(e,t,this.points,s,o,n-c,i,[0,-1],a)||ft(e,t,c,c,s-u+l,o-f+l,a)||ft(e,t,c,c,s+u-l,o-f+l,a)||ft(e,t,c,c,s+u-l,o+f-l,a)||ft(e,t,c,c,s-u+l,o+f-l,a))},"checkPoint")}};Kr.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:di(),points:fr(4,0),draw:v(function(e,t,a,n,i,s){this.renderer.nodeShapeImpl(this.name,e,t,a,n,i,null,s)},"draw"),generateCutTrianglePts:v(function(e,t,a,n,i){var s=i==="auto"?this.cornerLength:i,o=t/2,l=e/2,u=a-l,f=a+l,c=n-o,d=n+o;return{topLeft:[u,c+s,u+s,c,u+s,c+s],topRight:[f-s,c,f,c+s,f-s,c+s],bottomRight:[f,d-s,f-s,d,f-s,d-s],bottomLeft:[u+s,d,u,d-s,u+s,d-s]}},"generateCutTrianglePts"),intersectLine:v(function(e,t,a,n,i,s,o,l){var u=this.generateCutTrianglePts(a+2*o,n+2*o,e,t,l),f=[].concat.apply([],[u.topLeft.splice(0,4),u.topRight.splice(0,4),u.bottomRight.splice(0,4),u.bottomLeft.splice(0,4)]);return ha(i,s,f,e,t)},"intersectLine"),checkPoint:v(function(e,t,a,n,i,s,o,l){var u=l==="auto"?this.cornerLength:l;if(Hr(e,t,this.points,s,o,n,i-2*u,[0,-1],a)||Hr(e,t,this.points,s,o,n-2*u,i,[0,-1],a))return!0;var f=this.generateCutTrianglePts(n,i,s,o);return hr(e,t,f.topLeft)||hr(e,t,f.topRight)||hr(e,t,f.bottomRight)||hr(e,t,f.bottomLeft)},"checkPoint")}};Kr.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:fr(4,0),draw:v(function(e,t,a,n,i,s){this.renderer.nodeShapeImpl(this.name,e,t,a,n,i)},"draw"),intersectLine:v(function(e,t,a,n,i,s,o,l){var u=.15,f=.5,c=.85,d=this.generateBarrelBezierPts(a+2*o,n+2*o,e,t),g=v(function(y){var p=Mt({x:y[0],y:y[1]},{x:y[2],y:y[3]},{x:y[4],y:y[5]},u),b=Mt({x:y[0],y:y[1]},{x:y[2],y:y[3]},{x:y[4],y:y[5]},f),w=Mt({x:y[0],y:y[1]},{x:y[2],y:y[3]},{x:y[4],y:y[5]},c);return[y[0],y[1],p.x,p.y,b.x,b.y,w.x,w.y,y[4],y[5]]},"approximateBarrelCurvePts"),h=[].concat(g(d.topLeft),g(d.topRight),g(d.bottomRight),g(d.bottomLeft));return ha(i,s,h,e,t)},"intersectLine"),generateBarrelBezierPts:v(function(e,t,a,n){var i=t/2,s=e/2,o=a-s,l=a+s,u=n-i,f=n+i,c=Gn(e,t),d=c.heightOffset,g=c.widthOffset,h=c.ctrlPtOffsetPct*e,m={topLeft:[o,u+d,o+h,u,o+g,u],topRight:[l-g,u,l-h,u,l,u+d],bottomRight:[l,f-d,l-h,f,l-g,f],bottomLeft:[o+g,f,o+h,f,o,f-d]};return m.topLeft.isTop=!0,m.topRight.isTop=!0,m.bottomLeft.isBottom=!0,m.bottomRight.isBottom=!0,m},"generateBarrelBezierPts"),checkPoint:v(function(e,t,a,n,i,s,o,l){var u=Gn(n,i),f=u.heightOffset,c=u.widthOffset;if(Hr(e,t,this.points,s,o,n,i-2*f,[0,-1],a)||Hr(e,t,this.points,s,o,n-2*c,i,[0,-1],a))return!0;for(var d=this.generateBarrelBezierPts(n,i,s,o),g=v(function(k,S,L){var B=L[4],M=L[2],A=L[0],P=L[5],I=L[1],R=Math.min(B,A),O=Math.max(B,A),z=Math.min(P,I),$=Math.max(P,I);if(R<=k&&k<=O&&z<=S&&S<=$){var H=Wv(B,M,A),V=Fv(H[0],H[1],H[2],k),F=V.filter(function(U){return 0<=U&&U<=1});if(F.length>0)return F[0]}return null},"getCurveT"),h=Object.keys(d),m=0;m<h.length;m++){var y=h[m],p=d[y],b=g(e,t,p);if(b!=null){var w=p[5],x=p[3],T=p[1],C=Ze(w,x,T,b);if(p.isTop&&C<=t||p.isBottom&&t<=C)return!0}}return!1},"checkPoint")}};Kr.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:fr(4,0),draw:v(function(e,t,a,n,i,s){this.renderer.nodeShapeImpl(this.name,e,t,a,n,i,this.points,s)},"draw"),intersectLine:v(function(e,t,a,n,i,s,o,l){var u=e-(a/2+o),f=t-(n/2+o),c=f,d=e+(a/2+o),g=Zr(i,s,e,t,u,f,d,c,!1);return g.length>0?g:yo(i,s,e,t,a,n,o,l)},"intersectLine"),checkPoint:v(function(e,t,a,n,i,s,o,l){l=l==="auto"?gt(n,i):l;var u=2*l;if(Hr(e,t,this.points,s,o,n,i-u,[0,-1],a)||Hr(e,t,this.points,s,o,n-u,i,[0,-1],a))return!0;var f=n/2+2*a,c=i/2+2*a,d=[s-f,o-c,s-f,o,s+f,o,s+f,o-c];return!!(hr(e,t,d)||ft(e,t,u,u,s+n/2-l,o+i/2-l,a)||ft(e,t,u,u,s-n/2+l,o+i/2-l,a))},"checkPoint")}};Kr.registerNodeShapes=function(){var r=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",fr(3,0)),this.generateRoundPolygon("round-triangle",fr(3,0)),this.generatePolygon("rectangle",fr(4,0)),r.square=r.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var t=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",t),this.generateRoundPolygon("round-diamond",t)}this.generatePolygon("pentagon",fr(5,0)),this.generateRoundPolygon("round-pentagon",fr(5,0)),this.generatePolygon("hexagon",fr(6,0)),this.generateRoundPolygon("round-hexagon",fr(6,0)),this.generatePolygon("heptagon",fr(7,0)),this.generateRoundPolygon("round-heptagon",fr(7,0)),this.generatePolygon("octagon",fr(8,0)),this.generateRoundPolygon("round-octagon",fr(8,0));var a=new Array(20);{var n=Hn(5,0),i=Hn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o<i.length/2;o++)i[o*2]*=s,i[o*2+1]*=s;for(var o=0;o<20/4;o++)a[o*4]=n[o*2],a[o*4+1]=n[o*2+1],a[o*4+2]=i[o*2],a[o*4+3]=i[o*2+1]}a=mo(a),this.generatePolygon("star",a),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l)}r.makePolygon=function(u){var f=u.join("$"),c="polygon-"+f,d;return(d=this[c])?d:e.generatePolygon(c,u)}};var ka={};ka.timeToRender=function(){return this.redrawTotalTime/this.redrawCount};ka.redraw=function(r){r=r||fo();var e=this;e.averageRedrawTime===void 0&&(e.averageRedrawTime=0),e.lastRedrawTime===void 0&&(e.lastRedrawTime=0),e.lastDrawTime===void 0&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=r};ka.beforeRender=function(r,e){if(!this.destroyed){e==null&&qe("Priority is not optional for beforeRender");var t=this.beforeRenderCallbacks;t.push({fn:r,priority:e}),t.sort(function(a,n){return n.priority-a.priority})}};var Ns=v(function(e,t,a){for(var n=e.beforeRenderCallbacks,i=0;i<n.length;i++)n[i].fn(t,a)},"beforeRenderCallbacks");ka.startRenderLoop=function(){var r=this,e=r.cy;if(!r.renderLoopStarted){r.renderLoopStarted=!0;var t=v(function a(n){if(!r.destroyed){if(!e.batching())if(r.requestedFrame&&!r.skipFrame){Ns(r,!0,n);var i=$r();r.render(r.renderOptions);var s=r.lastDrawTime=$r();r.averageRedrawTime===void 0&&(r.averageRedrawTime=s-i),r.redrawCount===void 0&&(r.redrawCount=0),r.redrawCount++,r.redrawTotalTime===void 0&&(r.redrawTotalTime=0);var o=s-i;r.redrawTotalTime+=o,r.lastRedrawTime=o,r.averageRedrawTime=r.averageRedrawTime/2+o/2,r.requestedFrame=!1}else Ns(r,!1,n);r.skipFrame=!1,_a(a)}},"renderFn");_a(t)}};var kg=v(function(e){this.init(e)},"BaseRenderer"),yu=kg,Yt=yu.prototype;Yt.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"];Yt.init=function(r){var e=this;e.options=r,e.cy=r.cy;var t=e.container=r.cy.container(),a=e.cy.window();if(a){var n=a.document,i=n.head,s="__________cytoscape_stylesheet",o="__________cytoscape_container",l=n.getElementById(s)!=null;if(t.className.indexOf(o)<0&&(t.className=(t.className||"")+" "+o),!l){var u=n.createElement("style");u.id=s,u.textContent="."+o+" { position: relative; }",i.insertBefore(u,i.children[0])}var f=a.getComputedStyle(t),c=f.getPropertyValue("position");c==="static"&&Le("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=r.showFps,e.debug=r.debug,e.hideEdgesOnViewport=r.hideEdgesOnViewport,e.textureOnViewport=r.textureOnViewport,e.wheelSensitivity=r.wheelSensitivity,e.motionBlurEnabled=r.motionBlur,e.forcedPixelRatio=ie(r.pixelRatio)?r.pixelRatio:null,e.motionBlur=r.motionBlur,e.motionBlurOpacity=r.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=r.desktopTapThreshold,e.desktopTapThreshold2=r.desktopTapThreshold*r.desktopTapThreshold,e.touchTapThreshold=r.touchTapThreshold,e.touchTapThreshold2=r.touchTapThreshold*r.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()};Yt.notify=function(r,e){var t=this,a=t.cy;if(!this.destroyed){if(r==="init"){t.load();return}if(r==="destroy"){t.destroy();return}(r==="add"||r==="remove"||r==="move"&&a.hasCompoundNodes()||r==="load"||r==="zorder"||r==="mount")&&t.invalidateCachedZSortedEles(),r==="viewport"&&t.redrawHint("select",!0),(r==="load"||r==="resize"||r==="mount")&&(t.invalidateContainerClientCoordsCache(),t.matchCanvasSize(t.container)),t.redrawHint("eles",!0),t.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}};Yt.destroy=function(){var r=this;r.destroyed=!0,r.cy.stopAnimationLoop();for(var e=0;e<r.bindings.length;e++){var t=r.bindings[e],a=t,n=a.target;(n.off||n.removeEventListener).apply(n,a.args)}if(r.bindings=[],r.beforeRenderCallbacks=[],r.onUpdateEleCalcsFns=[],r.removeObserver&&r.removeObserver.disconnect(),r.styleObserver&&r.styleObserver.disconnect(),r.resizeObserver&&r.resizeObserver.disconnect(),r.labelCalcDiv)try{document.body.removeChild(r.labelCalcDiv)}catch{}};Yt.isHeadless=function(){return!1};[Si,gu,pu,Ut,Kr,ka].forEach(function(r){we(Yt,r)});var Vn=1e3/60,mu={setupDequeueing:v(function(e){return v(function(){var a=this,n=this.renderer;if(!a.dequeueingSetup){a.dequeueingSetup=!0;var i=fn(function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()},e.deqRedrawThreshold),s=v(function(u,f){var c=$r(),d=n.averageRedrawTime,g=n.lastRedrawTime,h=[],m=n.cy.extent(),y=n.getPixelRatio();for(u||n.flushRenderedStyleQueue();;){var p=$r(),b=p-c,w=p-f;if(g<Vn){var x=Vn-(u?d:0);if(w>=e.deqFastCost*x)break}else if(u){if(b>=e.deqCost*g||b>=e.deqAvgCost*d)break}else if(w>=e.deqNoDrawCost*Vn)break;var T=e.deq(a,y,m);if(T.length>0)for(var C=0;C<T.length;C++)h.push(T[C]);else break}h.length>0&&(e.onDeqd(a,h),!u&&e.shouldRedraw(a,h,y,m)&&i())},"dequeue"),o=e.priority||li;n.beforeRender(s,o(a))}},"setupDequeueingImpl")},"setupDequeueing")},Pg=function(){function r(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ja;ni(this,r),this.idsByKey=new Ir,this.keyForId=new Ir,this.cachesByLvl=new Ir,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=t}return v(r,"ElementTextureCacheLookup"),ii(r,[{key:"getIdsFor",value:v(function(t){t==null&&qe("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Vt,a.set(t,n)),n},"getIdsFor")},{key:"addIdForKey",value:v(function(t,a){t!=null&&this.getIdsFor(t).add(a)},"addIdForKey")},{key:"deleteIdForKey",value:v(function(t,a){t!=null&&this.getIdsFor(t).delete(a)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:v(function(t){return t==null?0:this.getIdsFor(t).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:v(function(t){var a=t.id(),n=this.keyForId.get(a),i=this.getKey(t);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:v(function(t){var a=t.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:v(function(t){var a=t.id(),n=this.keyForId.get(a),i=this.getKey(t);return n!==i},"keyHasChangedFor")},{key:"isInvalid",value:v(function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)},"isInvalid")},{key:"getCachesAt",value:v(function(t){var a=this.cachesByLvl,n=this.lvls,i=a.get(t);return i||(i=new Ir,a.set(t,i),n.push(t)),i},"getCachesAt")},{key:"getCache",value:v(function(t,a){return this.getCachesAt(a).get(t)},"getCache")},{key:"get",value:v(function(t,a){var n=this.getKey(t),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(t),i},"get")},{key:"getForCachedKey",value:v(function(t,a){var n=this.keyForId.get(t.id()),i=this.getCache(n,a);return i},"getForCachedKey")},{key:"hasCache",value:v(function(t,a){return this.getCachesAt(a).has(t)},"hasCache")},{key:"has",value:v(function(t,a){var n=this.getKey(t);return this.hasCache(n,a)},"has")},{key:"setCache",value:v(function(t,a,n){n.key=t,this.getCachesAt(a).set(t,n)},"setCache")},{key:"set",value:v(function(t,a,n){var i=this.getKey(t);this.setCache(i,a,n),this.updateKeyMappingFor(t)},"set")},{key:"deleteCache",value:v(function(t,a){this.getCachesAt(a).delete(t)},"deleteCache")},{key:"delete",value:v(function(t,a){var n=this.getKey(t);this.deleteCache(n,a)},"_delete")},{key:"invalidateKey",value:v(function(t){var a=this;this.lvls.forEach(function(n){return a.deleteCache(t,n)})},"invalidateKey")},{key:"invalidate",value:v(function(t){var a=t.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(t);var i=this.doesEleInvalidateKey(t);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0},"invalidate")}]),r}(),Fs=25,$a=50,Qa=-4,ei=3,Bg=7.99,Mg=8,Lg=1024,Ag=1024,Rg=1024,Og=.2,Ig=.8,zg=10,Ng=.15,Fg=.1,Vg=.9,qg=.9,$g=100,Hg=1,Bt={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Gg=rr({getKey:null,doesEleInvalidateKey:ja,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:uo,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),sa=v(function(e,t){var a=this;a.renderer=e,a.onDequeues=[];var n=Gg(t);we(a,n),a.lookup=new Pg(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},"ElementTextureCache"),Ye=sa.prototype;Ye.reasons=Bt;Ye.getTextureQueue=function(r){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[r]=e.eleImgCaches[r]||[]};Ye.getRetiredTextureQueue=function(r){var e=this,t=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=t[r]=t[r]||[];return a};Ye.getElementQueue=function(){var r=this,e=r.eleCacheQueue=r.eleCacheQueue||new Ca(function(t,a){return a.reqs-t.reqs});return e};Ye.getElementKeyToQueue=function(){var r=this,e=r.eleKeyToCacheQueue=r.eleKeyToCacheQueue||{};return e};Ye.getElement=function(r,e,t,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!r.visible()||r.removed()||!i.allowEdgeTxrCaching&&r.isEdge()||!i.allowParentTxrCaching&&r.isParent())return null;if(a==null&&(a=Math.ceil(fi(o*t))),a<Qa)a=Qa;else if(o>=Bg||a>ei)return null;var u=Math.pow(2,a),f=e.h*u,c=e.w*u,d=s.eleTextBiggerThanMin(r,u);if(!this.isVisible(r,d))return null;var g=l.get(r,a);if(g&&g.invalidated&&(g.invalidated=!1,g.texture.invalidatedWidth-=g.width),g)return g;var h;if(f<=Fs?h=Fs:f<=$a?h=$a:h=Math.ceil(f/$a)*$a,f>Rg||c>Ag)return null;var m=i.getTextureQueue(h),y=m[m.length-2],p=v(function(){return i.recycleTexture(h,c)||i.addTexture(h,c)},"addNewTxr");y||(y=m[m.length-1]),y||(y=p()),y.width-y.usedWidth<c&&(y=p());for(var b=v(function(R){return R&&R.scaledLabelShown===d},"scalableFrom"),w=n&&n===Bt.dequeue,x=n&&n===Bt.highQuality,T=n&&n===Bt.downscale,C,E=a+1;E<=ei;E++){var k=l.get(r,E);if(k){C=k;break}}var S=C&&C.level===a+1?C:null,L=v(function(){y.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,y.usedWidth,0,c,f)},"downscale");if(y.context.setTransform(1,0,0,1,0,0),y.context.clearRect(y.usedWidth,0,c,h),b(S))L();else if(b(C))if(x){for(var B=C.level;B>a;B--)S=i.getElement(r,e,t,B,Bt.downscale);L()}else return i.queueElement(r,C.level-1),C;else{var M;if(!w&&!x&&!T)for(var A=a-1;A>=Qa;A--){var P=l.get(r,A);if(P){M=P;break}}if(b(M))return i.queueElement(r,a),M;y.context.translate(y.usedWidth,0),y.context.scale(u,u),this.drawElement(y.context,r,e,d,!1),y.context.scale(1/u,1/u),y.context.translate(-y.usedWidth,0)}return g={x:y.usedWidth,texture:y,level:a,scale:u,width:c,height:f,scaledLabelShown:d},y.usedWidth+=Math.ceil(c+Mg),y.eleCaches.push(g),l.set(r,a,g),i.checkTextureFullness(y),g};Ye.invalidateElements=function(r){for(var e=0;e<r.length;e++)this.invalidateElement(r[e])};Ye.invalidateElement=function(r){var e=this,t=e.lookup,a=[],n=t.isInvalid(r);if(n){for(var i=Qa;i<=ei;i++){var s=t.getForCachedKey(r,i);s&&a.push(s)}var o=t.invalidate(r);if(o)for(var l=0;l<a.length;l++){var u=a[l],f=u.texture;f.invalidatedWidth+=u.width,u.invalidated=!0,e.checkTextureUtility(f)}e.removeFromQueue(r)}};Ye.checkTextureUtility=function(r){r.invalidatedWidth>=Og*r.width&&this.retireTexture(r)};Ye.checkTextureFullness=function(r){var e=this,t=e.getTextureQueue(r.height);r.usedWidth/r.width>Ig&&r.fullnessChecks>=zg?jr(t,r):r.fullnessChecks++};Ye.retireTexture=function(r){var e=this,t=r.height,a=e.getTextureQueue(t),n=this.lookup;jr(a,r),r.retired=!0;for(var i=r.eleCaches,s=0;s<i.length;s++){var o=i[s];n.deleteCache(o.key,o.level)}vi(i);var l=e.getRetiredTextureQueue(t);l.push(r)};Ye.addTexture=function(r,e){var t=this,a=t.getTextureQueue(r),n={};return a.push(n),n.eleCaches=[],n.height=r,n.width=Math.max(Lg,e),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=t.renderer.makeOffscreenCanvas(n.width,n.height),n.context=n.canvas.getContext("2d"),n};Ye.recycleTexture=function(r,e){for(var t=this,a=t.getTextureQueue(r),n=t.getRetiredTextureQueue(r),i=0;i<n.length;i++){var s=n[i];if(s.width>=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,vi(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),jr(n,s),a.push(s),s}};Ye.queueElement=function(r,e){var t=this,a=t.getElementQueue(),n=t.getElementKeyToQueue(),i=this.getKey(r),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(r),s.reqs++,a.updateItem(s);else{var o={eles:r.spawn().merge(r),level:e,reqs:1,key:i};a.push(o),n[i]=o}};Ye.dequeue=function(r){for(var e=this,t=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s<Hg&&t.size()>0;s++){var o=t.pop(),l=o.key,u=o.eles[0],f=i.hasCache(u,o.level);if(a[l]=null,f)continue;n.push(o);var c=e.getBoundingBox(u);e.getElement(u,c,r,o.level,Bt.dequeue)}return n};Ye.removeFromQueue=function(r){var e=this,t=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(r),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=ui,t.updateItem(i),t.pop(),a[n]=null):i.eles.unmerge(r))};Ye.onDequeue=function(r){this.onDequeues.push(r)};Ye.offDequeue=function(r){jr(this.onDequeues,r)};Ye.setupDequeueing=mu.setupDequeueing({deqRedrawThreshold:$g,deqCost:Ng,deqAvgCost:Fg,deqNoDrawCost:Vg,deqFastCost:qg,deq:v(function(e,t,a){return e.dequeue(t,a)},"deq"),onDeqd:v(function(e,t){for(var a=0;a<e.onDequeues.length;a++){var n=e.onDequeues[a];n(t)}},"onDeqd"),shouldRedraw:v(function(e,t,a,n){for(var i=0;i<t.length;i++)for(var s=t[i].eles,o=0;o<s.length;o++){var l=s[o].boundingBox();if(ci(l,n))return!0}return!1},"shouldRedraw"),priority:v(function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq},"priority")});var Kg=1,ua=-4,un=2,Wg=3.99,Ug=50,Yg=50,Xg=.15,Zg=.1,Qg=.9,Jg=.9,_g=1,Vs=250,jg=4e3*4e3,ep=!0,bu=v(function(e){var t=this,a=t.renderer=e,n=a.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=$r()-2*Vs,t.skipping=!1,t.eleTxrDeqs=n.collection(),t.scheduleElementRefinement=fn(function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)},Yg),a.beforeRender(function(s,o){o-t.lastInvalidationTime<=Vs?t.skipping=!0:t.skipping=!1},a.beforeRenderPriorities.lyrTxrSkip);var i=v(function(o,l){return l.reqs-o.reqs},"qSort");t.layersQueue=new Ca(i),t.setupDequeueing()},"LayeredTextureCache"),tr=bu.prototype,qs=0,rp=Math.pow(2,53)-1;tr.makeLayer=function(r,e){var t=Math.pow(2,e),a=Math.ceil(r.w*t),n=Math.ceil(r.h*t),i=this.renderer.makeOffscreenCanvas(a,n),s={id:qs=++qs%rp,bb:r,level:e,width:a,height:n,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},o=s.context,l=-s.bb.x1,u=-s.bb.y1;return o.scale(t,t),o.translate(l,u),s};tr.getLayers=function(r,e,t){var a=this,n=a.renderer,i=n.cy,s=i.zoom(),o=a.firstGet;if(a.firstGet=!1,t==null){if(t=Math.ceil(fi(s*e)),t<ua)t=ua;else if(s>=Wg||t>un)return null}a.validateLayersElesOrdering(t,r);var l=a.layersByLevel,u=Math.pow(2,t),f=l[t]=l[t]||[],c,d=a.levelIsComplete(t,r),g,h=v(function(){var L=v(function(I){if(a.validateLayersElesOrdering(I,r),a.levelIsComplete(I,r))return g=l[I],!0},"canUseAsTmpLvl"),B=v(function(I){if(!g)for(var R=t+I;ua<=R&&R<=un&&!L(R);R+=I);},"checkLvls");B(1),B(-1);for(var M=f.length-1;M>=0;M--){var A=f[M];A.invalid&&jr(f,A)}},"checkTempLevels");if(!d)h();else return f;var m=v(function(){if(!c){c=gr();for(var L=0;L<r.length;L++)go(c,r[L].boundingBox())}return c},"getBb"),y=v(function(L){L=L||{};var B=L.after;m();var M=c.w*u*(c.h*u);if(M>jg)return null;var A=a.makeLayer(c,t);if(B!=null){var P=f.indexOf(B)+1;f.splice(P,0,A)}else(L.insert===void 0||L.insert)&&f.unshift(A);return A},"makeLayer");if(a.skipping&&!o)return null;for(var p=null,b=r.length/Kg,w=!o,x=0;x<r.length;x++){var T=r[x],C=T._private.rscratch,E=C.imgLayerCaches=C.imgLayerCaches||{},k=E[t];if(k){p=k;continue}if((!p||p.eles.length>=b||!po(p.bb,T.boundingBox()))&&(p=y({insert:!0,after:p}),!p))return null;g||w?a.queueLayer(p,T):a.drawEleInLayer(p,T,t,e),p.eles.push(T),E[t]=p}return g||(w?null:f)};tr.getEleLevelForLayerLevel=function(r,e){return r};tr.drawEleInLayer=function(r,e,t,a){var n=this,i=this.renderer,s=r.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(t=n.getEleLevelForLayerLevel(t,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,t,ep),i.setImgSmoothing(s,!0))};tr.levelIsComplete=function(r,e){var t=this,a=t.layersByLevel[r];if(!a||a.length===0)return!1;for(var n=0,i=0;i<a.length;i++){var s=a[i];if(s.reqs>0||s.invalid)return!1;n+=s.eles.length}return n===e.length};tr.validateLayersElesOrdering=function(r,e){var t=this.layersByLevel[r];if(t)for(var a=0;a<t.length;a++){for(var n=t[a],i=-1,s=0;s<e.length;s++)if(n.eles[0]===e[s]){i=s;break}if(i<0){this.invalidateLayer(n);continue}for(var o=i,s=0;s<n.eles.length;s++)if(n.eles[s]!==e[o+s]){this.invalidateLayer(n);break}}};tr.updateElementsInLayers=function(r,e){for(var t=this,a=xa(r[0]),n=0;n<r.length;n++)for(var i=a?null:r[n],s=a?r[n]:r[n].ele,o=s._private.rscratch,l=o.imgLayerCaches=o.imgLayerCaches||{},u=ua;u<=un;u++){var f=l[u];f&&(i&&t.getEleLevelForLayerLevel(f.level)!==i.level||e(f,s,i))}};tr.haveLayers=function(){for(var r=this,e=!1,t=ua;t<=un;t++){var a=r.layersByLevel[t];if(a&&a.length>0){e=!0;break}}return e};tr.invalidateElements=function(r){var e=this;r.length!==0&&(e.lastInvalidationTime=$r(),!(r.length===0||!e.haveLayers())&&e.updateElementsInLayers(r,v(function(a,n,i){e.invalidateLayer(a)},"invalAssocLayers")))};tr.invalidateLayer=function(r){if(this.lastInvalidationTime=$r(),!r.invalid){var e=r.level,t=r.eles,a=this.layersByLevel[e];jr(a,r),r.elesQueue=[],r.invalid=!0,r.replacement&&(r.replacement.invalid=!0);for(var n=0;n<t.length;n++){var i=t[n]._private.rscratch.imgLayerCaches;i&&(i[e]=null)}}};tr.refineElementTextures=function(r){var e=this;e.updateElementsInLayers(r,v(function(a,n,i){var s=a.replacement;if(s||(s=a.replacement=e.makeLayer(a.bb,a.level),s.replaces=a,s.eles=a.eles),!s.reqs)for(var o=0;o<s.eles.length;o++)e.queueLayer(s,s.eles[o])},"refineEachEle"))};tr.enqueueElementRefinement=function(r){this.eleTxrDeqs.merge(r),this.scheduleElementRefinement()};tr.queueLayer=function(r,e){var t=this,a=t.layersQueue,n=r.elesQueue,i=n.hasId=n.hasId||{};if(!r.replacement){if(e){if(i[e.id()])return;n.push(e),i[e.id()]=!0}r.reqs?(r.reqs++,a.updateItem(r)):(r.reqs=1,a.push(r))}};tr.dequeue=function(r){for(var e=this,t=e.layersQueue,a=[],n=0;n<_g&&t.size()!==0;){var i=t.peek();if(i.replacement){t.pop();continue}if(i.replaces&&i!==i.replaces.replacement){t.pop();continue}if(i.invalid){t.pop();continue}var s=i.elesQueue.shift();s&&(e.drawEleInLayer(i,s,i.level,r),n++),a.length===0&&a.push(!0),i.elesQueue.length===0&&(t.pop(),i.reqs=0,i.replaces&&e.applyLayerReplacement(i),e.requestRedraw())}return a};tr.applyLayerReplacement=function(r){var e=this,t=e.layersByLevel[r.level],a=r.replaces,n=t.indexOf(a);if(!(n<0||a.invalid)){t[n]=r;for(var i=0;i<r.eles.length;i++){var s=r.eles[i]._private,o=s.imgLayerCaches=s.imgLayerCaches||{};o&&(o[r.level]=r)}e.requestRedraw()}};tr.requestRedraw=fn(function(){var r=this.renderer;r.redrawHint("eles",!0),r.redrawHint("drag",!0),r.redraw()},100);tr.setupDequeueing=mu.setupDequeueing({deqRedrawThreshold:Ug,deqCost:Xg,deqAvgCost:Zg,deqNoDrawCost:Qg,deqFastCost:Jg,deq:v(function(e,t){return e.dequeue(t)},"deq"),onDeqd:li,shouldRedraw:uo,priority:v(function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq},"priority")});var wu={},$s;function tp(r,e){for(var t=0;t<e.length;t++){var a=e[t];r.lineTo(a.x,a.y)}}v(tp,"polygon");function ap(r,e,t){for(var a,n=0;n<e.length;n++){var i=e[n];n===0&&(a=i),r.lineTo(i.x,i.y)}r.quadraticCurveTo(t.x,t.y,a.x,a.y)}v(ap,"triangleBackcurve");function Hs(r,e,t){r.beginPath&&r.beginPath();for(var a=e,n=0;n<a.length;n++){var i=a[n];r.lineTo(i.x,i.y)}var s=t,o=t[0];r.moveTo(o.x,o.y);for(var n=1;n<s.length;n++){var i=s[n];r.lineTo(i.x,i.y)}r.closePath&&r.closePath()}v(Hs,"triangleTee");function np(r,e,t,a,n){r.beginPath&&r.beginPath(),r.arc(t,a,n,0,Math.PI*2,!1);var i=e,s=i[0];r.moveTo(s.x,s.y);for(var o=0;o<i.length;o++){var l=i[o];r.lineTo(l.x,l.y)}r.closePath&&r.closePath()}v(np,"circleTriangle");function ip(r,e,t,a){r.arc(e,t,a,0,Math.PI*2,!1)}v(ip,"circle");wu.arrowShapeImpl=function(r){return($s||($s={polygon:tp,"triangle-backcurve":ap,"triangle-tee":Hs,"circle-triangle":np,"triangle-cross":Hs,circle:ip}))[r]};var Fr={};Fr.drawElement=function(r,e,t,a,n,i){var s=this;e.isNode()?s.drawNode(r,e,t,a,n,i):s.drawEdge(r,e,t,a,n,i)};Fr.drawElementOverlay=function(r,e){var t=this;e.isNode()?t.drawNodeOverlay(r,e):t.drawEdgeOverlay(r,e)};Fr.drawElementUnderlay=function(r,e){var t=this;e.isNode()?t.drawNodeUnderlay(r,e):t.drawEdgeUnderlay(r,e)};Fr.drawCachedElementPortion=function(r,e,t,a,n,i,s,o){var l=this,u=t.getBoundingBox(e);if(!(u.w===0||u.h===0)){var f=t.getElement(e,u,a,n,i);if(f!=null){var c=o(l,e);if(c===0)return;var d=s(l,e),g=u.x1,h=u.y1,m=u.w,y=u.h,p,b,w,x,T;if(d!==0){var C=t.getRotationPoint(e);w=C.x,x=C.y,r.translate(w,x),r.rotate(d),T=l.getImgSmoothing(r),T||l.setImgSmoothing(r,!0);var E=t.getRotationOffset(e);p=E.x,b=E.y}else p=g,b=h;var k;c!==1&&(k=r.globalAlpha,r.globalAlpha=k*c),r.drawImage(f.texture.canvas,f.x,0,f.width,f.height,p,b,m,y),c!==1&&(r.globalAlpha=k),d!==0&&(r.rotate(-d),r.translate(-w,-x),T||l.setImgSmoothing(r,!1))}else t.drawElement(r,e)}};var sp=v(function(){return 0},"getZeroRotation"),op=v(function(e,t){return e.getTextAngle(t,null)},"getLabelRotation"),up=v(function(e,t){return e.getTextAngle(t,"source")},"getSourceLabelRotation"),lp=v(function(e,t){return e.getTextAngle(t,"target")},"getTargetLabelRotation"),vp=v(function(e,t){return t.effectiveOpacity()},"getOpacity"),qn=v(function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()},"getTextOpacity");Fr.drawCachedElement=function(r,e,t,a,n,i){var s=this,o=s.data,l=o.eleTxrCache,u=o.lblTxrCache,f=o.slbTxrCache,c=o.tlbTxrCache,d=e.boundingBox(),g=i===!0?l.reasons.highQuality:null;if(!(d.w===0||d.h===0||!e.visible())&&(!a||ci(d,a))){var h=e.isEdge(),m=e.element()._private.rscratch.badLine;s.drawElementUnderlay(r,e),s.drawCachedElementPortion(r,e,l,t,n,g,sp,vp),(!h||!m)&&s.drawCachedElementPortion(r,e,u,t,n,g,op,qn),h&&!m&&(s.drawCachedElementPortion(r,e,f,t,n,g,up,qn),s.drawCachedElementPortion(r,e,c,t,n,g,lp,qn)),s.drawElementOverlay(r,e)}};Fr.drawElements=function(r,e){for(var t=this,a=0;a<e.length;a++){var n=e[a];t.drawElement(r,n)}};Fr.drawCachedElements=function(r,e,t,a){for(var n=this,i=0;i<e.length;i++){var s=e[i];n.drawCachedElement(r,s,t,a)}};Fr.drawCachedNodes=function(r,e,t,a){for(var n=this,i=0;i<e.length;i++){var s=e[i];s.isNode()&&n.drawCachedElement(r,s,t,a)}};Fr.drawLayeredElements=function(r,e,t,a){var n=this,i=n.data.lyrTxrCache.getLayers(e,t);if(i)for(var s=0;s<i.length;s++){var o=i[s],l=o.bb;l.w===0||l.h===0||r.drawImage(o.canvas,l.x1,l.y1,l.w,l.h)}else n.drawCachedElements(r,e,t,a)};var Wr={};Wr.drawEdge=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;t&&(l=t,r.translate(-l.x1,-l.y1));var u=i?e.pstyle("opacity").value:1,f=i?e.pstyle("line-opacity").value:1,c=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,g=e.pstyle("width").pfValue,h=e.pstyle("line-cap").value,m=e.pstyle("line-outline-width").value,y=e.pstyle("line-outline-color").value,p=u*f,b=u*f,w=v(function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;c==="straight-triangle"?(s.eleStrokeStyle(r,e,I),s.drawEdgeTrianglePath(e,r,o.allpts)):(r.lineWidth=g,r.lineCap=h,s.eleStrokeStyle(r,e,I),s.drawEdgePath(e,r,o.allpts,d),r.lineCap="butt")},"drawLine"),x=v(function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;if(r.lineWidth=g+m,r.lineCap=h,m>0)s.colorStrokeStyle(r,y[0],y[1],y[2],I);else{r.lineCap="butt";return}c==="straight-triangle"?s.drawEdgeTrianglePath(e,r,o.allpts):(s.drawEdgePath(e,r,o.allpts,d),r.lineCap="butt")},"drawLineOutline"),T=v(function(){n&&s.drawEdgeOverlay(r,e)},"drawOverlay"),C=v(function(){n&&s.drawEdgeUnderlay(r,e)},"drawUnderlay"),E=v(function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(r,e,I)},"drawArrows"),k=v(function(){s.drawElementText(r,e,null,a)},"drawText");r.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var L=e.pstyle("ghost-offset-x").pfValue,B=e.pstyle("ghost-offset-y").pfValue,M=e.pstyle("ghost-opacity").value,A=p*M;r.translate(L,B),w(A),E(A),r.translate(-L,-B)}else x();C(),w(),E(),T(),k(),t&&r.translate(l.x1,l.y1)}};var xu=v(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,l=a.pstyle("".concat(e,"-padding")).pfValue,u=2*l,f=a.pstyle("".concat(e,"-color")).value;t.lineWidth=u,o.edgeType==="self"&&!s?t.lineCap="butt":t.lineCap="round",i.colorStrokeStyle(t,f[0],f[1],f[2],n),i.drawEdgePath(a,t,o.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Wr.drawEdgeOverlay=xu("overlay");Wr.drawEdgeUnderlay=xu("underlay");Wr.drawEdgePath=function(r,e,t,a){var n=r._private.rscratch,i=e,s,o=!1,l=this.usePaths(),u=r.pstyle("line-dash-pattern").pfValue,f=r.pstyle("line-dash-offset").pfValue;if(l){var c=t.join("$"),d=n.pathCacheKey&&n.pathCacheKey===c;d?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=c,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(u),i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(t[0],t[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var g=2;g+3<t.length;g+=4)e.quadraticCurveTo(t[g],t[g+1],t[g+2],t[g+3]);break;case"straight":case"haystack":for(var h=2;h+1<t.length;h+=2)e.lineTo(t[h],t[h+1]);break;case"segments":if(n.isRound){var m=Xs(n.roundCorners),y;try{for(m.s();!(y=m.n()).done;){var p=y.value;vu(e,p)}}catch(w){m.e(w)}finally{m.f()}e.lineTo(t[t.length-2],t[t.length-1])}else for(var b=2;b+1<t.length;b+=2)e.lineTo(t[b],t[b+1]);break}e=i,l?e.stroke(s):e.stroke(),e.setLineDash&&e.setLineDash([])};Wr.drawEdgeTrianglePath=function(r,e,t){e.fillStyle=e.strokeStyle;for(var a=r.pstyle("width").pfValue,n=0;n+1<t.length;n+=2){var i=[t[n+2]-t[n],t[n+3]-t[n+1]],s=Math.sqrt(i[0]*i[0]+i[1]*i[1]),o=[i[1]/s,-i[0]/s],l=[o[0]*a/2,o[1]*a/2];e.beginPath(),e.moveTo(t[n]-l[0],t[n+1]-l[1]),e.lineTo(t[n]+l[0],t[n+1]+l[1]),e.lineTo(t[n+2],t[n+3]),e.closePath(),e.fill()}};Wr.drawArrowheads=function(r,e,t){var a=e._private.rscratch,n=a.edgeType==="haystack";n||this.drawArrowhead(r,e,"source",a.arrowStartX,a.arrowStartY,a.srcArrowAngle,t),this.drawArrowhead(r,e,"mid-target",a.midX,a.midY,a.midtgtArrowAngle,t),this.drawArrowhead(r,e,"mid-source",a.midX,a.midY,a.midsrcArrowAngle,t),n||this.drawArrowhead(r,e,"target",a.arrowEndX,a.arrowEndY,a.tgtArrowAngle,t)};Wr.drawArrowhead=function(r,e,t,a,n,i,s){if(!(isNaN(a)||a==null||isNaN(n)||n==null||isNaN(i)||i==null)){var o=this,l=e.pstyle(t+"-arrow-shape").value;if(l!=="none"){var u=e.pstyle(t+"-arrow-fill").value==="hollow"?"both":"filled",f=e.pstyle(t+"-arrow-fill").value,c=e.pstyle("width").pfValue,d=e.pstyle(t+"-arrow-width"),g=d.value==="match-line"?c:d.pfValue;d.units==="%"&&(g*=c);var h=e.pstyle("opacity").value;s===void 0&&(s=h);var m=r.globalCompositeOperation;(s!==1||f==="hollow")&&(r.globalCompositeOperation="destination-out",o.colorFillStyle(r,255,255,255,1),o.colorStrokeStyle(r,255,255,255,1),o.drawArrowShape(e,r,u,c,l,g,a,n,i),r.globalCompositeOperation=m);var y=e.pstyle(t+"-arrow-color").value;o.colorFillStyle(r,y[0],y[1],y[2],s),o.colorStrokeStyle(r,y[0],y[1],y[2],s),o.drawArrowShape(e,r,f,c,l,g,a,n,i)}}};Wr.drawArrowShape=function(r,e,t,a,n,i,s,o,l){var u=this,f=this.usePaths()&&n!=="triangle-cross",c=!1,d,g=e,h={x:s,y:o},m=r.pstyle("arrow-scale").value,y=this.getArrowWidth(a,m),p=u.arrowShapes[n];if(f){var b=u.arrowPathCache=u.arrowPathCache||[],w=dt(n),x=b[w];x!=null?(d=e=x,c=!0):(d=e=new Path2D,b[w]=d)}c||(e.beginPath&&e.beginPath(),f?p.draw(e,1,0,{x:0,y:0},1):p.draw(e,y,l,h,a),e.closePath&&e.closePath()),e=g,f&&(e.translate(s,o),e.rotate(l),e.scale(y,y)),(t==="filled"||t==="both")&&(f?e.fill(d):e.fill()),(t==="hollow"||t==="both")&&(e.lineWidth=i/(f?y:1),e.lineJoin="miter",f?e.stroke(d):e.stroke()),f&&(e.scale(1/y,1/y),e.rotate(-l),e.translate(-s,-o))};var ki={};ki.safeDrawImage=function(r,e,t,a,n,i,s,o,l,u){if(!(n<=0||i<=0||l<=0||u<=0))try{r.drawImage(e,t,a,n,i,s,o,l,u)}catch(f){Le(f)}};ki.drawInscribedImage=function(r,e,t,a,n){var i=this,s=t.position(),o=s.x,l=s.y,u=t.cy().style(),f=u.getIndexedStyle.bind(u),c=f(t,"background-fit","value",a),d=f(t,"background-repeat","value",a),g=t.width(),h=t.height(),m=t.padding()*2,y=g+(f(t,"background-width-relative-to","value",a)==="inner"?0:m),p=h+(f(t,"background-height-relative-to","value",a)==="inner"?0:m),b=t._private.rscratch,w=f(t,"background-clip","value",a),x=w==="node",T=f(t,"background-image-opacity","value",a)*n,C=f(t,"background-image-smoothing","value",a),E=t.pstyle("corner-radius").value;E!=="auto"&&(E=t.pstyle("corner-radius").pfValue);var k=e.width||e.cachedW,S=e.height||e.cachedH;(k==null||S==null)&&(document.body.appendChild(e),k=e.cachedW=e.width||e.offsetWidth,S=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var L=k,B=S;if(f(t,"background-width","value",a)!=="auto"&&(f(t,"background-width","units",a)==="%"?L=f(t,"background-width","pfValue",a)*y:L=f(t,"background-width","pfValue",a)),f(t,"background-height","value",a)!=="auto"&&(f(t,"background-height","units",a)==="%"?B=f(t,"background-height","pfValue",a)*p:B=f(t,"background-height","pfValue",a)),!(L===0||B===0)){if(c==="contain"){var M=Math.min(y/L,p/B);L*=M,B*=M}else if(c==="cover"){var M=Math.max(y/L,p/B);L*=M,B*=M}var A=o-y/2,P=f(t,"background-position-x","units",a),I=f(t,"background-position-x","pfValue",a);P==="%"?A+=(y-L)*I:A+=I;var R=f(t,"background-offset-x","units",a),O=f(t,"background-offset-x","pfValue",a);R==="%"?A+=(y-L)*O:A+=O;var z=l-p/2,$=f(t,"background-position-y","units",a),H=f(t,"background-position-y","pfValue",a);$==="%"?z+=(p-B)*H:z+=H;var V=f(t,"background-offset-y","units",a),F=f(t,"background-offset-y","pfValue",a);V==="%"?z+=(p-B)*F:z+=F,b.pathCache&&(A-=o,z-=l,o=0,l=0);var U=r.globalAlpha;r.globalAlpha=T;var J=i.getImgSmoothing(r),j=!1;if(C==="no"&&J?(i.setImgSmoothing(r,!1),j=!0):C==="yes"&&!J&&(i.setImgSmoothing(r,!0),j=!0),d==="no-repeat")x&&(r.save(),b.pathCache?r.clip(b.pathCache):(i.nodeShapes[i.getNodeShape(t)].draw(r,o,l,y,p,E,b),r.clip())),i.safeDrawImage(r,e,0,0,k,S,A,z,L,B),x&&r.restore();else{var ee=r.createPattern(e,d);r.fillStyle=ee,i.nodeShapes[i.getNodeShape(t)].draw(r,o,l,y,p,E,b),r.translate(A,z),r.fill(),r.translate(-A,-z)}r.globalAlpha=U,j&&i.setImgSmoothing(r,J)}};var wt={};wt.eleTextBiggerThanMin=function(r,e){if(!e){var t=r.cy().zoom(),a=this.getPixelRatio(),n=Math.ceil(fi(t*a));e=Math.pow(2,n)}var i=r.pstyle("font-size").pfValue*e,s=r.pstyle("min-zoomed-font-size").pfValue;return!(i<s)};wt.drawElementText=function(r,e,t,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);r.textAlign=l,r.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,f=e.pstyle("label"),c=e.pstyle("source-label"),d=e.pstyle("target-label");if(u||(!f||!f.value)&&(!c||!c.value)&&(!d||!d.value))return;r.textAlign="center",r.textBaseline="bottom"}var g=!t,h;t&&(h=t,r.translate(-h.x1,-h.y1)),n==null?(s.drawText(r,e,null,g,i),e.isEdge()&&(s.drawText(r,e,"source",g,i),s.drawText(r,e,"target",g,i))):s.drawText(r,e,n,g,i),t&&r.translate(h.x1,h.y1)};wt.getFontCache=function(r){var e;this.fontCaches=this.fontCaches||[];for(var t=0;t<this.fontCaches.length;t++)if(e=this.fontCaches[t],e.context===r)return e;return e={context:r},this.fontCaches.push(e),e};wt.setupTextStyle=function(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=t?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;r.font=a+" "+s+" "+n+" "+i,r.lineJoin="round",this.colorFillStyle(r,u[0],u[1],u[2],o),this.colorStrokeStyle(r,f[0],f[1],f[2],l)};function $n(r,e,t,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;r.beginPath(),r.moveTo(e+i,t),r.lineTo(e+a-i,t),r.quadraticCurveTo(e+a,t,e+a,t+i),r.lineTo(e+a,t+n-i),r.quadraticCurveTo(e+a,t+n,e+a-i,t+n),r.lineTo(e+i,t+n),r.quadraticCurveTo(e,t+n,e,t+n-i),r.lineTo(e,t+i),r.quadraticCurveTo(e,t,e+i,t),r.closePath(),s?r.stroke():r.fill()}v($n,"roundRect");wt.getTextAngle=function(r,e){var t,a=r._private,n=a.rscratch,i=e?e+"-":"",s=r.pstyle(i+"text-rotation"),o=Pr(n,"labelAngle",e);return s.strValue==="autorotate"?t=r.isEdge()?o:0:s.strValue==="none"?t=0:t=s.pfValue,t};wt.drawText=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){t==="main"&&(t=null);var l=Pr(s,"labelX",t),u=Pr(s,"labelY",t),f,c,d=this.getLabelText(e,t);if(d!=null&&d!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(r,e,n);var g=t?t+"-":"",h=Pr(s,"labelWidth",t),m=Pr(s,"labelHeight",t),y=e.pstyle(g+"text-margin-x").pfValue,p=e.pstyle(g+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,x=e.pstyle("text-valign").value;b&&(w="center",x="center"),l+=y,u+=p;var T;switch(a?T=this.getTextAngle(e,t):T=0,T!==0&&(f=l,c=u,r.translate(f,c),r.rotate(T),l=0,u=0),x){case"top":break;case"center":u+=m/2;break;case"bottom":u+=m;break}var C=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,k=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,L=e.pstyle("text-background-shape").strValue,B=L.indexOf("round")===0,M=2;if(C>0||k>0&&E>0){var A=l-S;switch(w){case"left":A-=h;break;case"center":A-=h/2;break}var P=u-m-S,I=h+2*S,R=m+2*S;if(C>0){var O=r.fillStyle,z=e.pstyle("text-background-color").value;r.fillStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+C*o+")",B?$n(r,A,P,I,R,M):r.fillRect(A,P,I,R),r.fillStyle=O}if(k>0&&E>0){var $=r.strokeStyle,H=r.lineWidth,V=e.pstyle("text-border-color").value,F=e.pstyle("text-border-style").value;if(r.strokeStyle="rgba("+V[0]+","+V[1]+","+V[2]+","+E*o+")",r.lineWidth=k,r.setLineDash)switch(F){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash([4,2]);break;case"double":r.lineWidth=k/4,r.setLineDash([]);break;case"solid":r.setLineDash([]);break}if(B?$n(r,A,P,I,R,M,"stroke"):r.strokeRect(A,P,I,R),F==="double"){var U=k/2;B?$n(r,A+U,P+U,I-U*2,R-U*2,M,"stroke"):r.strokeRect(A+U,P+U,I-U*2,R-U*2)}r.setLineDash&&r.setLineDash([]),r.lineWidth=H,r.strokeStyle=$}}var J=2*e.pstyle("text-outline-width").pfValue;if(J>0&&(r.lineWidth=J),e.pstyle("text-wrap").value==="wrap"){var j=Pr(s,"labelWrapCachedLines",t),ee=Pr(s,"labelLineHeight",t),re=h/2,Y=this.getLabelJustification(e);switch(Y==="auto"||(w==="left"?Y==="left"?l+=-h:Y==="center"&&(l+=-re):w==="center"?Y==="left"?l+=-re:Y==="right"&&(l+=re):w==="right"&&(Y==="center"?l+=re:Y==="right"&&(l+=h))),x){case"top":u-=(j.length-1)*ee;break;case"center":case"bottom":u-=(j.length-1)*ee;break}for(var N=0;N<j.length;N++)J>0&&r.strokeText(j[N],l,u),r.fillText(j[N],l,u),u+=ee}else J>0&&r.strokeText(d,l,u),r.fillText(d,l,u);T!==0&&(r.rotate(-T),r.translate(-f,-c))}}};var Xt={};Xt.drawNode=function(r,e,t){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,f=u.rscratch,c=e.position();if(!(!ie(c.x)||!ie(c.y))&&!(i&&!e.visible())){var d=i?e.effectiveOpacity():1,g=s.usePaths(),h,m=!1,y=e.padding();o=e.width()+2*y,l=e.height()+2*y;var p;t&&(p=t,r.translate(-p.x1,-p.y1));for(var b=e.pstyle("background-image"),w=b.value,x=new Array(w.length),T=new Array(w.length),C=0,E=0;E<w.length;E++){var k=w[E],S=x[E]=k!=null&&k!=="none";if(S){var L=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",E);C++,T[E]=s.getCachedImage(k,L,function(){u.backgroundTimestamp=Date.now(),e.emitAndNotify("background")})}}var B=e.pstyle("background-blacken").value,M=e.pstyle("border-width").pfValue,A=e.pstyle("background-opacity").value*d,P=e.pstyle("border-color").value,I=e.pstyle("border-style").value,R=e.pstyle("border-join").value,O=e.pstyle("border-cap").value,z=e.pstyle("border-position").value,$=e.pstyle("border-dash-pattern").pfValue,H=e.pstyle("border-dash-offset").pfValue,V=e.pstyle("border-opacity").value*d,F=e.pstyle("outline-width").pfValue,U=e.pstyle("outline-color").value,J=e.pstyle("outline-style").value,j=e.pstyle("outline-opacity").value*d,ee=e.pstyle("outline-offset").value,re=e.pstyle("corner-radius").value;re!=="auto"&&(re=e.pstyle("corner-radius").pfValue);var Y=v(function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:A;s.eleFillStyle(r,e,ae)},"setupShapeColor"),N=v(function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:V;s.colorStrokeStyle(r,P[0],P[1],P[2],ae)},"setupBorderColor"),X=v(function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j;s.colorStrokeStyle(r,U[0],U[1],U[2],ae)},"setupOutlineColor"),Z=v(function(ae,W,te,me){var be=s.nodePathCache=s.nodePathCache||[],ce=oo(te==="polygon"?te+","+me.join(","):te,""+W,""+ae,""+re),xe=be[ce],ve,pe=!1;return xe!=null?(ve=xe,pe=!0,f.pathCache=ve):(ve=new Path2D,be[ce]=f.pathCache=ve),{path:ve,cacheHit:pe}},"getPath"),oe=e.pstyle("shape").strValue,ge=e.pstyle("shape-polygon-points").pfValue;if(g){r.translate(c.x,c.y);var ne=Z(o,l,oe,ge);h=ne.path,m=ne.cacheHit}var se=v(function(){if(!m){var ae=c;g&&(ae={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(h||r,ae.x,ae.y,o,l,re,f)}g?r.fill(h):r.fill()},"drawShape"),le=v(function(){for(var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,te=u.backgrounding,me=0,be=0;be<T.length;be++){var ce=e.cy().style().getIndexedStyle(e,"background-image-containment","value",be);if(W&&ce==="over"||!W&&ce==="inside"){me++;continue}x[be]&&T[be].complete&&!T[be].error&&(me++,s.drawInscribedImage(r,T[be],e,be,ae))}u.backgrounding=me!==C,te!==u.backgrounding&&e.updateStyle(!1)},"drawImages"),de=v(function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:d;s.hasPie(e)&&(s.drawPie(r,e,W),ae&&(g||s.nodeShapes[s.getNodeShape(e)].draw(r,c.x,c.y,o,l,re,f)))},"drawPie"),fe=v(function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,W=(B>0?B:-B)*ae,te=B>0?0:255;B!==0&&(s.colorFillStyle(r,te,te,te,W),g?r.fill(h):r.fill())},"darken"),ye=v(function(){if(M>0){if(r.lineWidth=M,r.lineCap=O,r.lineJoin=R,r.setLineDash)switch(I){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash($),r.lineDashOffset=H;break;case"solid":case"double":r.setLineDash([]);break}if(z!=="center"){if(r.save(),r.lineWidth*=2,z==="inside")g?r.clip(h):r.clip();else{var ae=new Path2D;ae.rect(-o/2-M,-l/2-M,o+2*M,l+2*M),ae.addPath(h),r.clip(ae,"evenodd")}g?r.stroke(h):r.stroke(),r.restore()}else g?r.stroke(h):r.stroke();if(I==="double"){r.lineWidth=M/3;var W=r.globalCompositeOperation;r.globalCompositeOperation="destination-out",g?r.stroke(h):r.stroke(),r.globalCompositeOperation=W}r.setLineDash&&r.setLineDash([])}},"drawBorder"),Be=v(function(){if(F>0){if(r.lineWidth=F,r.lineCap="butt",r.setLineDash)switch(J){case"dotted":r.setLineDash([1,1]);break;case"dashed":r.setLineDash([4,2]);break;case"solid":case"double":r.setLineDash([]);break}var ae=c;g&&(ae={x:0,y:0});var W=s.getNodeShape(e),te=M;z==="inside"&&(te=0),z==="outside"&&(te*=2);var me=(o+te+(F+ee))/o,be=(l+te+(F+ee))/l,ce=o*me,xe=l*be,ve=s.nodeShapes[W].points,pe;if(g){var Fe=Z(ce,xe,W,ve);pe=Fe.path}if(W==="ellipse")s.drawEllipsePath(pe||r,ae.x,ae.y,ce,xe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(W)){var Re=0,lr=0,Qe=0;W==="round-diamond"?Re=(te+ee+F)*1.4:W==="round-heptagon"?(Re=(te+ee+F)*1.075,Qe=-(te/2+ee+F)/35):W==="round-hexagon"?Re=(te+ee+F)*1.12:W==="round-pentagon"?(Re=(te+ee+F)*1.13,Qe=-(te/2+ee+F)/15):W==="round-tag"?(Re=(te+ee+F)*1.12,lr=(te/2+F+ee)*.07):W==="round-triangle"&&(Re=(te+ee+F)*(Math.PI/2),Qe=-(te+ee/2+F)/Math.PI),Re!==0&&(me=(o+Re)/o,ce=o*me,["round-hexagon","round-tag"].includes(W)||(be=(l+Re)/l,xe=l*be)),re=re==="auto"?bo(ce,xe):re;for(var He=ce/2,cr=xe/2,Je=re+(te+F+ee)/2,vr=new Array(ve.length/2),Er=new Array(ve.length/2),mr=0;mr<ve.length/2;mr++)vr[mr]={x:ae.x+lr+He*ve[mr*2],y:ae.y+Qe+cr*ve[mr*2+1]};var dr,Mr,Vr,Cr,Ge=vr.length;for(Mr=vr[Ge-1],dr=0;dr<Ge;dr++)Vr=vr[dr%Ge],Cr=vr[(dr+1)%Ge],Er[dr]=Ti(Mr,Vr,Cr,Je),Mr=Vr,Vr=Cr;s.drawRoundPolygonPath(pe||r,ae.x+lr,ae.y+Qe,o*me,l*be,ve,Er)}else if(["roundrectangle","round-rectangle"].includes(W))re=re==="auto"?gt(ce,xe):re,s.drawRoundRectanglePath(pe||r,ae.x,ae.y,ce,xe,re+(te+F+ee)/2);else if(["cutrectangle","cut-rectangle"].includes(W))re=re==="auto"?di():re,s.drawCutRectanglePath(pe||r,ae.x,ae.y,ce,xe,null,re+(te+F+ee)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(W))re=re==="auto"?gt(ce,xe):re,s.drawBottomRoundRectanglePath(pe||r,ae.x,ae.y,ce,xe,re+(te+F+ee)/2);else if(W==="barrel")s.drawBarrelPath(pe||r,ae.x,ae.y,ce,xe);else if(W.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(W)){var Xe=(te+F+ee)/o;ve=en(rn(ve,Xe)),s.drawPolygonPath(pe||r,ae.x,ae.y,o,l,ve)}else{var ar=(te+F+ee)/o;ve=en(rn(ve,-ar)),s.drawPolygonPath(pe||r,ae.x,ae.y,o,l,ve)}if(g?r.stroke(pe):r.stroke(),J==="double"){r.lineWidth=te/3;var xt=r.globalCompositeOperation;r.globalCompositeOperation="destination-out",g?r.stroke(pe):r.stroke(),r.globalCompositeOperation=xt}r.setLineDash&&r.setLineDash([])}},"drawOutline"),Ce=v(function(){n&&s.drawNodeOverlay(r,e,c,o,l)},"drawOverlay"),Ee=v(function(){n&&s.drawNodeUnderlay(r,e,c,o,l)},"drawUnderlay"),De=v(function(){s.drawElementText(r,e,null,a)},"drawText"),_=e.pstyle("ghost").value==="yes";if(_){var D=e.pstyle("ghost-offset-x").pfValue,q=e.pstyle("ghost-offset-y").pfValue,Q=e.pstyle("ghost-opacity").value,K=Q*d;r.translate(D,q),X(),Be(),Y(Q*A),se(),le(K,!0),N(Q*V),ye(),de(B!==0||M!==0),le(K,!1),fe(K),r.translate(-D,-q)}g&&r.translate(-c.x,-c.y),Ee(),g&&r.translate(c.x,c.y),X(),Be(),Y(),se(),le(d,!0),N(),ye(),de(B!==0||M!==0),le(d,!1),fe(),g&&r.translate(-c.x,-c.y),De(),Ce(),t&&r.translate(p.x1,p.y1)}};var Eu=v(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,a,n,i,s){var o=this;if(a.visible()){var l=a.pstyle("".concat(e,"-padding")).pfValue,u=a.pstyle("".concat(e,"-opacity")).value,f=a.pstyle("".concat(e,"-color")).value,c=a.pstyle("".concat(e,"-shape")).value,d=a.pstyle("".concat(e,"-corner-radius")).value;if(u>0){if(n=n||a.position(),i==null||s==null){var g=a.padding();i=a.width()+2*g,s=a.height()+2*g}o.colorFillStyle(t,f[0],f[1],f[2],u),o.nodeShapes[c].draw(t,n.x,n.y,i+l*2,s+l*2,d),t.fill()}}}},"drawNodeOverlayUnderlay");Xt.drawNodeOverlay=Eu("overlay");Xt.drawNodeUnderlay=Eu("underlay");Xt.hasPie=function(r){return r=r[0],r._private.hasPie};Xt.drawPie=function(r,e,t,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,l=e.width(),u=e.height(),f=Math.min(l,u)/2,c=0,d=this.usePaths();d&&(s=0,o=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2);for(var g=1;g<=n.pieBackgroundN;g++){var h=e.pstyle("pie-"+g+"-background-size").value,m=e.pstyle("pie-"+g+"-background-color").value,y=e.pstyle("pie-"+g+"-background-opacity").value*t,p=h/100;p+c>1&&(p=1-c);var b=1.5*Math.PI+2*Math.PI*c,w=2*Math.PI*p,x=b+w;h===0||c>=1||c+p>1||(r.beginPath(),r.moveTo(s,o),r.arc(s,o,f,b,x),r.closePath(),this.colorFillStyle(r,m[0],m[1],m[2],y),r.fill(),c+=p)}};var yr={},fp=100;yr.getPixelRatio=function(){var r=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),t=r.backingStorePixelRatio||r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/t};yr.paintCache=function(r){for(var e=this.paintCaches=this.paintCaches||[],t=!0,a,n=0;n<e.length;n++)if(a=e[n],a.context===r){t=!1;break}return t&&(a={context:r},e.push(a)),a};yr.createGradientStyleFor=function(r,e,t,a,n){var i,s=this.usePaths(),o=t.pstyle(e+"-gradient-stop-colors").value,l=t.pstyle(e+"-gradient-stop-positions").pfValue;if(a==="radial-gradient")if(t.isEdge()){var u=t.sourceEndpoint(),f=t.targetEndpoint(),c=t.midpoint(),d=ht(u,c),g=ht(f,c);i=r.createRadialGradient(c.x,c.y,0,c.x,c.y,Math.max(d,g))}else{var h=s?{x:0,y:0}:t.position(),m=t.paddedWidth(),y=t.paddedHeight();i=r.createRadialGradient(h.x,h.y,0,h.x,h.y,Math.max(m,y))}else if(t.isEdge()){var p=t.sourceEndpoint(),b=t.targetEndpoint();i=r.createLinearGradient(p.x,p.y,b.x,b.y)}else{var w=s?{x:0,y:0}:t.position(),x=t.paddedWidth(),T=t.paddedHeight(),C=x/2,E=T/2,k=t.pstyle("background-gradient-direction").value;switch(k){case"to-bottom":i=r.createLinearGradient(w.x,w.y-E,w.x,w.y+E);break;case"to-top":i=r.createLinearGradient(w.x,w.y+E,w.x,w.y-E);break;case"to-left":i=r.createLinearGradient(w.x+C,w.y,w.x-C,w.y);break;case"to-right":i=r.createLinearGradient(w.x-C,w.y,w.x+C,w.y);break;case"to-bottom-right":case"to-right-bottom":i=r.createLinearGradient(w.x-C,w.y-E,w.x+C,w.y+E);break;case"to-top-right":case"to-right-top":i=r.createLinearGradient(w.x-C,w.y+E,w.x+C,w.y-E);break;case"to-bottom-left":case"to-left-bottom":i=r.createLinearGradient(w.x+C,w.y-E,w.x-C,w.y+E);break;case"to-top-left":case"to-left-top":i=r.createLinearGradient(w.x+C,w.y+E,w.x-C,w.y-E);break}}if(!i)return null;for(var S=l.length===o.length,L=o.length,B=0;B<L;B++)i.addColorStop(S?l[B]:B/(L-1),"rgba("+o[B][0]+","+o[B][1]+","+o[B][2]+","+n+")");return i};yr.gradientFillStyle=function(r,e,t,a){var n=this.createGradientStyleFor(r,"background",e,t,a);if(!n)return null;r.fillStyle=n};yr.colorFillStyle=function(r,e,t,a,n){r.fillStyle="rgba("+e+","+t+","+a+","+n+")"};yr.eleFillStyle=function(r,e,t){var a=e.pstyle("background-fill").value;if(a==="linear-gradient"||a==="radial-gradient")this.gradientFillStyle(r,e,a,t);else{var n=e.pstyle("background-color").value;this.colorFillStyle(r,n[0],n[1],n[2],t)}};yr.gradientStrokeStyle=function(r,e,t,a){var n=this.createGradientStyleFor(r,"line",e,t,a);if(!n)return null;r.strokeStyle=n};yr.colorStrokeStyle=function(r,e,t,a,n){r.strokeStyle="rgba("+e+","+t+","+a+","+n+")"};yr.eleStrokeStyle=function(r,e,t){var a=e.pstyle("line-fill").value;if(a==="linear-gradient"||a==="radial-gradient")this.gradientStrokeStyle(r,e,a,t);else{var n=e.pstyle("line-color").value;this.colorStrokeStyle(r,n[0],n[1],n[2],t)}};yr.matchCanvasSize=function(r){var e=this,t=e.data,a=e.findContainerClientCoords(),n=a[2],i=a[3],s=e.getPixelRatio(),o=e.motionBlurPxRatio;(r===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]||r===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG])&&(s=o);var l=n*s,u=i*s,f;if(!(l===e.canvasWidth&&u===e.canvasHeight)){e.fontCaches=null;var c=t.canvasContainer;c.style.width=n+"px",c.style.height=i+"px";for(var d=0;d<e.CANVAS_LAYERS;d++)f=t.canvases[d],f.width=l,f.height=u,f.style.width=n+"px",f.style.height=i+"px";for(var d=0;d<e.BUFFER_COUNT;d++)f=t.bufferCanvases[d],f.width=l,f.height=u,f.style.width=n+"px",f.style.height=i+"px";e.textureMult=1,s<=1&&(f=t.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,f.width=l*e.textureMult,f.height=u*e.textureMult),e.canvasWidth=l,e.canvasHeight=u}};yr.renderTo=function(r,e,t,a){this.render({forcedContext:r,forcedZoom:e,forcedPan:t,drawAllLayers:!0,forcedPxRatio:a})};yr.render=function(r){r=r||fo();var e=r.forcedContext,t=r.drawAllLayers,a=r.drawOnlyNodeLayer,n=r.forcedZoom,i=r.forcedPan,s=this,o=r.forcedPxRatio===void 0?this.getPixelRatio():r.forcedPxRatio,l=s.cy,u=s.data,f=u.canvasNeedsRedraw,c=s.textureOnViewport&&!e&&(s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming),d=r.motionBlur!==void 0?r.motionBlur:s.motionBlur,g=s.motionBlurPxRatio,h=l.hasCompoundNodes(),m=s.hoverData.draggingEles,y=!!(s.hoverData.selecting||s.touchData.selecting);d=d&&!e&&s.motionBlurEnabled&&!y;var p=d;e||(s.prevPxRatio!==o&&(s.invalidateContainerClientCoordsCache(),s.matchCanvasSize(s.container),s.redrawHint("eles",!0),s.redrawHint("drag",!0)),s.prevPxRatio=o),!e&&s.motionBlurTimeout&&clearTimeout(s.motionBlurTimeout),d&&(s.mbFrames==null&&(s.mbFrames=0),s.mbFrames++,s.mbFrames<3&&(p=!1),s.mbFrames>s.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!c&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var b=l.style(),w=l.zoom(),x=n!==void 0?n:w,T=l.pan(),C={x:T.x,y:T.y},E={zoom:w,pan:{x:T.x,y:T.y}},k=s.prevViewport,S=k===void 0||E.zoom!==k.zoom||E.pan.x!==k.pan.x||E.pan.y!==k.pan.y;!S&&!(m&&!h)&&(s.motionBlurPxRatio=1),i&&(C=i),x*=o,C.x*=o,C.y*=o;var L=s.getCachedZSortedEles();function B(ne,se,le,de,fe){var ye=ne.globalCompositeOperation;ne.globalCompositeOperation="destination-out",s.colorFillStyle(ne,255,255,255,s.motionBlurTransparency),ne.fillRect(se,le,de,fe),ne.globalCompositeOperation=ye}v(B,"mbclear");function M(ne,se){var le,de,fe,ye;!s.clearingMotionBlur&&(ne===u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||ne===u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(le={x:T.x*g,y:T.y*g},de=w*g,fe=s.canvasWidth*g,ye=s.canvasHeight*g):(le=C,de=x,fe=s.canvasWidth,ye=s.canvasHeight),ne.setTransform(1,0,0,1,0,0),se==="motionBlur"?B(ne,0,0,fe,ye):!e&&(se===void 0||se)&&ne.clearRect(0,0,fe,ye),t||(ne.translate(le.x,le.y),ne.scale(de,de)),i&&ne.translate(i.x,i.y),n&&ne.scale(n,n)}if(v(M,"setContextTransform"),c||(s.textureDrawLastFrame=!1),c){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=l.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var A=s.data.bufferContexts[s.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var E=s.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:s.canvasWidth,height:s.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var P=u.contexts[s.NODE],I=s.textureCache.texture,E=s.textureCache.viewport;P.setTransform(1,0,0,1,0,0),d?B(P,0,0,E.width,E.height):P.clearRect(0,0,E.width,E.height);var R=b.core("outside-texture-bg-color").value,O=b.core("outside-texture-bg-opacity").value;s.colorFillStyle(P,R[0],R[1],R[2],O),P.fillRect(0,0,E.width,E.height);var w=l.zoom();M(P,!1),P.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o),P.drawImage(I,E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var z=l.extent(),$=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),H=s.hideEdgesOnViewport&&$,V=[];if(V[s.NODE]=!f[s.NODE]&&d&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,V[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),V[s.DRAG]=!f[s.DRAG]&&d&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,V[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||t||a||V[s.NODE]){var F=d&&!V[s.NODE]&&g!==1,P=e||(F?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),U=d&&!F?"motionBlur":void 0;M(P,U),H?s.drawCachedNodes(P,L.nondrag,o,z):s.drawLayeredElements(P,L.nondrag,o,z),s.debug&&s.drawDebugPoints(P,L.nondrag),!t&&!d&&(f[s.NODE]=!1)}if(!a&&(f[s.DRAG]||t||V[s.DRAG])){var F=d&&!V[s.DRAG]&&g!==1,P=e||(F?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]);M(P,d&&!F?"motionBlur":void 0),H?s.drawCachedNodes(P,L.drag,o,z):s.drawCachedElements(P,L.drag,o,z),s.debug&&s.drawDebugPoints(P,L.drag),!t&&!d&&(f[s.DRAG]=!1)}if(s.showFps||!a&&f[s.SELECT_BOX]&&!t){var P=e||u.contexts[s.SELECT_BOX];if(M(P),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var w=s.cy.zoom(),J=b.core("selection-box-border-width").value/w;P.lineWidth=J,P.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",P.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),J>0&&(P.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",P.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){var w=s.cy.zoom(),j=u.bgActivePosistion;P.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",P.beginPath(),P.arc(j.x,j.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),P.fill()}var ee=s.lastRedrawTime;if(s.showFps&&ee){ee=Math.round(ee);var re=Math.round(1e3/ee);P.setTransform(1,0,0,1,0,0),P.fillStyle="rgba(255, 0, 0, 0.75)",P.strokeStyle="rgba(255, 0, 0, 0.75)",P.lineWidth=1,P.fillText("1 frame = "+ee+" ms = "+re+" fps",0,20);var Y=60;P.strokeRect(0,30,250,20),P.fillRect(0,30,250*Math.min(re/Y,1),20)}t||(f[s.SELECT_BOX]=!1)}if(d&&g!==1){var N=u.contexts[s.NODE],X=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],Z=u.contexts[s.DRAG],oe=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],ge=v(function(se,le,de){se.setTransform(1,0,0,1,0,0),de||!p?se.clearRect(0,0,s.canvasWidth,s.canvasHeight):B(se,0,0,s.canvasWidth,s.canvasHeight);var fe=g;se.drawImage(le,0,0,s.canvasWidth*fe,s.canvasHeight*fe,0,0,s.canvasWidth,s.canvasHeight)},"drawMotionBlur");(f[s.NODE]||V[s.NODE])&&(ge(N,X,V[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||V[s.DRAG])&&(ge(Z,oe,V[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),d&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!c,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},fp)),e||l.emit("render")};var nt={};nt.drawPolygonPath=function(r,e,t,a,n,i){var s=a/2,o=n/2;r.beginPath&&r.beginPath(),r.moveTo(e+s*i[0],t+o*i[1]);for(var l=1;l<i.length/2;l++)r.lineTo(e+s*i[l*2],t+o*i[l*2+1]);r.closePath()};nt.drawRoundPolygonPath=function(r,e,t,a,n,i,s){s.forEach(function(o){return vu(r,o)}),r.closePath()};nt.drawRoundRectanglePath=function(r,e,t,a,n,i){var s=a/2,o=n/2,l=i==="auto"?gt(a,n):Math.min(i,o,s);r.beginPath&&r.beginPath(),r.moveTo(e,t-o),r.arcTo(e+s,t-o,e+s,t,l),r.arcTo(e+s,t+o,e,t+o,l),r.arcTo(e-s,t+o,e-s,t,l),r.arcTo(e-s,t-o,e,t-o,l),r.lineTo(e,t-o),r.closePath()};nt.drawBottomRoundRectanglePath=function(r,e,t,a,n,i){var s=a/2,o=n/2,l=i==="auto"?gt(a,n):i;r.beginPath&&r.beginPath(),r.moveTo(e,t-o),r.lineTo(e+s,t-o),r.lineTo(e+s,t),r.arcTo(e+s,t+o,e,t+o,l),r.arcTo(e-s,t+o,e-s,t,l),r.lineTo(e-s,t-o),r.lineTo(e,t-o),r.closePath()};nt.drawCutRectanglePath=function(r,e,t,a,n,i,s){var o=a/2,l=n/2,u=s==="auto"?di():s;r.beginPath&&r.beginPath(),r.moveTo(e-o+u,t-l),r.lineTo(e+o-u,t-l),r.lineTo(e+o,t-l+u),r.lineTo(e+o,t+l-u),r.lineTo(e+o-u,t+l),r.lineTo(e-o+u,t+l),r.lineTo(e-o,t+l-u),r.lineTo(e-o,t-l+u),r.closePath()};nt.drawBarrelPath=function(r,e,t,a,n){var i=a/2,s=n/2,o=e-i,l=e+i,u=t-s,f=t+s,c=Gn(a,n),d=c.widthOffset,g=c.heightOffset,h=c.ctrlPtOffsetPct*d;r.beginPath&&r.beginPath(),r.moveTo(o,u+g),r.lineTo(o,f-g),r.quadraticCurveTo(o+h,f,o+d,f),r.lineTo(l-d,f),r.quadraticCurveTo(l-h,f,l,f-g),r.lineTo(l,u+g),r.quadraticCurveTo(l-h,u,l-d,u),r.lineTo(o+d,u),r.quadraticCurveTo(o+h,u,o,u+g),r.closePath()};var Gs=Math.sin(0),Ks=Math.cos(0),ri={},ti={},Cu=Math.PI/40;for(st=0*Math.PI;st<2*Math.PI;st+=Cu)ri[st]=Math.sin(st),ti[st]=Math.cos(st);var st;nt.drawEllipsePath=function(r,e,t,a,n){if(r.beginPath&&r.beginPath(),r.ellipse)r.ellipse(e,t,a/2,n/2,0,0,2*Math.PI);else for(var i,s,o=a/2,l=n/2,u=0*Math.PI;u<2*Math.PI;u+=Cu)i=e-o*ri[u]*Gs+o*ti[u]*Ks,s=t+l*ti[u]*Gs+l*ri[u]*Ks,u===0?r.moveTo(i,s):r.lineTo(i,s);r.closePath()};var Pa={};Pa.createBuffer=function(r,e){var t=document.createElement("canvas");return t.width=r,t.height=e,[t,t.getContext("2d")]};Pa.bufferCanvasImage=function(r){var e=this.cy,t=e.mutableElements(),a=t.boundingBox(),n=this.findContainerClientCoords(),i=r.full?Math.ceil(a.w):n[2],s=r.full?Math.ceil(a.h):n[3],o=ie(r.maxWidth)||ie(r.maxHeight),l=this.getPixelRatio(),u=1;if(r.scale!==void 0)i*=r.scale,s*=r.scale,u=r.scale;else if(o){var f=1/0,c=1/0;ie(r.maxWidth)&&(f=u*r.maxWidth/i),ie(r.maxHeight)&&(c=u*r.maxHeight/s),u=Math.min(f,c),i*=u,s*=u}o||(i*=l,s*=l,u*=l);var d=document.createElement("canvas");d.width=i,d.height=s,d.style.width=i+"px",d.style.height=s+"px";var g=d.getContext("2d");if(i>0&&s>0){g.clearRect(0,0,i,s),g.globalCompositeOperation="source-over";var h=this.getCachedZSortedEles();if(r.full)g.translate(-a.x1*u,-a.y1*u),g.scale(u,u),this.drawElements(g,h),g.scale(1/u,1/u),g.translate(a.x1*u,a.y1*u);else{var m=e.pan(),y={x:m.x*u,y:m.y*u};u*=e.zoom(),g.translate(y.x,y.y),g.scale(u,u),this.drawElements(g,h),g.scale(1/u,1/u),g.translate(-y.x,-y.y)}r.bg&&(g.globalCompositeOperation="destination-over",g.fillStyle=r.bg,g.rect(0,0,i,s),g.fill())}return d};function cp(r,e){for(var t=atob(r),a=new ArrayBuffer(t.length),n=new Uint8Array(a),i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return new Blob([a],{type:e})}v(cp,"b64ToBlob");function Ws(r){var e=r.indexOf(",");return r.substr(e+1)}v(Ws,"b64UriToB64");function Su(r,e,t){var a=v(function(){return e.toDataURL(t,r.quality)},"getB64Uri");switch(r.output){case"blob-promise":return new qt(function(n,i){try{e.toBlob(function(s){s!=null?n(s):i(new Error("`canvas.toBlob()` sent a null value in its callback"))},t,r.quality)}catch(s){i(s)}});case"blob":return cp(Ws(a()),t);case"base64":return Ws(a());case"base64uri":default:return a()}}v(Su,"output");Pa.png=function(r){return Su(r,this.bufferCanvasImage(r),"image/png")};Pa.jpg=function(r){return Su(r,this.bufferCanvasImage(r),"image/jpeg")};var Tu={};Tu.nodeShapeImpl=function(r,e,t,a,n,i,s,o){switch(r){case"ellipse":return this.drawEllipsePath(e,t,a,n,i);case"polygon":return this.drawPolygonPath(e,t,a,n,i,s);case"round-polygon":return this.drawRoundPolygonPath(e,t,a,n,i,s,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,t,a,n,i,o);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,t,a,n,i,s,o);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,t,a,n,i,o);case"barrel":return this.drawBarrelPath(e,t,a,n,i)}};var dp=Du,ke=Du.prototype;ke.CANVAS_LAYERS=3;ke.SELECT_BOX=0;ke.DRAG=1;ke.NODE=2;ke.BUFFER_COUNT=3;ke.TEXTURE_BUFFER=0;ke.MOTIONBLUR_BUFFER_NODE=1;ke.MOTIONBLUR_BUFFER_DRAG=2;function Du(r){var e=this,t=e.cy.window(),a=t.document;e.data={canvases:new Array(ke.CANVAS_LAYERS),contexts:new Array(ke.CANVAS_LAYERS),canvasNeedsRedraw:new Array(ke.CANVAS_LAYERS),bufferCanvases:new Array(ke.BUFFER_COUNT),bufferContexts:new Array(ke.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=a.createElement("div");var s=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=i,s.position="relative",s.zIndex="0",s.overflow="hidden";var o=r.cy.container();o.appendChild(e.data.canvasContainer),o.style[n]=i;var l={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};ju()&&(l["-ms-touch-action"]="none",l["touch-action"]="none");for(var u=0;u<ke.CANVAS_LAYERS;u++){var f=e.data.canvases[u]=a.createElement("canvas");e.data.contexts[u]=f.getContext("2d"),Object.keys(l).forEach(function(Y){f.style[Y]=l[Y]}),f.style.position="absolute",f.setAttribute("data-id","layer"+u),f.style.zIndex=String(ke.CANVAS_LAYERS-u),e.data.canvasContainer.appendChild(f),e.data.canvasNeedsRedraw[u]=!1}e.data.topCanvas=e.data.canvases[0],e.data.canvases[ke.NODE].setAttribute("data-id","layer"+ke.NODE+"-node"),e.data.canvases[ke.SELECT_BOX].setAttribute("data-id","layer"+ke.SELECT_BOX+"-selectbox"),e.data.canvases[ke.DRAG].setAttribute("data-id","layer"+ke.DRAG+"-drag");for(var u=0;u<ke.BUFFER_COUNT;u++)e.data.bufferCanvases[u]=a.createElement("canvas"),e.data.bufferContexts[u]=e.data.bufferCanvases[u].getContext("2d"),e.data.bufferCanvases[u].style.position="absolute",e.data.bufferCanvases[u].setAttribute("data-id","buffer"+u),e.data.bufferCanvases[u].style.zIndex=String(-u-1),e.data.bufferCanvases[u].style.visibility="hidden";e.pathsEnabled=!0;var c=gr(),d=v(function(N){return{x:(N.x1+N.x2)/2,y:(N.y1+N.y2)/2}},"getBoxCenter"),g=v(function(N){return{x:-N.w/2,y:-N.h/2}},"getCenterOffset"),h=v(function(N){var X=N[0]._private,Z=X.oldBackgroundTimestamp===X.backgroundTimestamp;return!Z},"backgroundTimestampHasChanged"),m=v(function(N){return N[0]._private.nodeKey},"getStyleKey"),y=v(function(N){return N[0]._private.labelStyleKey},"getLabelKey"),p=v(function(N){return N[0]._private.sourceLabelStyleKey},"getSourceLabelKey"),b=v(function(N){return N[0]._private.targetLabelStyleKey},"getTargetLabelKey"),w=v(function(N,X,Z,oe,ge){return e.drawElement(N,X,Z,!1,!1,ge)},"drawElement"),x=v(function(N,X,Z,oe,ge){return e.drawElementText(N,X,Z,oe,"main",ge)},"drawLabel"),T=v(function(N,X,Z,oe,ge){return e.drawElementText(N,X,Z,oe,"source",ge)},"drawSourceLabel"),C=v(function(N,X,Z,oe,ge){return e.drawElementText(N,X,Z,oe,"target",ge)},"drawTargetLabel"),E=v(function(N){return N.boundingBox(),N[0]._private.bodyBounds},"getElementBox"),k=v(function(N){return N.boundingBox(),N[0]._private.labelBounds.main||c},"getLabelBox"),S=v(function(N){return N.boundingBox(),N[0]._private.labelBounds.source||c},"getSourceLabelBox"),L=v(function(N){return N.boundingBox(),N[0]._private.labelBounds.target||c},"getTargetLabelBox"),B=v(function(N,X){return X},"isLabelVisibleAtScale"),M=v(function(N){return d(E(N))},"getElementRotationPoint"),A=v(function(N,X,Z){var oe=N?N+"-":"";return{x:X.x+Z.pstyle(oe+"text-margin-x").pfValue,y:X.y+Z.pstyle(oe+"text-margin-y").pfValue}},"addTextMargin"),P=v(function(N,X,Z){var oe=N[0]._private.rscratch;return{x:oe[X],y:oe[Z]}},"getRsPt"),I=v(function(N){return A("",P(N,"labelX","labelY"),N)},"getLabelRotationPoint"),R=v(function(N){return A("source",P(N,"sourceLabelX","sourceLabelY"),N)},"getSourceLabelRotationPoint"),O=v(function(N){return A("target",P(N,"targetLabelX","targetLabelY"),N)},"getTargetLabelRotationPoint"),z=v(function(N){return g(E(N))},"getElementRotationOffset"),$=v(function(N){return g(S(N))},"getSourceLabelRotationOffset"),H=v(function(N){return g(L(N))},"getTargetLabelRotationOffset"),V=v(function(N){var X=k(N),Z=g(k(N));if(N.isNode()){switch(N.pstyle("text-halign").value){case"left":Z.x=-X.w;break;case"right":Z.x=0;break}switch(N.pstyle("text-valign").value){case"top":Z.y=-X.h;break;case"bottom":Z.y=0;break}}return Z},"getLabelRotationOffset"),F=e.data.eleTxrCache=new sa(e,{getKey:m,doesEleInvalidateKey:h,drawElement:w,getBoundingBox:E,getRotationPoint:M,getRotationOffset:z,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),U=e.data.lblTxrCache=new sa(e,{getKey:y,drawElement:x,getBoundingBox:k,getRotationPoint:I,getRotationOffset:V,isVisible:B}),J=e.data.slbTxrCache=new sa(e,{getKey:p,drawElement:T,getBoundingBox:S,getRotationPoint:R,getRotationOffset:$,isVisible:B}),j=e.data.tlbTxrCache=new sa(e,{getKey:b,drawElement:C,getBoundingBox:L,getRotationPoint:O,getRotationOffset:H,isVisible:B}),ee=e.data.lyrTxrCache=new bu(e);e.onUpdateEleCalcs(v(function(N,X){F.invalidateElements(X),U.invalidateElements(X),J.invalidateElements(X),j.invalidateElements(X),ee.invalidateElements(X);for(var Z=0;Z<X.length;Z++){var oe=X[Z]._private;oe.oldBackgroundTimestamp=oe.backgroundTimestamp}},"invalidateTextureCaches"));var re=v(function(N){for(var X=0;X<N.length;X++)ee.enqueueElementRefinement(N[X].ele)},"refineInLayers");F.onDequeue(re),U.onDequeue(re),J.onDequeue(re),j.onDequeue(re)}v(Du,"CanvasRenderer");ke.redrawHint=function(r,e){var t=this;switch(r){case"eles":t.data.canvasNeedsRedraw[ke.NODE]=e;break;case"drag":t.data.canvasNeedsRedraw[ke.DRAG]=e;break;case"select":t.data.canvasNeedsRedraw[ke.SELECT_BOX]=e;break}};var hp=typeof Path2D<"u";ke.path2dEnabled=function(r){if(r===void 0)return this.pathsEnabled;this.pathsEnabled=!!r};ke.usePaths=function(){return hp&&this.pathsEnabled};ke.setImgSmoothing=function(r,e){r.imageSmoothingEnabled!=null?r.imageSmoothingEnabled=e:(r.webkitImageSmoothingEnabled=e,r.mozImageSmoothingEnabled=e,r.msImageSmoothingEnabled=e)};ke.getImgSmoothing=function(r){return r.imageSmoothingEnabled!=null?r.imageSmoothingEnabled:r.webkitImageSmoothingEnabled||r.mozImageSmoothingEnabled||r.msImageSmoothingEnabled};ke.makeOffscreenCanvas=function(r,e){var t;if((typeof OffscreenCanvas>"u"?"undefined":Ue(OffscreenCanvas))!=="undefined")t=new OffscreenCanvas(r,e);else{var a=this.cy.window(),n=a.document;t=n.createElement("canvas"),t.width=r,t.height=e}return t};[wu,Fr,Wr,ki,wt,Xt,yr,nt,Pa,Tu].forEach(function(r){we(ke,r)});var gp=[{name:"null",impl:ou},{name:"base",impl:yu},{name:"canvas",impl:dp}],pp=[{type:"layout",extensions:Eg},{type:"renderer",extensions:gp}],ku={},Pu={};function Bu(r,e,t){var a=t,n=v(function(k){Le("Can not register `"+e+"` for `"+r+"` since `"+k+"` already exists in the prototype and can not be overridden")},"overrideErr");if(r==="core"){if(ba.prototype[e])return n(e);ba.prototype[e]=t}else if(r==="collection"){if(er.prototype[e])return n(e);er.prototype[e]=t}else if(r==="layout"){for(var i=v(function(k){this.options=k,t.call(this,k),Te(this._private)||(this._private={}),this._private.cy=k.cy,this._private.listeners=[],this.createEmitter()},"Layout"),s=i.prototype=Object.create(t.prototype),o=[],l=0;l<o.length;l++){var u=o[l];s[u]=s[u]||function(){return this}}s.start&&!s.run?s.run=function(){return this.start(),this}:!s.start&&s.run&&(s.start=function(){return this.run(),this});var f=t.prototype.stop;s.stop=function(){var E=this.options;if(E&&E.animate){var k=this.animations;if(k)for(var S=0;S<k.length;S++)k[S].stop()}return f?f.call(this):this.emit("layoutstop"),this},s.destroy||(s.destroy=function(){return this}),s.cy=function(){return this._private.cy};var c=v(function(k){return k._private.cy},"getCy"),d={addEventFields:v(function(k,S){S.layout=k,S.cy=c(k),S.target=k},"addEventFields"),bubble:v(function(){return!0},"bubble"),parent:v(function(k){return c(k)},"parent")};we(s,{createEmitter:v(function(){return this._private.emitter=new bn(d,this),this},"createEmitter"),emitter:v(function(){return this._private.emitter},"emitter"),on:v(function(k,S){return this.emitter().on(k,S),this},"on"),one:v(function(k,S){return this.emitter().one(k,S),this},"one"),once:v(function(k,S){return this.emitter().one(k,S),this},"once"),removeListener:v(function(k,S){return this.emitter().removeListener(k,S),this},"removeListener"),removeAllListeners:v(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),emit:v(function(k,S){return this.emitter().emit(k,S),this},"emit")}),Me.eventAliasesOn(s),a=i}else if(r==="renderer"&&e!=="null"&&e!=="base"){var g=Mu("renderer","base"),h=g.prototype,m=t,y=t.prototype,p=v(function(){g.apply(this,arguments),m.apply(this,arguments)},"Renderer"),b=p.prototype;for(var w in h){var x=h[w],T=y[w]!=null;if(T)return n(w);b[w]=x}for(var C in y)b[C]=y[C];h.clientFunctions.forEach(function(E){b[E]=b[E]||function(){qe("Renderer does not implement `renderer."+E+"()` on its prototype")}}),a=p}else if(r==="__proto__"||r==="constructor"||r==="prototype")return qe(r+" is an illegal type to be registered, possibly lead to prototype pollutions");return eo({map:ku,keys:[r,e],value:a})}v(Bu,"setExtension");function Mu(r,e){return ro({map:ku,keys:[r,e]})}v(Mu,"getExtension");function yp(r,e,t,a,n){return eo({map:Pu,keys:[r,e,t,a],value:n})}v(yp,"setModule");function mp(r,e,t,a){return ro({map:Pu,keys:[r,e,t,a]})}v(mp,"getModule");var ai=v(function(){if(arguments.length===2)return Mu.apply(null,arguments);if(arguments.length===3)return Bu.apply(null,arguments);if(arguments.length===4)return mp.apply(null,arguments);if(arguments.length===5)return yp.apply(null,arguments);qe("Invalid extension access syntax")},"extension");ba.prototype.extension=ai;pp.forEach(function(r){r.extensions.forEach(function(e){Bu(r.type,e.name,e.impl)})});var Lu=v(function r(){if(!(this instanceof r))return new r;this.length=0},"Stylesheet"),mt=Lu.prototype;mt.instanceString=function(){return"stylesheet"};mt.selector=function(r){var e=this.length++;return this[e]={selector:r,properties:[]},this};mt.css=function(r,e){var t=this.length-1;if(he(r))this[t].properties.push({name:r,value:e});else if(Te(r))for(var a=r,n=Object.keys(a),i=0;i<n.length;i++){var s=n[i],o=a[s];if(o!=null){var l=nr.properties[s]||nr.properties[ln(s)];if(l!=null){var u=l.name,f=o;this[t].properties.push({name:u,value:f})}}}return this};mt.style=mt.css;mt.generateStyle=function(r){var e=new nr(r);return this.appendToStyle(e)};mt.appendToStyle=function(r){for(var e=0;e<this.length;e++){var t=this[e],a=t.selector,n=t.properties;r.selector(a);for(var i=0;i<n.length;i++){var s=n[i];r.css(s.name,s.value)}}return r};var bp="3.30.1",Ft=v(function(e){if(e===void 0&&(e={}),Te(e))return new ba(e);if(he(e))return ai.apply(ai,arguments)},"cytoscape");Ft.use=function(r){var e=Array.prototype.slice.call(arguments,1);return e.unshift(Ft),r.apply(null,e),this};Ft.warnings=function(r){return lo(r)};Ft.version=bp;Ft.stylesheet=Ft.Stylesheet=Lu;export{Ft as a};
/*! Bundled license information:

cytoscape/dist/cytoscape.esm.mjs:
  (*!
  Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
  Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
  Licensed under The MIT License (http://opensource.org/licenses/MIT)
  *)
  (*!
  Event object based on jQuery events, MIT license
  
  https://jquery.org/license/
  https://tldrlegal.com/license/mit-license
  https://github.com/jquery/jquery/blob/master/src/event.js
  *)
  (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
  (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
*/