Files
Awperative/docs/public/cose-bilkent-S5V4N54A-HENZWBLB.min.js
2026-02-09 18:53:22 -05:00

3 lines
81 KiB
JavaScript
Executable File

import{a as j}from"./chunk-XXYYAETH.min.js";import{b as W,d as V,j as it}from"./chunk-6TVUEPFY.min.js";import{a as $,d as pt}from"./chunk-OSRY5VT3.min.js";var q=$((k,K)=>{(function(C,v){typeof k=="object"&&typeof K=="object"?K.exports=v():typeof define=="function"&&define.amd?define([],v):typeof k=="object"?k.layoutBase=v():C.layoutBase=v()})(k,function(){return(function(N){var C={};function v(n){if(C[n])return C[n].exports;var e=C[n]={i:n,l:!1,exports:{}};return N[n].call(e.exports,e,e.exports,v),e.l=!0,e.exports}return v.m=N,v.c=C,v.i=function(n){return n},v.d=function(n,e,t){v.o(n,e)||Object.defineProperty(n,e,{configurable:!1,enumerable:!0,get:t})},v.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return v.d(e,"a",e),e},v.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},v.p="",v(v.s=26)})([(function(N,C,v){"use strict";function n(){}n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,N.exports=n}),(function(N,C,v){"use strict";var n=v(2),e=v(8),t=v(9);function r(u,s,p){n.call(this,p),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=p,this.bendpoints=[],this.source=u,this.target=s}r.prototype=Object.create(n.prototype);for(var a in n)r[a]=n[a];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(u,s){for(var p=this.getOtherEnd(u),i=s.getGraphManager().getRoot();;){if(p.getOwner()==s)return p;if(p.getOwner()==i)break;p=p.getOwner().getParent()}return null},r.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=r}),(function(N,C,v){"use strict";function n(e){this.vGraphObject=e}N.exports=n}),(function(N,C,v){"use strict";var n=v(2),e=v(10),t=v(13),r=v(0),a=v(16),u=v(4);function s(i,h,l,d){l==null&&d==null&&(d=h),n.call(this,d),i.graphManager!=null&&(i=i.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=d,this.edges=[],this.graphManager=i,l!=null&&h!=null?this.rect=new t(h.x,h.y,l.width,l.height):this.rect=new t}s.prototype=Object.create(n.prototype);for(var p in n)s[p]=n[p];s.prototype.getEdges=function(){return this.edges},s.prototype.getChild=function(){return this.child},s.prototype.getOwner=function(){return this.owner},s.prototype.getWidth=function(){return this.rect.width},s.prototype.setWidth=function(i){this.rect.width=i},s.prototype.getHeight=function(){return this.rect.height},s.prototype.setHeight=function(i){this.rect.height=i},s.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},s.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},s.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},s.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},s.prototype.getRect=function(){return this.rect},s.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},s.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},s.prototype.setRect=function(i,h){this.rect.x=i.x,this.rect.y=i.y,this.rect.width=h.width,this.rect.height=h.height},s.prototype.setCenter=function(i,h){this.rect.x=i-this.rect.width/2,this.rect.y=h-this.rect.height/2},s.prototype.setLocation=function(i,h){this.rect.x=i,this.rect.y=h},s.prototype.moveBy=function(i,h){this.rect.x+=i,this.rect.y+=h},s.prototype.getEdgeListToNode=function(i){var h=[],l,d=this;return d.edges.forEach(function(y){if(y.target==i){if(y.source!=d)throw"Incorrect edge source!";h.push(y)}}),h},s.prototype.getEdgesBetween=function(i){var h=[],l,d=this;return d.edges.forEach(function(y){if(!(y.source==d||y.target==d))throw"Incorrect edge source and/or target";(y.target==i||y.source==i)&&h.push(y)}),h},s.prototype.getNeighborsList=function(){var i=new Set,h=this;return h.edges.forEach(function(l){if(l.source==h)i.add(l.target);else{if(l.target!=h)throw"Incorrect incidency!";i.add(l.source)}}),i},s.prototype.withChildren=function(){var i=new Set,h,l;if(i.add(this),this.child!=null)for(var d=this.child.getNodes(),y=0;y<d.length;y++)h=d[y],l=h.withChildren(),l.forEach(function(T){i.add(T)});return i},s.prototype.getNoOfChildren=function(){var i=0,h;if(this.child==null)i=1;else for(var l=this.child.getNodes(),d=0;d<l.length;d++)h=l[d],i+=h.getNoOfChildren();return i==0&&(i=1),i},s.prototype.getEstimatedSize=function(){if(this.estimatedSize==e.MIN_VALUE)throw"assert failed";return this.estimatedSize},s.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},s.prototype.scatter=function(){var i,h,l=-r.INITIAL_WORLD_BOUNDARY,d=r.INITIAL_WORLD_BOUNDARY;i=r.WORLD_CENTER_X+a.nextDouble()*(d-l)+l;var y=-r.INITIAL_WORLD_BOUNDARY,T=r.INITIAL_WORLD_BOUNDARY;h=r.WORLD_CENTER_Y+a.nextDouble()*(T-y)+y,this.rect.x=i,this.rect.y=h},s.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var i=this.getChild();if(i.updateBounds(!0),this.rect.x=i.getLeft(),this.rect.y=i.getTop(),this.setWidth(i.getRight()-i.getLeft()),this.setHeight(i.getBottom()-i.getTop()),r.NODE_DIMENSIONS_INCLUDE_LABELS){var h=i.getRight()-i.getLeft(),l=i.getBottom()-i.getTop();this.labelWidth>h&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>l&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-l)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-l),this.setHeight(this.labelHeight))}}},s.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},s.prototype.transform=function(i){var h=this.rect.x;h>r.WORLD_BOUNDARY?h=r.WORLD_BOUNDARY:h<-r.WORLD_BOUNDARY&&(h=-r.WORLD_BOUNDARY);var l=this.rect.y;l>r.WORLD_BOUNDARY?l=r.WORLD_BOUNDARY:l<-r.WORLD_BOUNDARY&&(l=-r.WORLD_BOUNDARY);var d=new u(h,l),y=i.inverseTransformPoint(d);this.setLocation(y.x,y.y)},s.prototype.getLeft=function(){return this.rect.x},s.prototype.getRight=function(){return this.rect.x+this.rect.width},s.prototype.getTop=function(){return this.rect.y},s.prototype.getBottom=function(){return this.rect.y+this.rect.height},s.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=s}),(function(N,C,v){"use strict";function n(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(e){this.x=e},n.prototype.setY=function(e){this.y=e},n.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=n}),(function(N,C,v){"use strict";var n=v(2),e=v(10),t=v(0),r=v(6),a=v(3),u=v(1),s=v(13),p=v(12),i=v(11);function h(d,y,T){n.call(this,T),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=d,y!=null&&y instanceof r?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}h.prototype=Object.create(n.prototype);for(var l in n)h[l]=n[l];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(d,y,T){if(y==null&&T==null){var c=d;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(c)>-1)throw"Node already in graph!";return c.owner=this,this.getNodes().push(c),c}else{var D=d;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(y.owner==T.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=T.owner?null:(D.source=y,D.target=T,D.isInterGraph=!1,this.getEdges().push(D),y.edges.push(D),T!=y&&T.edges.push(D),D)}},h.prototype.remove=function(d){var y=d;if(d instanceof a){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=y.edges.slice(),c,D=T.length,E=0;E<D;E++)c=T[E],c.isInterGraph?this.graphManager.remove(c):c.source.owner.remove(c);var O=this.nodes.indexOf(y);if(O==-1)throw"Node not in owner node list!";this.nodes.splice(O,1)}else if(d instanceof u){var c=d;if(c==null)throw"Edge is null!";if(!(c.source!=null&&c.target!=null))throw"Source and/or target is null!";if(!(c.source.owner!=null&&c.target.owner!=null&&c.source.owner==this&&c.target.owner==this))throw"Source and/or target owner is invalid!";var o=c.source.edges.indexOf(c),g=c.target.edges.indexOf(c);if(!(o>-1&&g>-1))throw"Source and/or target doesn't know this edge!";c.source.edges.splice(o,1),c.target!=c.source&&c.target.edges.splice(g,1);var O=c.source.owner.getEdges().indexOf(c);if(O==-1)throw"Not in owner's edge list!";c.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var d=e.MAX_VALUE,y=e.MAX_VALUE,T,c,D,E=this.getNodes(),O=E.length,o=0;o<O;o++){var g=E[o];T=g.getTop(),c=g.getLeft(),d>T&&(d=T),y>c&&(y=c)}return d==e.MAX_VALUE?null:(E[0].getParent().paddingLeft!=null?D=E[0].getParent().paddingLeft:D=this.margin,this.left=y-D,this.top=d-D,new p(this.left,this.top))},h.prototype.updateBounds=function(d){for(var y=e.MAX_VALUE,T=-e.MAX_VALUE,c=e.MAX_VALUE,D=-e.MAX_VALUE,E,O,o,g,f,L=this.nodes,A=L.length,I=0;I<A;I++){var m=L[I];d&&m.child!=null&&m.updateBounds(),E=m.getLeft(),O=m.getRight(),o=m.getTop(),g=m.getBottom(),y>E&&(y=E),T<O&&(T=O),c>o&&(c=o),D<g&&(D=g)}var R=new s(y,c,T-y,D-c);y==e.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),L[0].getParent().paddingLeft!=null?f=L[0].getParent().paddingLeft:f=this.margin,this.left=R.x-f,this.right=R.x+R.width+f,this.top=R.y-f,this.bottom=R.y+R.height+f},h.calculateBounds=function(d){for(var y=e.MAX_VALUE,T=-e.MAX_VALUE,c=e.MAX_VALUE,D=-e.MAX_VALUE,E,O,o,g,f=d.length,L=0;L<f;L++){var A=d[L];E=A.getLeft(),O=A.getRight(),o=A.getTop(),g=A.getBottom(),y>E&&(y=E),T<O&&(T=O),c>o&&(c=o),D<g&&(D=g)}var I=new s(y,c,T-y,D-c);return I},h.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},h.prototype.getEstimatedSize=function(){if(this.estimatedSize==e.MIN_VALUE)throw"assert failed";return this.estimatedSize},h.prototype.calcEstimatedSize=function(){for(var d=0,y=this.nodes,T=y.length,c=0;c<T;c++){var D=y[c];d+=D.calcEstimatedSize()}return d==0?this.estimatedSize=t.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=d/Math.sqrt(this.nodes.length),this.estimatedSize},h.prototype.updateConnected=function(){var d=this;if(this.nodes.length==0){this.isConnected=!0;return}var y=new i,T=new Set,c=this.nodes[0],D,E,O=c.withChildren();for(O.forEach(function(I){y.push(I),T.add(I)});y.length!==0;){c=y.shift(),D=c.getEdges();for(var o=D.length,g=0;g<o;g++){var f=D[g];if(E=f.getOtherEndInGraph(c,this),E!=null&&!T.has(E)){var L=E.withChildren();L.forEach(function(I){y.push(I),T.add(I)})}}}if(this.isConnected=!1,T.size>=this.nodes.length){var A=0;T.forEach(function(I){I.owner==d&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h}),(function(N,C,v){"use strict";var n,e=v(1);function t(r){n=v(5),this.layout=r,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var r=this.layout.newGraph(),a=this.layout.newNode(null),u=this.add(r,a);return this.setRootGraph(u),this.rootGraph},t.prototype.add=function(r,a,u,s,p){if(u==null&&s==null&&p==null){if(r==null)throw"Graph is null!";if(a==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(a.child!=null)throw"Already has a child!";return r.parent=a,a.child=r,r}else{p=u,s=a,u=r;var i=s.getOwner(),h=p.getOwner();if(!(i!=null&&i.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(i==h)return u.isInterGraph=!1,i.add(u,s,p);if(u.isInterGraph=!0,u.source=s,u.target=p,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},t.prototype.remove=function(r){if(r instanceof n){var a=r;if(a.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(a==this.rootGraph||a.parent!=null&&a.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(a.getEdges());for(var s,p=u.length,i=0;i<p;i++)s=u[i],a.remove(s);var h=[];h=h.concat(a.getNodes());var l;p=h.length;for(var i=0;i<p;i++)l=h[i],a.remove(l);a==this.rootGraph&&this.setRootGraph(null);var d=this.graphs.indexOf(a);this.graphs.splice(d,1),a.parent=null}else if(r instanceof e){if(s=r,s==null)throw"Edge is null!";if(!s.isInterGraph)throw"Not an inter-graph edge!";if(!(s.source!=null&&s.target!=null))throw"Source and/or target is null!";if(!(s.source.edges.indexOf(s)!=-1&&s.target.edges.indexOf(s)!=-1))throw"Source and/or target doesn't know this edge!";var d=s.source.edges.indexOf(s);if(s.source.edges.splice(d,1),d=s.target.edges.indexOf(s),s.target.edges.splice(d,1),!(s.source.owner!=null&&s.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(s.source.owner.getGraphManager().edges.indexOf(s)==-1)throw"Not in owner graph manager's edge list!";var d=s.source.owner.getGraphManager().edges.indexOf(s);s.source.owner.getGraphManager().edges.splice(d,1)}},t.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},t.prototype.getGraphs=function(){return this.graphs},t.prototype.getAllNodes=function(){if(this.allNodes==null){for(var r=[],a=this.getGraphs(),u=a.length,s=0;s<u;s++)r=r.concat(a[s].getNodes());this.allNodes=r}return this.allNodes},t.prototype.resetAllNodes=function(){this.allNodes=null},t.prototype.resetAllEdges=function(){this.allEdges=null},t.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},t.prototype.getAllEdges=function(){if(this.allEdges==null){for(var r=[],a=this.getGraphs(),u=a.length,s=0;s<a.length;s++)r=r.concat(a[s].getEdges());r=r.concat(this.edges),this.allEdges=r}return this.allEdges},t.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},t.prototype.setAllNodesToApplyGravitation=function(r){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=r},t.prototype.getRoot=function(){return this.rootGraph},t.prototype.setRootGraph=function(r){if(r.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=r,r.parent==null&&(r.parent=this.layout.newNode("Root node"))},t.prototype.getLayout=function(){return this.layout},t.prototype.isOneAncestorOfOther=function(r,a){if(!(r!=null&&a!=null))throw"assert failed";if(r==a)return!0;var u=r.getOwner(),s;do{if(s=u.getParent(),s==null)break;if(s==a)return!0;if(u=s.getOwner(),u==null)break}while(!0);u=a.getOwner();do{if(s=u.getParent(),s==null)break;if(s==r)return!0;if(u=s.getOwner(),u==null)break}while(!0);return!1},t.prototype.calcLowestCommonAncestors=function(){for(var r,a,u,s,p,i=this.getAllEdges(),h=i.length,l=0;l<h;l++){if(r=i[l],a=r.source,u=r.target,r.lca=null,r.sourceInLca=a,r.targetInLca=u,a==u){r.lca=a.getOwner();continue}for(s=a.getOwner();r.lca==null;){for(r.targetInLca=u,p=u.getOwner();r.lca==null;){if(p==s){r.lca=p;break}if(p==this.rootGraph)break;if(r.lca!=null)throw"assert failed";r.targetInLca=p.getParent(),p=r.targetInLca.getOwner()}if(s==this.rootGraph)break;r.lca==null&&(r.sourceInLca=s.getParent(),s=r.sourceInLca.getOwner())}if(r.lca==null)throw"assert failed"}},t.prototype.calcLowestCommonAncestor=function(r,a){if(r==a)return r.getOwner();var u=r.getOwner();do{if(u==null)break;var s=a.getOwner();do{if(s==null)break;if(s==u)return s;s=s.getParent().getOwner()}while(!0);u=u.getParent().getOwner()}while(!0);return u},t.prototype.calcInclusionTreeDepths=function(r,a){r==null&&a==null&&(r=this.rootGraph,a=1);for(var u,s=r.getNodes(),p=s.length,i=0;i<p;i++)u=s[i],u.inclusionTreeDepth=a,u.child!=null&&this.calcInclusionTreeDepths(u.child,a+1)},t.prototype.includesInvalidEdge=function(){for(var r,a=this.edges.length,u=0;u<a;u++)if(r=this.edges[u],this.isOneAncestorOfOther(r.source,r.target))return!0;return!1},N.exports=t}),(function(N,C,v){"use strict";var n=v(0);function e(){}for(var t in n)e[t]=n[t];e.MAX_ITERATIONS=2500,e.DEFAULT_EDGE_LENGTH=50,e.DEFAULT_SPRING_STRENGTH=.45,e.DEFAULT_REPULSION_STRENGTH=4500,e.DEFAULT_GRAVITY_STRENGTH=.4,e.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,e.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,e.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,e.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,e.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,e.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,e.COOLING_ADAPTATION_FACTOR=.33,e.ADAPTATION_LOWER_NODE_LIMIT=1e3,e.ADAPTATION_UPPER_NODE_LIMIT=5e3,e.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,e.MAX_NODE_DISPLACEMENT=e.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,e.MIN_REPULSION_DIST=e.DEFAULT_EDGE_LENGTH/10,e.CONVERGENCE_CHECK_PERIOD=100,e.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,e.MIN_EDGE_LENGTH=1,e.GRID_CALCULATION_CHECK_PERIOD=10,N.exports=e}),(function(N,C,v){"use strict";var n=v(12);function e(){}e.calcSeparationAmount=function(t,r,a,u){if(!t.intersects(r))throw"assert failed";var s=new Array(2);this.decideDirectionsForOverlappingNodes(t,r,s),a[0]=Math.min(t.getRight(),r.getRight())-Math.max(t.x,r.x),a[1]=Math.min(t.getBottom(),r.getBottom())-Math.max(t.y,r.y),t.getX()<=r.getX()&&t.getRight()>=r.getRight()?a[0]+=Math.min(r.getX()-t.getX(),t.getRight()-r.getRight()):r.getX()<=t.getX()&&r.getRight()>=t.getRight()&&(a[0]+=Math.min(t.getX()-r.getX(),r.getRight()-t.getRight())),t.getY()<=r.getY()&&t.getBottom()>=r.getBottom()?a[1]+=Math.min(r.getY()-t.getY(),t.getBottom()-r.getBottom()):r.getY()<=t.getY()&&r.getBottom()>=t.getBottom()&&(a[1]+=Math.min(t.getY()-r.getY(),r.getBottom()-t.getBottom()));var p=Math.abs((r.getCenterY()-t.getCenterY())/(r.getCenterX()-t.getCenterX()));r.getCenterY()===t.getCenterY()&&r.getCenterX()===t.getCenterX()&&(p=1);var i=p*a[0],h=a[1]/p;a[0]<h?h=a[0]:i=a[1],a[0]=-1*s[0]*(h/2+u),a[1]=-1*s[1]*(i/2+u)},e.decideDirectionsForOverlappingNodes=function(t,r,a){t.getCenterX()<r.getCenterX()?a[0]=-1:a[0]=1,t.getCenterY()<r.getCenterY()?a[1]=-1:a[1]=1},e.getIntersection2=function(t,r,a){var u=t.getCenterX(),s=t.getCenterY(),p=r.getCenterX(),i=r.getCenterY();if(t.intersects(r))return a[0]=u,a[1]=s,a[2]=p,a[3]=i,!0;var h=t.getX(),l=t.getY(),d=t.getRight(),y=t.getX(),T=t.getBottom(),c=t.getRight(),D=t.getWidthHalf(),E=t.getHeightHalf(),O=r.getX(),o=r.getY(),g=r.getRight(),f=r.getX(),L=r.getBottom(),A=r.getRight(),I=r.getWidthHalf(),m=r.getHeightHalf(),R=!1,w=!1;if(u===p){if(s>i)return a[0]=u,a[1]=l,a[2]=p,a[3]=L,!1;if(s<i)return a[0]=u,a[1]=T,a[2]=p,a[3]=o,!1}else if(s===i){if(u>p)return a[0]=h,a[1]=s,a[2]=g,a[3]=i,!1;if(u<p)return a[0]=d,a[1]=s,a[2]=O,a[3]=i,!1}else{var F=t.height/t.width,Y=r.height/r.width,x=(i-s)/(p-u),M=void 0,G=void 0,S=void 0,P=void 0,_=void 0,U=void 0;if(-F===x?u>p?(a[0]=y,a[1]=T,R=!0):(a[0]=d,a[1]=l,R=!0):F===x&&(u>p?(a[0]=h,a[1]=l,R=!0):(a[0]=c,a[1]=T,R=!0)),-Y===x?p>u?(a[2]=f,a[3]=L,w=!0):(a[2]=g,a[3]=o,w=!0):Y===x&&(p>u?(a[2]=O,a[3]=o,w=!0):(a[2]=A,a[3]=L,w=!0)),R&&w)return!1;if(u>p?s>i?(M=this.getCardinalDirection(F,x,4),G=this.getCardinalDirection(Y,x,2)):(M=this.getCardinalDirection(-F,x,3),G=this.getCardinalDirection(-Y,x,1)):s>i?(M=this.getCardinalDirection(-F,x,1),G=this.getCardinalDirection(-Y,x,3)):(M=this.getCardinalDirection(F,x,2),G=this.getCardinalDirection(Y,x,4)),!R)switch(M){case 1:P=l,S=u+-E/x,a[0]=S,a[1]=P;break;case 2:S=c,P=s+D*x,a[0]=S,a[1]=P;break;case 3:P=T,S=u+E/x,a[0]=S,a[1]=P;break;case 4:S=y,P=s+-D*x,a[0]=S,a[1]=P;break}if(!w)switch(G){case 1:U=o,_=p+-m/x,a[2]=_,a[3]=U;break;case 2:_=A,U=i+I*x,a[2]=_,a[3]=U;break;case 3:U=L,_=p+m/x,a[2]=_,a[3]=U;break;case 4:_=f,U=i+-I*x,a[2]=_,a[3]=U;break}}return!1},e.getCardinalDirection=function(t,r,a){return t>r?a:1+a%4},e.getIntersection=function(t,r,a,u){if(u==null)return this.getIntersection2(t,r,a);var s=t.x,p=t.y,i=r.x,h=r.y,l=a.x,d=a.y,y=u.x,T=u.y,c=void 0,D=void 0,E=void 0,O=void 0,o=void 0,g=void 0,f=void 0,L=void 0,A=void 0;return E=h-p,o=s-i,f=i*p-s*h,O=T-d,g=l-y,L=y*d-l*T,A=E*g-O*o,A===0?null:(c=(o*L-g*f)/A,D=(O*f-E*L)/A,new n(c,D))},e.angleOfVector=function(t,r,a,u){var s=void 0;return t!==a?(s=Math.atan((u-r)/(a-t)),a<t?s+=Math.PI:u<r&&(s+=this.TWO_PI)):u<r?s=this.ONE_AND_HALF_PI:s=this.HALF_PI,s},e.doIntersect=function(t,r,a,u){var s=t.x,p=t.y,i=r.x,h=r.y,l=a.x,d=a.y,y=u.x,T=u.y,c=(i-s)*(T-d)-(y-l)*(h-p);if(c===0)return!1;var D=((T-d)*(y-s)+(l-y)*(T-p))/c,E=((p-h)*(y-s)+(i-s)*(T-p))/c;return 0<D&&D<1&&0<E&&E<1},e.HALF_PI=.5*Math.PI,e.ONE_AND_HALF_PI=1.5*Math.PI,e.TWO_PI=2*Math.PI,e.THREE_PI=3*Math.PI,N.exports=e}),(function(N,C,v){"use strict";function n(){}n.sign=function(e){return e>0?1:e<0?-1:0},n.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},n.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=n}),(function(N,C,v){"use strict";function n(){}n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,N.exports=n}),(function(N,C,v){"use strict";var n=(function(){function s(p,i){for(var h=0;h<i.length;h++){var l=i[h];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(p,l.key,l)}}return function(p,i,h){return i&&s(p.prototype,i),h&&s(p,h),p}})();function e(s,p){if(!(s instanceof p))throw new TypeError("Cannot call a class as a function")}var t=function(p){return{value:p,next:null,prev:null}},r=function(p,i,h,l){return p!==null?p.next=i:l.head=i,h!==null?h.prev=i:l.tail=i,i.prev=p,i.next=h,l.length++,i},a=function(p,i){var h=p.prev,l=p.next;return h!==null?h.next=l:i.head=l,l!==null?l.prev=h:i.tail=h,p.prev=p.next=null,i.length--,p},u=(function(){function s(p){var i=this;e(this,s),this.length=0,this.head=null,this.tail=null,p?.forEach(function(h){return i.push(h)})}return n(s,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(i,h){return r(h.prev,t(i),h,this)}},{key:"insertAfter",value:function(i,h){return r(h,t(i),h.next,this)}},{key:"insertNodeBefore",value:function(i,h){return r(h.prev,i,h,this)}},{key:"insertNodeAfter",value:function(i,h){return r(h,i,h.next,this)}},{key:"push",value:function(i){return r(this.tail,t(i),null,this)}},{key:"unshift",value:function(i){return r(null,t(i),this.head,this)}},{key:"remove",value:function(i){return a(i,this)}},{key:"pop",value:function(){return a(this.tail,this).value}},{key:"popNode",value:function(){return a(this.tail,this)}},{key:"shift",value:function(){return a(this.head,this).value}},{key:"shiftNode",value:function(){return a(this.head,this)}},{key:"get_object_at",value:function(i){if(i<=this.length()){for(var h=1,l=this.head;h<i;)l=l.next,h++;return l.value}}},{key:"set_object_at",value:function(i,h){if(i<=this.length()){for(var l=1,d=this.head;l<i;)d=d.next,l++;d.value=h}}}]),s})();N.exports=u}),(function(N,C,v){"use strict";function n(e,t,r){this.x=null,this.y=null,e==null&&t==null&&r==null?(this.x=0,this.y=0):typeof e=="number"&&typeof t=="number"&&r==null?(this.x=e,this.y=t):e.constructor.name=="Point"&&t==null&&r==null&&(r=e,this.x=r.x,this.y=r.y)}n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.getLocation=function(){return new n(this.x,this.y)},n.prototype.setLocation=function(e,t,r){e.constructor.name=="Point"&&t==null&&r==null?(r=e,this.setLocation(r.x,r.y)):typeof e=="number"&&typeof t=="number"&&r==null&&(parseInt(e)==e&&parseInt(t)==t?this.move(e,t):(this.x=Math.floor(e+.5),this.y=Math.floor(t+.5)))},n.prototype.move=function(e,t){this.x=e,this.y=t},n.prototype.translate=function(e,t){this.x+=e,this.y+=t},n.prototype.equals=function(e){if(e.constructor.name=="Point"){var t=e;return this.x==t.x&&this.y==t.y}return this==e},n.prototype.toString=function(){return new n().constructor.name+"[x="+this.x+",y="+this.y+"]"},N.exports=n}),(function(N,C,v){"use strict";function n(e,t,r,a){this.x=0,this.y=0,this.width=0,this.height=0,e!=null&&t!=null&&r!=null&&a!=null&&(this.x=e,this.y=t,this.width=r,this.height=a)}n.prototype.getX=function(){return this.x},n.prototype.setX=function(e){this.x=e},n.prototype.getY=function(){return this.y},n.prototype.setY=function(e){this.y=e},n.prototype.getWidth=function(){return this.width},n.prototype.setWidth=function(e){this.width=e},n.prototype.getHeight=function(){return this.height},n.prototype.setHeight=function(e){this.height=e},n.prototype.getRight=function(){return this.x+this.width},n.prototype.getBottom=function(){return this.y+this.height},n.prototype.intersects=function(e){return!(this.getRight()<e.x||this.getBottom()<e.y||e.getRight()<this.x||e.getBottom()<this.y)},n.prototype.getCenterX=function(){return this.x+this.width/2},n.prototype.getMinX=function(){return this.getX()},n.prototype.getMaxX=function(){return this.getX()+this.width},n.prototype.getCenterY=function(){return this.y+this.height/2},n.prototype.getMinY=function(){return this.getY()},n.prototype.getMaxY=function(){return this.getY()+this.height},n.prototype.getWidthHalf=function(){return this.width/2},n.prototype.getHeightHalf=function(){return this.height/2},N.exports=n}),(function(N,C,v){"use strict";var n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function e(){}e.lastID=0,e.createID=function(t){return e.isPrimitive(t)?t:(t.uniqueID!=null||(t.uniqueID=e.getString(),e.lastID++),t.uniqueID)},e.getString=function(t){return t==null&&(t=e.lastID),"Object#"+t},e.isPrimitive=function(t){var r=typeof t>"u"?"undefined":n(t);return t==null||r!="object"&&r!="function"},N.exports=e}),(function(N,C,v){"use strict";function n(l){if(Array.isArray(l)){for(var d=0,y=Array(l.length);d<l.length;d++)y[d]=l[d];return y}else return Array.from(l)}var e=v(0),t=v(6),r=v(3),a=v(1),u=v(5),s=v(4),p=v(17),i=v(27);function h(l){i.call(this),this.layoutQuality=e.QUALITY,this.createBendsAsNeeded=e.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=e.DEFAULT_INCREMENTAL,this.animationOnLayout=e.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=e.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=e.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=e.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new t(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,l!=null&&(this.isRemoteUse=l)}h.RANDOM_SEED=1,h.prototype=Object.create(i.prototype),h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},h.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},h.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},h.prototype.newGraphManager=function(){var l=new t(this);return this.graphManager=l,l},h.prototype.newGraph=function(l){return new u(null,this.graphManager,l)},h.prototype.newNode=function(l){return new r(this.graphManager,l)},h.prototype.newEdge=function(l){return new a(null,null,l)},h.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},h.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var l;return this.checkLayoutSuccess()?l=!1:l=this.layout(),e.ANIMATE==="during"?!1:(l&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,l)},h.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},h.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var l,d=this.graphManager.getAllEdges(),y=0;y<d.length;y++)l=d[y];for(var T,c=this.graphManager.getRoot().getNodes(),y=0;y<c.length;y++)T=c[y];this.update(this.graphManager.getRoot())}},h.prototype.update=function(l){if(l==null)this.update2();else if(l instanceof r){var d=l;if(d.getChild()!=null)for(var y=d.getChild().getNodes(),T=0;T<y.length;T++)update(y[T]);if(d.vGraphObject!=null){var c=d.vGraphObject;c.update(d)}}else if(l instanceof a){var D=l;if(D.vGraphObject!=null){var E=D.vGraphObject;E.update(D)}}else if(l instanceof u){var O=l;if(O.vGraphObject!=null){var o=O.vGraphObject;o.update(O)}}},h.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=e.QUALITY,this.animationDuringLayout=e.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=e.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=e.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=e.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=e.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=e.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},h.prototype.transform=function(l){if(l==null)this.transform(new s(0,0));else{var d=new p,y=this.graphManager.getRoot().updateLeftTop();if(y!=null){d.setWorldOrgX(l.x),d.setWorldOrgY(l.y),d.setDeviceOrgX(y.x),d.setDeviceOrgY(y.y);for(var T=this.getAllNodes(),c,D=0;D<T.length;D++)c=T[D],c.transform(d)}}},h.prototype.positionNodesRandomly=function(l){if(l==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var d,y,T=l.getNodes(),c=0;c<T.length;c++)d=T[c],y=d.getChild(),y==null||y.getNodes().length==0?d.scatter():(this.positionNodesRandomly(y),d.updateBounds())},h.prototype.getFlatForest=function(){for(var l=[],d=!0,y=this.graphManager.getRoot().getNodes(),T=!0,c=0;c<y.length;c++)y[c].getChild()!=null&&(T=!1);if(!T)return l;var D=new Set,E=[],O=new Map,o=[];for(o=o.concat(y);o.length>0&&d;){for(E.push(o[0]);E.length>0&&d;){var g=E[0];E.splice(0,1),D.add(g);for(var f=g.getEdges(),c=0;c<f.length;c++){var L=f[c].getOtherEnd(g);if(O.get(g)!=L)if(!D.has(L))E.push(L),O.set(L,g);else{d=!1;break}}}if(!d)l=[];else{var A=[].concat(n(D));l.push(A);for(var c=0;c<A.length;c++){var I=A[c],m=o.indexOf(I);m>-1&&o.splice(m,1)}D=new Set,O=new Map}}return l},h.prototype.createDummyNodesForBendpoints=function(l){for(var d=[],y=l.source,T=this.graphManager.calcLowestCommonAncestor(l.source,l.target),c=0;c<l.bendpoints.length;c++){var D=this.newNode(null);D.setRect(new Point(0,0),new Dimension(1,1)),T.add(D);var E=this.newEdge(null);this.graphManager.add(E,y,D),d.add(D),y=D}var E=this.newEdge(null);return this.graphManager.add(E,y,l.target),this.edgeToDummyNodes.set(l,d),l.isInterGraph()?this.graphManager.remove(l):T.remove(l),d},h.prototype.createBendpointsFromDummyNodes=function(){var l=[];l=l.concat(this.graphManager.getAllEdges()),l=[].concat(n(this.edgeToDummyNodes.keys())).concat(l);for(var d=0;d<l.length;d++){var y=l[d];if(y.bendpoints.length>0){for(var T=this.edgeToDummyNodes.get(y),c=0;c<T.length;c++){var D=T[c],E=new s(D.getCenterX(),D.getCenterY()),O=y.bendpoints.get(c);O.x=E.x,O.y=E.y,D.getOwner().remove(D)}this.graphManager.add(y,y.source,y.target)}}},h.transform=function(l,d,y,T){if(y!=null&&T!=null){var c=d;if(l<=50){var D=d/y;c-=(d-D)/50*(50-l)}else{var E=d*T;c+=(E-d)/50*(l-50)}return c}else{var O,o;return l<=50?(O=9*d/500,o=d/10):(O=9*d/50,o=-8*d),O*l+o}},h.findCenterOfTree=function(l){var d=[];d=d.concat(l);var y=[],T=new Map,c=!1,D=null;(d.length==1||d.length==2)&&(c=!0,D=d[0]);for(var E=0;E<d.length;E++){var O=d[E],o=O.getNeighborsList().size;T.set(O,O.getNeighborsList().size),o==1&&y.push(O)}var g=[];for(g=g.concat(y);!c;){var f=[];f=f.concat(g),g=[];for(var E=0;E<d.length;E++){var O=d[E],L=d.indexOf(O);L>=0&&d.splice(L,1);var A=O.getNeighborsList();A.forEach(function(R){if(y.indexOf(R)<0){var w=T.get(R),F=w-1;F==1&&g.push(R),T.set(R,F)}})}y=y.concat(g),(d.length==1||d.length==2)&&(c=!0,D=d[0])}return D},h.prototype.setGraphManager=function(l){this.graphManager=l},N.exports=h}),(function(N,C,v){"use strict";function n(){}n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},N.exports=n}),(function(N,C,v){"use strict";var n=v(4);function e(t,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var r=0,a=this.lworldExtX;return a!=0&&(r=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/a),r},e.prototype.transformY=function(t){var r=0,a=this.lworldExtY;return a!=0&&(r=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/a),r},e.prototype.inverseTransformX=function(t){var r=0,a=this.ldeviceExtX;return a!=0&&(r=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/a),r},e.prototype.inverseTransformY=function(t){var r=0,a=this.ldeviceExtY;return a!=0&&(r=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/a),r},e.prototype.inverseTransformPoint=function(t){var r=new n(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return r},N.exports=e}),(function(N,C,v){"use strict";function n(i){if(Array.isArray(i)){for(var h=0,l=Array(i.length);h<i.length;h++)l[h]=i[h];return l}else return Array.from(i)}var e=v(15),t=v(7),r=v(0),a=v(8),u=v(9);function s(){e.call(this),this.useSmartIdealEdgeLengthCalculation=t.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=t.DEFAULT_EDGE_LENGTH,this.springConstant=t.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=t.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=t.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=t.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=t.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=t.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*t.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=t.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=t.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=t.MAX_ITERATIONS}s.prototype=Object.create(e.prototype);for(var p in e)s[p]=e[p];s.prototype.initParameters=function(){e.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=t.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},s.prototype.calcIdealEdgeLengths=function(){for(var i,h,l,d,y,T,c=this.getGraphManager().getAllEdges(),D=0;D<c.length;D++)i=c[D],i.idealLength=this.idealEdgeLength,i.isInterGraph&&(l=i.getSource(),d=i.getTarget(),y=i.getSourceInLca().getEstimatedSize(),T=i.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(i.idealLength+=y+T-2*r.SIMPLE_NODE_SIZE),h=i.getLca().getInclusionTreeDepth(),i.idealLength+=t.DEFAULT_EDGE_LENGTH*t.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(l.getInclusionTreeDepth()+d.getInclusionTreeDepth()-2*h))},s.prototype.initSpringEmbedder=function(){var i=this.getAllNodes().length;this.incremental?(i>t.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(i-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(i>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(i-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},s.prototype.calcSpringForces=function(){for(var i=this.getAllEdges(),h,l=0;l<i.length;l++)h=i[l],this.calcSpringForce(h,h.idealLength)},s.prototype.calcRepulsionForces=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l,d,y,T,c=this.getAllNodes(),D;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&i&&this.updateGrid(),D=new Set,l=0;l<c.length;l++)y=c[l],this.calculateRepulsionForceOfANode(y,D,i,h),D.add(y);else for(l=0;l<c.length;l++)for(y=c[l],d=l+1;d<c.length;d++)T=c[d],y.getOwner()==T.getOwner()&&this.calcRepulsionForce(y,T)},s.prototype.calcGravitationalForces=function(){for(var i,h=this.getAllNodesToApplyGravitation(),l=0;l<h.length;l++)i=h[l],this.calcGravitationalForce(i)},s.prototype.moveNodes=function(){for(var i=this.getAllNodes(),h,l=0;l<i.length;l++)h=i[l],h.move()},s.prototype.calcSpringForce=function(i,h){var l=i.getSource(),d=i.getTarget(),y,T,c,D;if(this.uniformLeafNodeSizes&&l.getChild()==null&&d.getChild()==null)i.updateLengthSimple();else if(i.updateLength(),i.isOverlapingSourceAndTarget)return;y=i.getLength(),y!=0&&(T=this.springConstant*(y-h),c=T*(i.lengthX/y),D=T*(i.lengthY/y),l.springForceX+=c,l.springForceY+=D,d.springForceX-=c,d.springForceY-=D)},s.prototype.calcRepulsionForce=function(i,h){var l=i.getRect(),d=h.getRect(),y=new Array(2),T=new Array(4),c,D,E,O,o,g,f;if(l.intersects(d)){a.calcSeparationAmount(l,d,y,t.DEFAULT_EDGE_LENGTH/2),g=2*y[0],f=2*y[1];var L=i.noOfChildren*h.noOfChildren/(i.noOfChildren+h.noOfChildren);i.repulsionForceX-=L*g,i.repulsionForceY-=L*f,h.repulsionForceX+=L*g,h.repulsionForceY+=L*f}else this.uniformLeafNodeSizes&&i.getChild()==null&&h.getChild()==null?(c=d.getCenterX()-l.getCenterX(),D=d.getCenterY()-l.getCenterY()):(a.getIntersection(l,d,T),c=T[2]-T[0],D=T[3]-T[1]),Math.abs(c)<t.MIN_REPULSION_DIST&&(c=u.sign(c)*t.MIN_REPULSION_DIST),Math.abs(D)<t.MIN_REPULSION_DIST&&(D=u.sign(D)*t.MIN_REPULSION_DIST),E=c*c+D*D,O=Math.sqrt(E),o=this.repulsionConstant*i.noOfChildren*h.noOfChildren/E,g=o*c/O,f=o*D/O,i.repulsionForceX-=g,i.repulsionForceY-=f,h.repulsionForceX+=g,h.repulsionForceY+=f},s.prototype.calcGravitationalForce=function(i){var h,l,d,y,T,c,D,E;h=i.getOwner(),l=(h.getRight()+h.getLeft())/2,d=(h.getTop()+h.getBottom())/2,y=i.getCenterX()-l,T=i.getCenterY()-d,c=Math.abs(y)+i.getWidth()/2,D=Math.abs(T)+i.getHeight()/2,i.getOwner()==this.graphManager.getRoot()?(E=h.getEstimatedSize()*this.gravityRangeFactor,(c>E||D>E)&&(i.gravitationForceX=-this.gravityConstant*y,i.gravitationForceY=-this.gravityConstant*T)):(E=h.getEstimatedSize()*this.compoundGravityRangeFactor,(c>E||D>E)&&(i.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,i.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},s.prototype.isConverged=function(){var i,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),i=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,i||h},s.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},s.prototype.calcNoOfChildrenForAllNodes=function(){for(var i,h=this.graphManager.getAllNodes(),l=0;l<h.length;l++)i=h[l],i.noOfChildren=i.getNoOfChildren()},s.prototype.calcGrid=function(i){var h=0,l=0;h=parseInt(Math.ceil((i.getRight()-i.getLeft())/this.repulsionRange)),l=parseInt(Math.ceil((i.getBottom()-i.getTop())/this.repulsionRange));for(var d=new Array(h),y=0;y<h;y++)d[y]=new Array(l);for(var y=0;y<h;y++)for(var T=0;T<l;T++)d[y][T]=new Array;return d},s.prototype.addNodeToGrid=function(i,h,l){var d=0,y=0,T=0,c=0;d=parseInt(Math.floor((i.getRect().x-h)/this.repulsionRange)),y=parseInt(Math.floor((i.getRect().width+i.getRect().x-h)/this.repulsionRange)),T=parseInt(Math.floor((i.getRect().y-l)/this.repulsionRange)),c=parseInt(Math.floor((i.getRect().height+i.getRect().y-l)/this.repulsionRange));for(var D=d;D<=y;D++)for(var E=T;E<=c;E++)this.grid[D][E].push(i),i.setGridCoordinates(d,y,T,c)},s.prototype.updateGrid=function(){var i,h,l=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),i=0;i<l.length;i++)h=l[i],this.addNodeToGrid(h,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},s.prototype.calculateRepulsionForceOfANode=function(i,h,l,d){if(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&l||d){var y=new Set;i.surrounding=new Array;for(var T,c=this.grid,D=i.startX-1;D<i.finishX+2;D++)for(var E=i.startY-1;E<i.finishY+2;E++)if(!(D<0||E<0||D>=c.length||E>=c[0].length)){for(var O=0;O<c[D][E].length;O++)if(T=c[D][E][O],!(i.getOwner()!=T.getOwner()||i==T)&&!h.has(T)&&!y.has(T)){var o=Math.abs(i.getCenterX()-T.getCenterX())-(i.getWidth()/2+T.getWidth()/2),g=Math.abs(i.getCenterY()-T.getCenterY())-(i.getHeight()/2+T.getHeight()/2);o<=this.repulsionRange&&g<=this.repulsionRange&&y.add(T)}}i.surrounding=[].concat(n(y))}for(D=0;D<i.surrounding.length;D++)this.calcRepulsionForce(i,i.surrounding[D])},s.prototype.calcRepulsionRange=function(){return 0},N.exports=s}),(function(N,C,v){"use strict";var n=v(1),e=v(7);function t(a,u,s){n.call(this,a,u,s),this.idealLength=e.DEFAULT_EDGE_LENGTH}t.prototype=Object.create(n.prototype);for(var r in n)t[r]=n[r];N.exports=t}),(function(N,C,v){"use strict";var n=v(3);function e(r,a,u,s){n.call(this,r,a,u,s),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}e.prototype=Object.create(n.prototype);for(var t in n)e[t]=n[t];e.prototype.setGridCoordinates=function(r,a,u,s){this.startX=r,this.finishX=a,this.startY=u,this.finishY=s},N.exports=e}),(function(N,C,v){"use strict";function n(e,t){this.width=0,this.height=0,e!==null&&t!==null&&(this.height=t,this.width=e)}n.prototype.getWidth=function(){return this.width},n.prototype.setWidth=function(e){this.width=e},n.prototype.getHeight=function(){return this.height},n.prototype.setHeight=function(e){this.height=e},N.exports=n}),(function(N,C,v){"use strict";var n=v(14);function e(){this.map={},this.keys=[]}e.prototype.put=function(t,r){var a=n.createID(t);this.contains(a)||(this.map[a]=r,this.keys.push(t))},e.prototype.contains=function(t){var r=n.createID(t);return this.map[t]!=null},e.prototype.get=function(t){var r=n.createID(t);return this.map[r]},e.prototype.keySet=function(){return this.keys},N.exports=e}),(function(N,C,v){"use strict";var n=v(14);function e(){this.set={}}e.prototype.add=function(t){var r=n.createID(t);this.contains(r)||(this.set[r]=t)},e.prototype.remove=function(t){delete this.set[n.createID(t)]},e.prototype.clear=function(){this.set={}},e.prototype.contains=function(t){return this.set[n.createID(t)]==t},e.prototype.isEmpty=function(){return this.size()===0},e.prototype.size=function(){return Object.keys(this.set).length},e.prototype.addAllTo=function(t){for(var r=Object.keys(this.set),a=r.length,u=0;u<a;u++)t.push(this.set[r[u]])},e.prototype.size=function(){return Object.keys(this.set).length},e.prototype.addAll=function(t){for(var r=t.length,a=0;a<r;a++){var u=t[a];this.add(u)}},N.exports=e}),(function(N,C,v){"use strict";var n=(function(){function a(u,s){for(var p=0;p<s.length;p++){var i=s[p];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(u,i.key,i)}}return function(u,s,p){return s&&a(u.prototype,s),p&&a(u,p),u}})();function e(a,u){if(!(a instanceof u))throw new TypeError("Cannot call a class as a function")}var t=v(11),r=(function(){function a(u,s){e(this,a),(s!==null||s!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var p=void 0;u instanceof t?p=u.size():p=u.length,this._quicksort(u,0,p-1)}return n(a,[{key:"_quicksort",value:function(s,p,i){if(p<i){var h=this._partition(s,p,i);this._quicksort(s,p,h),this._quicksort(s,h+1,i)}}},{key:"_partition",value:function(s,p,i){for(var h=this._get(s,p),l=p,d=i;;){for(;this.compareFunction(h,this._get(s,d));)d--;for(;this.compareFunction(this._get(s,l),h);)l++;if(l<d)this._swap(s,l,d),l++,d--;else return d}}},{key:"_get",value:function(s,p){return s instanceof t?s.get_object_at(p):s[p]}},{key:"_set",value:function(s,p,i){s instanceof t?s.set_object_at(p,i):s[p]=i}},{key:"_swap",value:function(s,p,i){var h=this._get(s,p);this._set(s,p,this._get(s,i)),this._set(s,i,h)}},{key:"_defaultCompareFunction",value:function(s,p){return p>s}}]),a})();N.exports=r}),(function(N,C,v){"use strict";var n=(function(){function r(a,u){for(var s=0;s<u.length;s++){var p=u[s];p.enumerable=p.enumerable||!1,p.configurable=!0,"value"in p&&(p.writable=!0),Object.defineProperty(a,p.key,p)}}return function(a,u,s){return u&&r(a.prototype,u),s&&r(a,s),a}})();function e(r,a){if(!(r instanceof a))throw new TypeError("Cannot call a class as a function")}var t=(function(){function r(a,u){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,r),this.sequence1=a,this.sequence2=u,this.match_score=s,this.mismatch_penalty=p,this.gap_penalty=i,this.iMax=a.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var h=0;h<this.iMax;h++){this.grid[h]=new Array(this.jMax);for(var l=0;l<this.jMax;l++)this.grid[h][l]=0}this.tracebackGrid=new Array(this.iMax);for(var d=0;d<this.iMax;d++){this.tracebackGrid[d]=new Array(this.jMax);for(var y=0;y<this.jMax;y++)this.tracebackGrid[d][y]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return n(r,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var u=1;u<this.jMax;u++)this.grid[0][u]=this.grid[0][u-1]+this.gap_penalty,this.tracebackGrid[0][u]=[!1,!1,!0];for(var s=1;s<this.iMax;s++)this.grid[s][0]=this.grid[s-1][0]+this.gap_penalty,this.tracebackGrid[s][0]=[!1,!0,!1];for(var p=1;p<this.iMax;p++)for(var i=1;i<this.jMax;i++){var h=void 0;this.sequence1[p-1]===this.sequence2[i-1]?h=this.grid[p-1][i-1]+this.match_score:h=this.grid[p-1][i-1]+this.mismatch_penalty;var l=this.grid[p-1][i]+this.gap_penalty,d=this.grid[p][i-1]+this.gap_penalty,y=[h,l,d],T=this.arrayAllMaxIndexes(y);this.grid[p][i]=y[T[0]],this.tracebackGrid[p][i]=[T.includes(0),T.includes(1),T.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var u=[];for(u.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});u[0];){var s=u[0],p=this.tracebackGrid[s.pos[0]][s.pos[1]];p[0]&&u.push({pos:[s.pos[0]-1,s.pos[1]-1],seq1:this.sequence1[s.pos[0]-1]+s.seq1,seq2:this.sequence2[s.pos[1]-1]+s.seq2}),p[1]&&u.push({pos:[s.pos[0]-1,s.pos[1]],seq1:this.sequence1[s.pos[0]-1]+s.seq1,seq2:"-"+s.seq2}),p[2]&&u.push({pos:[s.pos[0],s.pos[1]-1],seq1:"-"+s.seq1,seq2:this.sequence2[s.pos[1]-1]+s.seq2}),s.pos[0]===0&&s.pos[1]===0&&this.alignments.push({sequence1:s.seq1,sequence2:s.seq2}),u.shift()}return this.alignments}},{key:"getAllIndexes",value:function(u,s){for(var p=[],i=-1;(i=u.indexOf(s,i+1))!==-1;)p.push(i);return p}},{key:"arrayAllMaxIndexes",value:function(u){return this.getAllIndexes(u,Math.max.apply(null,u))}}]),r})();N.exports=t}),(function(N,C,v){"use strict";var n=function(){};n.FDLayout=v(18),n.FDLayoutConstants=v(7),n.FDLayoutEdge=v(19),n.FDLayoutNode=v(20),n.DimensionD=v(21),n.HashMap=v(22),n.HashSet=v(23),n.IGeometry=v(8),n.IMath=v(9),n.Integer=v(10),n.Point=v(12),n.PointD=v(4),n.RandomSeed=v(16),n.RectangleD=v(13),n.Transform=v(17),n.UniqueIDGeneretor=v(14),n.Quicksort=v(24),n.LinkedList=v(11),n.LGraphObject=v(2),n.LGraph=v(5),n.LEdge=v(1),n.LGraphManager=v(6),n.LNode=v(3),n.Layout=v(15),n.LayoutConstants=v(0),n.NeedlemanWunsch=v(25),N.exports=n}),(function(N,C,v){"use strict";function n(){this.listeners=[]}var e=n.prototype;e.addListener=function(t,r){this.listeners.push({event:t,callback:r})},e.removeListener=function(t,r){for(var a=this.listeners.length;a>=0;a--){var u=this.listeners[a];u.event===t&&u.callback===r&&this.listeners.splice(a,1)}},e.emit=function(t,r){for(var a=0;a<this.listeners.length;a++){var u=this.listeners[a];t===u.event&&u.callback(r)}},N.exports=n})])})});var J=$((Z,z)=>{(function(C,v){typeof Z=="object"&&typeof z=="object"?z.exports=v(q()):typeof define=="function"&&define.amd?define(["layout-base"],v):typeof Z=="object"?Z.coseBase=v(q()):C.coseBase=v(C.layoutBase)})(Z,function(N){return(function(C){var v={};function n(e){if(v[e])return v[e].exports;var t=v[e]={i:e,l:!1,exports:{}};return C[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}return n.m=C,n.c=v,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)})([(function(C,v){C.exports=N}),(function(C,v,n){"use strict";var e=n(0).FDLayoutConstants;function t(){}for(var r in e)t[r]=e[r];t.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,t.DEFAULT_RADIAL_SEPARATION=e.DEFAULT_EDGE_LENGTH,t.DEFAULT_COMPONENT_SEPERATION=60,t.TILE=!0,t.TILING_PADDING_VERTICAL=10,t.TILING_PADDING_HORIZONTAL=10,t.TREE_REDUCTION_ON_INCREMENTAL=!1,C.exports=t}),(function(C,v,n){"use strict";var e=n(0).FDLayoutEdge;function t(a,u,s){e.call(this,a,u,s)}t.prototype=Object.create(e.prototype);for(var r in e)t[r]=e[r];C.exports=t}),(function(C,v,n){"use strict";var e=n(0).LGraph;function t(a,u,s){e.call(this,a,u,s)}t.prototype=Object.create(e.prototype);for(var r in e)t[r]=e[r];C.exports=t}),(function(C,v,n){"use strict";var e=n(0).LGraphManager;function t(a){e.call(this,a)}t.prototype=Object.create(e.prototype);for(var r in e)t[r]=e[r];C.exports=t}),(function(C,v,n){"use strict";var e=n(0).FDLayoutNode,t=n(0).IMath;function r(u,s,p,i){e.call(this,u,s,p,i)}r.prototype=Object.create(e.prototype);for(var a in e)r[a]=e[a];r.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},r.prototype.propogateDisplacementToChildren=function(u,s){for(var p=this.getChild().getNodes(),i,h=0;h<p.length;h++)i=p[h],i.getChild()==null?(i.moveBy(u,s),i.displacementX+=u,i.displacementY+=s):i.propogateDisplacementToChildren(u,s)},r.prototype.setPred1=function(u){this.pred1=u},r.prototype.getPred1=function(){return pred1},r.prototype.getPred2=function(){return pred2},r.prototype.setNext=function(u){this.next=u},r.prototype.getNext=function(){return next},r.prototype.setProcessed=function(u){this.processed=u},r.prototype.isProcessed=function(){return processed},C.exports=r}),(function(C,v,n){"use strict";var e=n(0).FDLayout,t=n(4),r=n(3),a=n(5),u=n(2),s=n(1),p=n(0).FDLayoutConstants,i=n(0).LayoutConstants,h=n(0).Point,l=n(0).PointD,d=n(0).Layout,y=n(0).Integer,T=n(0).IGeometry,c=n(0).LGraph,D=n(0).Transform;function E(){e.call(this),this.toBeTiled={}}E.prototype=Object.create(e.prototype);for(var O in e)E[O]=e[O];E.prototype.newGraphManager=function(){var o=new t(this);return this.graphManager=o,o},E.prototype.newGraph=function(o){return new r(null,this.graphManager,o)},E.prototype.newNode=function(o){return new a(this.graphManager,o)},E.prototype.newEdge=function(o){return new u(null,null,o)},E.prototype.initParameters=function(){e.prototype.initParameters.call(this,arguments),this.isSubLayout||(s.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=s.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=p.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=p.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=p.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=p.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=p.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=p.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/p.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=p.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},E.prototype.layout=function(){var o=i.DEFAULT_CREATE_BENDS_AS_NEEDED;return o&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},E.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(s.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var g=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(I){return g.has(I)});this.graphManager.setAllNodesToApplyGravitation(f)}}else{var o=this.getFlatForest();if(o.length>0)this.positionNodesRadially(o);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var g=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(L){return g.has(L)});this.graphManager.setAllNodesToApplyGravitation(f),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},E.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%p.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var o=new Set(this.getAllNodes()),g=this.nodesWithGravity.filter(function(A){return o.has(A)});this.graphManager.setAllNodesToApplyGravitation(g),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=p.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=p.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var f=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(f,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},E.prototype.getPositionsData=function(){for(var o=this.graphManager.getAllNodes(),g={},f=0;f<o.length;f++){var L=o[f].rect,A=o[f].id;g[A]={id:A,x:L.getCenterX(),y:L.getCenterY(),w:L.width,h:L.height}}return g},E.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var o=!1;if(p.ANIMATE==="during")this.emit("layoutstarted");else{for(;!o;)o=this.tick();this.graphManager.updateBounds()}},E.prototype.calculateNodesToApplyGravitationTo=function(){var o=[],g,f=this.graphManager.getGraphs(),L=f.length,A;for(A=0;A<L;A++)g=f[A],g.updateConnected(),g.isConnected||(o=o.concat(g.getNodes()));return o},E.prototype.createBendpoints=function(){var o=[];o=o.concat(this.graphManager.getAllEdges());var g=new Set,f;for(f=0;f<o.length;f++){var L=o[f];if(!g.has(L)){var A=L.getSource(),I=L.getTarget();if(A==I)L.getBendpoints().push(new l),L.getBendpoints().push(new l),this.createDummyNodesForBendpoints(L),g.add(L);else{var m=[];if(m=m.concat(A.getEdgeListToNode(I)),m=m.concat(I.getEdgeListToNode(A)),!g.has(m[0])){if(m.length>1){var R;for(R=0;R<m.length;R++){var w=m[R];w.getBendpoints().push(new l),this.createDummyNodesForBendpoints(w)}}m.forEach(function(F){g.add(F)})}}}if(g.size==o.length)break}},E.prototype.positionNodesRadially=function(o){for(var g=new h(0,0),f=Math.ceil(Math.sqrt(o.length)),L=0,A=0,I=0,m=new l(0,0),R=0;R<o.length;R++){R%f==0&&(I=0,A=L,R!=0&&(A+=s.DEFAULT_COMPONENT_SEPERATION),L=0);var w=o[R],F=d.findCenterOfTree(w);g.x=I,g.y=A,m=E.radialLayout(w,F,g),m.y>L&&(L=Math.floor(m.y)),I=Math.floor(m.x+s.DEFAULT_COMPONENT_SEPERATION)}this.transform(new l(i.WORLD_CENTER_X-m.x/2,i.WORLD_CENTER_Y-m.y/2))},E.radialLayout=function(o,g,f){var L=Math.max(this.maxDiagonalInTree(o),s.DEFAULT_RADIAL_SEPARATION);E.branchRadialLayout(g,null,0,359,0,L);var A=c.calculateBounds(o),I=new D;I.setDeviceOrgX(A.getMinX()),I.setDeviceOrgY(A.getMinY()),I.setWorldOrgX(f.x),I.setWorldOrgY(f.y);for(var m=0;m<o.length;m++){var R=o[m];R.transform(I)}var w=new l(A.getMaxX(),A.getMaxY());return I.inverseTransformPoint(w)},E.branchRadialLayout=function(o,g,f,L,A,I){var m=(L-f+1)/2;m<0&&(m+=180);var R=(m+f)%360,w=R*T.TWO_PI/360,F=Math.cos(w),Y=A*Math.cos(w),x=A*Math.sin(w);o.setCenter(Y,x);var M=[];M=M.concat(o.getEdges());var G=M.length;g!=null&&G--;for(var S=0,P=M.length,_,U=o.getEdgesBetween(g);U.length>1;){var X=U[0];U.splice(0,1);var B=M.indexOf(X);B>=0&&M.splice(B,1),P--,G--}g!=null?_=(M.indexOf(U[0])+1)%P:_=0;for(var b=Math.abs(L-f)/G,H=_;S!=G;H=++H%P){var et=M[H].getOtherEnd(o);if(et!=g){var rt=(f+S*b)%360,ct=(rt+b)%360;E.branchRadialLayout(et,o,rt,ct,A+I,I),S++}}},E.maxDiagonalInTree=function(o){for(var g=y.MIN_VALUE,f=0;f<o.length;f++){var L=o[f],A=L.getDiagonal();A>g&&(g=A)}return g},E.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},E.prototype.groupZeroDegreeMembers=function(){var o=this,g={};this.memberGroups={},this.idToDummyNode={};for(var f=[],L=this.graphManager.getAllNodes(),A=0;A<L.length;A++){var I=L[A],m=I.getParent();this.getNodeDegreeWithChildren(I)===0&&(m.id==null||!this.getToBeTiled(m))&&f.push(I)}for(var A=0;A<f.length;A++){var I=f[A],R=I.getParent().id;typeof g[R]>"u"&&(g[R]=[]),g[R]=g[R].concat(I)}Object.keys(g).forEach(function(w){if(g[w].length>1){var F="DummyCompound_"+w;o.memberGroups[F]=g[w];var Y=g[w][0].getParent(),x=new a(o.graphManager);x.id=F,x.paddingLeft=Y.paddingLeft||0,x.paddingRight=Y.paddingRight||0,x.paddingBottom=Y.paddingBottom||0,x.paddingTop=Y.paddingTop||0,o.idToDummyNode[F]=x;var M=o.getGraphManager().add(o.newGraph(),x),G=Y.getChild();G.add(x);for(var S=0;S<g[w].length;S++){var P=g[w][S];G.remove(P),M.add(P)}}})},E.prototype.clearCompounds=function(){var o={},g={};this.performDFSOnCompounds();for(var f=0;f<this.compoundOrder.length;f++)g[this.compoundOrder[f].id]=this.compoundOrder[f],o[this.compoundOrder[f].id]=[].concat(this.compoundOrder[f].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[f].getChild()),this.compoundOrder[f].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(o,g)},E.prototype.clearZeroDegreeMembers=function(){var o=this,g=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(f){var L=o.idToDummyNode[f];g[f]=o.tileNodes(o.memberGroups[f],L.paddingLeft+L.paddingRight),L.rect.width=g[f].width,L.rect.height=g[f].height})},E.prototype.repopulateCompounds=function(){for(var o=this.compoundOrder.length-1;o>=0;o--){var g=this.compoundOrder[o],f=g.id,L=g.paddingLeft,A=g.paddingTop;this.adjustLocations(this.tiledMemberPack[f],g.rect.x,g.rect.y,L,A)}},E.prototype.repopulateZeroDegreeMembers=function(){var o=this,g=this.tiledZeroDegreePack;Object.keys(g).forEach(function(f){var L=o.idToDummyNode[f],A=L.paddingLeft,I=L.paddingTop;o.adjustLocations(g[f],L.rect.x,L.rect.y,A,I)})},E.prototype.getToBeTiled=function(o){var g=o.id;if(this.toBeTiled[g]!=null)return this.toBeTiled[g];var f=o.getChild();if(f==null)return this.toBeTiled[g]=!1,!1;for(var L=f.getNodes(),A=0;A<L.length;A++){var I=L[A];if(this.getNodeDegree(I)>0)return this.toBeTiled[g]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[g]=!1,!1}return this.toBeTiled[g]=!0,!0},E.prototype.getNodeDegree=function(o){for(var g=o.id,f=o.getEdges(),L=0,A=0;A<f.length;A++){var I=f[A];I.getSource().id!==I.getTarget().id&&(L=L+1)}return L},E.prototype.getNodeDegreeWithChildren=function(o){var g=this.getNodeDegree(o);if(o.getChild()==null)return g;for(var f=o.getChild().getNodes(),L=0;L<f.length;L++){var A=f[L];g+=this.getNodeDegreeWithChildren(A)}return g},E.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},E.prototype.fillCompexOrderByDFS=function(o){for(var g=0;g<o.length;g++){var f=o[g];f.getChild()!=null&&this.fillCompexOrderByDFS(f.getChild().getNodes()),this.getToBeTiled(f)&&this.compoundOrder.push(f)}},E.prototype.adjustLocations=function(o,g,f,L,A){g+=L,f+=A;for(var I=g,m=0;m<o.rows.length;m++){var R=o.rows[m];g=I;for(var w=0,F=0;F<R.length;F++){var Y=R[F];Y.rect.x=g,Y.rect.y=f,g+=Y.rect.width+o.horizontalPadding,Y.rect.height>w&&(w=Y.rect.height)}f+=w+o.verticalPadding}},E.prototype.tileCompoundMembers=function(o,g){var f=this;this.tiledMemberPack=[],Object.keys(o).forEach(function(L){var A=g[L];f.tiledMemberPack[L]=f.tileNodes(o[L],A.paddingLeft+A.paddingRight),A.rect.width=f.tiledMemberPack[L].width,A.rect.height=f.tiledMemberPack[L].height})},E.prototype.tileNodes=function(o,g){var f=s.TILING_PADDING_VERTICAL,L=s.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:g,verticalPadding:f,horizontalPadding:L};o.sort(function(R,w){return R.rect.width*R.rect.height>w.rect.width*w.rect.height?-1:R.rect.width*R.rect.height<w.rect.width*w.rect.height?1:0});for(var I=0;I<o.length;I++){var m=o[I];A.rows.length==0?this.insertNodeToRow(A,m,0,g):this.canAddHorizontal(A,m.rect.width,m.rect.height)?this.insertNodeToRow(A,m,this.getShortestRowIndex(A),g):this.insertNodeToRow(A,m,A.rows.length,g),this.shiftToLastRow(A)}return A},E.prototype.insertNodeToRow=function(o,g,f,L){var A=L;if(f==o.rows.length){var I=[];o.rows.push(I),o.rowWidth.push(A),o.rowHeight.push(0)}var m=o.rowWidth[f]+g.rect.width;o.rows[f].length>0&&(m+=o.horizontalPadding),o.rowWidth[f]=m,o.width<m&&(o.width=m);var R=g.rect.height;f>0&&(R+=o.verticalPadding);var w=0;R>o.rowHeight[f]&&(w=o.rowHeight[f],o.rowHeight[f]=R,w=o.rowHeight[f]-w),o.height+=w,o.rows[f].push(g)},E.prototype.getShortestRowIndex=function(o){for(var g=-1,f=Number.MAX_VALUE,L=0;L<o.rows.length;L++)o.rowWidth[L]<f&&(g=L,f=o.rowWidth[L]);return g},E.prototype.getLongestRowIndex=function(o){for(var g=-1,f=Number.MIN_VALUE,L=0;L<o.rows.length;L++)o.rowWidth[L]>f&&(g=L,f=o.rowWidth[L]);return g},E.prototype.canAddHorizontal=function(o,g,f){var L=this.getShortestRowIndex(o);if(L<0)return!0;var A=o.rowWidth[L];if(A+o.horizontalPadding+g<=o.width)return!0;var I=0;o.rowHeight[L]<f&&L>0&&(I=f+o.verticalPadding-o.rowHeight[L]);var m;o.width-A>=g+o.horizontalPadding?m=(o.height+I)/(A+g+o.horizontalPadding):m=(o.height+I)/o.width,I=f+o.verticalPadding;var R;return o.width<g?R=(o.height+I)/g:R=(o.height+I)/o.width,R<1&&(R=1/R),m<1&&(m=1/m),m<R},E.prototype.shiftToLastRow=function(o){var g=this.getLongestRowIndex(o),f=o.rowWidth.length-1,L=o.rows[g],A=L[L.length-1],I=A.width+o.horizontalPadding;if(o.width-o.rowWidth[f]>I&&g!=f){L.splice(-1,1),o.rows[f].push(A),o.rowWidth[g]=o.rowWidth[g]-I,o.rowWidth[f]=o.rowWidth[f]+I,o.width=o.rowWidth[instance.getLongestRowIndex(o)];for(var m=Number.MIN_VALUE,R=0;R<L.length;R++)L[R].height>m&&(m=L[R].height);g>0&&(m+=o.verticalPadding);var w=o.rowHeight[g]+o.rowHeight[f];o.rowHeight[g]=m,o.rowHeight[f]<A.height+o.verticalPadding&&(o.rowHeight[f]=A.height+o.verticalPadding);var F=o.rowHeight[g]+o.rowHeight[f];o.height+=F-w,this.shiftToLastRow(o)}},E.prototype.tilingPreLayout=function(){s.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},E.prototype.tilingPostLayout=function(){s.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},E.prototype.reduceTrees=function(){for(var o=[],g=!0,f;g;){var L=this.graphManager.getAllNodes(),A=[];g=!1;for(var I=0;I<L.length;I++)f=L[I],f.getEdges().length==1&&!f.getEdges()[0].isInterGraph&&f.getChild()==null&&(A.push([f,f.getEdges()[0],f.getOwner()]),g=!0);if(g==!0){for(var m=[],R=0;R<A.length;R++)A[R][0].getEdges().length==1&&(m.push(A[R]),A[R][0].getOwner().remove(A[R][0]));o.push(m),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=o},E.prototype.growTree=function(o){for(var g=o.length,f=o[g-1],L,A=0;A<f.length;A++)L=f[A],this.findPlaceforPrunedNode(L),L[2].add(L[0]),L[2].add(L[1],L[1].source,L[1].target);o.splice(o.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},E.prototype.findPlaceforPrunedNode=function(o){var g,f,L=o[0];L==o[1].source?f=o[1].target:f=o[1].source;var A=f.startX,I=f.finishX,m=f.startY,R=f.finishY,w=0,F=0,Y=0,x=0,M=[w,Y,F,x];if(m>0)for(var G=A;G<=I;G++)M[0]+=this.grid[G][m-1].length+this.grid[G][m].length-1;if(I<this.grid.length-1)for(var G=m;G<=R;G++)M[1]+=this.grid[I+1][G].length+this.grid[I][G].length-1;if(R<this.grid[0].length-1)for(var G=A;G<=I;G++)M[2]+=this.grid[G][R+1].length+this.grid[G][R].length-1;if(A>0)for(var G=m;G<=R;G++)M[3]+=this.grid[A-1][G].length+this.grid[A][G].length-1;for(var S=y.MAX_VALUE,P,_,U=0;U<M.length;U++)M[U]<S?(S=M[U],P=1,_=U):M[U]==S&&P++;if(P==3&&S==0)M[0]==0&&M[1]==0&&M[2]==0?g=1:M[0]==0&&M[1]==0&&M[3]==0?g=0:M[0]==0&&M[2]==0&&M[3]==0?g=3:M[1]==0&&M[2]==0&&M[3]==0&&(g=2);else if(P==2&&S==0){var X=Math.floor(Math.random()*2);M[0]==0&&M[1]==0?X==0?g=0:g=1:M[0]==0&&M[2]==0?X==0?g=0:g=2:M[0]==0&&M[3]==0?X==0?g=0:g=3:M[1]==0&&M[2]==0?X==0?g=1:g=2:M[1]==0&&M[3]==0?X==0?g=1:g=3:X==0?g=2:g=3}else if(P==4&&S==0){var X=Math.floor(Math.random()*4);g=X}else g=_;g==0?L.setCenter(f.getCenterX(),f.getCenterY()-f.getHeight()/2-p.DEFAULT_EDGE_LENGTH-L.getHeight()/2):g==1?L.setCenter(f.getCenterX()+f.getWidth()/2+p.DEFAULT_EDGE_LENGTH+L.getWidth()/2,f.getCenterY()):g==2?L.setCenter(f.getCenterX(),f.getCenterY()+f.getHeight()/2+p.DEFAULT_EDGE_LENGTH+L.getHeight()/2):L.setCenter(f.getCenterX()-f.getWidth()/2-p.DEFAULT_EDGE_LENGTH-L.getWidth()/2,f.getCenterY())},C.exports=E}),(function(C,v,n){"use strict";var e={};e.layoutBase=n(0),e.CoSEConstants=n(1),e.CoSEEdge=n(2),e.CoSEGraph=n(3),e.CoSEGraphManager=n(4),e.CoSELayout=n(6),e.CoSENode=n(5),C.exports=e})])})});var nt=$((Q,tt)=>{(function(C,v){typeof Q=="object"&&typeof tt=="object"?tt.exports=v(J()):typeof define=="function"&&define.amd?define(["cose-base"],v):typeof Q=="object"?Q.cytoscapeCoseBilkent=v(J()):C.cytoscapeCoseBilkent=v(C.coseBase)})(Q,function(N){return(function(C){var v={};function n(e){if(v[e])return v[e].exports;var t=v[e]={i:e,l:!1,exports:{}};return C[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}return n.m=C,n.c=v,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)})([(function(C,v){C.exports=N}),(function(C,v,n){"use strict";var e=n(0).layoutBase.LayoutConstants,t=n(0).layoutBase.FDLayoutConstants,r=n(0).CoSEConstants,a=n(0).CoSELayout,u=n(0).CoSENode,s=n(0).layoutBase.PointD,p=n(0).layoutBase.DimensionD,i={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function h(T,c){var D={};for(var E in T)D[E]=T[E];for(var E in c)D[E]=c[E];return D}function l(T){this.options=h(i,T),d(this.options)}var d=function(c){c.nodeRepulsion!=null&&(r.DEFAULT_REPULSION_STRENGTH=t.DEFAULT_REPULSION_STRENGTH=c.nodeRepulsion),c.idealEdgeLength!=null&&(r.DEFAULT_EDGE_LENGTH=t.DEFAULT_EDGE_LENGTH=c.idealEdgeLength),c.edgeElasticity!=null&&(r.DEFAULT_SPRING_STRENGTH=t.DEFAULT_SPRING_STRENGTH=c.edgeElasticity),c.nestingFactor!=null&&(r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.nestingFactor),c.gravity!=null&&(r.DEFAULT_GRAVITY_STRENGTH=t.DEFAULT_GRAVITY_STRENGTH=c.gravity),c.numIter!=null&&(r.MAX_ITERATIONS=t.MAX_ITERATIONS=c.numIter),c.gravityRange!=null&&(r.DEFAULT_GRAVITY_RANGE_FACTOR=t.DEFAULT_GRAVITY_RANGE_FACTOR=c.gravityRange),c.gravityCompound!=null&&(r.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.gravityCompound),c.gravityRangeCompound!=null&&(r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.gravityRangeCompound),c.initialEnergyOnIncremental!=null&&(r.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.initialEnergyOnIncremental),c.quality=="draft"?e.QUALITY=0:c.quality=="proof"?e.QUALITY=2:e.QUALITY=1,r.NODE_DIMENSIONS_INCLUDE_LABELS=t.NODE_DIMENSIONS_INCLUDE_LABELS=e.NODE_DIMENSIONS_INCLUDE_LABELS=c.nodeDimensionsIncludeLabels,r.DEFAULT_INCREMENTAL=t.DEFAULT_INCREMENTAL=e.DEFAULT_INCREMENTAL=!c.randomize,r.ANIMATE=t.ANIMATE=e.ANIMATE=c.animate,r.TILE=c.tile,r.TILING_PADDING_VERTICAL=typeof c.tilingPaddingVertical=="function"?c.tilingPaddingVertical.call():c.tilingPaddingVertical,r.TILING_PADDING_HORIZONTAL=typeof c.tilingPaddingHorizontal=="function"?c.tilingPaddingHorizontal.call():c.tilingPaddingHorizontal};l.prototype.run=function(){var T,c,D=this.options,E=this.idToLNode={},O=this.layout=new a,o=this;o.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var g=O.newGraphManager();this.gm=g;var f=this.options.eles.nodes(),L=this.options.eles.edges();this.root=g.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(f),O);for(var A=0;A<L.length;A++){var I=L[A],m=this.idToLNode[I.data("source")],R=this.idToLNode[I.data("target")];if(m!==R&&m.getEdgesBetween(R).length==0){var w=g.add(O.newEdge(),m,R);w.id=I.id()}}var F=function(M,G){typeof M=="number"&&(M=G);var S=M.data("id"),P=o.idToLNode[S];return{x:P.getRect().getCenterX(),y:P.getRect().getCenterY()}},Y=function x(){for(var M=function(){D.fit&&D.cy.fit(D.eles,D.padding),T||(T=!0,o.cy.one("layoutready",D.ready),o.cy.trigger({type:"layoutready",layout:o}))},G=o.options.refresh,S,P=0;P<G&&!S;P++)S=o.stopped||o.layout.tick();if(S){O.checkLayoutSuccess()&&!O.isSubLayout&&O.doPostLayout(),O.tilingPostLayout&&O.tilingPostLayout(),O.isLayoutFinished=!0,o.options.eles.nodes().positions(F),M(),o.cy.one("layoutstop",o.options.stop),o.cy.trigger({type:"layoutstop",layout:o}),c&&cancelAnimationFrame(c),T=!1;return}var _=o.layout.getPositionsData();D.eles.nodes().positions(function(U,X){if(typeof U=="number"&&(U=X),!U.isParent()){for(var B=U.id(),b=_[B],H=U;b==null&&(b=_[H.data("parent")]||_["DummyCompound_"+H.data("parent")],_[B]=b,H=H.parent()[0],H!=null););return b!=null?{x:b.x,y:b.y}:{x:U.position("x"),y:U.position("y")}}}),M(),c=requestAnimationFrame(x)};return O.addListener("layoutstarted",function(){o.options.animate==="during"&&(c=requestAnimationFrame(Y))}),O.runLayout(),this.options.animate!=="during"&&(o.options.eles.nodes().not(":parent").layoutPositions(o,o.options,F),T=!1),this},l.prototype.getTopMostNodes=function(T){for(var c={},D=0;D<T.length;D++)c[T[D].id()]=!0;var E=T.filter(function(O,o){typeof O=="number"&&(O=o);for(var g=O.parent()[0];g!=null;){if(c[g.id()])return!1;g=g.parent()[0]}return!0});return E},l.prototype.processChildrenList=function(T,c,D){for(var E=c.length,O=0;O<E;O++){var o=c[O],g=o.children(),f,L=o.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if(o.outerWidth()!=null&&o.outerHeight()!=null?f=T.add(new u(D.graphManager,new s(o.position("x")-L.w/2,o.position("y")-L.h/2),new p(parseFloat(L.w),parseFloat(L.h)))):f=T.add(new u(this.graphManager)),f.id=o.data("id"),f.paddingLeft=parseInt(o.css("padding")),f.paddingTop=parseInt(o.css("padding")),f.paddingRight=parseInt(o.css("padding")),f.paddingBottom=parseInt(o.css("padding")),this.options.nodeDimensionsIncludeLabels&&o.isParent()){var A=o.boundingBox({includeLabels:!0,includeNodes:!1}).w,I=o.boundingBox({includeLabels:!0,includeNodes:!1}).h,m=o.css("text-halign");f.labelWidth=A,f.labelHeight=I,f.labelPos=m}if(this.idToLNode[o.data("id")]=f,isNaN(f.rect.x)&&(f.rect.x=0),isNaN(f.rect.y)&&(f.rect.y=0),g!=null&&g.length>0){var R;R=D.getGraphManager().add(D.newGraph(),f),this.processChildrenList(R,g,D)}}},l.prototype.stop=function(){return this.stopped=!0,this};var y=function(c){c("layout","cose-bilkent",l)};typeof cytoscape<"u"&&y(cytoscape),C.exports=y})])})});var st=pt(nt(),1);j.use(st.default);function ot(N,C){N.forEach(v=>{let n={id:v.id,labelText:v.label,height:v.height,width:v.width,padding:v.padding??0};Object.keys(v).forEach(e=>{["id","label","height","width","padding","x","y"].includes(e)||(n[e]=v[e])}),C.add({group:"nodes",data:n,position:{x:v.x??0,y:v.y??0}})})}W(ot,"addNodes");function at(N,C){N.forEach(v=>{let n={id:v.id,source:v.start,target:v.end};Object.keys(v).forEach(e=>{["id","start","end"].includes(e)||(n[e]=v[e])}),C.add({group:"edges",data:n})})}W(at,"addEdges");function ht(N){return new Promise(C=>{let v=it("body").append("div").attr("id","cy").attr("style","display:none"),n=j({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});v.remove(),ot(N.nodes,n),at(N.edges,n),n.nodes().forEach(function(t){t.layoutDimensions=()=>{let r=t.data();return{w:r.width,h:r.height}}});let e={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(e).run(),n.ready(t=>{V.info("Cytoscape ready",t),C(n)})})}W(ht,"createCytoscapeInstance");function lt(N){return N.nodes().map(C=>{let v=C.data(),n=C.position(),e={id:v.id,x:n.x,y:n.y};return Object.keys(v).forEach(t=>{t!=="id"&&(e[t]=v[t])}),e})}W(lt,"extractPositionedNodes");function ut(N){return N.edges().map(C=>{let v=C.data(),n=C._private.rscratch,e={id:v.id,source:v.source,target:v.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(v).forEach(t=>{["id","source","target"].includes(t)||(e[t]=v[t])}),e})}W(ut,"extractPositionedEdges");async function gt(N,C){V.debug("Starting cose-bilkent layout algorithm");try{ft(N);let v=await ht(N),n=lt(v),e=ut(v);return V.debug(`Layout completed: ${n.length} nodes, ${e.length} edges`),{nodes:n,edges:e}}catch(v){throw V.error("Error in cose-bilkent layout algorithm:",v),v}}W(gt,"executeCoseBilkentLayout");function ft(N){if(!N)throw new Error("Layout data is required");if(!N.config)throw new Error("Configuration is required in layout data");if(!N.rootNode)throw new Error("Root node is required");if(!N.nodes||!Array.isArray(N.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(N.edges))throw new Error("Edges array is required in layout data");return!0}W(ft,"validateLayoutData");var dt=W(async(N,C,{insertCluster:v,insertEdge:n,insertEdgeLabel:e,insertMarkers:t,insertNode:r,log:a,positionEdgeLabel:u},{algorithm:s})=>{let p={},i={},h=C.select("g");t(h,N.markers,N.type,N.diagramId);let l=h.insert("g").attr("class","subgraphs"),d=h.insert("g").attr("class","edgePaths"),y=h.insert("g").attr("class","edgeLabels"),T=h.insert("g").attr("class","nodes");a.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(N.nodes.map(async E=>{if(E.isGroup){let O={...E};i[E.id]=O,p[E.id]=O,await v(l,E)}else{let O={...E};p[E.id]=O;let o=await r(T,E,{config:N.config,dir:N.direction||"TB"}),g=o.node().getBBox();O.width=g.width,O.height=g.height,O.domId=o,a.debug(`Node ${E.id} dimensions: ${g.width}x${g.height}`)}})),a.debug("Running cose-bilkent layout algorithm");let c={...N,nodes:N.nodes.map(E=>{let O=p[E.id];return{...E,width:O.width,height:O.height}})},D=await gt(c,N.config);a.debug("Positioning nodes based on layout results"),D.nodes.forEach(E=>{let O=p[E.id];O?.domId&&(O.domId.attr("transform",`translate(${E.x}, ${E.y})`),O.x=E.x,O.y=E.y,a.debug(`Positioned node ${O.id} at center (${E.x}, ${E.y})`))}),D.edges.forEach(E=>{let O=N.edges.find(o=>o.id===E.id);O&&(O.points=[{x:E.startX,y:E.startY},{x:E.midX,y:E.midY},{x:E.endX,y:E.endY}])}),a.debug("Inserting and positioning edges"),await Promise.all(N.edges.map(async E=>{let O=await e(y,E),o=p[E.start??""],g=p[E.end??""];if(o&&g){let f=D.edges.find(L=>L.id===E.id);if(f){a.debug("APA01 positionedEdge",f);let L={...E},A=n(d,L,i,N.type,o,g,N.diagramId);u(L,A)}else{let L={...E,points:[{x:o.x||0,y:o.y||0},{x:g.x||0,y:g.y||0}]},A=n(d,L,i,N.type,o,g,N.diagramId);u(L,A)}}})),a.debug("Cose-bilkent rendering completed")},"render"),Lt=dt;export{Lt as render};
//# sourceMappingURL=cose-bilkent-S5V4N54A-HENZWBLB.min.js.map