From 364d2c6bf20cc49221d86b8e914e542538c130cc Mon Sep 17 00:00:00 2001 From: josdejong Date: Wed, 9 Apr 2014 19:31:01 +0200 Subject: [PATCH] Released version 0.7.2 --- dist/vis.css | 3 ++- dist/vis.js | 66 ++++++++++++++++++++++++++++++++++++++++------- dist/vis.min.css | 2 +- dist/vis.min.js | 18 ++++++------- download/vis.zip | Bin 1116930 -> 1117257 bytes index.html | 2 +- 6 files changed, 69 insertions(+), 22 deletions(-) diff --git a/dist/vis.css b/dist/vis.css index e290c0a0..a841904e 100644 --- a/dist/vis.css +++ b/dist/vis.css @@ -34,8 +34,8 @@ margin: 0; border-right: 1px solid #bfbfbf; - box-sizing: border-box; -moz-box-sizing: border-box; + box-sizing: border-box; } .vis.timeline .labels .label-set { @@ -158,6 +158,7 @@ border-width: 1px; border-radius: 2px; -moz-border-radius: 2px; /* For Firefox 3.6 and older */ + -moz-box-sizing: border-box; box-sizing: border-box; } diff --git a/dist/vis.js b/dist/vis.js index 9a4279f8..1dbe8ee6 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 0.7.1 - * @date 2014-03-27 + * @version 0.7.2 + * @date 2014-04-09 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -9465,6 +9465,8 @@ function Node(properties, imagelist, grouplist, constants) { this.radiusMin = constants.nodes.radiusMin; this.radiusMax = constants.nodes.radiusMax; this.level = -1; + this.preassignedLevel = false; + this.imagelist = imagelist; this.grouplist = grouplist; @@ -9557,7 +9559,7 @@ Node.prototype.setProperties = function(properties, constants) { if (properties.x !== undefined) {this.x = properties.x;} if (properties.y !== undefined) {this.y = properties.y;} if (properties.value !== undefined) {this.value = properties.value;} - if (properties.level !== undefined) {this.level = properties.level;} + if (properties.level !== undefined) {this.level = properties.level; this.preassignedLevel = true;} // physics @@ -10648,7 +10650,7 @@ Edge.prototype.draw = function(ctx) { * @return {boolean} True if location is located on the edge */ Edge.prototype.isOverlappingWith = function(obj) { - if (this.connected == true) { + if (this.connected) { var distMax = 10; var xFrom = this.from.x; var yFrom = this.from.y; @@ -12599,6 +12601,18 @@ var repulsionMixin = { var HierarchicalLayoutMixin = { + + _resetLevels : function() { + for (var nodeId in this.nodes) { + if (this.nodes.hasOwnProperty(nodeId)) { + var node = this.nodes[nodeId]; + if (node.preassignedLevel == false) { + node.level = -1; + } + } + } + }, + /** * This is the main function to layout the nodes in a hierarchical way. * It checks if the node details are supplied correctly @@ -16032,6 +16046,7 @@ function Graph (container, data, options) { this.stabilize = true; // stabilize before displaying the graph this.selectable = true; + this.initializing = true; // these functions are triggered when the dataset is edited this.triggerFunctions = {add:null,edit:null,connect:null,delete:null}; @@ -16250,6 +16265,7 @@ function Graph (container, data, options) { this.setData(data,this.constants.clustering.enabled || this.constants.hierarchicalLayout.enabled); // hierarchical layout + this.initializing = false; if (this.constants.hierarchicalLayout.enabled == true) { this._setupHierarchicalLayout(); } @@ -16308,6 +16324,9 @@ Graph.prototype._getRange = function() { if (maxY < (node.y)) {maxY = node.y;} } } + if (minX == 1e9 && maxX == -1e9 && minY == 1e9 && maxY == -1e9) { + minY = 0, maxY = 0, minX = 0, maxX = 0; + } return {minX: minX, maxX: maxX, minY: minY, maxY: maxY}; }; @@ -17018,6 +17037,7 @@ Graph.prototype._zoom = function(scale, pointer) { this.updateClustersDefault(); this._redraw(); + return scale; }; @@ -17280,6 +17300,10 @@ Graph.prototype._addNodes = function(ids) { this.moving = true; } this._updateNodeIndexList(); + if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { + this._resetLevels(); + this._setupHierarchicalLayout(); + } this._updateCalculationNodes(); this._reconnectEdges(); this._updateValueRange(this.nodes); @@ -17329,6 +17353,10 @@ Graph.prototype._removeNodes = function(ids) { delete nodes[id]; } this._updateNodeIndexList(); + if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { + this._resetLevels(); + this._setupHierarchicalLayout(); + } this._updateCalculationNodes(); this._reconnectEdges(); this._updateSelection(); @@ -17407,6 +17435,10 @@ Graph.prototype._addEdges = function (ids) { this.moving = true; this._updateValueRange(edges); this._createBezierNodes(); + if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { + this._resetLevels(); + this._setupHierarchicalLayout(); + } this._updateCalculationNodes(); }; @@ -17437,6 +17469,10 @@ Graph.prototype._updateEdges = function (ids) { } this._createBezierNodes(); + if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { + this._resetLevels(); + this._setupHierarchicalLayout(); + } this.moving = true; this._updateValueRange(edges); }; @@ -17462,6 +17498,10 @@ Graph.prototype._removeEdges = function (ids) { this.moving = true; this._updateValueRange(edges); + if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) { + this._resetLevels(); + this._setupHierarchicalLayout(); + } this._updateCalculationNodes(); }; @@ -17795,11 +17835,13 @@ Graph.prototype._discreteStepNodes = function() { var interval = this.physicsDiscreteStepsize; var nodes = this.nodes; var nodeId; + var nodesPresent = false; if (this.constants.maxVelocity > 0) { for (nodeId in nodes) { if (nodes.hasOwnProperty(nodeId)) { nodes[nodeId].discreteStepLimited(interval, this.constants.maxVelocity); + nodesPresent = true; } } } @@ -17807,15 +17849,19 @@ Graph.prototype._discreteStepNodes = function() { for (nodeId in nodes) { if (nodes.hasOwnProperty(nodeId)) { nodes[nodeId].discreteStep(interval); + nodesPresent = true; } } } - var vminCorrected = this.constants.minVelocity / Math.max(this.scale,0.05); - if (vminCorrected > 0.5*this.constants.maxVelocity) { - this.moving = true; - } - else { - this.moving = this._isMoving(vminCorrected); + + if (nodesPresent == true) { + var vminCorrected = this.constants.minVelocity / Math.max(this.scale,0.05); + if (vminCorrected > 0.5*this.constants.maxVelocity) { + this.moving = true; + } + else { + this.moving = this._isMoving(vminCorrected); + } } }; diff --git a/dist/vis.min.css b/dist/vis.min.css index 8e8f9591..7ae07c0c 100644 --- a/dist/vis.min.css +++ b/dist/vis.min.css @@ -1 +1 @@ -.vis.timeline.rootpanel{position:relative;overflow:hidden;border:1px solid #bfbfbf;-moz-box-sizing:border-box;box-sizing:border-box}.vis.timeline .vpanel{position:absolute;overflow:hidden}.vis.timeline .groupset{position:absolute;padding:0;margin:0}.vis.timeline .labels{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;margin:0;border-right:1px solid #bfbfbf;box-sizing:border-box;-moz-box-sizing:border-box}.vis.timeline .labels .label-set{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-top:none;border-bottom:1px solid #bfbfbf}.vis.timeline .labels .label-set .vlabel{position:absolute;left:0;top:0;width:100%;color:#4d4d4d}.vis.timeline.top .groupset .itemset-axis,.vis.timeline.top .labels .label-set .vlabel{border-top:1px solid #bfbfbf;border-bottom:none}.vis.timeline.bottom .groupset .itemset-axis,.vis.timeline.bottom .labels .label-set .vlabel{border-top:none;border-bottom:1px solid #bfbfbf}.vis.timeline .labels .label-set .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .itemset{position:absolute;padding:0;margin:0;overflow:hidden}.vis.timeline .itemset-axis{position:absolute}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:999}.vis.timeline.editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785;z-index:999}.vis.timeline .item.point.selected .dot{border-color:#FFC200}.vis.timeline .item.cluster{background:#97B0F8 url(img/cluster_bg.png);color:#fff}.vis.timeline .item.cluster.point{border-color:#D5DDF6}.vis.timeline .item.box{text-align:center;border-style:solid;border-width:1px;border-radius:5px;-moz-border-radius:5px}.vis.timeline .item.point{background:0 0}.vis.timeline .dot,.vis.timeline .item.dot{padding:0;border:5px solid #97B0F8;position:absolute;border-radius:5px;-moz-border-radius:5px}.vis.timeline .item.range,.vis.timeline .item.rangeoverflow{border-style:solid;border-width:1px;border-radius:2px;-moz-border-radius:2px;box-sizing:border-box}.vis.timeline .item.range .content,.vis.timeline .item.rangeoverflow .content{position:relative;display:inline-block}.vis.timeline .item.range .content{overflow:hidden;max-width:100%}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) no-repeat top center;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left,.vis.timeline .item.rangeoverflow .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize;z-index:10000}.vis.timeline .item.range .drag-right,.vis.timeline .item.rangeoverflow .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize;z-index:10001}.vis.timeline .axis{position:relative}.vis.timeline .axis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .axis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .axis .grid.vertical{position:absolute;width:0;border-right:1px solid}.vis.timeline .axis .grid.horizontal{position:absolute;left:0;width:100%;height:0;border-bottom:1px solid}.vis.timeline .axis .grid.minor{border-color:#e5e5e5}.vis.timeline .axis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:9}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:9}div.graph-manipulationDiv{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0);width:600px;height:30px;z-index:10;position:absolute}div.graph-manipulation-editMode{height:30px;z-index:10;position:absolute;margin-top:20px}div.graph-manipulation-closeDiv{height:30px;width:30px;z-index:11;position:absolute;margin-top:3px;margin-left:590px;background-position:0 0;background-repeat:no-repeat;background-image:url(img/graph/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.graph-manipulationUI{font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.graph-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.graph-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.graph-manipulationUI.back{background-image:url(img/graph/backIcon.png)}span.graph-manipulationUI.none:hover{box-shadow:1px 1px 8px rgba(0,0,0,0);cursor:default}span.graph-manipulationUI.none:active{box-shadow:1px 1px 8px rgba(0,0,0,0)}span.graph-manipulationUI.none{padding:0}span.graph-manipulationUI.notification{margin:2px;font-weight:700}span.graph-manipulationUI.add{background-image:url(img/graph/addNodeIcon.png)}span.graph-manipulationUI.edit{background-image:url(img/graph/editIcon.png)}span.graph-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.graph-manipulationUI.connect{background-image:url(img/graph/connectIcon.png)}span.graph-manipulationUI.delete{background-image:url(img/graph/deleteIcon.png)}span.graph-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.graph-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.graph-navigation{width:34px;height:34px;z-index:10;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.graph-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.graph-navigation.active,div.graph-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.graph-navigation.up{background-image:url(img/graph/upArrow.png);bottom:50px;left:55px}div.graph-navigation.down{background-image:url(img/graph/downArrow.png);bottom:10px;left:55px}div.graph-navigation.left{background-image:url(img/graph/leftArrow.png);bottom:10px;left:15px}div.graph-navigation.right{background-image:url(img/graph/rightArrow.png);bottom:10px;left:95px}div.graph-navigation.zoomIn{background-image:url(img/graph/plus.png);bottom:10px;right:15px}div.graph-navigation.zoomOut{background-image:url(img/graph/minus.png);bottom:10px;right:55px}div.graph-navigation.zoomExtends{background-image:url(img/graph/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file +.vis.timeline.rootpanel{position:relative;overflow:hidden;border:1px solid #bfbfbf;-moz-box-sizing:border-box;box-sizing:border-box}.vis.timeline .vpanel{position:absolute;overflow:hidden}.vis.timeline .groupset{position:absolute;padding:0;margin:0}.vis.timeline .labels{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;margin:0;border-right:1px solid #bfbfbf;-moz-box-sizing:border-box;box-sizing:border-box}.vis.timeline .labels .label-set{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-top:none;border-bottom:1px solid #bfbfbf}.vis.timeline .labels .label-set .vlabel{position:absolute;left:0;top:0;width:100%;color:#4d4d4d}.vis.timeline.top .groupset .itemset-axis,.vis.timeline.top .labels .label-set .vlabel{border-top:1px solid #bfbfbf;border-bottom:none}.vis.timeline.bottom .groupset .itemset-axis,.vis.timeline.bottom .labels .label-set .vlabel{border-top:none;border-bottom:1px solid #bfbfbf}.vis.timeline .labels .label-set .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .itemset{position:absolute;padding:0;margin:0;overflow:hidden}.vis.timeline .itemset-axis{position:absolute}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:999}.vis.timeline.editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785;z-index:999}.vis.timeline .item.point.selected .dot{border-color:#FFC200}.vis.timeline .item.cluster{background:#97B0F8 url(img/cluster_bg.png);color:#fff}.vis.timeline .item.cluster.point{border-color:#D5DDF6}.vis.timeline .item.box{text-align:center;border-style:solid;border-width:1px;border-radius:5px;-moz-border-radius:5px}.vis.timeline .item.point{background:0 0}.vis.timeline .dot,.vis.timeline .item.dot{padding:0;border:5px solid #97B0F8;position:absolute;border-radius:5px;-moz-border-radius:5px}.vis.timeline .item.range,.vis.timeline .item.rangeoverflow{border-style:solid;border-width:1px;border-radius:2px;-moz-border-radius:2px;-moz-box-sizing:border-box;box-sizing:border-box}.vis.timeline .item.range .content,.vis.timeline .item.rangeoverflow .content{position:relative;display:inline-block}.vis.timeline .item.range .content{overflow:hidden;max-width:100%}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) no-repeat top center;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left,.vis.timeline .item.rangeoverflow .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize;z-index:10000}.vis.timeline .item.range .drag-right,.vis.timeline .item.rangeoverflow .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize;z-index:10001}.vis.timeline .axis{position:relative}.vis.timeline .axis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .axis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .axis .grid.vertical{position:absolute;width:0;border-right:1px solid}.vis.timeline .axis .grid.horizontal{position:absolute;left:0;width:100%;height:0;border-bottom:1px solid}.vis.timeline .axis .grid.minor{border-color:#e5e5e5}.vis.timeline .axis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:9}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:9}div.graph-manipulationDiv{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0);width:600px;height:30px;z-index:10;position:absolute}div.graph-manipulation-editMode{height:30px;z-index:10;position:absolute;margin-top:20px}div.graph-manipulation-closeDiv{height:30px;width:30px;z-index:11;position:absolute;margin-top:3px;margin-left:590px;background-position:0 0;background-repeat:no-repeat;background-image:url(img/graph/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.graph-manipulationUI{font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.graph-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.graph-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.graph-manipulationUI.back{background-image:url(img/graph/backIcon.png)}span.graph-manipulationUI.none:hover{box-shadow:1px 1px 8px rgba(0,0,0,0);cursor:default}span.graph-manipulationUI.none:active{box-shadow:1px 1px 8px rgba(0,0,0,0)}span.graph-manipulationUI.none{padding:0}span.graph-manipulationUI.notification{margin:2px;font-weight:700}span.graph-manipulationUI.add{background-image:url(img/graph/addNodeIcon.png)}span.graph-manipulationUI.edit{background-image:url(img/graph/editIcon.png)}span.graph-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.graph-manipulationUI.connect{background-image:url(img/graph/connectIcon.png)}span.graph-manipulationUI.delete{background-image:url(img/graph/deleteIcon.png)}span.graph-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.graph-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.graph-navigation{width:34px;height:34px;z-index:10;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.graph-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.graph-navigation.active,div.graph-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.graph-navigation.up{background-image:url(img/graph/upArrow.png);bottom:50px;left:55px}div.graph-navigation.down{background-image:url(img/graph/downArrow.png);bottom:10px;left:55px}div.graph-navigation.left{background-image:url(img/graph/leftArrow.png);bottom:10px;left:15px}div.graph-navigation.right{background-image:url(img/graph/rightArrow.png);bottom:10px;left:95px}div.graph-navigation.zoomIn{background-image:url(img/graph/plus.png);bottom:10px;right:15px}div.graph-navigation.zoomOut{background-image:url(img/graph/minus.png);bottom:10px;right:55px}div.graph-navigation.zoomExtends{background-image:url(img/graph/zoomExtends.png);bottom:50px;right:15px} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index b1219103..df9d0493 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,8 +4,8 @@ * * A dynamic, browser-based visualization library. * - * @version 0.7.1 - * @date 2014-03-27 + * @version 0.7.2 + * @date 2014-04-09 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,12 +22,12 @@ * License for the specific language governing permissions and limitations under * the License. */ -!function(t){if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.vis=t()}}(function(){var define,module,exports;return function t(e,i,s){function n(r,a){if(!i[r]){if(!e[r]){var h="function"==typeof require&&require;if(!a&&h)return h(r,!0);if(o)return o(r,!0);throw new Error("Cannot find module '"+r+"'")}var d=i[r]={exports:{}};e[r][0].call(d.exports,function(t){var i=e[r][1][t];return n(i?i:t)},d,d.exports,t,e,i,s)}return i[r].exports}for(var o="function"==typeof require&&require,r=0;ri;++i)t.call(e||this,this[i],i,this)}),Array.prototype.map||(Array.prototype.map=function(t,e){var i,s,n;if(null==this)throw new TypeError(" this is null or not defined");var o=Object(this),r=o.length>>>0;if("function"!=typeof t)throw new TypeError(t+" is not a function");for(e&&(i=e),s=new Array(r),n=0;r>n;){var a,h;n in o&&(a=o[n],h=t.call(i,a,n,o),s[n]=h),n++}return s}),Array.prototype.filter||(Array.prototype.filter=function(t){"use strict";if(null==this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=[],n=arguments[1],o=0;i>o;o++)if(o in e){var r=e[o];t.call(n,r,o,e)&&s.push(r)}return s}),Object.keys||(Object.keys=function(){var t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],s=i.length;return function(n){if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Object.keys called on non-object");var o=[];for(var r in n)t.call(n,r)&&o.push(r);if(e)for(var a=0;s>a;a++)t.call(n,i[a])&&o.push(i[a]);return o}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,s=function(){},n=function(){return i.apply(this instanceof s&&t?this:t,e.concat(Array.prototype.slice.call(arguments)))};return s.prototype=this.prototype,n.prototype=new s,n}),Object.create||(Object.create=function(t){function e(){}if(arguments.length>1)throw new Error("Object.create implementation only accepts the first parameter.");return e.prototype=t,new e}),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,s=function(){},n=function(){return i.apply(this instanceof s&&t?this:t,e.concat(Array.prototype.slice.call(arguments)))};return s.prototype=this.prototype,n.prototype=new s,n});var util={};util.isNumber=function(t){return t instanceof Number||"number"==typeof t},util.isString=function(t){return t instanceof String||"string"==typeof t},util.isDate=function(t){if(t instanceof Date)return!0;if(util.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},util.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},util.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},util.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var n in s)s.hasOwnProperty(n)&&void 0!==s[n]&&(t[n]=s[n])}return t},util.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(util.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(util.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+util.getType(t)+" to type Date");case"Moment":if(util.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(util.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+util.getType(t)+" to type Date");case"ISODate":if(util.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(util.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+util.getType(t)+" to type ISODate");case"ASPDate":if(util.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(util.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+util.getType(t)+" to type ASPDate");default:throw new Error("Cannot convert object of type "+util.getType(t)+' to type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;util.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":t instanceof Array?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},util.getAbsoluteLeft=function(t){for(var e=document.documentElement,i=document.body,s=t.offsetLeft,n=t.offsetParent;null!=n&&n!=i&&n!=e;)s+=n.offsetLeft,s-=n.scrollLeft,n=n.offsetParent;return s},util.getAbsoluteTop=function(t){for(var e=document.documentElement,i=document.body,s=t.offsetTop,n=t.offsetParent;null!=n&&n!=i&&n!=e;)s+=n.offsetTop,s-=n.scrollTop,n=n.offsetParent;return s},util.getPageY=function(t){if("pageY"in t)return t.pageY;var e;e="targetTouches"in t&&t.targetTouches.length?t.targetTouches[0].clientY:t.clientY;var i=document.documentElement,s=document.body;return e+(i&&i.scrollTop||s&&s.scrollTop||0)-(i&&i.clientTop||s&&s.clientTop||0)},util.getPageX=function(t){if("pageY"in t)return t.pageX;var e;e="targetTouches"in t&&t.targetTouches.length?t.targetTouches[0].clientX:t.clientX;var i=document.documentElement,s=document.body;return e+(i&&i.scrollLeft||s&&s.scrollLeft||0)-(i&&i.clientLeft||s&&s.clientLeft||0)},util.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},util.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},util.forEach=function(t,e){var i,s;if(t instanceof Array)for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},util.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},util.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},util.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},util.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},util.fakeGesture=function(t,e){var i=null,s=Hammer.event.collectEventData(this,i,e);return isNaN(s.center.pageX)&&(s.center.pageX=e.pageX),isNaN(s.center.pageY)&&(s.center.pageY=e.pageY),s},util.option={},util.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},util.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},util.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},util.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),util.isString(t)?t:util.isNumber(t)?t+"px":e||null},util.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},util.GiveDec=function GiveDec(Hex){return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},util.GiveHex=function(t){return Value=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},util.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=util.GiveDec(t.substring(0,1)),i=util.GiveDec(t.substring(1,2)),s=util.GiveDec(t.substring(2,3)),n=util.GiveDec(t.substring(3,4)),o=util.GiveDec(t.substring(4,5)),r=util.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+n,i=16*o+r;return{r:a,g:h,b:i}},util.RGBToHex=function(t,e,i){var s=util.GiveHex(Math.floor(t/16)),n=util.GiveHex(t%16),o=util.GiveHex(Math.floor(e/16)),r=util.GiveHex(e%16),a=util.GiveHex(Math.floor(i/16)),h=util.GiveHex(i%16),d=s+n+o+r+a+h;return"#"+d},util.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(s==n)return{h:0,s:0,v:s};var o=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-o/(n-s))/360,h=(n-s)/n,d=n;return{h:a,s:h,v:d}},util.HSVToRGB=function(t,e,i){var s,n,o,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),c=i*(1-(1-a)*e);switch(r%6){case 0:s=i,n=c,o=h;break;case 1:s=d,n=i,o=h;break;case 2:s=h,n=i,o=c;break;case 3:s=h,n=d,o=i;break;case 4:s=c,n=h,o=i;break;case 5:s=i,n=h,o=d}return{r:Math.floor(255*s),g:Math.floor(255*n),b:Math.floor(255*o)}},util.HSVToHex=function(t,e,i){var s=util.HSVToRGB(t,e,i);return util.RGBToHex(s.r,s.g,s.b)},util.hexToHSV=function(t){var e=util.hexToRGB(t);return util.RGBToHSV(e.r,e.g,e.b)},util.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},util.copyObject=function(t,e){for(var i in t)t.hasOwnProperty(i)&&("object"==typeof t[i]?(e[i]={},util.copyObject(t[i],e[i])):e[i]=t[i])},DataSet.prototype.on=function(t,e){var i=this.subscribers[t];i||(i=[],this.subscribers[t]=i),i.push({callback:e})},DataSet.prototype.subscribe=DataSet.prototype.on,DataSet.prototype.off=function(t,e){var i=this.subscribers[t];i&&(this.subscribers[t]=i.filter(function(t){return t.callback!=e}))},DataSet.prototype.unsubscribe=DataSet.prototype.off,DataSet.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this.subscribers&&(s=s.concat(this.subscribers[t])),"*"in this.subscribers&&(s=s.concat(this.subscribers["*"]));for(var n=0;no;o++)i=n._addItem(t[o]),s.push(i);else if(util.isDataTable(t))for(var a=this._getColumnNames(t),h=0,d=t.getNumberOfRows();d>h;h++){for(var c={},l=0,u=a.length;u>l;l++){var p=a[l]; +!function(t){if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.vis=t()}}(function(){var define,module,exports;return function t(e,i,s){function n(r,a){if(!i[r]){if(!e[r]){var h="function"==typeof require&&require;if(!a&&h)return h(r,!0);if(o)return o(r,!0);throw new Error("Cannot find module '"+r+"'")}var d=i[r]={exports:{}};e[r][0].call(d.exports,function(t){var i=e[r][1][t];return n(i?i:t)},d,d.exports,t,e,i,s)}return i[r].exports}for(var o="function"==typeof require&&require,r=0;ri;++i)t.call(e||this,this[i],i,this)}),Array.prototype.map||(Array.prototype.map=function(t,e){var i,s,n;if(null==this)throw new TypeError(" this is null or not defined");var o=Object(this),r=o.length>>>0;if("function"!=typeof t)throw new TypeError(t+" is not a function");for(e&&(i=e),s=new Array(r),n=0;r>n;){var a,h;n in o&&(a=o[n],h=t.call(i,a,n,o),s[n]=h),n++}return s}),Array.prototype.filter||(Array.prototype.filter=function(t){"use strict";if(null==this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=[],n=arguments[1],o=0;i>o;o++)if(o in e){var r=e[o];t.call(n,r,o,e)&&s.push(r)}return s}),Object.keys||(Object.keys=function(){var t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],s=i.length;return function(n){if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Object.keys called on non-object");var o=[];for(var r in n)t.call(n,r)&&o.push(r);if(e)for(var a=0;s>a;a++)t.call(n,i[a])&&o.push(i[a]);return o}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,s=function(){},n=function(){return i.apply(this instanceof s&&t?this:t,e.concat(Array.prototype.slice.call(arguments)))};return s.prototype=this.prototype,n.prototype=new s,n}),Object.create||(Object.create=function(t){function e(){}if(arguments.length>1)throw new Error("Object.create implementation only accepts the first parameter.");return e.prototype=t,new e}),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,s=function(){},n=function(){return i.apply(this instanceof s&&t?this:t,e.concat(Array.prototype.slice.call(arguments)))};return s.prototype=this.prototype,n.prototype=new s,n});var util={};util.isNumber=function(t){return t instanceof Number||"number"==typeof t},util.isString=function(t){return t instanceof String||"string"==typeof t},util.isDate=function(t){if(t instanceof Date)return!0;if(util.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},util.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},util.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},util.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var n in s)s.hasOwnProperty(n)&&void 0!==s[n]&&(t[n]=s[n])}return t},util.convert=function(t,e){var i;if(void 0===t)return void 0;if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return Number(t.valueOf());case"string":case"String":return String(t);case"Date":if(util.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(moment.isMoment(t))return new Date(t.valueOf());if(util.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])):moment(t).toDate();throw new Error("Cannot convert object of type "+util.getType(t)+" to type Date");case"Moment":if(util.isNumber(t))return moment(t);if(t instanceof Date)return moment(t.valueOf());if(moment.isMoment(t))return moment(t);if(util.isString(t))return i=ASPDateRegex.exec(t),moment(i?Number(i[1]):t);throw new Error("Cannot convert object of type "+util.getType(t)+" to type Date");case"ISODate":if(util.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(moment.isMoment(t))return t.toDate().toISOString();if(util.isString(t))return i=ASPDateRegex.exec(t),i?new Date(Number(i[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+util.getType(t)+" to type ISODate");case"ASPDate":if(util.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(util.isString(t)){i=ASPDateRegex.exec(t);var s;return s=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+s+")/"}throw new Error("Cannot convert object of type "+util.getType(t)+" to type ASPDate");default:throw new Error("Cannot convert object of type "+util.getType(t)+' to type "'+e+'"')}};var ASPDateRegex=/^\/?Date\((\-?\d+)/i;util.getType=function(t){var e=typeof t;return"object"==e?null==t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":t instanceof Array?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":e},util.getAbsoluteLeft=function(t){for(var e=document.documentElement,i=document.body,s=t.offsetLeft,n=t.offsetParent;null!=n&&n!=i&&n!=e;)s+=n.offsetLeft,s-=n.scrollLeft,n=n.offsetParent;return s},util.getAbsoluteTop=function(t){for(var e=document.documentElement,i=document.body,s=t.offsetTop,n=t.offsetParent;null!=n&&n!=i&&n!=e;)s+=n.offsetTop,s-=n.scrollTop,n=n.offsetParent;return s},util.getPageY=function(t){if("pageY"in t)return t.pageY;var e;e="targetTouches"in t&&t.targetTouches.length?t.targetTouches[0].clientY:t.clientY;var i=document.documentElement,s=document.body;return e+(i&&i.scrollTop||s&&s.scrollTop||0)-(i&&i.clientTop||s&&s.clientTop||0)},util.getPageX=function(t){if("pageY"in t)return t.pageX;var e;e="targetTouches"in t&&t.targetTouches.length?t.targetTouches[0].clientX:t.clientX;var i=document.documentElement,s=document.body;return e+(i&&i.scrollLeft||s&&s.scrollLeft||0)-(i&&i.clientLeft||s&&s.clientLeft||0)},util.addClassName=function(t,e){var i=t.className.split(" ");-1==i.indexOf(e)&&(i.push(e),t.className=i.join(" "))},util.removeClassName=function(t,e){var i=t.className.split(" "),s=i.indexOf(e);-1!=s&&(i.splice(s,1),t.className=i.join(" "))},util.forEach=function(t,e){var i,s;if(t instanceof Array)for(i=0,s=t.length;s>i;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},util.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},util.addEventListener=function(t,e,i,s){t.addEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,s)):t.attachEvent("on"+e,i)},util.removeEventListener=function(t,e,i,s){t.removeEventListener?(void 0===s&&(s=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,s)):t.detachEvent("on"+e,i)},util.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},util.fakeGesture=function(t,e){var i=null,s=Hammer.event.collectEventData(this,i,e);return isNaN(s.center.pageX)&&(s.center.pageX=e.pageX),isNaN(s.center.pageY)&&(s.center.pageY=e.pageY),s},util.option={},util.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},util.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},util.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},util.option.asSize=function(t,e){return"function"==typeof t&&(t=t()),util.isString(t)?t:util.isNumber(t)?t+"px":e||null},util.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},util.GiveDec=function GiveDec(Hex){return Value="A"==Hex?10:"B"==Hex?11:"C"==Hex?12:"D"==Hex?13:"E"==Hex?14:"F"==Hex?15:eval(Hex)},util.GiveHex=function(t){return Value=10==t?"A":11==t?"B":12==t?"C":13==t?"D":14==t?"E":15==t?"F":""+t},util.hexToRGB=function(t){t=t.replace("#","").toUpperCase();var e=util.GiveDec(t.substring(0,1)),i=util.GiveDec(t.substring(1,2)),s=util.GiveDec(t.substring(2,3)),n=util.GiveDec(t.substring(3,4)),o=util.GiveDec(t.substring(4,5)),r=util.GiveDec(t.substring(5,6)),a=16*e+i,h=16*s+n,i=16*o+r;return{r:a,g:h,b:i}},util.RGBToHex=function(t,e,i){var s=util.GiveHex(Math.floor(t/16)),n=util.GiveHex(t%16),o=util.GiveHex(Math.floor(e/16)),r=util.GiveHex(e%16),a=util.GiveHex(Math.floor(i/16)),h=util.GiveHex(i%16),d=s+n+o+r+a+h;return"#"+d},util.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var s=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(s==n)return{h:0,s:0,v:s};var o=t==s?e-i:i==s?t-e:i-t,r=t==s?3:i==s?1:5,a=60*(r-o/(n-s))/360,h=(n-s)/n,d=n;return{h:a,s:h,v:d}},util.HSVToRGB=function(t,e,i){var s,n,o,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),c=i*(1-(1-a)*e);switch(r%6){case 0:s=i,n=c,o=h;break;case 1:s=d,n=i,o=h;break;case 2:s=h,n=i,o=c;break;case 3:s=h,n=d,o=i;break;case 4:s=c,n=h,o=i;break;case 5:s=i,n=h,o=d}return{r:Math.floor(255*s),g:Math.floor(255*n),b:Math.floor(255*o)}},util.HSVToHex=function(t,e,i){var s=util.HSVToRGB(t,e,i);return util.RGBToHex(s.r,s.g,s.b)},util.hexToHSV=function(t){var e=util.hexToRGB(t);return util.RGBToHSV(e.r,e.g,e.b)},util.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},util.copyObject=function(t,e){for(var i in t)t.hasOwnProperty(i)&&("object"==typeof t[i]?(e[i]={},util.copyObject(t[i],e[i])):e[i]=t[i])},DataSet.prototype.on=function(t,e){var i=this.subscribers[t];i||(i=[],this.subscribers[t]=i),i.push({callback:e})},DataSet.prototype.subscribe=DataSet.prototype.on,DataSet.prototype.off=function(t,e){var i=this.subscribers[t];i&&(this.subscribers[t]=i.filter(function(t){return t.callback!=e}))},DataSet.prototype.unsubscribe=DataSet.prototype.off,DataSet.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var s=[];t in this.subscribers&&(s=s.concat(this.subscribers[t])),"*"in this.subscribers&&(s=s.concat(this.subscribers["*"]));for(var n=0;no;o++)i=n._addItem(t[o]),s.push(i);else if(util.isDataTable(t))for(var a=this._getColumnNames(t),h=0,d=t.getNumberOfRows();d>h;h++){for(var c={},l=0,u=a.length;u>l;l++){var p=a[l]; c[p]=t.getValue(h,l)}i=n._addItem(c),s.push(i)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),s.push(i)}return s.length&&this._trigger("add",{items:s},e),s},DataSet.prototype.update=function(t,e){var i=[],s=[],n=this,o=n.fieldId,r=function(t){var e=t[o];n.data[e]?(e=n._updateItem(t),s.push(e)):(e=n._addItem(t),i.push(e))};if(t instanceof Array)for(var a=0,h=t.length;h>a;a++)r(t[a]);else if(util.isDataTable(t))for(var d=this._getColumnNames(t),c=0,l=t.getNumberOfRows();l>c;c++){for(var u={},p=0,g=d.length;g>p;p++){var f=d[p];u[f]=t.getValue(c,p)}r(u)}else{if(!(t instanceof Object))throw new Error("Unknown dataType");r(t)}return i.length&&this._trigger("add",{items:i},e),s.length&&this._trigger("update",{items:s},e),i.concat(s)},DataSet.prototype.get=function(){var t,e,i,s,n=this,o=this.showInternalIds,r=util.getType(arguments[0]);"String"==r||"Number"==r?(t=arguments[0],i=arguments[1],s=arguments[2]):"Array"==r?(e=arguments[0],i=arguments[1],s=arguments[2]):(i=arguments[0],s=arguments[1]);var a;if(i&&i.type){if(a="DataTable"==i.type?"DataTable":"Array",s&&a!=util.getType(s))throw new Error('Type of parameter "data" ('+util.getType(s)+") does not correspond with specified options.type ("+i.type+")");if("DataTable"==a&&!util.isDataTable(s))throw new Error('Parameter "data" must be a DataTable when options.type is "DataTable"')}else a=s&&"DataTable"==util.getType(s)?"DataTable":"Array";void 0!=i&&void 0!=i.showInternalIds&&(this.showInternalIds=i.showInternalIds);var h,d,c,l,u=i&&i.convert||this.options.convert,p=i&&i.filter,g=[];if(void 0!=t)h=n._getItem(t,u),p&&!p(h)&&(h=null);else if(void 0!=e)for(c=0,l=e.length;l>c;c++)h=n._getItem(e[c],u),(!p||p(h))&&g.push(h);else for(d in this.data)this.data.hasOwnProperty(d)&&(h=n._getItem(d,u),(!p||p(h))&&g.push(h));if(this.showInternalIds=o,i&&i.order&&void 0==t&&this._sort(g,i.order),i&&i.fields){var f=i.fields;if(void 0!=t)h=this._filterFields(h,f);else for(c=0,l=g.length;l>c;c++)g[c]=this._filterFields(g[c],f)}if("DataTable"==a){var m=this._getColumnNames(s);if(void 0!=t)n._appendRow(s,m,h);else for(c=0,l=g.length;l>c;c++)n._appendRow(s,m,g[c]);return s}if(void 0!=t)return h;if(s){for(c=0,l=g.length;l>c;c++)s.push(g[c]);return s}return g},DataSet.prototype.getIds=function(t){var e,i,s,n,o,r=this.data,a=t&&t.filter,h=t&&t.order,d=t&&t.convert||this.options.convert,c=[];if(a)if(h){o=[];for(s in r)r.hasOwnProperty(s)&&(n=this._getItem(s,d),a(n)&&o.push(n));for(this._sort(o,h),e=0,i=o.length;i>e;e++)c[e]=o[e][this.fieldId]}else for(s in r)r.hasOwnProperty(s)&&(n=this._getItem(s,d),a(n)&&c.push(n[this.fieldId]));else if(h){o=[];for(s in r)r.hasOwnProperty(s)&&o.push(r[s]);for(this._sort(o,h),e=0,i=o.length;i>e;e++)c[e]=o[e][this.fieldId]}else for(s in r)r.hasOwnProperty(s)&&(n=r[s],c.push(n[this.fieldId]));return c},DataSet.prototype.forEach=function(t,e){var i,s,n=e&&e.filter,o=e&&e.convert||this.options.convert,r=this.data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],s=i[this.fieldId],t(i,s);else for(s in r)r.hasOwnProperty(s)&&(i=this._getItem(s,o),(!n||n(i))&&t(i,s))},DataSet.prototype.map=function(t,e){var i,s=e&&e.filter,n=e&&e.convert||this.options.convert,o=[],r=this.data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!s||s(i))&&o.push(t(i,a)));return e&&e.order&&this._sort(o,e.order),o},DataSet.prototype._filterFields=function(t,e){var i={};for(var s in t)t.hasOwnProperty(s)&&-1!=e.indexOf(s)&&(i[s]=t[s]);return i},DataSet.prototype._sort=function(t,e){if(util.isString(e)){var i=e;t.sort(function(t,e){var s=t[i],n=e[i];return s>n?1:n>s?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},DataSet.prototype.remove=function(t,e){var i,s,n,o=[];if(t instanceof Array)for(i=0,s=t.length;s>i;i++)n=this._remove(t[i]),null!=n&&o.push(n);else n=this._remove(t),null!=n&&o.push(n);return o.length&&this._trigger("remove",{items:o},e),o},DataSet.prototype._remove=function(t){if(util.isNumber(t)||util.isString(t)){if(this.data[t])return delete this.data[t],delete this.internalIds[t],t}else if(t instanceof Object){var e=t[this.fieldId];if(e&&this.data[e])return delete this.data[e],delete this.internalIds[e],e}return null},DataSet.prototype.clear=function(t){var e=Object.keys(this.data);return this.data={},this.internalIds={},this._trigger("remove",{items:e},t),e},DataSet.prototype.max=function(t){var e=this.data,i=null,s=null;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n],r=o[t];null!=r&&(!i||r>s)&&(i=o,s=r)}return i},DataSet.prototype.min=function(t){var e=this.data,i=null,s=null;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n],r=o[t];null!=r&&(!i||s>r)&&(i=o,s=r)}return i},DataSet.prototype.distinct=function(t){var e=this.data,i=[],s=this.options.convert[t],n=0;for(var o in e)if(e.hasOwnProperty(o)){for(var r=e[o],a=util.convert(r[t],s),h=!1,d=0;n>d;d++)if(i[d]==a){h=!0;break}h||(i[n]=a,n++)}return i},DataSet.prototype._addItem=function(t){var e=t[this.fieldId];if(void 0!=e){if(this.data[e])throw new Error("Cannot add item: item with id "+e+" already exists")}else e=util.randomUUID(),t[this.fieldId]=e,this.internalIds[e]=t;var i={};for(var s in t)if(t.hasOwnProperty(s)){var n=this.convert[s];i[s]=util.convert(t[s],n)}return this.data[e]=i,e},DataSet.prototype._getItem=function(t,e){var i,s,n=this.data[t];if(!n)return null;var o={},r=this.fieldId,a=this.internalIds;if(e)for(i in n)n.hasOwnProperty(i)&&(s=n[i],i==r&&s in a&&!this.showInternalIds||(o[i]=util.convert(s,e[i])));else for(i in n)n.hasOwnProperty(i)&&(s=n[i],i==r&&s in a&&!this.showInternalIds||(o[i]=s));return o},DataSet.prototype._updateItem=function(t){var e=t[this.fieldId];if(void 0==e)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(t)+")");var i=this.data[e];if(!i)throw new Error("Cannot update item: no item with id "+e+" found");for(var s in t)if(t.hasOwnProperty(s)){var n=this.convert[s];i[s]=util.convert(t[s],n)}return e},DataSet.prototype.isInternalId=function(t){return t in this.internalIds},DataSet.prototype._getColumnNames=function(t){for(var e=[],i=0,s=t.getNumberOfColumns();s>i;i++)e[i]=t.getColumnId(i)||t.getColumnLabel(i);return e},DataSet.prototype._appendRow=function(t,e,i){for(var s=t.addRow(),n=0,o=e.length;o>n;n++){var r=e[n];t.setValue(s,n,i[r])}},DataView.prototype.setData=function(t){var e,i,s;if(this.data){this.data.unsubscribe&&this.data.unsubscribe("*",this.listener),e=[];for(var n in this.ids)this.ids.hasOwnProperty(n)&&e.push(n);this.ids={},this._trigger("remove",{items:e})}if(this.data=t,this.data){for(this.fieldId=this.options.fieldId||this.data&&this.data.options&&this.data.options.fieldId||"id",e=this.data.getIds({filter:this.options&&this.options.filter}),i=0,s=e.length;s>i;i++)n=e[i],this.ids[n]=!0;this._trigger("add",{items:e}),this.data.on&&this.data.on("*",this.listener)}},DataView.prototype.get=function(){var t,e,i,s=this,n=util.getType(arguments[0]);"String"==n||"Number"==n||"Array"==n?(t=arguments[0],e=arguments[1],i=arguments[2]):(e=arguments[0],i=arguments[1]);var o=util.extend({},this.options,e);this.options.filter&&e&&e.filter&&(o.filter=function(t){return s.options.filter(t)&&e.filter(t)});var r=[];return void 0!=t&&r.push(t),r.push(o),r.push(i),this.data&&this.data.get.apply(this.data,r)},DataView.prototype.getIds=function(t){var e;if(this.data){var i,s=this.options.filter;i=t&&t.filter?s?function(e){return s(e)&&t.filter(e)}:t.filter:s,e=this.data.getIds({filter:i,order:t&&t.order})}else e=[];return e},DataView.prototype._onEvent=function(t,e,i){var s,n,o,r,a=e&&e.items,h=this.data,d=[],c=[],l=[];if(a&&h){switch(t){case"add":for(s=0,n=a.length;n>s;s++)o=a[s],r=this.get(o),r&&(this.ids[o]=!0,d.push(o));break;case"update":for(s=0,n=a.length;n>s;s++)o=a[s],r=this.get(o),r?this.ids[o]?c.push(o):(this.ids[o]=!0,d.push(o)):this.ids[o]&&(delete this.ids[o],l.push(o));break;case"remove":for(s=0,n=a.length;n>s;s++)o=a[s],this.ids[o]&&(delete this.ids[o],l.push(o))}d.length&&this._trigger("add",{items:d},i),c.length&&this._trigger("update",{items:c},i),l.length&&this._trigger("remove",{items:l},i)}},DataView.prototype.on=DataSet.prototype.on,DataView.prototype.off=DataSet.prototype.off,DataView.prototype._trigger=DataSet.prototype._trigger,DataView.prototype.subscribe=DataView.prototype.on,DataView.prototype.unsubscribe=DataView.prototype.off,TimeStep=function(t,e,i){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale=TimeStep.SCALE.DAY,this.step=1,this.setRange(t,e,i)},TimeStep.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8},TimeStep.prototype.setRange=function(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=void 0!=t?new Date(t.valueOf()):new Date,this._end=void 0!=e?new Date(e.valueOf()):new Date,this.autoScale&&this.setMinimumStep(i)},TimeStep.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},TimeStep.prototype.roundToMinor=function(){switch(this.scale){case TimeStep.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case TimeStep.SCALE.MONTH:this.current.setDate(1);case TimeStep.SCALE.DAY:case TimeStep.SCALE.WEEKDAY:this.current.setHours(0);case TimeStep.SCALE.HOUR:this.current.setMinutes(0);case TimeStep.SCALE.MINUTE:this.current.setSeconds(0);case TimeStep.SCALE.SECOND:this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case TimeStep.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case TimeStep.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case TimeStep.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case TimeStep.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case TimeStep.SCALE.WEEKDAY:case TimeStep.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case TimeStep.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case TimeStep.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},TimeStep.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},TimeStep.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case TimeStep.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case TimeStep.SCALE.SECOND:this.current=new Date(this.current.valueOf()+1e3*this.step);break;case TimeStep.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case TimeStep.SCALE.HOUR:this.current=new Date(this.current.valueOf()+1e3*this.step*60*60);var e=this.current.getHours();this.current.setHours(e-e%this.step);break;case TimeStep.SCALE.WEEKDAY:case TimeStep.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case TimeStep.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case TimeStep.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case TimeStep.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case TimeStep.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case TimeStep.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case TimeStep.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case TimeStep.SCALE.WEEKDAY:case TimeStep.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case TimeStep.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case TimeStep.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case TimeStep.SCALE.MILLISECOND:this.current.getMilliseconds()0&&(this.step=e),this.autoScale=!1},TimeStep.prototype.setAutoScale=function(t){this.autoScale=t},TimeStep.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,s=864e5,n=36e5,o=6e4,r=1e3,a=1;1e3*e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=1e3),500*e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=500),100*e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=100),50*e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=50),10*e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=10),5*e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=5),e>t&&(this.scale=TimeStep.SCALE.YEAR,this.step=1),3*i>t&&(this.scale=TimeStep.SCALE.MONTH,this.step=3),i>t&&(this.scale=TimeStep.SCALE.MONTH,this.step=1),5*s>t&&(this.scale=TimeStep.SCALE.DAY,this.step=5),2*s>t&&(this.scale=TimeStep.SCALE.DAY,this.step=2),s>t&&(this.scale=TimeStep.SCALE.DAY,this.step=1),s/2>t&&(this.scale=TimeStep.SCALE.WEEKDAY,this.step=1),4*n>t&&(this.scale=TimeStep.SCALE.HOUR,this.step=4),n>t&&(this.scale=TimeStep.SCALE.HOUR,this.step=1),15*o>t&&(this.scale=TimeStep.SCALE.MINUTE,this.step=15),10*o>t&&(this.scale=TimeStep.SCALE.MINUTE,this.step=10),5*o>t&&(this.scale=TimeStep.SCALE.MINUTE,this.step=5),o>t&&(this.scale=TimeStep.SCALE.MINUTE,this.step=1),15*r>t&&(this.scale=TimeStep.SCALE.SECOND,this.step=15),10*r>t&&(this.scale=TimeStep.SCALE.SECOND,this.step=10),5*r>t&&(this.scale=TimeStep.SCALE.SECOND,this.step=5),r>t&&(this.scale=TimeStep.SCALE.SECOND,this.step=1),200*a>t&&(this.scale=TimeStep.SCALE.MILLISECOND,this.step=200),100*a>t&&(this.scale=TimeStep.SCALE.MILLISECOND,this.step=100),50*a>t&&(this.scale=TimeStep.SCALE.MILLISECOND,this.step=50),10*a>t&&(this.scale=TimeStep.SCALE.MILLISECOND,this.step=10),5*a>t&&(this.scale=TimeStep.SCALE.MILLISECOND,this.step=5),a>t&&(this.scale=TimeStep.SCALE.MILLISECOND,this.step=1)}},TimeStep.prototype.snap=function(t){var e=new Date(t.valueOf());if(this.scale==TimeStep.SCALE.YEAR){var i=e.getFullYear()+Math.round(e.getMonth()/12);e.setFullYear(Math.round(i/this.step)*this.step),e.setMonth(0),e.setDate(0),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==TimeStep.SCALE.MONTH)e.getDate()>15?(e.setDate(1),e.setMonth(e.getMonth()+1)):e.setDate(1),e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);else if(this.scale==TimeStep.SCALE.DAY||this.scale==TimeStep.SCALE.WEEKDAY){switch(this.step){case 5:case 2:e.setHours(24*Math.round(e.getHours()/24));break;default:e.setHours(12*Math.round(e.getHours()/12))}e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==TimeStep.SCALE.HOUR){switch(this.step){case 4:e.setMinutes(60*Math.round(e.getMinutes()/60));break;default:e.setMinutes(30*Math.round(e.getMinutes()/30))}e.setSeconds(0),e.setMilliseconds(0)}else if(this.scale==TimeStep.SCALE.MINUTE){switch(this.step){case 15:case 10:e.setMinutes(5*Math.round(e.getMinutes()/5)),e.setSeconds(0);break;case 5:e.setSeconds(60*Math.round(e.getSeconds()/60));break;default:e.setSeconds(30*Math.round(e.getSeconds()/30))}e.setMilliseconds(0)}else if(this.scale==TimeStep.SCALE.SECOND)switch(this.step){case 15:case 10:e.setSeconds(5*Math.round(e.getSeconds()/5)),e.setMilliseconds(0);break;case 5:e.setMilliseconds(1e3*Math.round(e.getMilliseconds()/1e3));break;default:e.setMilliseconds(500*Math.round(e.getMilliseconds()/500))}else if(this.scale==TimeStep.SCALE.MILLISECOND){var s=this.step>5?this.step/2:1;e.setMilliseconds(Math.round(e.getMilliseconds()/s)*s)}return e},TimeStep.prototype.isMajor=function(){switch(this.scale){case TimeStep.SCALE.MILLISECOND:return 0==this.current.getMilliseconds();case TimeStep.SCALE.SECOND:return 0==this.current.getSeconds();case TimeStep.SCALE.MINUTE:return 0==this.current.getHours()&&0==this.current.getMinutes();case TimeStep.SCALE.HOUR:return 0==this.current.getHours();case TimeStep.SCALE.WEEKDAY:case TimeStep.SCALE.DAY:return 1==this.current.getDate();case TimeStep.SCALE.MONTH:return 0==this.current.getMonth();case TimeStep.SCALE.YEAR:return!1;default:return!1}},TimeStep.prototype.getLabelMinor=function(t){switch(void 0==t&&(t=this.current),this.scale){case TimeStep.SCALE.MILLISECOND:return moment(t).format("SSS");case TimeStep.SCALE.SECOND:return moment(t).format("s");case TimeStep.SCALE.MINUTE:return moment(t).format("HH:mm");case TimeStep.SCALE.HOUR:return moment(t).format("HH:mm");case TimeStep.SCALE.WEEKDAY:return moment(t).format("ddd D");case TimeStep.SCALE.DAY:return moment(t).format("D");case TimeStep.SCALE.MONTH:return moment(t).format("MMM");case TimeStep.SCALE.YEAR:return moment(t).format("YYYY");default:return""}},TimeStep.prototype.getLabelMajor=function(t){switch(void 0==t&&(t=this.current),this.scale){case TimeStep.SCALE.MILLISECOND:return moment(t).format("HH:mm:ss");case TimeStep.SCALE.SECOND:return moment(t).format("D MMMM HH:mm");case TimeStep.SCALE.MINUTE:case TimeStep.SCALE.HOUR:return moment(t).format("ddd D MMMM");case TimeStep.SCALE.WEEKDAY:case TimeStep.SCALE.DAY:return moment(t).format("MMMM YYYY");case TimeStep.SCALE.MONTH:return moment(t).format("YYYY");case TimeStep.SCALE.YEAR:return"";default:return""}},Stack.prototype.setOptions=function(t){util.extend(this.options,t)},Stack.prototype.update=function(){this._order(),this._stack()},Stack.prototype._order=function(){var t=this.itemset.items;if(!t)throw new Error("Cannot stack items: ItemSet does not contain items");var e=[],i=0;util.forEach(t,function(t){t.visible&&(e[i]=t,i++)});var s=this.options.order||this.defaultOptions.order;if("function"!=typeof s)throw new Error("Option order must be a function");e.sort(s),this.ordered=e},Stack.prototype._stack=function(){var t,e,i,s=this.ordered,n=this.options,o=n.orientation||this.defaultOptions.orientation,r="top"==o;for(i=n.margin&&void 0!==n.margin.item?n.margin.item:this.defaultOptions.margin.item,t=0,e=s.length;e>t;t++){var a=s[t],h=null;do h=this.checkOverlap(s,t,0,t-1,i),null!=h&&(a.top=r?h.top+h.height+i:h.top-a.height-i);while(h)}},Stack.prototype.checkOverlap=function(t,e,i,s,n){for(var o=this.collision,r=t[e],a=s;a>=i;a--){var h=t[a];if(o(r,h,n)&&a!=e)return h}return null},Stack.prototype.collision=function(t,e,i){return t.left-ie.left&&t.top-ie.top},Emitter(Range.prototype),Range.prototype.setOptions=function(t){util.extend(this.options,t),null!==this.start&&null!==this.end&&this.setRange(this.start,this.end)},Range.prototype.subscribe=function(t,e,i,s){function n(t){o._onMouseWheel(t,e,s)}var o=this;if("move"==i)t.on("dragstart",function(t){o._onDragStart(t,e)}),t.on("drag",function(t){o._onDrag(t,e,s)}),t.on("dragend",function(t){o._onDragEnd(t,e)}),t.on("hold",function(){o._onHold()});else{if("zoom"!=i)throw new TypeError('Unknown event "'+i+'". Choose "move" or "zoom".');t.on("mousewheel",n),t.on("DOMMouseScroll",n),t.on("touch",function(t){o._onTouch(t)}),t.on("pinch",function(t){o._onPinch(t,e,s)})}},Range.prototype.setRange=function(t,e){var i=this._applyRange(t,e);if(i){var s={start:this.start,end:this.end};this.emit("rangechange",s),this.emit("rangechanged",s)}},Range.prototype._applyRange=function(t,e){var i,s=null!=t?util.convert(t,"Date").valueOf():this.start,n=null!=e?util.convert(e,"Date").valueOf():this.end,o=null!=this.options.max?util.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?util.convert(this.options.min,"Date").valueOf():null;if(isNaN(s)||null===s)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(s>n&&(n=s),null!==r&&r>s&&(i=r-s,s+=i,n+=i,null!=o&&n>o&&(n=o)),null!==o&&n>o&&(i=n-o,s-=i,n-=i,null!=r&&r>s&&(s=r)),null!==this.options.zoomMin){var a=parseFloat(this.options.zoomMin);0>a&&(a=0),a>n-s&&(this.end-this.start===a?(s=this.start,n=this.end):(i=a-(n-s),s-=i/2,n+=i/2))}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);0>h&&(h=0),n-s>h&&(this.end-this.start===h?(s=this.start,n=this.end):(i=n-s-h,s+=i/2,n-=i/2))}var d=this.start!=s||this.end!=n;return this.start=s,this.end=n,d},Range.prototype.getRange=function(){return{start:this.start,end:this.end}},Range.prototype.conversion=function(t){return Range.conversion(this.start,this.end,t)},Range.conversion=function(t,e,i){return 0!=i&&e-t!=0?{offset:t,scale:i/(e-t)}:{offset:0,scale:1}};var touchParams={};Range.prototype._onDragStart=function(t,e){if(!touchParams.ignore){touchParams.start=this.start,touchParams.end=this.end;var i=e.frame;i&&(i.style.cursor="move")}},Range.prototype._onDrag=function(t,e,i){if(validateDirection(i),!touchParams.ignore){var s="horizontal"==i?t.gesture.deltaX:t.gesture.deltaY,n=touchParams.end-touchParams.start,o="horizontal"==i?e.width:e.height,r=-s/o*n;this._applyRange(touchParams.start+r,touchParams.end+r),this.emit("rangechange",{start:this.start,end:this.end})}},Range.prototype._onDragEnd=function(t,e){touchParams.ignore||(e.frame&&(e.frame.style.cursor="auto"),this.emit("rangechanged",{start:this.start,end:this.end}))},Range.prototype._onMouseWheel=function(t,e,i){validateDirection(i);var s=0;if(t.wheelDelta?s=t.wheelDelta/120:t.detail&&(s=-t.detail/3),s){var n;n=0>s?1-s/5:1/(1+s/5);var o=util.fakeGesture(this,t),r=getPointer(o.center,e.frame),a=this._pointerToDate(e,i,r);this.zoom(n,a)}t.preventDefault()},Range.prototype._onTouch=function(t){touchParams.start=this.start,touchParams.end=this.end,touchParams.ignore=!1,touchParams.center=null;var e=ItemSet.itemFromTarget(t);e&&e.selected&&this.options.editable&&(touchParams.ignore=!0)},Range.prototype._onHold=function(){touchParams.ignore=!0},Range.prototype._onPinch=function(t,e,i){if(touchParams.ignore=!0,t.gesture.touches.length>1){touchParams.center||(touchParams.center=getPointer(t.gesture.center,e.frame));var s=1/t.gesture.scale,n=this._pointerToDate(e,i,touchParams.center),o=getPointer(t.gesture.center,e.frame),r=(this._pointerToDate(e,i,o),parseInt(n+(touchParams.start-n)*s)),a=parseInt(n+(touchParams.end-n)*s);this.setRange(r,a)}},Range.prototype._pointerToDate=function(t,e,i){var s;if("horizontal"==e){var n=t.width;return s=this.conversion(n),i.x/s.scale+s.offset}var o=t.height;return s=this.conversion(o),i.y/s.scale+s.offset},Range.prototype.zoom=function(t,e){null==e&&(e=(this.start+this.end)/2);var i=e+(this.start-e)*t,s=e+(this.end-e)*t;this.setRange(i,s)},Range.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,s=this.end+e*t;this.start=i,this.end=s},Range.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,s=this.start-i,n=this.end-i;this.setRange(s,n)},Emitter(Controller.prototype),Controller.prototype.add=function(t){if(void 0==t.id)throw new Error("Component has no field id");if(!(t instanceof Component||t instanceof Controller))throw new TypeError("Component must be an instance of prototype Component or Controller");t.setController(this),this.components[t.id]=t},Controller.prototype.remove=function(t){var e;for(e in this.components)if(this.components.hasOwnProperty(e)&&(e==t||this.components[e]===t))break;e&&(this.components[e].setController(null),delete this.components[e])},Controller.prototype.repaint=function t(){function t(s,n){n in i||(s.depends&&s.depends.forEach(function(e){t(e,e.id)}),s.parent&&t(s.parent,s.parent.id),e=s.repaint()||e,i[n]=!0)}var e=!1;this.repaintTimer&&(clearTimeout(this.repaintTimer),this.repaintTimer=void 0);var i={};util.forEach(this.components,t),this.emit("repaint"),e&&this.reflow()},Controller.prototype.reflow=function e(){function e(s,n){n in i||(s.depends&&s.depends.forEach(function(t){e(t,t.id)}),s.parent&&e(s.parent,s.parent.id),t=s.reflow()||t,i[n]=!0)}var t=!1;this.reflowTimer&&(clearTimeout(this.reflowTimer),this.reflowTimer=void 0);var i={};util.forEach(this.components,e),this.emit("reflow"),t&&this.repaint()},Component.prototype.setOptions=function(t){t&&(util.extend(this.options,t),this.controller&&(this.requestRepaint(),this.requestReflow()))},Component.prototype.getOption=function(t){var e;return this.options&&(e=this.options[t]),void 0===e&&this.defaultOptions&&(e=this.defaultOptions[t]),e},Component.prototype.setController=function(t){this.controller=t||null},Component.prototype.getController=function(){return this.controller},Component.prototype.getContainer=function(){return null},Component.prototype.getFrame=function(){return this.frame},Component.prototype.repaint=function(){return!1},Component.prototype.reflow=function(){return!1},Component.prototype.hide=function(){return this.frame&&this.frame.parentNode?(this.frame.parentNode.removeChild(this.frame),!0):!1},Component.prototype.show=function(){return this.frame&&this.frame.parentNode?!1:this.repaint()},Component.prototype.requestRepaint=function(){if(!this.controller)throw new Error("Cannot request a repaint: no controller configured");this.controller.emit("request-repaint")},Component.prototype.requestReflow=function(){if(!this.controller)throw new Error("Cannot request a reflow: no controller configured");this.controller.emit("request-reflow")},Panel.prototype=new Component,Panel.prototype.setOptions=Component.prototype.setOptions,Panel.prototype.getContainer=function(){return this.frame},Panel.prototype.repaint=function(){var t=0,e=util.updateProperty,i=util.option.asSize,s=this.options,n=this.frame;if(!n){n=document.createElement("div"),n.className="vpanel";var o=s.className;o&&("function"==typeof o?util.addClassName(n,String(o())):util.addClassName(n,String(o))),this.frame=n,t+=1}if(!n.parentNode){if(!this.parent)throw new Error("Cannot repaint panel: no parent attached");var r=this.parent.getContainer();if(!r)throw new Error("Cannot repaint panel: parent has no container element");r.appendChild(n),t+=1}return t+=e(n.style,"top",i(s.top,"0px")),t+=e(n.style,"left",i(s.left,"0px")),t+=e(n.style,"width",i(s.width,"100%")),t+=e(n.style,"height",i(s.height,"100%")),t>0},Panel.prototype.reflow=function(){var t=0,e=util.updateProperty,i=this.frame;return i?(t+=e(this,"top",i.offsetTop),t+=e(this,"left",i.offsetLeft),t+=e(this,"width",i.offsetWidth),t+=e(this,"height",i.offsetHeight)):t+=1,t>0},RootPanel.prototype=new Panel,RootPanel.prototype.setOptions=Component.prototype.setOptions,RootPanel.prototype.repaint=function(){var t=0,e=util.updateProperty,i=util.option.asSize,s=this.options,n=this.frame;if(n||(n=document.createElement("div"),this.frame=n,this._registerListeners(),t+=1),!n.parentNode){if(!this.container)throw new Error("Cannot repaint root panel: no container attached");this.container.appendChild(n),t+=1}n.className="vis timeline rootpanel "+s.orientation+(s.editable?" editable":"");var o=s.className;return o&&util.addClassName(n,util.option.asString(o)),t+=e(n.style,"top",i(s.top,"0px")),t+=e(n.style,"left",i(s.left,"0px")),t+=e(n.style,"width",i(s.width,"100%")),t+=e(n.style,"height",i(s.height,"100%")),this._updateWatch(),t>0},RootPanel.prototype.reflow=function(){var t=0,e=util.updateProperty,i=this.frame;return i?(t+=e(this,"top",i.offsetTop),t+=e(this,"left",i.offsetLeft),t+=e(this,"width",i.offsetWidth),t+=e(this,"height",i.offsetHeight)):t+=1,t>0},RootPanel.prototype._updateWatch=function(){var t=this.getOption("autoResize");t?this._watch():this._unwatch()},RootPanel.prototype._watch=function(){var t=this;this._unwatch();var e=function(){var e=t.getOption("autoResize");return e?void(t.frame&&(t.frame.clientWidth!=t.width||t.frame.clientHeight!=t.height)&&t.requestReflow()):void t._unwatch()};util.addEventListener(window,"resize",e),this.watchTimer=setInterval(e,1e3)},RootPanel.prototype._unwatch=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0)},RootPanel.prototype.setController=function(t){this.controller=t||null,this.controller?this._registerListeners():this._unregisterListeners()},RootPanel.prototype._registerListeners=function(){if(this.frame&&this.controller&&!this.hammer){this.hammer=Hammer(this.frame,{prevent_default:!0});for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&this.hammer.on(t,this.listeners[t])}},RootPanel.prototype._unregisterListeners=function(){if(this.hammer){for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&this.hammer.off(t,this.listeners[t]);this.hammer=null}},TimeAxis.prototype=new Component,TimeAxis.prototype.setOptions=Component.prototype.setOptions,TimeAxis.prototype.setRange=function(t){if(!(t instanceof Range||t&&t.start&&t.end))throw new TypeError("Range must be an instance of Range, or an object containing start and end.");this.range=t},TimeAxis.prototype.toTime=function(t){var e=this.conversion;return new Date(t/e.scale+e.offset)},TimeAxis.prototype.toScreen=function(t){var e=this.conversion;return(t.valueOf()-e.offset)*e.scale},TimeAxis.prototype.repaint=function(){var t=0,e=util.updateProperty,i=util.option.asSize,s=this.options,n=this.getOption("orientation"),o=this.props,r=this.step,a=this.frame;if(a||(a=document.createElement("div"),this.frame=a,t+=1),a.className="axis",!a.parentNode){if(!this.parent)throw new Error("Cannot repaint time axis: no parent attached");var h=this.parent.getContainer();if(!h)throw new Error("Cannot repaint time axis: parent has no container element");h.appendChild(a),t+=1}var d=a.parentNode;if(d){var c=a.nextSibling;d.removeChild(a);var l="bottom"==n&&this.props.parentHeight&&this.height?this.props.parentHeight-this.height+"px":"0px";if(t+=e(a.style,"top",i(s.top,l)),t+=e(a.style,"left",i(s.left,"0px")),t+=e(a.style,"width",i(s.width,"100%")),t+=e(a.style,"height",i(s.height,this.height+"px")),this._repaintMeasureChars(),this.step){this._repaintStart(),r.first();for(var u=void 0,p=0;r.hasNext()&&1e3>p;){p++;var g=r.getCurrent(),f=this.toScreen(g),m=r.isMajor();this.getOption("showMinorLabels")&&this._repaintMinorText(f,r.getLabelMinor()),m&&this.getOption("showMajorLabels")?(f>0&&(void 0==u&&(u=f),this._repaintMajorText(f,r.getLabelMajor())),this._repaintMajorLine(f)):this._repaintMinorLine(f),r.next()}if(this.getOption("showMajorLabels")){var v=this.toTime(0),y=r.getLabelMajor(v),_=y.length*(o.majorCharWidth||10)+10;(void 0==u||u>_)&&this._repaintMajorText(0,y)}this._repaintEnd()}this._repaintLine(),c?d.insertBefore(a,c):d.appendChild(a)}return t>0},TimeAxis.prototype._repaintStart=function(){var t=this.dom,e=t.redundant;e.majorLines=t.majorLines,e.majorTexts=t.majorTexts,e.minorLines=t.minorLines,e.minorTexts=t.minorTexts,t.majorLines=[],t.majorTexts=[],t.minorLines=[],t.minorTexts=[]},TimeAxis.prototype._repaintEnd=function(){util.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},TimeAxis.prototype._repaintMinorText=function(t,e){var i=this.dom.redundant.minorTexts.shift();if(!i){var s=document.createTextNode("");i=document.createElement("div"),i.appendChild(s),i.className="text minor",this.frame.appendChild(i)}this.dom.minorTexts.push(i),i.childNodes[0].nodeValue=e,i.style.left=t+"px",i.style.top=this.props.minorLabelTop+"px"},TimeAxis.prototype._repaintMajorText=function(t,e){var i=this.dom.redundant.majorTexts.shift();if(!i){var s=document.createTextNode(e);i=document.createElement("div"),i.className="text major",i.appendChild(s),this.frame.appendChild(i) }this.dom.majorTexts.push(i),i.childNodes[0].nodeValue=e,i.style.top=this.props.majorLabelTop+"px",i.style.left=t+"px"},TimeAxis.prototype._repaintMinorLine=function(t){var e=this.dom.redundant.minorLines.shift();e||(e=document.createElement("div"),e.className="grid vertical minor",this.frame.appendChild(e)),this.dom.minorLines.push(e);var i=this.props;e.style.top=i.minorLineTop+"px",e.style.height=i.minorLineHeight+"px",e.style.left=t-i.minorLineWidth/2+"px"},TimeAxis.prototype._repaintMajorLine=function(t){var e=this.dom.redundant.majorLines.shift();e||(e=document.createElement("DIV"),e.className="grid vertical major",this.frame.appendChild(e)),this.dom.majorLines.push(e);var i=this.props;e.style.top=i.majorLineTop+"px",e.style.left=t-i.majorLineWidth/2+"px",e.style.height=i.majorLineHeight+"px"},TimeAxis.prototype._repaintLine=function(){{var t=this.dom.line,e=this.frame;this.options}this.getOption("showMinorLabels")||this.getOption("showMajorLabels")?(t?(e.removeChild(t),e.appendChild(t)):(t=document.createElement("div"),t.className="grid horizontal major",e.appendChild(t),this.dom.line=t),t.style.top=this.props.lineTop+"px"):t&&t.parentElement&&(e.removeChild(t.line),delete this.dom.line)},TimeAxis.prototype._repaintMeasureChars=function(){var t,e=this.dom;if(!e.measureCharMinor){t=document.createTextNode("0");var i=document.createElement("DIV");i.className="text minor measure",i.appendChild(t),this.frame.appendChild(i),e.measureCharMinor=i}if(!e.measureCharMajor){t=document.createTextNode("0");var s=document.createElement("DIV");s.className="text major measure",s.appendChild(t),this.frame.appendChild(s),e.measureCharMajor=s}},TimeAxis.prototype.reflow=function(){var t=0,e=util.updateProperty,i=this.frame,s=this.range;if(!s)throw new Error("Cannot repaint time axis: no range configured");if(i){t+=e(this,"top",i.offsetTop),t+=e(this,"left",i.offsetLeft);var n=this.props,o=this.getOption("showMinorLabels"),r=this.getOption("showMajorLabels"),a=this.dom.measureCharMinor,h=this.dom.measureCharMajor;a&&(n.minorCharHeight=a.clientHeight,n.minorCharWidth=a.clientWidth),h&&(n.majorCharHeight=h.clientHeight,n.majorCharWidth=h.clientWidth);var d=i.parentNode?i.parentNode.offsetHeight:0;switch(d!=n.parentHeight&&(n.parentHeight=d,t+=1),this.getOption("orientation")){case"bottom":n.minorLabelHeight=o?n.minorCharHeight:0,n.majorLabelHeight=r?n.majorCharHeight:0,n.minorLabelTop=0,n.majorLabelTop=n.minorLabelTop+n.minorLabelHeight,n.minorLineTop=-this.top,n.minorLineHeight=Math.max(this.top+n.majorLabelHeight,0),n.minorLineWidth=1,n.majorLineTop=-this.top,n.majorLineHeight=Math.max(this.top+n.minorLabelHeight+n.majorLabelHeight,0),n.majorLineWidth=1,n.lineTop=0;break;case"top":n.minorLabelHeight=o?n.minorCharHeight:0,n.majorLabelHeight=r?n.majorCharHeight:0,n.majorLabelTop=0,n.minorLabelTop=n.majorLabelTop+n.majorLabelHeight,n.minorLineTop=n.minorLabelTop,n.minorLineHeight=Math.max(d-n.majorLabelHeight-this.top),n.minorLineWidth=1,n.majorLineTop=0,n.majorLineHeight=Math.max(d-this.top),n.majorLineWidth=1,n.lineTop=n.majorLabelHeight+n.minorLabelHeight;break;default:throw new Error('Unkown orientation "'+this.getOption("orientation")+'"')}var c=n.minorLabelHeight+n.majorLabelHeight;t+=e(this,"width",i.offsetWidth),t+=e(this,"height",c),this._updateConversion();var l=util.convert(s.start,"Number"),u=util.convert(s.end,"Number"),p=this.toTime(5*(n.minorCharWidth||10)).valueOf()-this.toTime(0).valueOf();this.step=new TimeStep(new Date(l),new Date(u),p),t+=e(n.range,"start",l),t+=e(n.range,"end",u),t+=e(n.range,"minimumStep",p.valueOf())}return t>0},TimeAxis.prototype._updateConversion=function(){var t=this.range;if(!t)throw new Error("No range configured");this.conversion=t.conversion?t.conversion(this.width):Range.conversion(t.start,t.end,this.width)},TimeAxis.prototype.snap=function(t){return this.step.snap(t)},CurrentTime.prototype=new Component,CurrentTime.prototype.setOptions=Component.prototype.setOptions,CurrentTime.prototype.getContainer=function(){return this.frame},CurrentTime.prototype.repaint=function(){var t=this.frame,e=this.parent,i=e.parent.getContainer();if(!e)throw new Error("Cannot repaint bar: no parent attached");if(!i)throw new Error("Cannot repaint bar: parent has no container element");if(!this.getOption("showCurrentTime"))return t&&(i.removeChild(t),delete this.frame),!1;t||(t=document.createElement("div"),t.className="currenttime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",i.appendChild(t),this.frame=t),e.conversion||e._updateConversion();var s=new Date,n=e.toScreen(s);t.style.left=n+"px",t.title="Current time: "+s,void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer);var o=this,r=1/e.conversion.scale/2;return 30>r&&(r=30),this.currentTimeTimer=setTimeout(function(){o.repaint()},r),!1},CustomTime.prototype=new Component,Emitter(CustomTime.prototype),CustomTime.prototype.setOptions=Component.prototype.setOptions,CustomTime.prototype.getContainer=function(){return this.frame},CustomTime.prototype.repaint=function(){var t=this.frame,e=this.parent;if(!e)throw new Error("Cannot repaint bar: no parent attached");var i=e.parent.getContainer();if(!i)throw new Error("Cannot repaint bar: parent has no container element");if(!this.getOption("showCustomTime"))return t&&(i.removeChild(t),delete this.frame),!1;if(!t){t=document.createElement("div"),t.className="customtime",t.style.position="absolute",t.style.top="0px",t.style.height="100%",i.appendChild(t);var s=document.createElement("div");s.style.position="relative",s.style.top="0px",s.style.left="-10px",s.style.height="100%",s.style.width="20px",t.appendChild(s),this.frame=t,this.hammer=Hammer(t,{prevent_default:!0}),this.hammer.on("dragstart",this._onDragStart.bind(this)),this.hammer.on("drag",this._onDrag.bind(this)),this.hammer.on("dragend",this._onDragEnd.bind(this))}e.conversion||e._updateConversion();var n=e.toScreen(this.customTime);return t.style.left=n+"px",t.title="Time: "+this.customTime,!1},CustomTime.prototype.setCustomTime=function(t){this.customTime=new Date(t.valueOf()),this.repaint()},CustomTime.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},CustomTime.prototype._onDragStart=function(t){this.eventParams.customTime=this.customTime,t.stopPropagation(),t.preventDefault()},CustomTime.prototype._onDrag=function(t){var e=t.gesture.deltaX,i=this.parent.toScreen(this.eventParams.customTime)+e,s=this.parent.toTime(i);this.setCustomTime(s),this.controller&&this.controller.emit("timechange",{time:this.customTime}),t.stopPropagation(),t.preventDefault()},CustomTime.prototype._onDragEnd=function(t){this.controller&&this.controller.emit("timechanged",{time:this.customTime}),t.stopPropagation(),t.preventDefault()},ItemSet.prototype=new Panel,ItemSet.types={box:ItemBox,range:ItemRange,rangeoverflow:ItemRangeOverflow,point:ItemPoint},ItemSet.prototype.setOptions=Component.prototype.setOptions,ItemSet.prototype.setController=function(t){var e;if(this.controller)for(e in this.eventListeners)this.eventListeners.hasOwnProperty(e)&&this.controller.off(e,this.eventListeners[e]);if(this.controller=t||null,this.controller)for(e in this.eventListeners)this.eventListeners.hasOwnProperty(e)&&this.controller.on(e,this.eventListeners[e])},function(t){var e=null;Object.defineProperty(t,"controller",{get:function(){return e},set:function(){}})}(this),ItemSet.prototype.setRange=function(t){if(!(t instanceof Range||t&&t.start&&t.end))throw new TypeError("Range must be an instance of Range, or an object containing start and end.");this.range=t},ItemSet.prototype.setSelection=function(t){var e,i,s,n;if(t){if(!Array.isArray(t))throw new TypeError("Array expected");for(e=0,i=this.selection.length;i>e;e++)s=this.selection[e],n=this.items[s],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)s=t[e],n=this.items[s],n&&(this.selection.push(s),n.select());this.controller&&this.requestRepaint()}},ItemSet.prototype.getSelection=function(){return this.selection.concat([])},ItemSet.prototype._deselect=function(t){for(var e=this.selection,i=0,s=e.length;s>i;i++)if(e[i]==t){e.splice(i,1);break}},ItemSet.prototype.repaint=function(){var t=0,e=util.updateProperty,i=util.option.asSize,s=this.options,n=this.getOption("orientation"),o=this.defaultOptions,r=this.frame;if(!r){r=document.createElement("div"),r.className="itemset",r["timeline-itemset"]=this;var a=s.className;a&&util.addClassName(r,util.option.asString(a));var h=document.createElement("div");h.className="background",r.appendChild(h),this.dom.background=h;var d=document.createElement("div");d.className="foreground",r.appendChild(d),this.dom.foreground=d;var c=document.createElement("div");c.className="itemset-axis",this.dom.axis=c,this.frame=r,t+=1}if(!this.parent)throw new Error("Cannot repaint itemset: no parent attached");var l=this.parent.getContainer();if(!l)throw new Error("Cannot repaint itemset: parent has no container element");r.parentNode||(l.appendChild(r),t+=1),this.dom.axis.parentNode||(l.appendChild(this.dom.axis),t+=1),t+=e(r.style,"left",i(s.left,"0px")),t+=e(r.style,"top",i(s.top,"0px")),t+=e(r.style,"width",i(s.width,"100%")),t+=e(r.style,"height",i(s.height,this.height+"px")),t+=e(this.dom.axis.style,"left",i(s.left,"0px")),t+=e(this.dom.axis.style,"width",i(s.width,"100%")),t+="bottom"==n?e(this.dom.axis.style,"top",this.height+this.top+"px"):e(this.dom.axis.style,"top",this.top+"px"),this._updateConversion();var u=this,p=this.queue,g=this.itemsData,f=this.items,m={};for(var v in p)if(p.hasOwnProperty(v)){var y=p[v],_=f[v],b=y.action;switch(b){case"add":case"update":var w=g&&g.get(v,m);if(w){var S=w.type||w.start&&w.end&&"range"||s.type||"box",x=ItemSet.types[S];if(_&&(x&&_ instanceof x?(_.data=w,t++):(t+=_.hide(),_=null)),!_){if(!x)throw new TypeError('Unknown item type "'+S+'"');_=new x(u,w,s,o),_.id=y.id,t++}_.repaint(),f[v]=_}delete p[v];break;case"remove":_&&(_.selected&&u._deselect(v),t+=_.hide()),delete f[v],delete p[v];break;default:console.log('Error: unknown action "'+b+'"')}}return util.forEach(this.items,function(e){e.visible?(t+=e.show(),e.reposition()):t+=e.hide()}),t>0},ItemSet.prototype.getForeground=function(){return this.dom.foreground},ItemSet.prototype.getBackground=function(){return this.dom.background},ItemSet.prototype.getAxis=function(){return this.dom.axis},ItemSet.prototype.reflow=function(){var t=0,e=this.options,i=e.margin&&"axis"in e.margin?e.margin.axis:this.defaultOptions.margin.axis,s=e.margin&&"item"in e.margin?e.margin.item:this.defaultOptions.margin.item,n=util.updateProperty,o=util.option.asNumber,r=util.option.asSize,a=this.frame;if(a){this._updateConversion(),util.forEach(this.items,function(e){t+=e.reflow()}),this.stack.update();var h,d=o(e.maxHeight),c=null!=r(e.height);if(c)h=a.offsetHeight;else{var l=this.stack.ordered;if(l.length){var u=l[0].top,p=l[0].top+l[0].height;util.forEach(l,function(t){u=Math.min(u,t.top),p=Math.max(p,t.top+t.height)}),h=p-u+i+s}else h=i+s}null!=d&&(h=Math.min(h,d)),t+=n(this,"height",h),t+=n(this,"top",a.offsetTop),t+=n(this,"left",a.offsetLeft),t+=n(this,"width",a.offsetWidth)}else t+=1;return t>0},ItemSet.prototype.hide=function(){var t=!1;return this.frame&&this.frame.parentNode&&(this.frame.parentNode.removeChild(this.frame),t=!0),this.dom.axis&&this.dom.axis.parentNode&&(this.dom.axis.parentNode.removeChild(this.dom.axis),t=!0),t},ItemSet.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof DataSet||t instanceof DataView))throw new TypeError("Data must be an instance of DataSet");this.itemsData=t}else this.itemsData=null;if(s&&(util.forEach(this.listeners,function(t,e){s.unsubscribe(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;util.forEach(this.listeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}},ItemSet.prototype.getItems=function(){return this.itemsData},ItemSet.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this._myDataSet();e&&this.options.onRemove(e,function(t){t&&i.remove(t)})},ItemSet.prototype._onUpdate=function(t){this._toQueue("update",t)},ItemSet.prototype._onAdd=function(t){this._toQueue("add",t)},ItemSet.prototype._onRemove=function(t){this._toQueue("remove",t)},ItemSet.prototype._toQueue=function(t,e){var i=this.queue;e.forEach(function(e){i[e]={id:e,action:t}}),this.controller&&this.requestRepaint()},ItemSet.prototype._updateConversion=function(){var t=this.range;if(!t)throw new Error("No range configured");this.conversion=t.conversion?t.conversion(this.width):Range.conversion(t.start,t.end,this.width)},ItemSet.prototype.toTime=function(t){var e=this.conversion;return new Date(t/e.scale+e.offset)},ItemSet.prototype.toScreen=function(t){var e=this.conversion;return(t.valueOf()-e.offset)*e.scale},ItemSet.prototype._onDragStart=function(t){if(this.options.editable){var e=ItemSet.itemFromTarget(t),i=this;if(e&&e.selected){var s=t.target.dragLeftItem,n=t.target.dragRightItem;this.touchParams.itemProps=s?[{item:s,start:e.data.start.valueOf()}]:n?[{item:n,end:e.data.end.valueOf()}]:this.getSelection().map(function(t){var e=i.items[t],s={item:e};return"start"in e.data&&(s.start=e.data.start.valueOf()),"end"in e.data&&(s.end=e.data.end.valueOf()),s}),t.stopPropagation()}}},ItemSet.prototype._onDrag=function(t){if(this.touchParams.itemProps){var e=this.options.snap||null,i=t.gesture.deltaX,s=i/this.conversion.scale;this.touchParams.itemProps.forEach(function(t){if("start"in t){var i=new Date(t.start+s);t.item.data.start=e?e(i):i}if("end"in t){var n=new Date(t.end+s);t.item.data.end=e?e(n):n}}),this.requestReflow(),t.stopPropagation()}},ItemSet.prototype._onDragEnd=function(t){if(this.touchParams.itemProps){var e=[],i=this,s=this._myDataSet();this.touchParams.itemProps.forEach(function(t){var n=t.item.id,o=i.itemsData.get(n),r=!1;"start"in t.item.data&&(r=t.start!=t.item.data.start.valueOf(),o.start=util.convert(t.item.data.start,s.convert.start)),"end"in t.item.data&&(r=r||t.end!=t.item.data.end.valueOf(),o.end=util.convert(t.item.data.end,s.convert.end)),r&&i.options.onMove(o,function(s){s?e.push(s):("start"in t&&(t.item.data.start=t.start),"end"in t&&(t.item.data.end=t.end),i.requestReflow())})}),this.touchParams.itemProps=null,e.length&&s.update(e),t.stopPropagation()}},ItemSet.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},ItemSet.itemSetFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-itemset"))return e["timeline-itemset"];e=e.parentNode}return null},ItemSet.prototype._myDataSet=function(){for(var t=this.itemsData;t instanceof DataView;)t=t.data;return t},Item.prototype.select=function(){this.selected=!0,this.visible&&this.repaint()},Item.prototype.unselect=function(){this.selected=!1,this.visible&&this.repaint()},Item.prototype.show=function(){return!1},Item.prototype.hide=function(){return!1},Item.prototype.repaint=function(){return!1},Item.prototype.reflow=function(){return!1},Item.prototype.setOffset=function(t){this.offset=t},Item.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable&&!this.dom.deleteButton){var e=this.parent,i=this.id,s=document.createElement("div");s.className="delete",s.title="Delete this item",Hammer(s,{preventDefault:!0}).on("tap",function(t){e.removeItem(i),t.stopPropagation()}),t.appendChild(s),this.dom.deleteButton=s}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},ItemBox.prototype=new Item(null,null),ItemBox.prototype.repaint=function(){var t=!1,e=this.dom;if(e||(this._create(),e=this.dom,t=!0),e){if(!this.parent)throw new Error("Cannot repaint item: no parent attached");if(!e.box.parentNode){var i=this.parent.getForeground();if(!i)throw new Error("Cannot repaint time axis: parent has no foreground container element");i.appendChild(e.box),t=!0}if(!e.line.parentNode){var s=this.parent.getBackground();if(!s)throw new Error("Cannot repaint time axis: parent has no background container element");s.appendChild(e.line),t=!0}if(!e.dot.parentNode){var n=this.parent.getAxis();if(!s)throw new Error("Cannot repaint time axis: parent has no axis container element");n.appendChild(e.dot),t=!0}if(this._repaintDeleteButton(e.box),this.data.content!=this.content){if(this.content=this.data.content,this.content instanceof Element)e.content.innerHTML="",e.content.appendChild(this.content);else{if(void 0==this.data.content)throw new Error('Property "content" missing in item '+this.data.id);e.content.innerHTML=this.content}t=!0}var o=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");this.className!=o&&(this.className=o,e.box.className="item box"+o,e.line.className="item line"+o,e.dot.className="item dot"+o,t=!0)}return t},ItemBox.prototype.show=function(){return this.dom&&this.dom.box.parentNode?!1:this.repaint()},ItemBox.prototype.hide=function(){var t=!1,e=this.dom;return e&&(e.box.parentNode&&(e.box.parentNode.removeChild(e.box),t=!0),e.line.parentNode&&e.line.parentNode.removeChild(e.line),e.dot.parentNode&&e.dot.parentNode.removeChild(e.dot)),t},ItemBox.prototype.reflow=function(){var t,e,i,s,n,o,r,a,h,d,c,l,u=0;if(void 0==this.data.start)throw new Error('Property "start" missing in item '+this.data.id);if(c=this.data,l=this.parent&&this.parent.range,c&&l){var p=l.end-l.start;this.visible=c.start>l.start-p&&c.start0},ItemBox.prototype._create=function(){var t=this.dom;t||(this.dom=t={},t.box=document.createElement("DIV"),t.content=document.createElement("DIV"),t.content.className="content",t.box.appendChild(t.content),t.line=document.createElement("DIV"),t.line.className="line",t.dot=document.createElement("DIV"),t.dot.className="dot",t.box["timeline-item"]=this)},ItemBox.prototype.reposition=function(){var t=this.dom,e=this.props,i=this.options.orientation||this.defaultOptions.orientation;if(t){var s=t.box,n=t.line,o=t.dot;s.style.left=this.left+"px",s.style.top=this.top+"px",n.style.left=e.line.left+"px","top"==i?(n.style.top="0px",n.style.height=this.top+"px"):(n.style.top=this.top+this.height+"px",n.style.height=Math.max(this.parent.height-this.top-this.height+this.props.dot.height/2,0)+"px"),o.style.left=e.dot.left+"px",o.style.top=e.dot.top+"px"}},ItemPoint.prototype=new Item(null,null),ItemPoint.prototype.repaint=function(){var t=!1,e=this.dom;if(e||(this._create(),e=this.dom,t=!0),e){if(!this.parent)throw new Error("Cannot repaint item: no parent attached");var i=this.parent.getForeground();if(!i)throw new Error("Cannot repaint time axis: parent has no foreground container element");if(e.point.parentNode||(i.appendChild(e.point),i.appendChild(e.point),t=!0),this.data.content!=this.content){if(this.content=this.data.content,this.content instanceof Element)e.content.innerHTML="",e.content.appendChild(this.content);else{if(void 0==this.data.content)throw new Error('Property "content" missing in item '+this.data.id);e.content.innerHTML=this.content}t=!0}this._repaintDeleteButton(e.point);var s=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");this.className!=s&&(this.className=s,e.point.className="item point"+s,t=!0)}return t},ItemPoint.prototype.show=function(){return this.dom&&this.dom.point.parentNode?!1:this.repaint()},ItemPoint.prototype.hide=function(){var t=!1,e=this.dom;return e&&e.point.parentNode&&(e.point.parentNode.removeChild(e.point),t=!0),t},ItemPoint.prototype.reflow=function(){var t,e,i,s,n,o,r,a,h,d,c=0;if(void 0==this.data.start)throw new Error('Property "start" missing in item '+this.data.id);if(h=this.data,d=this.parent&&this.parent.range,h&&d){var l=d.end-d.start;this.visible=h.start>d.start-l&&h.start0},ItemPoint.prototype._create=function(){var t=this.dom;t||(this.dom=t={},t.point=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.point.appendChild(t.content),t.dot=document.createElement("div"),t.dot.className="dot",t.point.appendChild(t.dot),t.point["timeline-item"]=this)},ItemPoint.prototype.reposition=function(){var t=this.dom,e=this.props;t&&(t.point.style.top=this.top+"px",t.point.style.left=this.left+"px",t.content.style.marginLeft=e.content.marginLeft+"px",t.dot.style.top=e.dot.top+"px")},ItemRange.prototype=new Item(null,null),ItemRange.prototype.repaint=function(){var t=!1,e=this.dom;if(e||(this._create(),e=this.dom,t=!0),e){if(!this.parent)throw new Error("Cannot repaint item: no parent attached");var i=this.parent.getForeground();if(!i)throw new Error("Cannot repaint time axis: parent has no foreground container element");if(e.box.parentNode||(i.appendChild(e.box),t=!0),this.data.content!=this.content){if(this.content=this.data.content,this.content instanceof Element)e.content.innerHTML="",e.content.appendChild(this.content);else{if(void 0==this.data.content)throw new Error('Property "content" missing in item '+this.data.id);e.content.innerHTML=this.content}t=!0}this._repaintDeleteButton(e.box),this._repaintDragLeft(),this._repaintDragRight();var s=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");this.className!=s&&(this.className=s,e.box.className="item range"+s,t=!0)}return t},ItemRange.prototype.show=function(){return this.dom&&this.dom.box.parentNode?!1:this.repaint()},ItemRange.prototype.hide=function(){var t=!1,e=this.dom;return e&&e.box.parentNode&&(e.box.parentNode.removeChild(e.box),t=!0),t},ItemRange.prototype.reflow=function(){var t,e,i,s,n,o,r,a,h,d,c,l,u,p,g,f,m=0;if(void 0==this.data.start)throw new Error('Property "start" missing in item '+this.data.id);if(void 0==this.data.end)throw new Error('Property "end" missing in item '+this.data.id);return h=this.data,d=this.parent&&this.parent.range,this.visible=h&&d?h.startd.start:!1,this.visible&&(t=this.dom,t?(e=this.props,i=this.options,o=this.parent,r=o.toScreen(this.data.start)+this.offset,a=o.toScreen(this.data.end)+this.offset,c=util.updateProperty,l=t.box,u=o.width,g=i.orientation||this.defaultOptions.orientation,s=i.margin&&i.margin.axis||this.defaultOptions.margin.axis,n=i.padding||this.defaultOptions.padding,m+=c(e.content,"width",t.content.offsetWidth),m+=c(this,"height",l.offsetHeight),-u>r&&(r=-u),a>2*u&&(a=2*u),p=0>r?Math.min(-r,a-r-e.content.width-2*n):0,m+=c(e.content,"left",p),"top"==g?(f=s,m+=c(this,"top",f)):(f=o.height-this.height-s,m+=c(this,"top",f)),m+=c(this,"left",r),m+=c(this,"width",Math.max(a-r,1))):m+=1),m>0},ItemRange.prototype._create=function(){var t=this.dom;t||(this.dom=t={},t.box=document.createElement("div"),t.content=document.createElement("div"),t.content.className="content",t.box.appendChild(t.content),t.box["timeline-item"]=this)},ItemRange.prototype.reposition=function(){var t=this.dom,e=this.props;t&&(t.box.style.top=this.top+"px",t.box.style.left=this.left+"px",t.box.style.width=this.width+"px",t.content.style.left=e.content.left+"px")},ItemRange.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable&&!this.dom.dragLeft){var t=document.createElement("div");t.className="drag-left",t.dragLeftItem=this,Hammer(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragLeft=t}else!this.selected&&this.dom.dragLeft&&(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},ItemRange.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable&&!this.dom.dragRight){var t=document.createElement("div");t.className="drag-right",t.dragRightItem=this,Hammer(t,{preventDefault:!0}).on("drag",function(){}),this.dom.box.appendChild(t),this.dom.dragRight=t}else!this.selected&&this.dom.dragRight&&(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},ItemRangeOverflow.prototype=new ItemRange(null,null),ItemRangeOverflow.prototype.repaint=function(){var t=!1,e=this.dom;if(e||(this._create(),e=this.dom,t=!0),e){if(!this.parent)throw new Error("Cannot repaint item: no parent attached");var i=this.parent.getForeground();if(!i)throw new Error("Cannot repaint time axis: parent has no foreground container element");if(e.box.parentNode||(i.appendChild(e.box),t=!0),this.data.content!=this.content){if(this.content=this.data.content,this.content instanceof Element)e.content.innerHTML="",e.content.appendChild(this.content);else{if(void 0==this.data.content)throw new Error('Property "content" missing in item '+this.id);e.content.innerHTML=this.content}t=!0}this._repaintDeleteButton(e.box),this._repaintDragLeft(),this._repaintDragRight();var s=(this.data.className?" "+this.data.className:"")+(this.selected?" selected":"");this.className!=s&&(this.className=s,e.box.className="item rangeoverflow"+s,t=!0)}return t},ItemRangeOverflow.prototype.reposition=function(){var t=this.dom,e=this.props;t&&(t.box.style.top=this.top+"px",t.box.style.left=this.left+"px",t.box.style.width=this._width+"px",t.content.style.left=e.content.left+"px")},Group.prototype=new Component,Group.prototype.setOptions=Component.prototype.setOptions,Group.prototype.getContainer=function(){return this.parent.getContainer()},Group.prototype.setItems=function(t){if(this.itemset&&(this.itemset.hide(),this.itemset.setItems(),this.parent.controller.remove(this.itemset),this.itemset=null),t){var e=this.groupId,i=Object.create(this.options);this.itemset=new ItemSet(this,null,i),this.itemset.setRange(this.parent.range),this.view=new DataView(t,{filter:function(t){return t.group==e}}),this.itemset.setItems(this.view),this.parent.controller.add(this.itemset)}},Group.prototype.setSelection=function(t){this.itemset&&this.itemset.setSelection(t)},Group.prototype.getSelection=function(){return this.itemset?this.itemset.getSelection():[]},Group.prototype.repaint=function(){return!1},Group.prototype.reflow=function(){var t=0,e=util.updateProperty;if(t+=e(this,"top",this.itemset?this.itemset.top:0),t+=e(this,"height",this.itemset?this.itemset.height:0),this.label){var i=this.label.firstChild;t+=e(this.props.label,"width",i.clientWidth),t+=e(this.props.label,"height",i.clientHeight)}else t+=e(this.props.label,"width",0),t+=e(this.props.label,"height",0);return t>0},GroupSet.prototype=new Panel,GroupSet.prototype.setOptions=Component.prototype.setOptions,GroupSet.prototype.setRange=function(){},GroupSet.prototype.setItems=function(t){this.itemsData=t;for(var e in this.groups)if(this.groups.hasOwnProperty(e)){var i=this.groups[e];i.setItems(t)}},GroupSet.prototype.getItems=function(){return this.itemsData},GroupSet.prototype.setRange=function(t){this.range=t},GroupSet.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(util.forEach(this.listeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this._onRemove(e)),t?t instanceof DataSet?this.groupsData=t:(this.groupsData=new DataSet({convert:{start:"Date",end:"Date"}}),this.groupsData.add(t)):this.groupsData=null,this.groupsData){var s=this.id;util.forEach(this.listeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAdd(e)}},GroupSet.prototype.getGroups=function(){return this.groupsData},GroupSet.prototype.setSelection=function(t){var e=[],i=this.groups;for(var s in i)if(i.hasOwnProperty(s)){var n=i[s];n.setSelection(t)}return e},GroupSet.prototype.getSelection=function(){var t=[],e=this.groups;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];t=t.concat(s.getSelection())}return t},GroupSet.prototype.repaint=function(){var t,e,i,s,n=0,o=util.updateProperty,r=util.option.asSize,a=util.option.asElement,h=this.options,d=this.dom.frame,c=this.dom.labels,l=this.dom.labelSet;if(!this.parent)throw new Error("Cannot repaint groupset: no parent attached");var u=this.parent.getContainer();if(!u)throw new Error("Cannot repaint groupset: parent has no container element");if(!d){d=document.createElement("div"),d.className="groupset",d["timeline-groupset"]=this,this.dom.frame=d;var p=h.className;p&&util.addClassName(d,util.option.asString(p)),n+=1}d.parentNode||(u.appendChild(d),n+=1);var g=a(h.labelContainer);if(!g)throw new Error('Cannot repaint groupset: option "labelContainer" not defined');c||(c=document.createElement("div"),c.className="labels",this.dom.labels=c),l||(l=document.createElement("div"),l.className="label-set",c.appendChild(l),this.dom.labelSet=l),c.parentNode&&c.parentNode==g||(c.parentNode&&c.parentNode.removeChild(c.parentNode),g.appendChild(c)),n+=o(d.style,"height",r(h.height,this.height+"px")),n+=o(d.style,"top",r(h.top,"0px")),n+=o(d.style,"left",r(h.left,"0px")),n+=o(d.style,"width",r(h.width,"100%")),n+=o(l.style,"top",r(h.top,"0px")),n+=o(l.style,"height",r(h.height,this.height+"px"));var f=this,m=this.queue,v=this.groups,y=this.groupsData,_=Object.keys(m);if(_.length){_.forEach(function(t){var e=m[t],i=v[t];switch(e){case"add":case"update":if(!i){var s=Object.create(f.options);util.extend(s,{height:null,maxHeight:null}),i=new Group(f,t,s),i.setItems(f.itemsData),v[t]=i,f.controller.add(i)}i.data=y.get(t),delete m[t];break;case"remove":i&&(i.setItems(),delete v[t],f.controller.remove(i)),delete m[t];break;default:console.log('Error: unknown action "'+e+'"')}});var b=this.groupsData.getIds({order:this.options.groupOrder});for(t=0;t0},GroupSet.prototype._createLabel=function(t){var e=this.groups[t],i=document.createElement("div");i.className="vlabel";var s=document.createElement("div");s.className="inner",i.appendChild(s);var n=e.data&&e.data.content;n instanceof Element?s.appendChild(n):void 0!=n&&(s.innerHTML=n);var o=e.data&&e.data.className;return o&&util.addClassName(i,o),e.label=i,i},GroupSet.prototype.getContainer=function(){return this.dom.frame},GroupSet.prototype.getLabelsWidth=function(){return this.props.labels.width},GroupSet.prototype.reflow=function(){var t,e,i=0,s=this.options,n=util.updateProperty,o=util.option.asNumber,r=util.option.asSize,a=this.dom.frame; -if(a){var h,d=o(s.maxHeight),c=null!=r(s.height);if(c)h=a.offsetHeight;else{h=0;for(t in this.groups)this.groups.hasOwnProperty(t)&&(e=this.groups[t],h+=e.height)}null!=d&&(h=Math.min(h,d)),i+=n(this,"height",h),i+=n(this,"top",a.offsetTop),i+=n(this,"left",a.offsetLeft),i+=n(this,"width",a.offsetWidth)}var l=0;for(t in this.groups)if(this.groups.hasOwnProperty(t)){e=this.groups[t];var u=e.props&&e.props.label&&e.props.label.width||0;l=Math.max(l,u)}return i+=n(this.props.labels,"width",l),i>0},GroupSet.prototype.hide=function(){return this.dom.frame&&this.dom.frame.parentNode?(this.dom.frame.parentNode.removeChild(this.dom.frame),!0):!1},GroupSet.prototype.show=function(){return this.dom.frame&&this.dom.frame.parentNode?!1:this.repaint()},GroupSet.prototype._onUpdate=function(t){this._toQueue(t,"update")},GroupSet.prototype._onAdd=function(t){this._toQueue(t,"add")},GroupSet.prototype._onRemove=function(t){this._toQueue(t,"remove")},GroupSet.prototype._toQueue=function(t,e){var i=this.queue;t.forEach(function(t){i[t]=e}),this.controller&&this.requestRepaint()},GroupSet.groupFromTarget=function(t){for(var e,i=t.target;i;){if(i.hasOwnProperty("timeline-groupset")){e=i["timeline-groupset"];break}i=i.parentNode}if(e)for(var s in e.groups)if(e.groups.hasOwnProperty(s)){var n=e.groups[s];if(n.itemset&&ItemSet.itemSetFromTarget(t)==n.itemset)return n}return null},Timeline.prototype.on=function(t,e){this.controller.on(t,e)},Timeline.prototype.off=function(t,e){this.controller.off(t,e)},Timeline.prototype.setOptions=function(t){util.extend(this.options,t),this.range.setRange(t.start,t.end),("editable"in t||"selectable"in t)&&this.setSelection(this.options.selectable?this.getSelection():[]);var e=function(t){if(!(this.options[t]instanceof Function)||2!=this.options[t].length)throw new Error("option "+t+" must be a function "+t+"(item, callback)")}.bind(this);["onAdd","onUpdate","onRemove","onMove"].forEach(e),this.controller.reflow(),this.controller.repaint()},Timeline.prototype.setCustomTime=function(t){if(!this.customtime)throw new Error("Cannot get custom time: Custom time bar is not enabled");this.customtime.setCustomTime(t)},Timeline.prototype.getCustomTime=function(){if(!this.customtime)throw new Error("Cannot get custom time: Custom time bar is not enabled");return this.customtime.getCustomTime()},Timeline.prototype.setItems=function(t){var e,i=null==this.itemsData;if(t?t instanceof DataSet&&(e=t):e=null,t instanceof DataSet||(e=new DataSet({convert:{start:"Date",end:"Date"}}),e.add(t)),this.itemsData=e,this.content.setItems(e),i&&(void 0==this.options.start||void 0==this.options.end)){var s=this.getItemRange(),n=s.min,o=s.max;if(null!=n&&null!=o){var r=o.valueOf()-n.valueOf();0>=r&&(r=864e5),n=new Date(n.valueOf()-.05*r),o=new Date(o.valueOf()+.05*r)}void 0!=this.options.start&&(n=util.convert(this.options.start,"Date")),void 0!=this.options.end&&(o=util.convert(this.options.end,"Date")),(null!=n||null!=o)&&this.range.setRange(n,o)}},Timeline.prototype.setGroups=function(t){var e=this;this.groupsData=t;var i=this.groupsData?GroupSet:ItemSet;if(!(this.content instanceof i)){this.content&&(this.content.hide(),this.content.setItems&&this.content.setItems(),this.content.setGroups&&this.content.setGroups(),this.controller.remove(this.content));var s=Object.create(this.options);util.extend(s,{top:function(){return"top"==e.options.orientation?e.timeaxis.height:e.itemPanel.height-e.timeaxis.height-e.content.height},left:null,width:"100%",height:function(){return e.options.height?e.itemPanel.height-e.timeaxis.height:null},maxHeight:function(){if(e.options.maxHeight){if(!util.isNumber(e.options.maxHeight))throw new TypeError("Number expected for property maxHeight");return e.options.maxHeight-e.timeaxis.height}return null},labelContainer:function(){return e.labelPanel.getContainer()}}),this.content=new i(this.itemPanel,[this.timeaxis],s),this.content.setRange&&this.content.setRange(this.range),this.content.setItems&&this.content.setItems(this.itemsData),this.content.setGroups&&this.content.setGroups(this.groupsData),this.controller.add(this.content)}},Timeline.prototype.getItemRange=function(){var t=this.itemsData,e=null,i=null;if(t){var s=t.min("start");e=s?s.start.valueOf():null;var n=t.max("start");n&&(i=n.start.valueOf());var o=t.max("end");o&&(i=null==i?o.end.valueOf():Math.max(i,o.end.valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},Timeline.prototype.setSelection=function(t){this.content&&this.content.setSelection(t)},Timeline.prototype.getSelection=function(){return this.content?this.content.getSelection():[]},Timeline.prototype.setWindow=function(t,e){this.range.setRange(t,e)},Timeline.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},Timeline.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.gesture.srcEvent&&t.gesture.srcEvent.ctrlKey,i=t.gesture.srcEvent&&t.gesture.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var s=ItemSet.itemFromTarget(t),n=s?[s.id]:[];this.setSelection(n),this.controller.emit("select",{items:this.getSelection()}),t.stopPropagation()}},Timeline.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable){var e=this,i=ItemSet.itemFromTarget(t);if(i){var s=e.itemsData.get(i.id);this.options.onUpdate(s,function(t){t&&e.itemsData.update(t)})}else{var n=vis.util.getAbsoluteLeft(this.rootPanel.frame),o=t.gesture.center.pageX-n,r={start:this.timeaxis.snap(this._toTime(o)),content:"new item"},a=util.randomUUID();r[this.itemsData.fieldId]=a;var h=GroupSet.groupFromTarget(t);h&&(r.group=h.groupId),this.options.onAdd(r,function(t){t&&(e.itemsData.add(r),e.controller.once("repaint",function(){e.setSelection([a]),e.controller.emit("select",{items:e.getSelection()})}.bind(e)))})}}},Timeline.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=ItemSet.itemFromTarget(t);if(i){e=this.getSelection();var s=e.indexOf(i.id);-1==s?e.push(i.id):e.splice(s,1),this.setSelection(e),this.controller.emit("select",{items:this.getSelection()}),t.stopPropagation()}}},Timeline.prototype._toTime=function(t){var e=this.range.conversion(this.content.width);return new Date(t/e.scale+e.offset)},Timeline.prototype._toScreen=function(t){var e=this.range.conversion(this.content.width);return(t.valueOf()-e.offset)*e.scale},function(t){function e(t){return D=t,u()}function i(){C=0,M=D.charAt(0)}function s(){C++,M=D.charAt(C)}function n(){return D.charAt(C+1)}function o(t){return O.test(t)}function r(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function a(t,e,i){for(var s=e.split("."),n=t;s.length;){var o=s.shift();s.length?(n[o]||(n[o]={}),n=n[o]):n[o]=i}}function h(t,e){for(var i,s,n=null,o=[t],a=t;a.parent;)o.push(a.parent),a=a.parent;if(a.nodes)for(i=0,s=a.nodes.length;s>i;i++)if(e.id===a.nodes[i].id){n=a.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=r(n.attr,t.node))),i=o.length-1;i>=0;i--){var h=o[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=r(n.attr,e.attr))}function d(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=r({},t.edge);e.attr=r(i,e.attr)}}function c(t,e,i,s,n){var o={from:e,to:i,type:s};return t.edge&&(o.attr=r({},t.edge)),o.attr=r(o.attr||{},n),o}function l(){for(N=E.NULL,I="";" "==M||" "==M||"\n"==M||"\r"==M;)s();do{var t=!1;if("#"==M){for(var e=C-1;" "==D.charAt(e)||" "==D.charAt(e);)e--;if("\n"==D.charAt(e)||""==D.charAt(e)){for(;""!=M&&"\n"!=M;)s();t=!0}}if("/"==M&&"/"==n()){for(;""!=M&&"\n"!=M;)s();t=!0}if("/"==M&&"*"==n()){for(;""!=M;){if("*"==M&&"/"==n()){s(),s();break}s()}t=!0}for(;" "==M||" "==M||"\n"==M||"\r"==M;)s()}while(t);if(""==M)return void(N=E.DELIMITER);var i=M+n();if(T[i])return N=E.DELIMITER,I=i,s(),void s();if(T[M])return N=E.DELIMITER,I=M,void s();if(o(M)||"-"==M){for(I+=M,s();o(M);)I+=M,s();return"false"==I?I=!1:"true"==I?I=!0:isNaN(Number(I))||(I=Number(I)),void(N=E.IDENTIFIER)}if('"'==M){for(s();""!=M&&('"'!=M||'"'==M&&'"'==n());)I+=M,'"'==M&&s(),s();if('"'!=M)throw b('End of string " expected');return s(),void(N=E.IDENTIFIER)}for(N=E.UNKNOWN;""!=M;)I+=M,s();throw new SyntaxError('Syntax error in part "'+w(I,30)+'"')}function u(){var t={};if(i(),l(),"strict"==I&&(t.strict=!0,l()),("graph"==I||"digraph"==I)&&(t.type=I,l()),N==E.IDENTIFIER&&(t.id=I,l()),"{"!=I)throw b("Angle bracket { expected");if(l(),p(t),"}"!=I)throw b("Angle bracket } expected");if(l(),""!==I)throw b("End of file expected");return l(),delete t.node,delete t.edge,delete t.graph,t}function p(t){for(;""!==I&&"}"!=I;)g(t),";"==I&&l()}function g(t){var e=f(t);if(e)return void y(t,e);var i=m(t);if(!i){if(N!=E.IDENTIFIER)throw b("Identifier expected");var s=I;if(l(),"="==I){if(l(),N!=E.IDENTIFIER)throw b("Identifier expected");t[s]=I,l()}else v(t,s)}}function f(t){var e=null;if("subgraph"==I&&(e={},e.type="subgraph",l(),N==E.IDENTIFIER&&(e.id=I,l())),"{"==I){if(l(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,p(e),"}"!=I)throw b("Angle bracket } expected");l(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function m(t){return"node"==I?(l(),t.node=_(),"node"):"edge"==I?(l(),t.edge=_(),"edge"):"graph"==I?(l(),t.graph=_(),"graph"):null}function v(t,e){var i={id:e},s=_();s&&(i.attr=s),h(t,i),y(t,e)}function y(t,e){for(;"->"==I||"--"==I;){var i,s=I;l();var n=f(t);if(n)i=n;else{if(N!=E.IDENTIFIER)throw b("Identifier or subgraph expected");i=I,h(t,{id:i}),l()}var o=_(),r=c(t,e,i,s,o);d(t,r),e=i}}function _(){for(var t=null;"["==I;){for(l(),t={};""!==I&&"]"!=I;){if(N!=E.IDENTIFIER)throw b("Attribute name expected");var e=I;if(l(),"="!=I)throw b("Equal sign = expected");if(l(),N!=E.IDENTIFIER)throw b("Attribute value expected");var i=I;a(t,e,i),l(),","==I&&l()}if("]"!=I)throw b("Bracket ] expected");l()}return t}function b(t){return new SyntaxError(t+', got "'+w(I,30)+'" (char '+C+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function x(t){function i(t){var e={from:t.from,to:t.to};return r(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=e(t),n={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};r(e,t.attr),e.image&&(e.shape="image"),n.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var e,s;e=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=i(t);n.edges.push(e)}),S(e,s,function(e,s){var o=c(n,e.id,s.id,t.type,t.attr),r=i(o);n.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=i(t);n.edges.push(e)})}),s.attr&&(n.options=s.attr),n}var E={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},D="",C=0,M="",I="",N=E.NULL,O=/[a-zA-Z_0-9.:#]/;t.parseDOT=e,t.DOTToGraph=x}("undefined"!=typeof util?util:exports),"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1)},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i)},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath();var s=2*i,n=s/2,o=Math.sqrt(3)/6*s,r=Math.sqrt(s*s-n*n);this.moveTo(t,e-(r-o)),this.lineTo(t+n,e+o),this.lineTo(t-n,e+o),this.lineTo(t,e-(r-o)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath();var s=2*i,n=s/2,o=Math.sqrt(3)/6*s,r=Math.sqrt(s*s-n*n);this.moveTo(t,e+(r-o)),this.lineTo(t+n,e-o),this.lineTo(t-n,e-o),this.lineTo(t,e+(r-o)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath();for(var s=0;10>s;s++){var n=s%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*s*Math.PI/10),e-n*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,n){var o=Math.PI/180;0>i-2*n&&(n=i/2),0>s-2*n&&(n=s/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*o,360*o,!1),this.lineTo(t+i,e+s-n),this.arc(t+i-n,e+s-n,n,0,90*o,!1),this.lineTo(t+n,e+s),this.arc(t+n,e+s-n,n,90*o,180*o,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*o,270*o,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var n=.5522848,o=i/2*n,r=s/2*n,a=t+i,h=e+s,d=t+i/2,c=e+s/2;this.beginPath(),this.moveTo(t,c),this.bezierCurveTo(t,c-r,d-o,e,d,e),this.bezierCurveTo(d+o,e,a,c-r,a,c),this.bezierCurveTo(a,c+r,d+o,h,d,h),this.bezierCurveTo(d-o,h,t,c+r,t,c)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var n=1/3,o=i,r=s*n,a=.5522848,h=o/2*a,d=r/2*a,c=t+o,l=e+r,u=t+o/2,p=e+r/2,g=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(c,p),this.bezierCurveTo(c,p+d,u+h,l,u,l),this.bezierCurveTo(u-h,l,t,p+d,t,p),this.bezierCurveTo(t,p-d,u-h,e,u,e),this.bezierCurveTo(u+h,e,c,p-d,c,p),this.lineTo(c,g),this.bezierCurveTo(c,g+d,u+h,f,u,f),this.bezierCurveTo(u-h,f,t,g+d,t,g),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var n=t-s*Math.cos(i),o=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=n+s/3*Math.cos(i+.5*Math.PI),d=o+s/3*Math.sin(i+.5*Math.PI),c=n+s/3*Math.cos(i-.5*Math.PI),l=o+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(c,l),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,n){n||(n=[10,5]),0==u&&(u=.001);var o=n.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),c=0,l=!0;d>=.1;){var u=n[c++%o];u>d&&(u=d);var p=Math.sqrt(u*u/(1+h*h));0>r&&(p=-p),t+=p,e+=h*p,this[l?"lineTo":"moveTo"](t,e),d-=u,l=!l}}),Node.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},Node.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},Node.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&(this.edges.splice(e,1),this.dynamicEdges.splice(e,1)),this.dynamicEdgesLength=this.dynamicEdges.length},Node.prototype.setProperties=function(t,e){if(t){if(this.originalLabel=void 0,void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.group&&(this.group=t.group),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level),void 0!==t.mass&&(this.mass=t.mass),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if(this.group){var i=this.grouplist.get(this.group);for(var s in i)i.hasOwnProperty(s)&&(this[s]=i[s])}if(void 0!==t.shape&&(this.shape=t.shape),void 0!==t.image&&(this.image=t.image),void 0!==t.radius&&(this.radius=t.radius),void 0!==t.color&&(this.color=Node.parseColor(t.color)),void 0!==t.fontColor&&(this.fontColor=t.fontColor),void 0!==t.fontSize&&(this.fontSize=t.fontSize),void 0!==t.fontFace&&(this.fontFace=t.fontFace),void 0!==this.image&&""!=this.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.image)}switch(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.shape&&(this.radiusMin=e.nodes.widthMin,this.radiusMax=e.nodes.widthMax),this.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},Node.parseColor=function(t){var e;if(util.isString(t))if(util.isValidHex(t)){var i=util.hexToHSV(t),s={h:i.h,s:.45*i.s,v:Math.min(1,1.05*i.v)},n={h:i.h,s:Math.min(1,1.25*i.v),v:.6*i.v},o=util.HSVToHex(n.h,n.h,n.v),r=util.HSVToHex(s.h,s.s,s.v);e={background:t,border:o,highlight:{background:r,border:o}}}else e={background:t,border:t,highlight:{background:t,border:t}};else e={},e.background=t.background||"white",e.border=t.border||e.background,util.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border);return e},Node.prototype.select=function(){this.selected=!0,this._reset()},Node.prototype.unselect=function(){this.selected=!1,this._reset()},Node.prototype.clearSizeCache=function(){this._reset()},Node.prototype._reset=function(){this.width=void 0,this.height=void 0},Node.prototype.getTitle=function(){return this.title},Node.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.shape){case"circle":case"dot":return this.radius+i;case"ellipse":var s=this.width/2,n=this.height/2,o=Math.sin(e)*s,r=Math.cos(e)*n;return s*n/Math.sqrt(o*o+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},Node.prototype._setForce=function(t,e){this.fx=t,this.fy=e},Node.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},Node.prototype.discreteStep=function(t){if(!this.xFixed){var e=this.damping*this.vx,i=(this.fx-e)/this.mass;this.vx+=i*t,this.x+=this.vx*t}if(!this.yFixed){var s=this.damping*this.vy,n=(this.fy-s)/this.mass;this.vy+=n*t,this.y+=this.vy*t}},Node.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0;else{var n=this.damping*this.vy,o=(this.fy-n)/this.mass;this.vy+=o*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},Node.prototype.isFixed=function(){return this.xFixed&&this.yFixed},Node.prototype.isMoving=function(t){return Math.abs(this.vx)>t||Math.abs(this.vy)>t},Node.prototype.isSelected=function(){return this.selected},Node.prototype.getValue=function(){return this.value},Node.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},Node.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.radius=(this.radiusMin+this.radiusMax)/2;else{var i=(this.radiusMax-this.radiusMin)/(e-t);this.radius=(this.value-t)*i+this.radiusMin}this.baseRadiusValue=this.radius},Node.prototype.draw=function(){throw"Draw method not initialized for node"},Node.prototype.resize=function(){throw"Resize method not initialized for node"},Node.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},Node.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.radius||this.imageObj.width,e=this.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},Node.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.graphScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},Node.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},Node.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=2;t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.radius),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},Node.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=2;t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.radius=s/2,this.width=s,this.height=s,this.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.radius-.5*s}},Node.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=2;t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.circle(this.x,this.y,this.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.circle(this.x,this.y,this.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._drawDot=function(t){this._drawShape(t,"circle")},Node.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},Node.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},Node.prototype._drawSquare=function(t){this._drawShape(t,"square")},Node.prototype._drawStar=function(t){this._drawShape(t,"star")},Node.prototype._resizeShape=function(){if(!this.width){this.radius=this.baseRadiusValue;var t=2*this.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},Node.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=2,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:1)+(this.clusterSize>1?i:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t[e](this.x,this.y,this.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:1)+(this.clusterSize>1?i:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t[e](this.x,this.y,this.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top")},Node.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},Node.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},Node.prototype._label=function(t,e,i,s,n,o){if(e&&this.fontSize*this.graphScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.fontSize+"px "+this.fontFace,t.fillStyle=this.fontColor||"black",t.textAlign=n||"center",t.textBaseline=o||"middle";for(var r=e.split("\n"),a=r.length,h=this.fontSize+4,d=s+(1-a)/2*h,c=0;a>c;c++)t.fillText(r[c],i,d),d+=h}},Node.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.fontSize+"px "+this.fontFace;for(var e=this.label.split("\n"),i=(this.fontSize+4)*e.length,s=0,n=0,o=e.length;o>n;n++)s=Math.max(s,t.measureText(e[n]).width);return{width:s,height:i}}return{width:0,height:0}},Node.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.graphScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.graphScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.graphScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.yh}return!1},Edge.prototype._drawLine=function(t){if(t.strokeStyle=1==this.selected?this.color.highlight:this.color.color,t.lineWidth=this._getLineWidth(),this.from!=this.to){this._line(t);var e;if(this.label){if(1==this.smooth){var i=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),s=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));e={x:i,y:s}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,o,r=this.length/4,a=this.from;a.width||a.resize(t),a.width>a.height?(n=a.x+a.width/2,o=a.y-r):(n=a.x+r,o=a.y-a.height/2),this._circle(t,n,o,r),e=this._pointOnCircle(n,o,r,.5),this._label(t,this.label,e.x,e.y)}},Edge.prototype._getLineWidth=function(){return 1==this.selected?Math.min(2*this.width,this.widthMax)*this.graphScaleInv:this.width*this.graphScaleInv},Edge.prototype._line=function(t){t.beginPath(),t.moveTo(this.from.x,this.from.y),1==this.smooth?t.quadraticCurveTo(this.via.x,this.via.y,this.to.x,this.to.y):t.lineTo(this.to.x,this.to.y),t.stroke()},Edge.prototype._circle=function(t,e,i,s){t.beginPath(),t.arc(e,i,s,0,2*Math.PI,!1),t.stroke()},Edge.prototype._label=function(t,e,i,s){if(e){t.font=(this.from.selected||this.to.selected?"bold ":"")+this.fontSize+"px "+this.fontFace,t.fillStyle="white";var n=t.measureText(e).width,o=this.fontSize,r=i-n/2,a=s-o/2;t.fillRect(r,a,n,o),t.fillStyle=this.fontColor||"black",t.textAlign="left",t.textBaseline="top",t.fillText(e,r,a)}},Edge.prototype._drawDashLine=function(t){if(t.strokeStyle=1==this.selected?this.color.highlight:this.color.color,t.lineWidth=this._getLineWidth(),void 0!==t.mozDash||void 0!==t.setLineDash){t.beginPath(),t.moveTo(this.from.x,this.from.y);var e=[0];e=void 0!==this.dash.length&&void 0!==this.dash.gap?[this.dash.length,this.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(e),t.lineDashOffset=0):(t.mozDash=e,t.mozDashOffset=0),1==this.smooth?t.quadraticCurveTo(this.via.x,this.via.y,this.to.x,this.to.y):t.lineTo(this.to.x,this.to.y),t.stroke(),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.dash.length,this.dash.gap,this.dash.altLength,this.dash.gap]):void 0!==this.dash.length&&void 0!==this.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.dash.length,this.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var i;if(1==this.smooth){var s=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),n=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));i={x:s,y:n}}else i=this._pointOnLine(.5);this._label(t,this.label,i.x,i.y)}},Edge.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},Edge.prototype._pointOnCircle=function(t,e,i,s){var n=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}},Edge.prototype._drawArrowCenter=function(t){var e;if(1==this.selected?(t.strokeStyle=this.color.highlight,t.fillStyle=this.color.highlight):(t.strokeStyle=this.color.color,t.fillStyle=this.color.color),t.lineWidth=this._getLineWidth(),this.from!=this.to){this._line(t);var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=10+5*this.width;if(1==this.smooth){var n=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),o=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));e={x:n,y:o}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,i,s),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var r,a,h=.25*Math.max(100,this.length),d=this.from;d.width||d.resize(t),d.width>d.height?(r=d.x+.5*d.width,a=d.y-h):(r=d.x+h,a=d.y-.5*d.height),this._circle(t,r,a,h);var i=.2*Math.PI,s=10+5*this.width;e=this._pointOnCircle(r,a,h,.5),t.arrow(e.x,e.y,i,s),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(r,a,h,.5),this._label(t,this.label,e.x,e.y))}},Edge.prototype._drawArrow=function(t){1==this.selected?(t.strokeStyle=this.color.highlight,t.fillStyle=this.color.highlight):(t.strokeStyle=this.color.color,t.fillStyle=this.color.color),t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s=this.to.x-this.from.x,n=this.to.y-this.from.y,o=Math.sqrt(s*s+n*n),r=this.from.distanceToBorder(t,e+Math.PI),a=(o-r)/o,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.smooth&&(e=Math.atan2(this.to.y-this.via.y,this.to.x-this.via.x),s=this.to.x-this.via.x,n=this.to.y-this.via.y,o=Math.sqrt(s*s+n*n));var c,l,u=this.to.distanceToBorder(t,e),p=(o-u)/o;if(1==this.smooth?(c=(1-p)*this.via.x+p*this.to.x,l=(1-p)*this.via.y+p*this.to.y):(c=(1-p)*this.from.x+p*this.to.x,l=(1-p)*this.from.y+p*this.to.y),t.beginPath(),t.moveTo(h,d),1==this.smooth?t.quadraticCurveTo(this.via.x,this.via.y,c,l):t.lineTo(c,l),t.stroke(),i=10+5*this.width,t.arrow(c,l,e,i),t.fill(),t.stroke(),this.label){var g;if(1==this.smooth){var f=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),m=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));g={x:f,y:m}}else g=this._pointOnLine(.5);this._label(t,this.label,g.x,g.y)}}else{var v,y,_,b=this.from,w=.25*Math.max(100,this.length);b.width||b.resize(t),b.width>b.height?(v=b.x+.5*b.width,y=b.y-w,_={x:v,y:b.y,angle:.9*Math.PI}):(v=b.x+w,y=b.y-.5*b.height,_={x:b.x,y:y,angle:.6*Math.PI}),t.beginPath(),t.arc(v,y,w,0,2*Math.PI,!1),t.stroke(),i=10+5*this.width,t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(g=this._pointOnCircle(v,y,w,.5),this._label(t,this.label,g.x,g.y))}},Edge.prototype._getDistanceToEdge=function(t,e,i,s,n,o){if(1==this.smooth){var r,a,h,d,c,l,u=1e9;for(r=0;10>r;r++)a=.1*r,h=Math.pow(1-a,2)*t+2*a*(1-a)*this.via.x+Math.pow(a,2)*i,d=Math.pow(1-a,2)*e+2*a*(1-a)*this.via.y+Math.pow(a,2)*s,c=Math.abs(n-h),l=Math.abs(o-d),u=Math.min(u,Math.sqrt(c*c+l*l));return u}var p=i-t,g=s-e,f=p*p+g*g,m=((n-t)*p+(o-e)*g)/f;m>1?m=1:0>m&&(m=0);var h=t+m*p,d=e+m*g,c=h-n,l=d-o;return Math.sqrt(c*c+l*l)},Edge.prototype.setScale=function(t){this.graphScaleInv=1/t},Edge.prototype.select=function(){this.selected=!0},Edge.prototype.unselect=function(){this.selected=!1},Edge.prototype.positionBezierNode=function(){null!==this.via&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},Popup.prototype.setPosition=function(t,e){this.x=parseInt(t),this.y=parseInt(e)},Popup.prototype.setText=function(t){this.frame.innerHTML=t},Popup.prototype.show=function(t){if(void 0===t&&(t=!0),t){var e=this.frame.clientHeight,i=this.frame.clientWidth,s=this.frame.parentNode.clientHeight,n=this.frame.parentNode.clientWidth,o=this.y-e;o+e+this.padding>s&&(o=s-e-this.padding),on&&(r=n-i-this.padding),rthis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},_calculateForces:function(){this._calculateGravitationalForces(),this._calculateNodeForces(),1==this.constants.smoothCurves?this._calculateSpringForcesWithSupport():this._calculateSpringForces()},_updateCalculationNodes:function(){if(1==this.constants.smoothCurves){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},_calculateGravitationalForces:function(){var t,e,i,s,n,o=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(n=0;nSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=showValueOfRange.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=showValueOfRange.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=showValueOfRange.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=showValueOfRange.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=showValueOfRange.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=showValueOfRange.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=showValueOfRange.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=showValueOfRange.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=showValueOfRange.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=showValueOfRange.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=showValueOfRange.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=showValueOfRange.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=showValueOfRange.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=showValueOfRange.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=showValueOfRange.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=showValueOfRange.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=showValueOfRange.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=showValueOfRange.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2"),n=document.getElementById("graph_physicsMethod3");s.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(n.checked=!0);var o=document.getElementById("graph_toggleSmooth"),r=document.getElementById("graph_repositionNodes"),a=document.getElementById("graph_generateOptions");o.onclick=graphToggleSmoothCurves.bind(this),r.onclick=graphRepositionNodes.bind(this),a.onclick=graphGenerateOptions.bind(this),o.style.background=1==this.constants.smoothCurves?"#A4FF56":"#FF8532",switchConfigurations.apply(this),i.onchange=switchConfigurations.bind(this),s.onchange=switchConfigurations.bind(this),n.onchange=switchConfigurations.bind(this)}},_overWriteGraphConstants:function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},hierarchalRepulsionMixin={_calculateNodeForces:function(){var t,e,i,s,n,o,r,a,h,d,c=this.calculationNodes,l=this.calculationNodeIndices,u=5,p=.5*-u,g=this.constants.physics.hierarchicalRepulsion.nodeDistance,f=g;for(h=0;hi&&(o=m*i+u,0==i?i=.01:o/=i,s=t*o,n=e*o,r.fx-=s,r.fy-=n,a.fx+=s,a.fy+=n)}}},barnesHutMixin={_calculateNodeForces:function(){var t,e=this.calculationNodes,i=this.calculationNodeIndices,s=i.length;this._formBarnesHutTree(e,i);for(var n=this.barnesHutTree,o=0;s>o;o++)t=e[i[o]],this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t)},_getForceContribution:function(t,e){if(t.childrenCount>0){var i,s,n;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+s*s),n*t.calcSize>this.constants.physics.barnesHut.theta){0==n&&(n=.1*Math.random(),i=n);var o=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.mass/(n*n*n),r=i*o,a=s*o;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==n&&(n=.5*Math.random(),i=n);var o=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.mass/(n*n*n),r=i*o,a=s*o;e.fx+=r,e.fy+=a}}},_formBarnesHutTree:function(t,e){for(var i,s=e.length,n=Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,c=t[e[h]].y;n>d&&(n=d),d>r&&(r=d),o>c&&(o=c),c>a&&(a=c)}var l=Math.abs(r-n)-Math.abs(a-o);l>0?(o-=.5*l,a+=.5*l):(n+=.5*l,r-=.5*l);var u=1e-5,p=Math.max(u,Math.abs(r-n)),g=.5*p,f=.5*(n+r),m=.5*(o+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-g,maxX:f+g,minY:m-g,maxY:m+g},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],this._placeInTree(v.root,i);this.barnesHutTree=v},_updateBranchMass:function(t,e){var i=t.mass+e.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.mass,t.centerOfMass.y*=s,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},_placeInRegion:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},_splitBranch:function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},_insertRegion:function(t,e){var i,s,n,o,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,n=t.range.minY,o=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,n=t.range.minY,o=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,n=t.range.minY+r,o=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,n=t.range.minY+r,o=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:n,maxY:o},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},_drawTree:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},_drawBranch:function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},repulsionMixin={_calculateNodeForces:function(){var t,e,i,s,n,o,r,a,h,d,c,l=this.calculationNodes,u=this.calculationNodeIndices,p=-2/3,g=4/3,f=this.constants.physics.repulsion.nodeDistance,m=f;for(d=0;di&&(r=.5*m>i?1:v*i+g,r*=0==o?1:1+o*this.constants.clustering.forceAmplification,r/=i,s=t*r,n=e*r,a.fx-=s,a.fy-=n,h.fx+=s,h.fy+=n)}}},HierarchicalLayoutMixin={_setupHierarchicalLayout:function(){if(1==this.constants.hierarchicalLayout.enabled){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation);var t,e,i=0,s=!1,n=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:n=!0,is&&(o.xFixed=!1,o.x=i[o.level].minPos,r=!0):o.yFixed&&o.level>s&&(o.yFixed=!1,o.y=i[o.level].minPos,r=!0),1==r&&(i[o.level].minPos+=i[o.level].nodeSpacing,o.edges.length>1&&this._placeBranchNodes(o.edges,o.id,i,o.level))}},_setLevel:function(t,e,i){for(var s=0;st)&&(n.level=t,e.length>1&&this._setLevel(t+1,n.edges,n.id))}},_restoreNodes:function(){for(nodeId in this.nodes)this.nodes.hasOwnProperty(nodeId)&&(this.nodes[nodeId].xFixed=!1,this.nodes[nodeId].yFixed=!1)}},manipulationMixin={_clearManipulatorBar:function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},_restoreOverloadedFunctions:function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},_toggleEditMode:function(){this.editMode=!this.editMode;var t=document.getElementById("graph-manipulationDiv"),e=document.getElementById("graph-manipulation-closeDiv"),i=document.getElementById("graph-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},_createManipulatorBar:function(){if(this.boundFunction&&this.off("select",this.boundFunction),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML="Add Node
Add Link",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit&&(this.manipulationDiv.innerHTML+="
Edit Node"),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
Delete selected");var t=document.getElementById("graph-manipulate-addNode");t.onclick=this._createAddNodeToolbar.bind(this);var e=document.getElementById("graph-manipulate-connectNode");if(e.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var i=document.getElementById("graph-manipulate-editNode");i.onclick=this._editNode.bind(this)}if(0==this._selectionIsEmpty()){var s=document.getElementById("graph-manipulate-delete");s.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("graph-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML="Edit";var o=document.getElementById("graph-manipulate-editModeButton");o.onclick=this._toggleEditMode.bind(this)}},_createAddNodeToolbar:function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction),this.manipulationDiv.innerHTML="Back
Click in an empty space to place a new node";var t=document.getElementById("graph-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},_createAddEdgeToolbar:function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0,this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML="Back
Click on a node and drag the edge to another node to connect them.";var t=document.getElementById("graph-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=this._finishConnect,this._redraw()},_handleConnect:function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);null!=e&&(e.clusterSize>1?alert("Cannot create edges to a cluster."):(this._selectObject(e,!1),this.sectors.support.nodes.targetNode=new Node({id:"targetNode"},{},{},this.constants),this.sectors.support.nodes.targetNode.x=e.x,this.sectors.support.nodes.targetNode.y=e.y,this.sectors.support.nodes.targetViaNode=new Node({id:"targetViaNode"},{},{},this.constants),this.sectors.support.nodes.targetViaNode.x=e.x,this.sectors.support.nodes.targetViaNode.y=e.y,this.sectors.support.nodes.targetViaNode.parentEdgeId="connectionEdge",this.edges.connectionEdge=new Edge({id:"connectionEdge",from:e.id,to:this.sectors.support.nodes.targetNode.id},this,this.constants),this.edges.connectionEdge.from=e,this.edges.connectionEdge.connected=!0,this.edges.connectionEdge.smooth=!0,this.edges.connectionEdge.selected=!0,this.edges.connectionEdge.to=this.sectors.support.nodes.targetNode,this.edges.connectionEdge.via=this.sectors.support.nodes.targetViaNode,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center);this.sectors.support.nodes.targetNode.x=this._canvasToX(e.x),this.sectors.support.nodes.targetNode.y=this._canvasToY(e.y),this.sectors.support.nodes.targetViaNode.x=.5*(this._canvasToX(e.x)+this.edges.connectionEdge.from.x),this.sectors.support.nodes.targetViaNode.y=this._canvasToY(e.y)},this.moving=!0,this.start()))}},_finishConnect:function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert("Cannot create edges to a cluster."):(this._createEdge(e,i.id),this._createManipulatorBar())),this._unselectAll()}},_addNode:function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:util.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add)if(2==this.triggerFunctions.add.length){var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else alert("The function for add does not support two arguments (data,callback)."),this._createManipulatorBar(),this.moving=!0,this.start();else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},_createEdge:function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect)if(2==this.triggerFunctions.connect.length){var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else alert("The function for connect does not support two arguments (data,callback)."),this.moving=!0,this.start();else this.edgesData.add(i),this.moving=!0,this.start()}},_editNode:function(){if(this.triggerFunctions.edit&&1==this.editMode){var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.group,shape:t.shape,color:{background:t.color.background,border:t.color.border,highlight:{background:t.color.highlight.background,border:t.color.highlight.border}}};if(2==this.triggerFunctions.edit.length){var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else alert("The function for edit does not support two arguments (data, callback).")}else alert("No edit function has been bound to this button.")},_deleteSelected:function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert("Clusters cannot be deleted.");else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.delete){var i=this,s={nodes:t,edges:e};(this.triggerFunctions.delete.length=2)?this.triggerFunctions.delete(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),this._unselectAll(),i.moving=!0,i.start()}):alert("The function for edit does not support two arguments (data, callback).")}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},SectorMixin={_putDataInSector:function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},_switchToSector:function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},_switchToActiveSector:function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},_switchToSupportSector:function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},_switchToFrozenSector:function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},_loadLatestSector:function(){this._switchToSector(this._sector())},_sector:function(){return this.activeSector[this.activeSector.length-1]},_previousSector:function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},_setActiveSector:function(t){this.activeSector.push(t)},_forgetLastSector:function(){this.activeSector.pop()},_createNewSector:function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new Node({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},_deleteActiveSector:function(t){delete this.sectors.active[t]},_deleteFrozenSector:function(t){delete this.sectors.frozen[t]},_freezeSector:function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},_activateSector:function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},_mergeThisWithFrozen:function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},_doInSupportSector:function(t,e){if(void 0===e)this._switchToSupportSector(),this[t]();else{this._switchToSupportSector();var i=Array.prototype.splice.call(arguments,1);i.length>1?this[t](i[0],i[1]):this[t](e)}this._loadLatestSector()},_doInAllFrozenSectors:function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},_doInAllSectors:function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},_clearNodeIndexList:function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},_drawSectorNodes:function(t,e){var i,s=1e9,n=-1e9,o=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,n=-1e9,o=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),o>i.x-.5*i.width&&(o=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),nt&&s>n;)n%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,n+=1;n>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},openCluster:function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},updateClustersDefault:function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},increaseClusterLevel:function(){this.updateClusters(-1,!1,!0)},decreaseClusterLevel:function(){this.updateClusters(1,!1,!0)},updateClusters:function(t,e,i,s){var n=this.moving,o=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},_aggregateHubs:function(t){this._getHubSize(),this._formClustersByHub(t,!1)},forceAggregateHubs:function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},_openClustersBySize:function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},_openClusters:function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=o.from,a=o.to;o.to.mass>o.from.mass&&(r=o.to,a=o.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},_forceClustersByZoom:function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.mass>e.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},_clusterToSmallestNeighbour:function(t){for(var e=-1,i=null,s=0;sn.clusterSessions.length&&(e=n.clusterSessions.length,i=n)}null!=n&&void 0!==this.nodes[n.id]&&this._addToCluster(n,t,!0)},_formClustersByHub:function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},_formClusterFromHub:function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var n,o,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],c=t.dynamicEdges.length,l=0;c>l;l++)d.push(t.dynamicEdges[l].id);if(0==e)for(h=!1,l=0;c>l;l++){var u=this.edges[d[l]];if(void 0!==u&&u.connected&&u.toId!=u.fromId&&(n=u.to.x-u.from.x,o=u.to.y-u.from.y,r=Math.sqrt(n*n+o*o),a>r)){h=!0;break}}if(!e&&h||e)for(l=0;c>l;l++)if(u=this.edges[d[l]],void 0!==u){var p=this.nodes[u.fromId==t.id?u.toId:u.fromId];p.dynamicEdges.length<=this.hubThreshold+s&&p.id!=t.id&&this._addToCluster(t,p,e)}}},_addToCluster:function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},normalizeClusterLevels:function(){var t=0,e=1e9,i=0;for(var s in this.nodes)this.nodes.hasOwnProperty(s)&&(i=this.nodes[s].clusterSessions.length,i>t&&(t=i),e>i&&(e=i));if(t-e>this.constants.clustering.clusterLevelDifference){var n=this.nodeIndices.length,o=t-this.constants.clustering.clusterLevelDifference;for(var s in this.nodes)this.nodes.hasOwnProperty(s)&&this.nodes[s].clusterSessions.lengths&&(s=o.dynamicEdgesLength),t+=o.dynamicEdgesLength,e+=Math.pow(o.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},_reduceAmountOfChains:function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},_getChainFraction:function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},SelectionMixin={_getNodesOverlappingWith:function(t,e){var i=this.nodes;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},_getAllNodesOverlappingWith:function(t){var e=[];return this._doInAllActiveSectors("_getNodesOverlappingWith",t,e),e},_pointerToPositionObject:function(t){var e=this._canvasToX(t.x),i=this._canvasToY(t.y);return{left:e,top:i,right:e,bottom:i}},_getNodeAt:function(t){var e=this._pointerToPositionObject(t),i=this._getAllNodesOverlappingWith(e);return i.length>0?this.nodes[i[i.length-1]]:null},_getEdgesOverlappingWith:function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},_getAllEdgesOverlappingWith:function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},_getEdgeAt:function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},_addToSelection:function(t){t instanceof Node?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},_removeFromSelection:function(t){t instanceof Node?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},_unselectAll:function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},_unselectClusters:function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},_getSelectedNodeCount:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},_getSelectedNode:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},_getSelectedEdgeCount:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},_getSelectedObjectCount:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},_selectionIsEmpty:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},_clusterInSelection:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},_selectConnectedEdges:function(t){for(var e=0;ee;e++){s=t[e];var n=this.nodes[s];if(!n)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(n,!0,!0)}this.redraw()},_updateSelection:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},NavigationMixin={_cleanNavigation:function(){var t=document.getElementById("graph-navigation_wrapper");null!=t&&this.containerElement.removeChild(t),document.onmouseup=null},_loadNavigationElements:function(){this._cleanNavigation(),this.navigationDivs={};var t=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],e=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","zoomExtent"];this.navigationDivs.wrapper=document.createElement("div"),this.navigationDivs.wrapper.id="graph-navigation_wrapper",this.navigationDivs.wrapper.style.position="absolute",this.navigationDivs.wrapper.style.width=this.frame.canvas.clientWidth+"px",this.navigationDivs.wrapper.style.height=this.frame.canvas.clientHeight+"px",this.containerElement.insertBefore(this.navigationDivs.wrapper,this.frame);for(var i=0;it.x&&(s=t.x),nt.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var o=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);i*=o}else{var r=1.1*(Math.abs(s.minX)+Math.abs(s.maxX)),a=1.1*(Math.abs(s.minY)+Math.abs(s.maxY)),h=this.frame.canvas.clientWidth/r,d=this.frame.canvas.clientHeight/a;i=d>=h?h:d}i>1&&(i=1),this._setScale(i),this._centerGraph(s),0==e&&(this.moving=!0,this.start())},Graph.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},Graph.prototype.setData=function(t,e){if(void 0===e&&(e=!1),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=vis.util.DOTToGraph(t.dot);return void this.setData(i)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),e||(this.stabilize&&this._stabilize(),this.start())},Graph.prototype.setOptions=function(t){if(t){var e;if(void 0!==t.width&&(this.width=t.width),void 0!==t.height&&(this.height=t.height),void 0!==t.stabilize&&(this.stabilize=t.stabilize),void 0!==t.selectable&&(this.selectable=t.selectable),void 0!==t.smoothCurves&&(this.constants.smoothCurves=t.smoothCurves),void 0!==t.freezeForStabilization&&(this.constants.freezeForStabilization=t.freezeForStabilization),void 0!==t.configurePhysics&&(this.constants.configurePhysics=t.configurePhysics),void 0!==t.stabilizationIterations&&(this.constants.stabilizationIterations=t.stabilizationIterations),t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.delete=t.onDelete),t.physics){if(t.physics.barnesHut){this.constants.physics.barnesHut.enabled=!0;for(e in t.physics.barnesHut)t.physics.barnesHut.hasOwnProperty(e)&&(this.constants.physics.barnesHut[e]=t.physics.barnesHut[e])}if(t.physics.repulsion){this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.repulsion)t.physics.repulsion.hasOwnProperty(e)&&(this.constants.physics.repulsion[e]=t.physics.repulsion[e])}}if(t.hierarchicalLayout){this.constants.hierarchicalLayout.enabled=!0;for(e in t.hierarchicalLayout)t.hierarchicalLayout.hasOwnProperty(e)&&(this.constants.hierarchicalLayout[e]=t.hierarchicalLayout[e])}else void 0!==t.hierarchicalLayout&&(this.constants.hierarchicalLayout.enabled=!1);if(t.clustering){this.constants.clustering.enabled=!0;for(e in t.clustering)t.clustering.hasOwnProperty(e)&&(this.constants.clustering[e]=t.clustering[e])}else void 0!==t.clustering&&(this.constants.clustering.enabled=!1);if(t.navigation){this.constants.navigation.enabled=!0;for(e in t.navigation)t.navigation.hasOwnProperty(e)&&(this.constants.navigation[e]=t.navigation[e])}else void 0!==t.navigation&&(this.constants.navigation.enabled=!1);if(t.keyboard){this.constants.keyboard.enabled=!0;for(e in t.keyboard)t.keyboard.hasOwnProperty(e)&&(this.constants.keyboard[e]=t.keyboard[e])}else void 0!==t.keyboard&&(this.constants.keyboard.enabled=!1);if(t.dataManipulation){this.constants.dataManipulation.enabled=!0;for(e in t.dataManipulation)t.dataManipulation.hasOwnProperty(e)&&(this.constants.dataManipulation[e]=t.dataManipulation[e])}else void 0!==t.dataManipulation&&(this.constants.dataManipulation.enabled=!1);if(t.edges){for(e in t.edges)t.edges.hasOwnProperty(e)&&"object"!=typeof t.edges[e]&&(this.constants.edges[e]=t.edges[e]);void 0!==t.edges.color&&(util.isString(t.edges.color)?(this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight))),t.edges.fontColor||void 0!==t.edges.color&&(util.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color)),t.edges.dash&&(void 0!==t.edges.dash.length&&(this.constants.edges.dash.length=t.edges.dash.length),void 0!==t.edges.dash.gap&&(this.constants.edges.dash.gap=t.edges.dash.gap),void 0!==t.edges.dash.altLength&&(this.constants.edges.dash.altLength=t.edges.dash.altLength))}if(t.nodes){for(e in t.nodes)t.nodes.hasOwnProperty(e)&&(this.constants.nodes[e]=t.nodes[e]);t.nodes.color&&(this.constants.nodes.color=Node.parseColor(t.nodes.color))}if(t.groups)for(var i in t.groups)if(t.groups.hasOwnProperty(i)){var s=t.groups[i];this.groups.add(i,s)}}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.width,this.height),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this._redraw()},Graph.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="graph-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.style.zIndex="1",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=Hammer(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},Graph.prototype._createKeyBinds=function(){var t=this;this.mousetrap=mousetrap,this.mousetrap.reset(),1==this.constants.keyboard.enabled&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},Graph.prototype._getPointer=function(t){return{x:t.pageX-vis.util.getAbsoluteLeft(this.frame.canvas),y:t.pageY-vis.util.getAbsoluteTop(this.frame.canvas)}},Graph.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},Graph.prototype._onDragStart=function(){this._handleDragStart()},Graph.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],n={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(n)}}},Graph.prototype._onDrag=function(t){this._handleOnDrag(t)},Graph.prototype._handleOnDrag=function(t){if(!this.drag.pinched){var e=this._getPointer(t.gesture.center),i=this,s=this.drag,n=s.selection;if(n&&n.length){var o=e.x-s.pointer.x,r=e.y-s.pointer.y;n.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._canvasToX(i._xToCanvas(t.x)+o)),t.yFixed||(e.y=i._canvasToY(i._yToCanvas(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else{var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw(),this.moved=!0}}},Graph.prototype._onDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed})},Graph.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},Graph.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},Graph.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},Graph.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},Graph.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},Graph.prototype._zoom=function(t,e){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=this._getTranslation(),n=t/i,o=(1-n)*e.x+s.x*n,r=(1-n)*e.y+s.y*n;return this.areaCenter={x:this._canvasToX(e.x),y:this._canvasToY(e.y)},this._setScale(t),this._setTranslation(o,r),this.updateClustersDefault(),this._redraw(),t},Graph.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var n=util.fakeGesture(this,t),o=this._getPointer(n.center);this._zoom(i,o)}t.preventDefault()},Graph.prototype._onMouseMoveTitle=function(t){var e=util.fakeGesture(this,t),i=this._getPointer(e.center);this.popupNode&&this._checkHidePopup(i);var s=this,n=function(){s._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,300))},Graph.prototype._checkShowPopup=function(t){var e,i={left:this._canvasToX(t.x),top:this._canvasToY(t.y),right:this._canvasToX(t.x),bottom:this._canvasToY(t.y)},s=this.popupNode;if(void 0==this.popupNode){var n=this.nodes;for(e in n)if(n.hasOwnProperty(e)){var o=n[e];if(void 0!==o.getTitle()&&o.isOverlappingWith(i)){this.popupNode=o;break}}}if(void 0===this.popupNode){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupNode=a;break}}}if(this.popupNode){if(this.popupNode!=s){var h=this;h.popup||(h.popup=new Popup(h.frame)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupNode.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},Graph.prototype._checkHidePopup=function(t){this.popupNode&&this._getNodeAt(t)||(this.popupNode=void 0,this.popup&&this.popup.hide())},Graph.prototype.setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,void 0!==this.manipulationDiv&&(this.manipulationDiv.style.width=this.frame.canvas.clientWidth+"px"),void 0!==this.navigationDivs&&void 0!==this.navigationDivs.wrapper&&(this.navigationDivs.wrapper.style.width=this.frame.canvas.clientWidth+"px",this.navigationDivs.wrapper.style.height=this.frame.canvas.clientHeight+"px"),this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height})},Graph.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof DataSet||t instanceof DataView)this.nodesData=t;else if(t instanceof Array)this.nodesData=new DataSet,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new DataSet}if(e&&util.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;util.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},Graph.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var n=this.nodesData.get(e),o=new Node(n,this.images,this.groups,this.constants);if(this.nodes[e]=o,!(0!=o.xFixed&&0!=o.yFixed||null!==o.x&&null!==o.y)){var r=1*t.length,a=2*Math.PI*Math.random();0==o.xFixed&&(o.x=r*Math.cos(a)),0==o.yFixed&&(o.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},Graph.prototype._updateNodes=function(t){for(var e=this.nodes,i=this.nodesData,s=0,n=t.length;n>s;s++){var o=t[s],r=e[o],a=i.get(o);r?r.setProperties(a,this.constants):(r=new Node(properties,this.images,this.groups,this.constants),e[o]=r,r.isFixed()||(this.moving=!0))}this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},Graph.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var n=t[i];delete e[n]}this._updateNodeIndexList(),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},Graph.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof DataSet||t instanceof DataView)this.edgesData=t;else if(t instanceof Array)this.edgesData=new DataSet,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new DataSet}if(e&&util.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;util.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},Graph.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,n=t.length;n>s;s++){var o=t[s],r=e[o];r&&r.disconnect();var a=i.get(o,{showInternalIds:!0});e[o]=new Edge(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),this._updateCalculationNodes()},Graph.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,n=t.length;n>s;s++){var o=t[s],r=i.get(o),a=e[o];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new Edge(r,this,this.constants),this.edges[o]=a)}this._createBezierNodes(),this.moving=!0,this._updateValueRange(e)},Graph.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var n=t[i],o=e[n];o&&(null!=o.via&&delete this.sectors.support.nodes[o.via.id],o.disconnect(),delete e[n])}this.moving=!0,this._updateValueRange(e),this._updateCalculationNodes()},Graph.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},Graph.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},Graph.prototype.redraw=function(){this.setSize(this.width,this.height),this._redraw()},Graph.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._canvasToX(0),y:this._canvasToY(0)},this.canvasBottomRight={x:this._canvasToX(this.frame.canvas.clientWidth),y:this._canvasToY(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),this._doInAllSectors("_drawEdges",t),this._doInAllSectors("_drawNodes",t,!1),t.restore()},Graph.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e)},Graph.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},Graph.prototype._setScale=function(t){this.scale=t},Graph.prototype._getScale=function(){return this.scale},Graph.prototype._canvasToX=function(t){return(t-this.translation.x)/this.scale},Graph.prototype._xToCanvas=function(t){return t*this.scale+this.translation.x},Graph.prototype._canvasToY=function(t){return(t-this.translation.y)/this.scale},Graph.prototype._yToCanvas=function(t){return t*this.scale+this.translation.y},Graph.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var n in i)i.hasOwnProperty(n)&&(i[n].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[n].isSelected()?s.push(n):(i[n].inArea()||e)&&i[n].draw(t));for(var o=0,r=s.length;r>o;o++)(i[s[o]].inArea()||e)&&i[s[o]].draw(t)},Graph.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},Graph.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&i[t].discreteStepLimited(e,this.constants.maxVelocity);else for(t in i)i.hasOwnProperty(t)&&i[t].discreteStep(e);var s=this.constants.minVelocity/Math.max(this.scale,.05);this.moving=s>.5*this.constants.maxVelocity?!0:this._isMoving(s)},Graph.prototype._physicsTick=function(){this.freezeSimulation||this.moving&&(this._doInAllActiveSectors("_initializeForceCalculation"),this._doInAllActiveSectors("_discreteStepNodes"),this.constants.smoothCurves&&this._doInSupportSector("_discreteStepNodes"),this._findCenter(this._getRange()))},Graph.prototype._animationStep=function(){this.timer=void 0,this._handleNavigation(),this.start();var t=Date.now(),e=1;this._physicsTick();for(var i=Date.now()-t;is;++s)i[s].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},{}],3:[function(t,e){!function(t,i){"use strict";function s(){if(!n.READY){n.event.determineEventTypes();for(var t in n.gestures)n.gestures.hasOwnProperty(t)&&n.detection.register(n.gestures[t]);n.event.onTouch(n.DOCUMENT,n.EVENT_MOVE,n.detection.detect),n.event.onTouch(n.DOCUMENT,n.EVENT_END,n.detection.detect),n.READY=!0}}var n=function(t,e){return new n.Instance(t,e||{})};n.defaults={stop_browser_behavior:{userSelect:"none",touchAction:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},n.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,n.HAS_TOUCHEVENTS="ontouchstart"in t,n.MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i,n.NO_MOUSEEVENTS=n.HAS_TOUCHEVENTS&&navigator.userAgent.match(n.MOBILE_REGEX),n.EVENT_TYPES={},n.DIRECTION_DOWN="down",n.DIRECTION_LEFT="left",n.DIRECTION_UP="up",n.DIRECTION_RIGHT="right",n.POINTER_MOUSE="mouse",n.POINTER_TOUCH="touch",n.POINTER_PEN="pen",n.EVENT_START="start",n.EVENT_MOVE="move",n.EVENT_END="end",n.DOCUMENT=document,n.plugins={},n.READY=!1,n.Instance=function(t,e){var i=this; -return s(),this.element=t,this.enabled=!0,this.options=n.utils.extend(n.utils.extend({},n.defaults),e||{}),this.options.stop_browser_behavior&&n.utils.stopDefaultBrowserBehavior(this.element,this.options.stop_browser_behavior),n.event.onTouch(t,n.EVENT_START,function(t){i.enabled&&n.detection.startDetect(i,t)}),this},n.Instance.prototype={on:function(t,e){for(var i=t.split(" "),s=0;s0&&e==n.EVENT_END?e=n.EVENT_MOVE:c||(e=n.EVENT_END),c||null===o?o=h:h=o,i.call(n.detection,s.collectEventData(t,e,h)),n.HAS_POINTEREVENTS&&e==n.EVENT_END&&(c=n.PointerEvent.updatePointer(e,h))),c||(o=null,r=!1,a=!1,n.PointerEvent.reset())}})},determineEventTypes:function(){var t;t=n.HAS_POINTEREVENTS?n.PointerEvent.getEvents():n.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],n.EVENT_TYPES[n.EVENT_START]=t[0],n.EVENT_TYPES[n.EVENT_MOVE]=t[1],n.EVENT_TYPES[n.EVENT_END]=t[2]},getTouchList:function(t){return n.HAS_POINTEREVENTS?n.PointerEvent.getTouchList():t.touches?t.touches:[{identifier:1,pageX:t.pageX,pageY:t.pageY,target:t.target}]},collectEventData:function(t,e,i){var s=this.getTouchList(i,e),o=n.POINTER_TOUCH;return(i.type.match(/mouse/)||n.PointerEvent.matchType(n.POINTER_MOUSE,i))&&(o=n.POINTER_MOUSE),{center:n.utils.getCenter(s),timeStamp:(new Date).getTime(),target:i.target,touches:s,eventType:e,pointerType:o,srcEvent:i,preventDefault:function(){this.srcEvent.preventManipulation&&this.srcEvent.preventManipulation(),this.srcEvent.preventDefault&&this.srcEvent.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return n.detection.stopDetect()}}}},n.PointerEvent={pointers:{},getTouchList:function(){var t=this,e=[];return Object.keys(t.pointers).sort().forEach(function(i){e.push(t.pointers[i])}),e},updatePointer:function(t,e){return t==n.EVENT_END?this.pointers={}:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e),Object.keys(this.pointers).length},matchType:function(t,e){if(!e.pointerType)return!1;var i={};return i[n.POINTER_MOUSE]=e.pointerType==e.MSPOINTER_TYPE_MOUSE||e.pointerType==n.POINTER_MOUSE,i[n.POINTER_TOUCH]=e.pointerType==e.MSPOINTER_TYPE_TOUCH||e.pointerType==n.POINTER_TOUCH,i[n.POINTER_PEN]=e.pointerType==e.MSPOINTER_TYPE_PEN||e.pointerType==n.POINTER_PEN,i[t]},getEvents:function(){return["pointerdown MSPointerDown","pointermove MSPointerMove","pointerup pointercancel MSPointerUp MSPointerCancel"]},reset:function(){this.pointers={}}},n.utils={extend:function(t,e,s){for(var n in e)t[n]!==i&&s||(t[n]=e[n]);return t},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){for(var e=[],i=[],s=0,n=t.length;n>s;s++)e.push(t[s].pageX),i.push(t[s].pageY);return{pageX:(Math.min.apply(Math,e)+Math.max.apply(Math,e))/2,pageY:(Math.min.apply(Math,i)+Math.max.apply(Math,i))/2}},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.pageY-t.pageY,s=e.pageX-t.pageX;return 180*Math.atan2(i,s)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.pageX-e.pageX),s=Math.abs(t.pageY-e.pageY);return i>=s?t.pageX-e.pageX>0?n.DIRECTION_LEFT:n.DIRECTION_RIGHT:t.pageY-e.pageY>0?n.DIRECTION_UP:n.DIRECTION_DOWN},getDistance:function(t,e){var i=e.pageX-t.pageX,s=e.pageY-t.pageY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==n.DIRECTION_UP||t==n.DIRECTION_DOWN},stopDefaultBrowserBehavior:function(t,e){var i,s=["webkit","khtml","moz","ms","o",""];if(e&&t.style){for(var n=0;ni;i++){var o=this.gestures[i];if(!this.stopped&&e[o.name]!==!1&&o.handler.call(o,t,this.current.inst)===!1){this.stopDetect();break}}return this.current&&(this.current.lastEvent=t),t.eventType==n.EVENT_END&&!t.touches.length-1&&this.stopDetect(),t}},stopDetect:function(){this.previous=n.utils.extend({},this.current),this.current=null,this.stopped=!0},extendEventData:function(t){var e=this.current.startEvent;if(e&&(t.touches.length!=e.touches.length||t.touches===e.touches)){e.touches=[];for(var i=0,s=t.touches.length;s>i;i++)e.touches.push(n.utils.extend({},t.touches[i]))}var o=t.timeStamp-e.timeStamp,r=t.center.pageX-e.center.pageX,a=t.center.pageY-e.center.pageY,h=n.utils.getVelocity(o,r,a);return n.utils.extend(t,{deltaTime:o,deltaX:r,deltaY:a,velocityX:h.x,velocityY:h.y,distance:n.utils.getDistance(e.center,t.center),angle:n.utils.getAngle(e.center,t.center),direction:n.utils.getDirection(e.center,t.center),scale:n.utils.getScale(e.touches,t.touches),rotation:n.utils.getRotation(e.touches,t.touches),startEvent:e}),t},register:function(t){var e=t.defaults||{};return e[t.name]===i&&(e[t.name]=!0),n.utils.extend(n.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}},n.gestures=n.gestures||{},n.gestures.Hold={name:"hold",index:10,defaults:{hold_timeout:500,hold_threshold:1},timer:null,handler:function(t,e){switch(t.eventType){case n.EVENT_START:clearTimeout(this.timer),n.detection.current.name=this.name,this.timer=setTimeout(function(){"hold"==n.detection.current.name&&e.trigger("hold",t)},e.options.hold_timeout);break;case n.EVENT_MOVE:t.distance>e.options.hold_threshold&&clearTimeout(this.timer);break;case n.EVENT_END:clearTimeout(this.timer)}}},n.gestures.Tap={name:"tap",index:100,defaults:{tap_max_touchtime:250,tap_max_distance:10,tap_always:!0,doubletap_distance:20,doubletap_interval:300},handler:function(t,e){if(t.eventType==n.EVENT_END){var i=n.detection.previous,s=!1;if(t.deltaTime>e.options.tap_max_touchtime||t.distance>e.options.tap_max_distance)return;i&&"tap"==i.name&&t.timeStamp-i.lastEvent.timeStamp0&&t.touches.length>e.options.swipe_max_touches)return;(t.velocityX>e.options.swipe_velocity||t.velocityY>e.options.swipe_velocity)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},n.gestures.Drag={name:"drag",index:50,defaults:{drag_min_distance:10,drag_max_touches:1,drag_block_horizontal:!1,drag_block_vertical:!1,drag_lock_to_axis:!1,drag_lock_min_distance:25},triggered:!1,handler:function(t,e){if(n.detection.current.name!=this.name&&this.triggered)return e.trigger(this.name+"end",t),void(this.triggered=!1);if(!(e.options.drag_max_touches>0&&t.touches.length>e.options.drag_max_touches))switch(t.eventType){case n.EVENT_START:this.triggered=!1;break;case n.EVENT_MOVE:if(t.distancee.options.transform_min_rotation&&e.trigger("rotate",t),i>e.options.transform_min_scale&&(e.trigger("pinch",t),e.trigger("pinch"+(t.scale<1?"in":"out"),t));break;case n.EVENT_END:this.triggered&&e.trigger(this.name+"end",t),this.triggered=!1}}},n.gestures.Touch={name:"touch",index:-1/0,defaults:{prevent_default:!1,prevent_mouseevents:!1},handler:function(t,e){return e.options.prevent_mouseevents&&t.pointerType==n.POINTER_MOUSE?void t.stopDetect():(e.options.prevent_default&&t.preventDefault(),void(t.eventType==n.EVENT_START&&e.trigger(this.name,t)))}},n.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==n.EVENT_END&&e.trigger(this.name,t)}},"object"==typeof e&&"object"==typeof e.exports?e.exports=n:(t.Hammer=n,"function"==typeof t.define&&t.define.amd&&t.define("hammer",[],function(){return n}))}(this)},{}],4:[function(t,e){(function(i){function s(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function n(t,e){return function(i){return u(t.call(this,i),e)}}function o(t,e){return function(i){return this.lang().ordinal(t.call(this,i),e)}}function r(){}function a(t){E(t),d(this,t)}function h(t){var e=y(t),i=e.year||0,s=e.month||0,n=e.week||0,o=e.day||0,r=e.hour||0,a=e.minute||0,h=e.second||0,d=e.millisecond||0;this._milliseconds=+d+1e3*h+6e4*a+36e5*r,this._days=+o+7*n,this._months=+s+12*i,this._data={},this._bubble()}function d(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return e.hasOwnProperty("toString")&&(t.toString=e.toString),e.hasOwnProperty("valueOf")&&(t.valueOf=e.valueOf),t}function c(t){var e,i={};for(e in t)t.hasOwnProperty(e)&&ye.hasOwnProperty(e)&&(i[e]=t[e]);return i}function l(t){return 0>t?Math.ceil(t):Math.floor(t)}function u(t,e,i){for(var s=""+Math.abs(t),n=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&b(t[s])!==b(e[s]))&&r++;return r+o}function v(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=qe[t]||Xe[e]||e}return t}function y(t){var e,i,s={};for(i in t)t.hasOwnProperty(i)&&(e=v(i),e&&(s[e]=t[i]));return s}function _(t){var e,s;if(0===t.indexOf("week"))e=7,s="day";else{if(0!==t.indexOf("month"))return;e=12,s="month"}oe[t]=function(n,o){var r,a,h=oe.fn._lang[t],d=[];if("number"==typeof n&&(o=n,n=i),a=function(t){var e=oe().utc().set(s,t);return h.call(oe.fn._lang,e,n||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function b(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function w(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function S(t){return x(t)?366:365}function x(t){return t%4===0&&t%100!==0||t%400===0}function E(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[le]<0||t._a[le]>11?le:t._a[ue]<1||t._a[ue]>w(t._a[ce],t._a[le])?ue:t._a[pe]<0||t._a[pe]>23?pe:t._a[ge]<0||t._a[ge]>59?ge:t._a[fe]<0||t._a[fe]>59?fe:t._a[me]<0||t._a[me]>999?me:-1,t._pf._overflowDayOfYear&&(ce>e||e>ue)&&(e=ue),t._pf.overflow=e)}function T(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function D(t){return t?t.toLowerCase().replace("_","-"):t}function C(t,e){return e._isUTC?oe(t).zone(e._offset||0):oe(t).local()}function M(t,e){return e.abbr=t,ve[t]||(ve[t]=new r),ve[t].set(e),ve[t]}function I(t){delete ve[t]}function N(e){var i,s,n,o,r=0,a=function(e){if(!ve[e]&&_e)try{t("./lang/"+e)}catch(i){}return ve[e]};if(!e)return oe.fn._lang;if(!g(e)){if(s=a(e))return s;e=[e]}for(;r0;){if(s=a(o.slice(0,i).join("-")))return s;if(n&&n.length>=i&&m(o,n,!0)>=i-1)break;i--}r++}return oe.fn._lang}function O(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function L(t){var e,i,s=t.match(xe);for(e=0,i=s.length;i>e;e++)s[e]=Qe[s[e]]?Qe[s[e]]:O(s[e]);return function(n){var o="";for(e=0;i>e;e++)o+=s[e]instanceof Function?s[e].call(n,t):s[e];return o}}function k(t,e){return t.isValid()?(e=P(e,t.lang()),Ze[e]||(Ze[e]=L(e)),Ze[e](t)):t.lang().invalidDate()}function P(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ee.lastIndex=0;s>=0&&Ee.test(t);)t=t.replace(Ee,i),Ee.lastIndex=0,s-=1;return t}function A(t,e){var i,s=e._strict;switch(t){case"DDDD":return ze;case"YYYY":case"GGGG":case"gggg":return s?Re:Ce;case"Y":case"G":case"g":return He;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?Fe:Me;case"S":if(s)return Pe;case"SS":if(s)return Ae;case"SSS":if(s)return ze;case"DDD":return De;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ne;case"a":case"A":return N(e._l)._meridiemParse;case"X":return ke;case"Z":case"ZZ":return Oe;case"T":return Le;case"SSSS":return Ie;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?Ae:Te;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Te;default:return i=new RegExp(B(W(t.replace("\\","")),"i"))}}function z(t){t=t||"";var e=t.match(Oe)||[],i=e[e.length-1]||[],s=(i+"").match(je)||["-",0,0],n=+(60*s[1])+b(s[2]);return"+"===s[0]?-n:n}function R(t,e,i){var s,n=i._a;switch(t){case"M":case"MM":null!=e&&(n[le]=b(e)-1);break;case"MMM":case"MMMM":s=N(i._l).monthsParse(e),null!=s?n[le]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(n[ue]=b(e));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=b(e));break;case"YY":n[ce]=b(e)+(b(e)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":n[ce]=b(e);break;case"a":case"A":i._isPm=N(i._l).isPM(e);break;case"H":case"HH":case"h":case"hh":n[pe]=b(e);break;case"m":case"mm":n[ge]=b(e);break;case"s":case"ss":n[fe]=b(e);break;case"S":case"SS":case"SSS":case"SSSS":n[me]=b(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=z(e);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":t=t.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=e)}}function F(t){var e,i,s,n,o,r,a,h,d,c,l=[];if(!t._d){for(s=Y(t),t._w&&null==t._a[ue]&&null==t._a[le]&&(o=function(e){var i=parseInt(e,10);return e?e.length<3?i>68?1900+i:2e3+i:i:null==t._a[ce]?oe().weekYear():t._a[ce]},r=t._w,null!=r.GG||null!=r.W||null!=r.E?a=J(o(r.GG),r.W||1,r.E,4,1):(h=N(t._l),d=null!=r.d?Z(r.d,h):null!=r.e?parseInt(r.e,10)+h._week.dow:0,c=parseInt(r.w,10)||1,null!=r.d&&dS(n)&&(t._pf._overflowDayOfYear=!0),i=X(n,0,t._dayOfYear),t._a[le]=i.getUTCMonth(),t._a[ue]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=l[e]=s[e];for(;7>e;e++)t._a[e]=l[e]=null==t._a[e]?2===e?1:0:t._a[e];l[pe]+=b((t._tzm||0)/60),l[ge]+=b((t._tzm||0)%60),t._d=(t._useUTC?X:q).apply(null,l)}}function H(t){var e;t._d||(e=y(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],F(t))}function Y(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function G(t){t._a=[],t._pf.empty=!0;var e,i,s,n,o,r=N(t._l),a=""+t._i,h=a.length,d=0;for(s=P(t._f,r).match(xe)||[],e=0;e0&&t._pf.unusedInput.push(o),a=a.slice(a.indexOf(i)+i.length),d+=i.length),Qe[n]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(n),R(n,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(n);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._isPm&&t._a[pe]<12&&(t._a[pe]+=12),t._isPm===!1&&12===t._a[pe]&&(t._a[pe]=0),F(t),E(t)}function W(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,n){return e||i||s||n})}function B(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function j(t){var e,i,n,o,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;or)&&(n=r,i=e));d(t,i||e)}function V(t){var e,i,s=t._i,n=Ye.exec(s);if(n){for(t._pf.iso=!0,e=0,i=We.length;i>e;e++)if(We[e][1].exec(s)){t._f=We[e][0]+(n[6]||" ");break}for(e=0,i=Be.length;i>e;e++)if(Be[e][1].exec(s)){t._f+=Be[e][0];break}s.match(Oe)&&(t._f+="Z"),G(t)}else t._d=new Date(s)}function U(t){var e=t._i,s=be.exec(e);e===i?t._d=new Date:s?t._d=new Date(+s[1]):"string"==typeof e?V(t):g(e)?(t._a=e.slice(0),F(t)):f(e)?t._d=new Date(+e):"object"==typeof e?H(t):t._d=new Date(e)}function q(t,e,i,s,n,o,r){var a=new Date(t,e,i,s,n,o,r);return 1970>t&&a.setFullYear(t),a}function X(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function Z(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function K(t,e,i,s,n){return n.relativeTime(e||1,!!i,t,s)}function $(t,e,i){var s=de(Math.abs(t)/1e3),n=de(s/60),o=de(n/60),r=de(o/24),a=de(r/365),h=45>s&&["s",s]||1===n&&["m"]||45>n&&["mm",n]||1===o&&["h"]||22>o&&["hh",o]||1===r&&["d"]||25>=r&&["dd",r]||45>=r&&["M"]||345>r&&["MM",de(r/30)]||1===a&&["y"]||["yy",a];return h[2]=e,h[3]=t>0,h[4]=i,K.apply({},h)}function Q(t,e,i){var s,n=i-e,o=i-t.day();return o>n&&(o-=7),n-7>o&&(o+=7),s=oe(t).add("d",o),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function J(t,e,i,s,n){var o,r,a=X(t,0,1).getUTCDay();return i=null!=i?i:n,o=n-a+(a>s?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+o+1,{year:r>0?t:t-1,dayOfYear:r>0?r:S(t-1)+r}}function te(t){var e=t._i,i=t._f;return null===e?oe.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=N().preparse(e)),oe.isMoment(e)?(t=c(e),t._d=new Date(+e._d)):i?g(i)?j(t):G(t):U(t),new a(t))}function ee(t,e){oe.fn[t]=oe.fn[t+"s"]=function(t){var i=this._isUTC?"UTC":"";return null!=t?(this._d["set"+i+e](t),oe.updateOffset(this),this):this._d["get"+i+e]()}}function ie(t){oe.duration.fn[t]=function(){return this._data[t]}}function se(t,e){oe.duration.fn["as"+t]=function(){return+this/e}}function ne(t){var e=!1,i=oe;"undefined"==typeof ender&&(t?(he.moment=function(){return!e&&console&&console.warn&&(e=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),i.apply(null,arguments)},d(he.moment,i)):he.moment=oe)}for(var oe,re,ae="2.5.1",he=this,de=Math.round,ce=0,le=1,ue=2,pe=3,ge=4,fe=5,me=6,ve={},ye={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},_e="undefined"!=typeof e&&e.exports&&"undefined"!=typeof t,be=/^\/?Date\((\-?\d+)/i,we=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Se=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,xe=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,Ee=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Te=/\d\d?/,De=/\d{1,3}/,Ce=/\d{1,4}/,Me=/[+\-]?\d{1,6}/,Ie=/\d+/,Ne=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Oe=/Z|[\+\-]\d\d:?\d\d/gi,Le=/T/i,ke=/[\+\-]?\d+(\.\d{1,3})?/,Pe=/\d/,Ae=/\d\d/,ze=/\d{3}/,Re=/\d{4}/,Fe=/[+-]?\d{6}/,He=/[+-]?\d+/,Ye=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ge="YYYY-MM-DDTHH:mm:ssZ",We=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Be=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],je=/([\+\-]|\d\d)/gi,Ve="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Ue={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},qe={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Xe={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Ze={},Ke="DDD w W M D d".split(" "),$e="M D H h m s w W".split(" "),Qe={M:function(){return this.month()+1},MMM:function(t){return this.lang().monthsShort(this,t)},MMMM:function(t){return this.lang().months(this,t)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(t){return this.lang().weekdaysMin(this,t)},ddd:function(t){return this.lang().weekdaysShort(this,t)},dddd:function(t){return this.lang().weekdays(this,t)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return u(this.year()%100,2)},YYYY:function(){return u(this.year(),4)},YYYYY:function(){return u(this.year(),5)},YYYYYY:function(){var t=this.year(),e=t>=0?"+":"-";return e+u(Math.abs(t),6)},gg:function(){return u(this.weekYear()%100,2)},gggg:function(){return u(this.weekYear(),4)},ggggg:function(){return u(this.weekYear(),5)},GG:function(){return u(this.isoWeekYear()%100,2)},GGGG:function(){return u(this.isoWeekYear(),4)},GGGGG:function(){return u(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return b(this.milliseconds()/100)},SS:function(){return u(b(this.milliseconds()/10),2)},SSS:function(){return u(this.milliseconds(),3)},SSSS:function(){return u(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(b(t/60),2)+":"+u(b(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(b(t/60),2)+u(b(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Je=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Ke.length;)re=Ke.pop(),Qe[re+"o"]=o(Qe[re],re);for(;$e.length;)re=$e.pop(),Qe[re+re]=n(Qe[re],2);for(Qe.DDDD=n(Qe.DDD,3),d(r.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=oe.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=oe([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,s):n.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return Q(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),oe=function(t,e,n,o){var r;return"boolean"==typeof n&&(o=n,n=i),r={},r._isAMomentObject=!0,r._i=t,r._f=e,r._l=n,r._strict=o,r._isUTC=!1,r._pf=s(),te(r)},oe.utc=function(t,e,n,o){var r;return"boolean"==typeof n&&(o=n,n=i),r={},r._isAMomentObject=!0,r._useUTC=!0,r._isUTC=!0,r._l=n,r._i=t,r._f=e,r._strict=o,r._pf=s(),te(r).utc()},oe.unix=function(t){return oe(1e3*t)},oe.duration=function(t,e){var i,s,n,o=t,r=null;return oe.isDuration(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(o={},e?o[e]=t:o.milliseconds=t):(r=we.exec(t))?(i="-"===r[1]?-1:1,o={y:0,d:b(r[ue])*i,h:b(r[pe])*i,m:b(r[ge])*i,s:b(r[fe])*i,ms:b(r[me])*i}):(r=Se.exec(t))&&(i="-"===r[1]?-1:1,n=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},o={y:n(r[2]),M:n(r[3]),d:n(r[4]),h:n(r[5]),m:n(r[6]),s:n(r[7]),w:n(r[8])}),s=new h(o),oe.isDuration(t)&&t.hasOwnProperty("_lang")&&(s._lang=t._lang),s},oe.version=ae,oe.defaultFormat=Ge,oe.updateOffset=function(){},oe.lang=function(t,e){var i;return t?(e?M(D(t),e):null===e?(I(t),t="en"):ve[t]||N(t),i=oe.duration.fn._lang=oe.fn._lang=N(t),i._abbr):oe.fn._lang._abbr},oe.langData=function(t){return t&&t._lang&&t._lang._abbr&&(t=t._lang._abbr),N(t)},oe.isMoment=function(t){return t instanceof a||null!=t&&t.hasOwnProperty("_isAMomentObject")},oe.isDuration=function(t){return t instanceof h},re=Je.length-1;re>=0;--re)_(Je[re]);for(oe.normalizeUnits=function(t){return v(t)},oe.invalid=function(t){var e=oe.utc(0/0);return null!=t?d(e._pf,t):e._pf.userInvalidated=!0,e},oe.parseZone=function(t){return oe(t).parseZone()},d(oe.fn=a.prototype,{clone:function(){return oe(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=oe(this).utc();return 00:!1},parsingFlags:function(){return d({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(t){var e=k(this,t||oe.defaultFormat);return this.lang().postformat(e)},add:function(t,e){var i;return i="string"==typeof t?oe.duration(+e,t):oe.duration(t,e),p(this,i,1),this},subtract:function(t,e){var i;return i="string"==typeof t?oe.duration(+e,t):oe.duration(t,e),p(this,i,-1),this},diff:function(t,e,i){var s,n,o=C(t,this),r=6e4*(this.zone()-o.zone());return e=v(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+o.daysInMonth()),n=12*(this.year()-o.year())+(this.month()-o.month()),n+=(this-oe(this).startOf("month")-(o-oe(o).startOf("month")))/s,n-=6e4*(this.zone()-oe(this).startOf("month").zone()-(o.zone()-oe(o).startOf("month").zone()))/s,"year"===e&&(n/=12)):(s=this-o,n="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?n:l(n)},from:function(t,e){return oe.duration(this.diff(t)).lang(this.lang()._abbr).humanize(!e)},fromNow:function(t){return this.from(oe(),t)},calendar:function(){var t=C(oe(),this).startOf("day"),e=this.diff(t,"days",!0),i=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(this.lang().calendar(i,this))},isLeapYear:function(){return x(this.year())},isDST:function(){return this.zone()+oe(t).startOf(e)},isBefore:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)<+oe(t).startOf(e)},isSame:function(t,e){return e=e||"ms",+this.clone().startOf(e)===+C(t,this).startOf(e)},min:function(t){return t=oe.apply(null,arguments),this>t?this:t},max:function(t){return t=oe.apply(null,arguments),t>this?this:t},zone:function(t){var e=this._offset||0;return null==t?this._isUTC?e:this._d.getTimezoneOffset():("string"==typeof t&&(t=z(t)),Math.abs(t)<16&&(t=60*t),this._offset=t,this._isUTC=!0,e!==t&&p(this,oe.duration(e-t,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?oe(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return w(this.year(),this.month())},dayOfYear:function(t){var e=de((oe(this).startOf("day")-oe(this).startOf("year"))/864e5)+1;return null==t?e:this.add("d",t-e)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(t){var e=Q(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==t?e:this.add("y",t-e)},isoWeekYear:function(t){var e=Q(this,1,4).year;return null==t?e:this.add("y",t-e)},week:function(t){var e=this.lang().week(this);return null==t?e:this.add("d",7*(t-e))},isoWeek:function(t){var e=Q(this,1,4).week;return null==t?e:this.add("d",7*(t-e))},weekday:function(t){var e=(this.day()+7-this.lang()._week.dow)%7;return null==t?e:this.add("d",t-e)},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},get:function(t){return t=v(t),this[t]()},set:function(t,e){return t=v(t),"function"==typeof this[t]&&this[t](e),this},lang:function(t){return t===i?this._lang:(this._lang=N(t),this)}}),re=0;re-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function r(t){t=t||{};var e,i=!1;for(e in C)t[e]?i=!0:C[e]=0;i||(I=!1)}function a(t,e,i,s,n){var r,a,h=[];if(!T[t])return[];for("keyup"==i&&u(t)&&(e=[t]),r=0;r95&&112>t||w.hasOwnProperty(t)&&(_[w[t]]=t)}return _}function f(t,e,i){return i||(i=g()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function m(t,e,i,n){C[t]=0,n||(n=f(e[0],[]));var o,a=function(){I=n,++C[t],p()},h=function(t){d(i,t),"keyup"!==n&&(M=s(t)),setTimeout(r,10)};for(o=0;o1)return m(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),o=0;o":".","?":"/","|":"\\"},E={option:"alt",command:"meta","return":"enter",escape:"esc"},T={},D={},C={},M=!1,I=!1,N=1;20>N;++N)w[111+N]="f"+N;for(N=0;9>=N;++N)w[N+96]=N;i(document,"keypress",l),i(document,"keydown",l),i(document,"keyup",l);var O={bind:function(t,e,i){return y(t instanceof Array?t:[t],e,i),D[t+":"+i]=e,this},unbind:function(t,e){return D[t+":"+e]&&(delete D[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return D[t+":"+e](),this},reset:function(){return T={},D={},this}};e.exports=O},{}]},{},[1])(1)}); \ No newline at end of file +if(a){var h,d=o(s.maxHeight),c=null!=r(s.height);if(c)h=a.offsetHeight;else{h=0;for(t in this.groups)this.groups.hasOwnProperty(t)&&(e=this.groups[t],h+=e.height)}null!=d&&(h=Math.min(h,d)),i+=n(this,"height",h),i+=n(this,"top",a.offsetTop),i+=n(this,"left",a.offsetLeft),i+=n(this,"width",a.offsetWidth)}var l=0;for(t in this.groups)if(this.groups.hasOwnProperty(t)){e=this.groups[t];var u=e.props&&e.props.label&&e.props.label.width||0;l=Math.max(l,u)}return i+=n(this.props.labels,"width",l),i>0},GroupSet.prototype.hide=function(){return this.dom.frame&&this.dom.frame.parentNode?(this.dom.frame.parentNode.removeChild(this.dom.frame),!0):!1},GroupSet.prototype.show=function(){return this.dom.frame&&this.dom.frame.parentNode?!1:this.repaint()},GroupSet.prototype._onUpdate=function(t){this._toQueue(t,"update")},GroupSet.prototype._onAdd=function(t){this._toQueue(t,"add")},GroupSet.prototype._onRemove=function(t){this._toQueue(t,"remove")},GroupSet.prototype._toQueue=function(t,e){var i=this.queue;t.forEach(function(t){i[t]=e}),this.controller&&this.requestRepaint()},GroupSet.groupFromTarget=function(t){for(var e,i=t.target;i;){if(i.hasOwnProperty("timeline-groupset")){e=i["timeline-groupset"];break}i=i.parentNode}if(e)for(var s in e.groups)if(e.groups.hasOwnProperty(s)){var n=e.groups[s];if(n.itemset&&ItemSet.itemSetFromTarget(t)==n.itemset)return n}return null},Timeline.prototype.on=function(t,e){this.controller.on(t,e)},Timeline.prototype.off=function(t,e){this.controller.off(t,e)},Timeline.prototype.setOptions=function(t){util.extend(this.options,t),this.range.setRange(t.start,t.end),("editable"in t||"selectable"in t)&&this.setSelection(this.options.selectable?this.getSelection():[]);var e=function(t){if(!(this.options[t]instanceof Function)||2!=this.options[t].length)throw new Error("option "+t+" must be a function "+t+"(item, callback)")}.bind(this);["onAdd","onUpdate","onRemove","onMove"].forEach(e),this.controller.reflow(),this.controller.repaint()},Timeline.prototype.setCustomTime=function(t){if(!this.customtime)throw new Error("Cannot get custom time: Custom time bar is not enabled");this.customtime.setCustomTime(t)},Timeline.prototype.getCustomTime=function(){if(!this.customtime)throw new Error("Cannot get custom time: Custom time bar is not enabled");return this.customtime.getCustomTime()},Timeline.prototype.setItems=function(t){var e,i=null==this.itemsData;if(t?t instanceof DataSet&&(e=t):e=null,t instanceof DataSet||(e=new DataSet({convert:{start:"Date",end:"Date"}}),e.add(t)),this.itemsData=e,this.content.setItems(e),i&&(void 0==this.options.start||void 0==this.options.end)){var s=this.getItemRange(),n=s.min,o=s.max;if(null!=n&&null!=o){var r=o.valueOf()-n.valueOf();0>=r&&(r=864e5),n=new Date(n.valueOf()-.05*r),o=new Date(o.valueOf()+.05*r)}void 0!=this.options.start&&(n=util.convert(this.options.start,"Date")),void 0!=this.options.end&&(o=util.convert(this.options.end,"Date")),(null!=n||null!=o)&&this.range.setRange(n,o)}},Timeline.prototype.setGroups=function(t){var e=this;this.groupsData=t;var i=this.groupsData?GroupSet:ItemSet;if(!(this.content instanceof i)){this.content&&(this.content.hide(),this.content.setItems&&this.content.setItems(),this.content.setGroups&&this.content.setGroups(),this.controller.remove(this.content));var s=Object.create(this.options);util.extend(s,{top:function(){return"top"==e.options.orientation?e.timeaxis.height:e.itemPanel.height-e.timeaxis.height-e.content.height},left:null,width:"100%",height:function(){return e.options.height?e.itemPanel.height-e.timeaxis.height:null},maxHeight:function(){if(e.options.maxHeight){if(!util.isNumber(e.options.maxHeight))throw new TypeError("Number expected for property maxHeight");return e.options.maxHeight-e.timeaxis.height}return null},labelContainer:function(){return e.labelPanel.getContainer()}}),this.content=new i(this.itemPanel,[this.timeaxis],s),this.content.setRange&&this.content.setRange(this.range),this.content.setItems&&this.content.setItems(this.itemsData),this.content.setGroups&&this.content.setGroups(this.groupsData),this.controller.add(this.content)}},Timeline.prototype.getItemRange=function(){var t=this.itemsData,e=null,i=null;if(t){var s=t.min("start");e=s?s.start.valueOf():null;var n=t.max("start");n&&(i=n.start.valueOf());var o=t.max("end");o&&(i=null==i?o.end.valueOf():Math.max(i,o.end.valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},Timeline.prototype.setSelection=function(t){this.content&&this.content.setSelection(t)},Timeline.prototype.getSelection=function(){return this.content?this.content.getSelection():[]},Timeline.prototype.setWindow=function(t,e){this.range.setRange(t,e)},Timeline.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},Timeline.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.gesture.srcEvent&&t.gesture.srcEvent.ctrlKey,i=t.gesture.srcEvent&&t.gesture.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var s=ItemSet.itemFromTarget(t),n=s?[s.id]:[];this.setSelection(n),this.controller.emit("select",{items:this.getSelection()}),t.stopPropagation()}},Timeline.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable){var e=this,i=ItemSet.itemFromTarget(t);if(i){var s=e.itemsData.get(i.id);this.options.onUpdate(s,function(t){t&&e.itemsData.update(t)})}else{var n=vis.util.getAbsoluteLeft(this.rootPanel.frame),o=t.gesture.center.pageX-n,r={start:this.timeaxis.snap(this._toTime(o)),content:"new item"},a=util.randomUUID();r[this.itemsData.fieldId]=a;var h=GroupSet.groupFromTarget(t);h&&(r.group=h.groupId),this.options.onAdd(r,function(t){t&&(e.itemsData.add(r),e.controller.once("repaint",function(){e.setSelection([a]),e.controller.emit("select",{items:e.getSelection()})}.bind(e)))})}}},Timeline.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e,i=ItemSet.itemFromTarget(t);if(i){e=this.getSelection();var s=e.indexOf(i.id);-1==s?e.push(i.id):e.splice(s,1),this.setSelection(e),this.controller.emit("select",{items:this.getSelection()}),t.stopPropagation()}}},Timeline.prototype._toTime=function(t){var e=this.range.conversion(this.content.width);return new Date(t/e.scale+e.offset)},Timeline.prototype._toScreen=function(t){var e=this.range.conversion(this.content.width);return(t.valueOf()-e.offset)*e.scale},function(t){function e(t){return D=t,u()}function i(){C=0,M=D.charAt(0)}function s(){C++,M=D.charAt(C)}function n(){return D.charAt(C+1)}function o(t){return O.test(t)}function r(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function a(t,e,i){for(var s=e.split("."),n=t;s.length;){var o=s.shift();s.length?(n[o]||(n[o]={}),n=n[o]):n[o]=i}}function h(t,e){for(var i,s,n=null,o=[t],a=t;a.parent;)o.push(a.parent),a=a.parent;if(a.nodes)for(i=0,s=a.nodes.length;s>i;i++)if(e.id===a.nodes[i].id){n=a.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=r(n.attr,t.node))),i=o.length-1;i>=0;i--){var h=o[i];h.nodes||(h.nodes=[]),-1==h.nodes.indexOf(n)&&h.nodes.push(n)}e.attr&&(n.attr=r(n.attr,e.attr))}function d(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=r({},t.edge);e.attr=r(i,e.attr)}}function c(t,e,i,s,n){var o={from:e,to:i,type:s};return t.edge&&(o.attr=r({},t.edge)),o.attr=r(o.attr||{},n),o}function l(){for(N=E.NULL,I="";" "==M||" "==M||"\n"==M||"\r"==M;)s();do{var t=!1;if("#"==M){for(var e=C-1;" "==D.charAt(e)||" "==D.charAt(e);)e--;if("\n"==D.charAt(e)||""==D.charAt(e)){for(;""!=M&&"\n"!=M;)s();t=!0}}if("/"==M&&"/"==n()){for(;""!=M&&"\n"!=M;)s();t=!0}if("/"==M&&"*"==n()){for(;""!=M;){if("*"==M&&"/"==n()){s(),s();break}s()}t=!0}for(;" "==M||" "==M||"\n"==M||"\r"==M;)s()}while(t);if(""==M)return void(N=E.DELIMITER);var i=M+n();if(T[i])return N=E.DELIMITER,I=i,s(),void s();if(T[M])return N=E.DELIMITER,I=M,void s();if(o(M)||"-"==M){for(I+=M,s();o(M);)I+=M,s();return"false"==I?I=!1:"true"==I?I=!0:isNaN(Number(I))||(I=Number(I)),void(N=E.IDENTIFIER)}if('"'==M){for(s();""!=M&&('"'!=M||'"'==M&&'"'==n());)I+=M,'"'==M&&s(),s();if('"'!=M)throw b('End of string " expected');return s(),void(N=E.IDENTIFIER)}for(N=E.UNKNOWN;""!=M;)I+=M,s();throw new SyntaxError('Syntax error in part "'+w(I,30)+'"')}function u(){var t={};if(i(),l(),"strict"==I&&(t.strict=!0,l()),("graph"==I||"digraph"==I)&&(t.type=I,l()),N==E.IDENTIFIER&&(t.id=I,l()),"{"!=I)throw b("Angle bracket { expected");if(l(),p(t),"}"!=I)throw b("Angle bracket } expected");if(l(),""!==I)throw b("End of file expected");return l(),delete t.node,delete t.edge,delete t.graph,t}function p(t){for(;""!==I&&"}"!=I;)g(t),";"==I&&l()}function g(t){var e=f(t);if(e)return void y(t,e);var i=m(t);if(!i){if(N!=E.IDENTIFIER)throw b("Identifier expected");var s=I;if(l(),"="==I){if(l(),N!=E.IDENTIFIER)throw b("Identifier expected");t[s]=I,l()}else v(t,s)}}function f(t){var e=null;if("subgraph"==I&&(e={},e.type="subgraph",l(),N==E.IDENTIFIER&&(e.id=I,l())),"{"==I){if(l(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,p(e),"}"!=I)throw b("Angle bracket } expected");l(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function m(t){return"node"==I?(l(),t.node=_(),"node"):"edge"==I?(l(),t.edge=_(),"edge"):"graph"==I?(l(),t.graph=_(),"graph"):null}function v(t,e){var i={id:e},s=_();s&&(i.attr=s),h(t,i),y(t,e)}function y(t,e){for(;"->"==I||"--"==I;){var i,s=I;l();var n=f(t);if(n)i=n;else{if(N!=E.IDENTIFIER)throw b("Identifier or subgraph expected");i=I,h(t,{id:i}),l()}var o=_(),r=c(t,e,i,s,o);d(t,r),e=i}}function _(){for(var t=null;"["==I;){for(l(),t={};""!==I&&"]"!=I;){if(N!=E.IDENTIFIER)throw b("Attribute name expected");var e=I;if(l(),"="!=I)throw b("Equal sign = expected");if(l(),N!=E.IDENTIFIER)throw b("Attribute value expected");var i=I;a(t,e,i),l(),","==I&&l()}if("]"!=I)throw b("Bracket ] expected");l()}return t}function b(t){return new SyntaxError(t+', got "'+w(I,30)+'" (char '+C+")")}function w(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){t instanceof Array?t.forEach(function(t){e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}):e instanceof Array?e.forEach(function(e){i(t,e)}):i(t,e)}function x(t){function i(t){var e={from:t.from,to:t.to};return r(e,t.attr),e.style="->"==t.type?"arrow":"line",e}var s=e(t),n={nodes:[],edges:[],options:{}};return s.nodes&&s.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};r(e,t.attr),e.image&&(e.shape="image"),n.nodes.push(e)}),s.edges&&s.edges.forEach(function(t){var e,s;e=t.from instanceof Object?t.from.nodes:{id:t.from},s=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges&&t.from.edges.forEach(function(t){var e=i(t);n.edges.push(e)}),S(e,s,function(e,s){var o=c(n,e.id,s.id,t.type,t.attr),r=i(o);n.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=i(t);n.edges.push(e)})}),s.attr&&(n.options=s.attr),n}var E={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},D="",C=0,M="",I="",N=E.NULL,O=/[a-zA-Z_0-9.:#]/;t.parseDOT=e,t.DOTToGraph=x}("undefined"!=typeof util?util:exports),"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1)},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i)},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath();var s=2*i,n=s/2,o=Math.sqrt(3)/6*s,r=Math.sqrt(s*s-n*n);this.moveTo(t,e-(r-o)),this.lineTo(t+n,e+o),this.lineTo(t-n,e+o),this.lineTo(t,e-(r-o)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath();var s=2*i,n=s/2,o=Math.sqrt(3)/6*s,r=Math.sqrt(s*s-n*n);this.moveTo(t,e+(r-o)),this.lineTo(t+n,e-o),this.lineTo(t-n,e-o),this.lineTo(t,e+(r-o)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath();for(var s=0;10>s;s++){var n=s%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*s*Math.PI/10),e-n*Math.cos(2*s*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,s,n){var o=Math.PI/180;0>i-2*n&&(n=i/2),0>s-2*n&&(n=s/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*o,360*o,!1),this.lineTo(t+i,e+s-n),this.arc(t+i-n,e+s-n,n,0,90*o,!1),this.lineTo(t+n,e+s),this.arc(t+n,e+s-n,n,90*o,180*o,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*o,270*o,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,s){var n=.5522848,o=i/2*n,r=s/2*n,a=t+i,h=e+s,d=t+i/2,c=e+s/2;this.beginPath(),this.moveTo(t,c),this.bezierCurveTo(t,c-r,d-o,e,d,e),this.bezierCurveTo(d+o,e,a,c-r,a,c),this.bezierCurveTo(a,c+r,d+o,h,d,h),this.bezierCurveTo(d-o,h,t,c+r,t,c)},CanvasRenderingContext2D.prototype.database=function(t,e,i,s){var n=1/3,o=i,r=s*n,a=.5522848,h=o/2*a,d=r/2*a,c=t+o,l=e+r,u=t+o/2,p=e+r/2,g=e+(s-r/2),f=e+s;this.beginPath(),this.moveTo(c,p),this.bezierCurveTo(c,p+d,u+h,l,u,l),this.bezierCurveTo(u-h,l,t,p+d,t,p),this.bezierCurveTo(t,p-d,u-h,e,u,e),this.bezierCurveTo(u+h,e,c,p-d,c,p),this.lineTo(c,g),this.bezierCurveTo(c,g+d,u+h,f,u,f),this.bezierCurveTo(u-h,f,t,g+d,t,g),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,s){var n=t-s*Math.cos(i),o=e-s*Math.sin(i),r=t-.9*s*Math.cos(i),a=e-.9*s*Math.sin(i),h=n+s/3*Math.cos(i+.5*Math.PI),d=o+s/3*Math.sin(i+.5*Math.PI),c=n+s/3*Math.cos(i-.5*Math.PI),l=o+s/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(c,l),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,s,n){n||(n=[10,5]),0==u&&(u=.001);var o=n.length;this.moveTo(t,e);for(var r=i-t,a=s-e,h=a/r,d=Math.sqrt(r*r+a*a),c=0,l=!0;d>=.1;){var u=n[c++%o];u>d&&(u=d);var p=Math.sqrt(u*u/(1+h*h));0>r&&(p=-p),t+=p,e+=h*p,this[l?"lineTo":"moveTo"](t,e),d-=u,l=!l}}),Node.prototype.resetCluster=function(){this.formationScale=void 0,this.clusterSize=1,this.containedNodes={},this.containedEdges={},this.clusterSessions=[]},Node.prototype.attachEdge=function(t){-1==this.edges.indexOf(t)&&this.edges.push(t),-1==this.dynamicEdges.indexOf(t)&&this.dynamicEdges.push(t),this.dynamicEdgesLength=this.dynamicEdges.length},Node.prototype.detachEdge=function(t){var e=this.edges.indexOf(t);-1!=e&&(this.edges.splice(e,1),this.dynamicEdges.splice(e,1)),this.dynamicEdgesLength=this.dynamicEdges.length},Node.prototype.setProperties=function(t,e){if(t){if(this.originalLabel=void 0,void 0!==t.id&&(this.id=t.id),void 0!==t.label&&(this.label=t.label,this.originalLabel=t.label),void 0!==t.title&&(this.title=t.title),void 0!==t.group&&(this.group=t.group),void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.value&&(this.value=t.value),void 0!==t.level&&(this.level=t.level,this.preassignedLevel=!0),void 0!==t.mass&&(this.mass=t.mass),void 0!==t.horizontalAlignLeft&&(this.horizontalAlignLeft=t.horizontalAlignLeft),void 0!==t.verticalAlignTop&&(this.verticalAlignTop=t.verticalAlignTop),void 0!==t.triggerFunction&&(this.triggerFunction=t.triggerFunction),void 0===this.id)throw"Node must have an id";if(this.group){var i=this.grouplist.get(this.group);for(var s in i)i.hasOwnProperty(s)&&(this[s]=i[s])}if(void 0!==t.shape&&(this.shape=t.shape),void 0!==t.image&&(this.image=t.image),void 0!==t.radius&&(this.radius=t.radius),void 0!==t.color&&(this.color=Node.parseColor(t.color)),void 0!==t.fontColor&&(this.fontColor=t.fontColor),void 0!==t.fontSize&&(this.fontSize=t.fontSize),void 0!==t.fontFace&&(this.fontFace=t.fontFace),void 0!==this.image&&""!=this.image){if(!this.imagelist)throw"No imagelist provided";this.imageObj=this.imagelist.load(this.image)}switch(this.xFixed=this.xFixed||void 0!==t.x&&!t.allowedToMoveX,this.yFixed=this.yFixed||void 0!==t.y&&!t.allowedToMoveY,this.radiusFixed=this.radiusFixed||void 0!==t.radius,"image"==this.shape&&(this.radiusMin=e.nodes.widthMin,this.radiusMax=e.nodes.widthMax),this.shape){case"database":this.draw=this._drawDatabase,this.resize=this._resizeDatabase;break;case"box":this.draw=this._drawBox,this.resize=this._resizeBox;break;case"circle":this.draw=this._drawCircle,this.resize=this._resizeCircle;break;case"ellipse":this.draw=this._drawEllipse,this.resize=this._resizeEllipse;break;case"image":this.draw=this._drawImage,this.resize=this._resizeImage;break;case"text":this.draw=this._drawText,this.resize=this._resizeText;break;case"dot":this.draw=this._drawDot,this.resize=this._resizeShape;break;case"square":this.draw=this._drawSquare,this.resize=this._resizeShape;break;case"triangle":this.draw=this._drawTriangle,this.resize=this._resizeShape;break;case"triangleDown":this.draw=this._drawTriangleDown,this.resize=this._resizeShape;break;case"star":this.draw=this._drawStar,this.resize=this._resizeShape;break;default:this.draw=this._drawEllipse,this.resize=this._resizeEllipse}this._reset()}},Node.parseColor=function(t){var e;if(util.isString(t))if(util.isValidHex(t)){var i=util.hexToHSV(t),s={h:i.h,s:.45*i.s,v:Math.min(1,1.05*i.v)},n={h:i.h,s:Math.min(1,1.25*i.v),v:.6*i.v},o=util.HSVToHex(n.h,n.h,n.v),r=util.HSVToHex(s.h,s.s,s.v);e={background:t,border:o,highlight:{background:r,border:o}}}else e={background:t,border:t,highlight:{background:t,border:t}};else e={},e.background=t.background||"white",e.border=t.border||e.background,util.isString(t.highlight)?e.highlight={border:t.highlight,background:t.highlight}:(e.highlight={},e.highlight.background=t.highlight&&t.highlight.background||e.background,e.highlight.border=t.highlight&&t.highlight.border||e.border);return e},Node.prototype.select=function(){this.selected=!0,this._reset()},Node.prototype.unselect=function(){this.selected=!1,this._reset()},Node.prototype.clearSizeCache=function(){this._reset()},Node.prototype._reset=function(){this.width=void 0,this.height=void 0},Node.prototype.getTitle=function(){return this.title},Node.prototype.distanceToBorder=function(t,e){var i=1;switch(this.width||this.resize(t),this.shape){case"circle":case"dot":return this.radius+i;case"ellipse":var s=this.width/2,n=this.height/2,o=Math.sin(e)*s,r=Math.cos(e)*n;return s*n/Math.sqrt(o*o+r*r);case"box":case"image":case"text":default:return this.width?Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i:0}},Node.prototype._setForce=function(t,e){this.fx=t,this.fy=e},Node.prototype._addForce=function(t,e){this.fx+=t,this.fy+=e},Node.prototype.discreteStep=function(t){if(!this.xFixed){var e=this.damping*this.vx,i=(this.fx-e)/this.mass;this.vx+=i*t,this.x+=this.vx*t}if(!this.yFixed){var s=this.damping*this.vy,n=(this.fy-s)/this.mass;this.vy+=n*t,this.y+=this.vy*t}},Node.prototype.discreteStepLimited=function(t,e){if(this.xFixed)this.fx=0;else{var i=this.damping*this.vx,s=(this.fx-i)/this.mass;this.vx+=s*t,this.vx=Math.abs(this.vx)>e?this.vx>0?e:-e:this.vx,this.x+=this.vx*t}if(this.yFixed)this.fy=0;else{var n=this.damping*this.vy,o=(this.fy-n)/this.mass;this.vy+=o*t,this.vy=Math.abs(this.vy)>e?this.vy>0?e:-e:this.vy,this.y+=this.vy*t}},Node.prototype.isFixed=function(){return this.xFixed&&this.yFixed},Node.prototype.isMoving=function(t){return Math.abs(this.vx)>t||Math.abs(this.vy)>t},Node.prototype.isSelected=function(){return this.selected},Node.prototype.getValue=function(){return this.value},Node.prototype.getDistance=function(t,e){var i=this.x-t,s=this.y-e;return Math.sqrt(i*i+s*s)},Node.prototype.setValueRange=function(t,e){if(!this.radiusFixed&&void 0!==this.value)if(e==t)this.radius=(this.radiusMin+this.radiusMax)/2;else{var i=(this.radiusMax-this.radiusMin)/(e-t);this.radius=(this.value-t)*i+this.radiusMin}this.baseRadiusValue=this.radius},Node.prototype.draw=function(){throw"Draw method not initialized for node"},Node.prototype.resize=function(){throw"Resize method not initialized for node"},Node.prototype.isOverlappingWith=function(t){return this.leftt.left&&this.topt.top},Node.prototype._resizeImage=function(){if(!this.width||!this.height){var t,e;if(this.value){this.radius=this.baseRadiusValue;var i=this.imageObj.height/this.imageObj.width;void 0!==i?(t=this.radius||this.imageObj.width,e=this.radius*i||this.imageObj.height):(t=0,e=0)}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.growthIndicator=0,this.width>0&&this.height>0&&(this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t)}},Node.prototype._drawImage=function(t){this._resizeImage(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e;if(0!=this.imageObj.width){if(this.clusterSize>1){var i=this.clusterSize>1?10:0;i*=this.graphScaleInv,i=Math.min(.2*this.width,i),t.globalAlpha=.5,t.drawImage(this.imageObj,this.left-i,this.top-i,this.width+2*i,this.height+2*i)}t.globalAlpha=1,t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),e=this.y+this.height/2}else e=this.y;this._label(t,this.label,this.x,e,void 0,"top")},Node.prototype._resizeBox=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.growthIndicator=this.width-(i.width+2*e)}},Node.prototype._drawBox=function(t){this._resizeBox(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=2;t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.roundRect(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth,this.radius),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.roundRect(this.left,this.top,this.width,this.height,this.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._resizeDatabase=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=i.width+2*e;this.width=s,this.height=s,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-s}},Node.prototype._drawDatabase=function(t){this._resizeDatabase(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=2;t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.database(this.x-this.width/2-2*t.lineWidth,this.y-.5*this.height-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.database(this.x-this.width/2,this.y-.5*this.height,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._resizeCircle=function(t){if(!this.width){var e=5,i=this.getTextSize(t),s=Math.max(i.width,i.height)+2*e;this.radius=s/2,this.width=s,this.height=s,this.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.radius-.5*s}},Node.prototype._drawCircle=function(t){this._resizeCircle(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var e=2.5,i=2;t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.circle(this.x,this.y,this.radius+2*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.circle(this.x,this.y,this.radius),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._resizeEllipse=function(t){if(!this.width){var e=this.getTextSize(t);this.width=1.5*e.width,this.height=2*e.height,this.width1&&(t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.ellipse(this.left-2*t.lineWidth,this.top-2*t.lineWidth,this.width+4*t.lineWidth,this.height+4*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?i:1)+(this.clusterSize>1?e:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t.ellipse(this.left,this.top,this.width,this.height),t.fill(),t.stroke(),this._label(t,this.label,this.x,this.y)},Node.prototype._drawDot=function(t){this._drawShape(t,"circle")},Node.prototype._drawTriangle=function(t){this._drawShape(t,"triangle")},Node.prototype._drawTriangleDown=function(t){this._drawShape(t,"triangleDown")},Node.prototype._drawSquare=function(t){this._drawShape(t,"square")},Node.prototype._drawStar=function(t){this._drawShape(t,"star")},Node.prototype._resizeShape=function(){if(!this.width){this.radius=this.baseRadiusValue;var t=2*this.radius;this.width=t,this.height=t,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=.5*Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-t}},Node.prototype._drawShape=function(t,e){this._resizeShape(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2;var i=2.5,s=2,n=2;switch(e){case"dot":n=2;break;case"square":n=2;break;case"triangle":n=3;break;case"triangleDown":n=3;break;case"star":n=4}t.strokeStyle=this.selected?this.color.highlight.border:this.color.border,this.clusterSize>1&&(t.lineWidth=(this.selected?s:1)+(this.clusterSize>1?i:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t[e](this.x,this.y,this.radius+n*t.lineWidth),t.stroke()),t.lineWidth=(this.selected?s:1)+(this.clusterSize>1?i:0),t.lineWidth*=this.graphScaleInv,t.lineWidth=Math.min(.1*this.width,t.lineWidth),t.fillStyle=this.selected?this.color.highlight.background:this.color.background,t[e](this.x,this.y,this.radius),t.fill(),t.stroke(),this.label&&this._label(t,this.label,this.x,this.y+this.height/2,void 0,"top")},Node.prototype._resizeText=function(t){if(!this.width){var e=5,i=this.getTextSize(t);this.width=i.width+2*e,this.height=i.height+2*e,this.width+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeWidthFactor,this.height+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeHeightFactor,this.radius+=Math.min(this.clusterSize-1,this.maxNodeSizeIncrements)*this.clusterSizeRadiusFactor,this.growthIndicator=this.width-(i.width+2*e)}},Node.prototype._drawText=function(t){this._resizeText(t),this.left=this.x-this.width/2,this.top=this.y-this.height/2,this._label(t,this.label,this.x,this.y)},Node.prototype._label=function(t,e,i,s,n,o){if(e&&this.fontSize*this.graphScale>this.fontDrawThreshold){t.font=(this.selected?"bold ":"")+this.fontSize+"px "+this.fontFace,t.fillStyle=this.fontColor||"black",t.textAlign=n||"center",t.textBaseline=o||"middle";for(var r=e.split("\n"),a=r.length,h=this.fontSize+4,d=s+(1-a)/2*h,c=0;a>c;c++)t.fillText(r[c],i,d),d+=h}},Node.prototype.getTextSize=function(t){if(void 0!==this.label){t.font=(this.selected?"bold ":"")+this.fontSize+"px "+this.fontFace;for(var e=this.label.split("\n"),i=(this.fontSize+4)*e.length,s=0,n=0,o=e.length;o>n;n++)s=Math.max(s,t.measureText(e[n]).width);return{width:s,height:i}}return{width:0,height:0}},Node.prototype.inArea=function(){return void 0!==this.width?this.x+this.width*this.graphScaleInv>=this.canvasTopLeft.x&&this.x-this.width*this.graphScaleInv=this.canvasTopLeft.y&&this.y-this.height*this.graphScaleInv=this.canvasTopLeft.x&&this.x=this.canvasTopLeft.y&&this.yh}return!1},Edge.prototype._drawLine=function(t){if(t.strokeStyle=1==this.selected?this.color.highlight:this.color.color,t.lineWidth=this._getLineWidth(),this.from!=this.to){this._line(t);var e;if(this.label){if(1==this.smooth){var i=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),s=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));e={x:i,y:s}}else e=this._pointOnLine(.5);this._label(t,this.label,e.x,e.y)}}else{var n,o,r=this.length/4,a=this.from;a.width||a.resize(t),a.width>a.height?(n=a.x+a.width/2,o=a.y-r):(n=a.x+r,o=a.y-a.height/2),this._circle(t,n,o,r),e=this._pointOnCircle(n,o,r,.5),this._label(t,this.label,e.x,e.y)}},Edge.prototype._getLineWidth=function(){return 1==this.selected?Math.min(2*this.width,this.widthMax)*this.graphScaleInv:this.width*this.graphScaleInv},Edge.prototype._line=function(t){t.beginPath(),t.moveTo(this.from.x,this.from.y),1==this.smooth?t.quadraticCurveTo(this.via.x,this.via.y,this.to.x,this.to.y):t.lineTo(this.to.x,this.to.y),t.stroke()},Edge.prototype._circle=function(t,e,i,s){t.beginPath(),t.arc(e,i,s,0,2*Math.PI,!1),t.stroke()},Edge.prototype._label=function(t,e,i,s){if(e){t.font=(this.from.selected||this.to.selected?"bold ":"")+this.fontSize+"px "+this.fontFace,t.fillStyle="white";var n=t.measureText(e).width,o=this.fontSize,r=i-n/2,a=s-o/2;t.fillRect(r,a,n,o),t.fillStyle=this.fontColor||"black",t.textAlign="left",t.textBaseline="top",t.fillText(e,r,a)}},Edge.prototype._drawDashLine=function(t){if(t.strokeStyle=1==this.selected?this.color.highlight:this.color.color,t.lineWidth=this._getLineWidth(),void 0!==t.mozDash||void 0!==t.setLineDash){t.beginPath(),t.moveTo(this.from.x,this.from.y);var e=[0];e=void 0!==this.dash.length&&void 0!==this.dash.gap?[this.dash.length,this.dash.gap]:[5,5],"undefined"!=typeof t.setLineDash?(t.setLineDash(e),t.lineDashOffset=0):(t.mozDash=e,t.mozDashOffset=0),1==this.smooth?t.quadraticCurveTo(this.via.x,this.via.y,this.to.x,this.to.y):t.lineTo(this.to.x,this.to.y),t.stroke(),"undefined"!=typeof t.setLineDash?(t.setLineDash([0]),t.lineDashOffset=0):(t.mozDash=[0],t.mozDashOffset=0)}else t.beginPath(),t.lineCap="round",void 0!==this.dash.altLength?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.dash.length,this.dash.gap,this.dash.altLength,this.dash.gap]):void 0!==this.dash.length&&void 0!==this.dash.gap?t.dashedLine(this.from.x,this.from.y,this.to.x,this.to.y,[this.dash.length,this.dash.gap]):(t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y)),t.stroke();if(this.label){var i;if(1==this.smooth){var s=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),n=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));i={x:s,y:n}}else i=this._pointOnLine(.5);this._label(t,this.label,i.x,i.y)}},Edge.prototype._pointOnLine=function(t){return{x:(1-t)*this.from.x+t*this.to.x,y:(1-t)*this.from.y+t*this.to.y}},Edge.prototype._pointOnCircle=function(t,e,i,s){var n=2*(s-3/8)*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}},Edge.prototype._drawArrowCenter=function(t){var e;if(1==this.selected?(t.strokeStyle=this.color.highlight,t.fillStyle=this.color.highlight):(t.strokeStyle=this.color.color,t.fillStyle=this.color.color),t.lineWidth=this._getLineWidth(),this.from!=this.to){this._line(t);var i=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x),s=10+5*this.width;if(1==this.smooth){var n=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),o=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));e={x:n,y:o}}else e=this._pointOnLine(.5);t.arrow(e.x,e.y,i,s),t.fill(),t.stroke(),this.label&&this._label(t,this.label,e.x,e.y)}else{var r,a,h=.25*Math.max(100,this.length),d=this.from;d.width||d.resize(t),d.width>d.height?(r=d.x+.5*d.width,a=d.y-h):(r=d.x+h,a=d.y-.5*d.height),this._circle(t,r,a,h);var i=.2*Math.PI,s=10+5*this.width;e=this._pointOnCircle(r,a,h,.5),t.arrow(e.x,e.y,i,s),t.fill(),t.stroke(),this.label&&(e=this._pointOnCircle(r,a,h,.5),this._label(t,this.label,e.x,e.y))}},Edge.prototype._drawArrow=function(t){1==this.selected?(t.strokeStyle=this.color.highlight,t.fillStyle=this.color.highlight):(t.strokeStyle=this.color.color,t.fillStyle=this.color.color),t.lineWidth=this._getLineWidth();var e,i;if(this.from!=this.to){e=Math.atan2(this.to.y-this.from.y,this.to.x-this.from.x);var s=this.to.x-this.from.x,n=this.to.y-this.from.y,o=Math.sqrt(s*s+n*n),r=this.from.distanceToBorder(t,e+Math.PI),a=(o-r)/o,h=a*this.from.x+(1-a)*this.to.x,d=a*this.from.y+(1-a)*this.to.y;1==this.smooth&&(e=Math.atan2(this.to.y-this.via.y,this.to.x-this.via.x),s=this.to.x-this.via.x,n=this.to.y-this.via.y,o=Math.sqrt(s*s+n*n));var c,l,u=this.to.distanceToBorder(t,e),p=(o-u)/o;if(1==this.smooth?(c=(1-p)*this.via.x+p*this.to.x,l=(1-p)*this.via.y+p*this.to.y):(c=(1-p)*this.from.x+p*this.to.x,l=(1-p)*this.from.y+p*this.to.y),t.beginPath(),t.moveTo(h,d),1==this.smooth?t.quadraticCurveTo(this.via.x,this.via.y,c,l):t.lineTo(c,l),t.stroke(),i=10+5*this.width,t.arrow(c,l,e,i),t.fill(),t.stroke(),this.label){var g;if(1==this.smooth){var f=.5*(.5*(this.from.x+this.via.x)+.5*(this.to.x+this.via.x)),m=.5*(.5*(this.from.y+this.via.y)+.5*(this.to.y+this.via.y));g={x:f,y:m}}else g=this._pointOnLine(.5);this._label(t,this.label,g.x,g.y)}}else{var v,y,_,b=this.from,w=.25*Math.max(100,this.length);b.width||b.resize(t),b.width>b.height?(v=b.x+.5*b.width,y=b.y-w,_={x:v,y:b.y,angle:.9*Math.PI}):(v=b.x+w,y=b.y-.5*b.height,_={x:b.x,y:y,angle:.6*Math.PI}),t.beginPath(),t.arc(v,y,w,0,2*Math.PI,!1),t.stroke(),i=10+5*this.width,t.arrow(_.x,_.y,_.angle,i),t.fill(),t.stroke(),this.label&&(g=this._pointOnCircle(v,y,w,.5),this._label(t,this.label,g.x,g.y))}},Edge.prototype._getDistanceToEdge=function(t,e,i,s,n,o){if(1==this.smooth){var r,a,h,d,c,l,u=1e9;for(r=0;10>r;r++)a=.1*r,h=Math.pow(1-a,2)*t+2*a*(1-a)*this.via.x+Math.pow(a,2)*i,d=Math.pow(1-a,2)*e+2*a*(1-a)*this.via.y+Math.pow(a,2)*s,c=Math.abs(n-h),l=Math.abs(o-d),u=Math.min(u,Math.sqrt(c*c+l*l));return u}var p=i-t,g=s-e,f=p*p+g*g,m=((n-t)*p+(o-e)*g)/f;m>1?m=1:0>m&&(m=0);var h=t+m*p,d=e+m*g,c=h-n,l=d-o;return Math.sqrt(c*c+l*l)},Edge.prototype.setScale=function(t){this.graphScaleInv=1/t},Edge.prototype.select=function(){this.selected=!0},Edge.prototype.unselect=function(){this.selected=!1},Edge.prototype.positionBezierNode=function(){null!==this.via&&(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y))},Popup.prototype.setPosition=function(t,e){this.x=parseInt(t),this.y=parseInt(e)},Popup.prototype.setText=function(t){this.frame.innerHTML=t},Popup.prototype.show=function(t){if(void 0===t&&(t=!0),t){var e=this.frame.clientHeight,i=this.frame.clientWidth,s=this.frame.parentNode.clientHeight,n=this.frame.parentNode.clientWidth,o=this.y-e;o+e+this.padding>s&&(o=s-e-this.padding),on&&(r=n-i-this.padding),rthis.constants.clustering.clusterThreshold&&1==this.constants.clustering.enabled&&this.clusterToFit(this.constants.clustering.reduceToNodes,!1),this._calculateForces())},_calculateForces:function(){this._calculateGravitationalForces(),this._calculateNodeForces(),1==this.constants.smoothCurves?this._calculateSpringForcesWithSupport():this._calculateSpringForces()},_updateCalculationNodes:function(){if(1==this.constants.smoothCurves){this.calculationNodes={},this.calculationNodeIndices=[];for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(this.calculationNodes[t]=this.nodes[t]);var e=this.sectors.support.nodes;for(var i in e)e.hasOwnProperty(i)&&(this.edges.hasOwnProperty(e[i].parentEdgeId)?this.calculationNodes[i]=e[i]:e[i]._setForce(0,0));for(var s in this.calculationNodes)this.calculationNodes.hasOwnProperty(s)&&this.calculationNodeIndices.push(s)}else this.calculationNodes=this.nodes,this.calculationNodeIndices=this.nodeIndices},_calculateGravitationalForces:function(){var t,e,i,s,n,o=this.calculationNodes,r=this.constants.physics.centralGravity,a=0;for(n=0;nSimulation Mode:Barnes HutRepulsionHierarchical
Options:
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=showValueOfRange.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=showValueOfRange.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=showValueOfRange.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=showValueOfRange.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=showValueOfRange.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=showValueOfRange.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=showValueOfRange.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=showValueOfRange.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=showValueOfRange.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=showValueOfRange.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=showValueOfRange.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=showValueOfRange.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=showValueOfRange.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=showValueOfRange.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=showValueOfRange.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=showValueOfRange.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=showValueOfRange.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=showValueOfRange.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),s=document.getElementById("graph_physicsMethod2"),n=document.getElementById("graph_physicsMethod3");s.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(n.checked=!0);var o=document.getElementById("graph_toggleSmooth"),r=document.getElementById("graph_repositionNodes"),a=document.getElementById("graph_generateOptions");o.onclick=graphToggleSmoothCurves.bind(this),r.onclick=graphRepositionNodes.bind(this),a.onclick=graphGenerateOptions.bind(this),o.style.background=1==this.constants.smoothCurves?"#A4FF56":"#FF8532",switchConfigurations.apply(this),i.onchange=switchConfigurations.bind(this),s.onchange=switchConfigurations.bind(this),n.onchange=switchConfigurations.bind(this)}},_overWriteGraphConstants:function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},hierarchalRepulsionMixin={_calculateNodeForces:function(){var t,e,i,s,n,o,r,a,h,d,c=this.calculationNodes,l=this.calculationNodeIndices,u=5,p=.5*-u,g=this.constants.physics.hierarchicalRepulsion.nodeDistance,f=g;for(h=0;hi&&(o=m*i+u,0==i?i=.01:o/=i,s=t*o,n=e*o,r.fx-=s,r.fy-=n,a.fx+=s,a.fy+=n)}}},barnesHutMixin={_calculateNodeForces:function(){var t,e=this.calculationNodes,i=this.calculationNodeIndices,s=i.length;this._formBarnesHutTree(e,i);for(var n=this.barnesHutTree,o=0;s>o;o++)t=e[i[o]],this._getForceContribution(n.root.children.NW,t),this._getForceContribution(n.root.children.NE,t),this._getForceContribution(n.root.children.SW,t),this._getForceContribution(n.root.children.SE,t)},_getForceContribution:function(t,e){if(t.childrenCount>0){var i,s,n;if(i=t.centerOfMass.x-e.x,s=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+s*s),n*t.calcSize>this.constants.physics.barnesHut.theta){0==n&&(n=.1*Math.random(),i=n);var o=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.mass/(n*n*n),r=i*o,a=s*o;e.fx+=r,e.fy+=a}else if(4==t.childrenCount)this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e);else if(t.children.data.id!=e.id){0==n&&(n=.5*Math.random(),i=n);var o=this.constants.physics.barnesHut.gravitationalConstant*t.mass*e.mass/(n*n*n),r=i*o,a=s*o;e.fx+=r,e.fy+=a}}},_formBarnesHutTree:function(t,e){for(var i,s=e.length,n=Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;s>h;h++){var d=t[e[h]].x,c=t[e[h]].y;n>d&&(n=d),d>r&&(r=d),o>c&&(o=c),c>a&&(a=c)}var l=Math.abs(r-n)-Math.abs(a-o);l>0?(o-=.5*l,a+=.5*l):(n+=.5*l,r-=.5*l);var u=1e-5,p=Math.max(u,Math.abs(r-n)),g=.5*p,f=.5*(n+r),m=.5*(o+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-g,maxX:f+g,minY:m-g,maxY:m+g},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(v.root),h=0;s>h;h++)i=t[e[h]],this._placeInTree(v.root,i);this.barnesHutTree=v},_updateBranchMass:function(t,e){var i=t.mass+e.mass,s=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.mass,t.centerOfMass.x*=s,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.mass,t.centerOfMass.y*=s,t.mass=i;var n=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NW"):this._placeInRegion(t,e,"SW"):t.children.NW.range.maxY>e.y?this._placeInRegion(t,e,"NE"):this._placeInRegion(t,e,"SE")},_placeInRegion:function(t,e,i){switch(t.children[i].childrenCount){case 0:t.children[i].children.data=e,t.children[i].childrenCount=1,this._updateBranchMass(t.children[i],e);break;case 1:t.children[i].children.data.x==e.x&&t.children[i].children.data.y==e.y?(e.x+=Math.random(),e.y+=Math.random()):(this._splitBranch(t.children[i]),this._placeInTree(t.children[i],e));break;case 4:this._placeInTree(t.children[i],e)}},_splitBranch:function(t){var e=null;1==t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)},_insertRegion:function(t,e){var i,s,n,o,r=.5*t.size;switch(e){case"NW":i=t.range.minX,s=t.range.minX+r,n=t.range.minY,o=t.range.minY+r;break;case"NE":i=t.range.minX+r,s=t.range.maxX,n=t.range.minY,o=t.range.minY+r;break;case"SW":i=t.range.minX,s=t.range.minX+r,n=t.range.minY+r,o=t.range.maxY;break;case"SE":i=t.range.minX+r,s=t.range.maxX,n=t.range.minY+r,o=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:s,minY:n,maxY:o},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}},_drawTree:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))},_drawBranch:function(t,e,i){void 0===i&&(i="#FF0000"),4==t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}},repulsionMixin={_calculateNodeForces:function(){var t,e,i,s,n,o,r,a,h,d,c,l=this.calculationNodes,u=this.calculationNodeIndices,p=-2/3,g=4/3,f=this.constants.physics.repulsion.nodeDistance,m=f;for(d=0;di&&(r=.5*m>i?1:v*i+g,r*=0==o?1:1+o*this.constants.clustering.forceAmplification,r/=i,s=t*r,n=e*r,a.fx-=s,a.fy-=n,h.fx+=s,h.fy+=n)}}},HierarchicalLayoutMixin={_resetLevels:function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];0==e.preassignedLevel&&(e.level=-1)}},_setupHierarchicalLayout:function(){if(1==this.constants.hierarchicalLayout.enabled){"RL"==this.constants.hierarchicalLayout.direction||"DU"==this.constants.hierarchicalLayout.direction?this.constants.hierarchicalLayout.levelSeparation*=-1:this.constants.hierarchicalLayout.levelSeparation=Math.abs(this.constants.hierarchicalLayout.levelSeparation);var t,e,i=0,s=!1,n=!1;for(e in this.nodes)this.nodes.hasOwnProperty(e)&&(t=this.nodes[e],-1!=t.level?s=!0:n=!0,is&&(o.xFixed=!1,o.x=i[o.level].minPos,r=!0):o.yFixed&&o.level>s&&(o.yFixed=!1,o.y=i[o.level].minPos,r=!0),1==r&&(i[o.level].minPos+=i[o.level].nodeSpacing,o.edges.length>1&&this._placeBranchNodes(o.edges,o.id,i,o.level))}},_setLevel:function(t,e,i){for(var s=0;st)&&(n.level=t,e.length>1&&this._setLevel(t+1,n.edges,n.id))}},_restoreNodes:function(){for(nodeId in this.nodes)this.nodes.hasOwnProperty(nodeId)&&(this.nodes[nodeId].xFixed=!1,this.nodes[nodeId].yFixed=!1)}},manipulationMixin={_clearManipulatorBar:function(){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild)},_restoreOverloadedFunctions:function(){for(var t in this.cachedFunctions)this.cachedFunctions.hasOwnProperty(t)&&(this[t]=this.cachedFunctions[t])},_toggleEditMode:function(){this.editMode=!this.editMode;var t=document.getElementById("graph-manipulationDiv"),e=document.getElementById("graph-manipulation-closeDiv"),i=document.getElementById("graph-manipulation-editMode");1==this.editMode?(t.style.display="block",e.style.display="block",i.style.display="none",e.onclick=this._toggleEditMode.bind(this)):(t.style.display="none",e.style.display="none",i.style.display="block",e.onclick=null),this._createManipulatorBar()},_createManipulatorBar:function(){if(this.boundFunction&&this.off("select",this.boundFunction),this._restoreOverloadedFunctions(),this.freezeSimulation=!1,this.blockConnectingEdgeSelection=!1,this.forceAppendSelection=!1,1==this.editMode){for(;this.manipulationDiv.hasChildNodes();)this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);this.manipulationDiv.innerHTML="Add Node
Add Link",1==this._getSelectedNodeCount()&&this.triggerFunctions.edit&&(this.manipulationDiv.innerHTML+="
Edit Node"),0==this._selectionIsEmpty()&&(this.manipulationDiv.innerHTML+="
Delete selected");var t=document.getElementById("graph-manipulate-addNode");t.onclick=this._createAddNodeToolbar.bind(this);var e=document.getElementById("graph-manipulate-connectNode");if(e.onclick=this._createAddEdgeToolbar.bind(this),1==this._getSelectedNodeCount()&&this.triggerFunctions.edit){var i=document.getElementById("graph-manipulate-editNode");i.onclick=this._editNode.bind(this)}if(0==this._selectionIsEmpty()){var s=document.getElementById("graph-manipulate-delete");s.onclick=this._deleteSelected.bind(this)}var n=document.getElementById("graph-manipulation-closeDiv");n.onclick=this._toggleEditMode.bind(this),this.boundFunction=this._createManipulatorBar.bind(this),this.on("select",this.boundFunction)}else{this.editModeDiv.innerHTML="Edit";var o=document.getElementById("graph-manipulate-editModeButton");o.onclick=this._toggleEditMode.bind(this)}},_createAddNodeToolbar:function(){this._clearManipulatorBar(),this.boundFunction&&this.off("select",this.boundFunction),this.manipulationDiv.innerHTML="Back
Click in an empty space to place a new node";var t=document.getElementById("graph-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._addNode.bind(this),this.on("select",this.boundFunction)},_createAddEdgeToolbar:function(){this._clearManipulatorBar(),this._unselectAll(!0),this.freezeSimulation=!0,this.boundFunction&&this.off("select",this.boundFunction),this._unselectAll(),this.forceAppendSelection=!1,this.blockConnectingEdgeSelection=!0,this.manipulationDiv.innerHTML="Back
Click on a node and drag the edge to another node to connect them.";var t=document.getElementById("graph-manipulate-back");t.onclick=this._createManipulatorBar.bind(this),this.boundFunction=this._handleConnect.bind(this),this.on("select",this.boundFunction),this.cachedFunctions._handleTouch=this._handleTouch,this.cachedFunctions._handleOnRelease=this._handleOnRelease,this._handleTouch=this._handleConnect,this._handleOnRelease=this._finishConnect,this._redraw()},_handleConnect:function(t){if(0==this._getSelectedNodeCount()){var e=this._getNodeAt(t);null!=e&&(e.clusterSize>1?alert("Cannot create edges to a cluster."):(this._selectObject(e,!1),this.sectors.support.nodes.targetNode=new Node({id:"targetNode"},{},{},this.constants),this.sectors.support.nodes.targetNode.x=e.x,this.sectors.support.nodes.targetNode.y=e.y,this.sectors.support.nodes.targetViaNode=new Node({id:"targetViaNode"},{},{},this.constants),this.sectors.support.nodes.targetViaNode.x=e.x,this.sectors.support.nodes.targetViaNode.y=e.y,this.sectors.support.nodes.targetViaNode.parentEdgeId="connectionEdge",this.edges.connectionEdge=new Edge({id:"connectionEdge",from:e.id,to:this.sectors.support.nodes.targetNode.id},this,this.constants),this.edges.connectionEdge.from=e,this.edges.connectionEdge.connected=!0,this.edges.connectionEdge.smooth=!0,this.edges.connectionEdge.selected=!0,this.edges.connectionEdge.to=this.sectors.support.nodes.targetNode,this.edges.connectionEdge.via=this.sectors.support.nodes.targetViaNode,this.cachedFunctions._handleOnDrag=this._handleOnDrag,this._handleOnDrag=function(t){var e=this._getPointer(t.gesture.center);this.sectors.support.nodes.targetNode.x=this._canvasToX(e.x),this.sectors.support.nodes.targetNode.y=this._canvasToY(e.y),this.sectors.support.nodes.targetViaNode.x=.5*(this._canvasToX(e.x)+this.edges.connectionEdge.from.x),this.sectors.support.nodes.targetViaNode.y=this._canvasToY(e.y)},this.moving=!0,this.start()))}},_finishConnect:function(t){if(1==this._getSelectedNodeCount()){this._handleOnDrag=this.cachedFunctions._handleOnDrag,delete this.cachedFunctions._handleOnDrag;var e=this.edges.connectionEdge.fromId;delete this.edges.connectionEdge,delete this.sectors.support.nodes.targetNode,delete this.sectors.support.nodes.targetViaNode;var i=this._getNodeAt(t);null!=i&&(i.clusterSize>1?alert("Cannot create edges to a cluster."):(this._createEdge(e,i.id),this._createManipulatorBar())),this._unselectAll()}},_addNode:function(){if(this._selectionIsEmpty()&&1==this.editMode){var t=this._pointerToPositionObject(this.pointerPosition),e={id:util.randomUUID(),x:t.left,y:t.top,label:"new",allowedToMoveX:!0,allowedToMoveY:!0};if(this.triggerFunctions.add)if(2==this.triggerFunctions.add.length){var i=this;this.triggerFunctions.add(e,function(t){i.nodesData.add(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else alert("The function for add does not support two arguments (data,callback)."),this._createManipulatorBar(),this.moving=!0,this.start();else this.nodesData.add(e),this._createManipulatorBar(),this.moving=!0,this.start()}},_createEdge:function(t,e){if(1==this.editMode){var i={from:t,to:e};if(this.triggerFunctions.connect)if(2==this.triggerFunctions.connect.length){var s=this;this.triggerFunctions.connect(i,function(t){s.edgesData.add(t),s.moving=!0,s.start()})}else alert("The function for connect does not support two arguments (data,callback)."),this.moving=!0,this.start();else this.edgesData.add(i),this.moving=!0,this.start()}},_editNode:function(){if(this.triggerFunctions.edit&&1==this.editMode){var t=this._getSelectedNode(),e={id:t.id,label:t.label,group:t.group,shape:t.shape,color:{background:t.color.background,border:t.color.border,highlight:{background:t.color.highlight.background,border:t.color.highlight.border}}};if(2==this.triggerFunctions.edit.length){var i=this;this.triggerFunctions.edit(e,function(t){i.nodesData.update(t),i._createManipulatorBar(),i.moving=!0,i.start()})}else alert("The function for edit does not support two arguments (data, callback).")}else alert("No edit function has been bound to this button.")},_deleteSelected:function(){if(!this._selectionIsEmpty()&&1==this.editMode)if(this._clusterInSelection())alert("Clusters cannot be deleted.");else{var t=this.getSelectedNodes(),e=this.getSelectedEdges();if(this.triggerFunctions.delete){var i=this,s={nodes:t,edges:e};(this.triggerFunctions.delete.length=2)?this.triggerFunctions.delete(s,function(t){i.edgesData.remove(t.edges),i.nodesData.remove(t.nodes),this._unselectAll(),i.moving=!0,i.start()}):alert("The function for edit does not support two arguments (data, callback).")}else this.edgesData.remove(e),this.nodesData.remove(t),this._unselectAll(),this.moving=!0,this.start()}}},SectorMixin={_putDataInSector:function(){this.sectors.active[this._sector()].nodes=this.nodes,this.sectors.active[this._sector()].edges=this.edges,this.sectors.active[this._sector()].nodeIndices=this.nodeIndices},_switchToSector:function(t,e){void 0===e||"active"==e?this._switchToActiveSector(t):this._switchToFrozenSector(t)},_switchToActiveSector:function(t){this.nodeIndices=this.sectors.active[t].nodeIndices,this.nodes=this.sectors.active[t].nodes,this.edges=this.sectors.active[t].edges},_switchToSupportSector:function(){this.nodeIndices=this.sectors.support.nodeIndices,this.nodes=this.sectors.support.nodes,this.edges=this.sectors.support.edges},_switchToFrozenSector:function(t){this.nodeIndices=this.sectors.frozen[t].nodeIndices,this.nodes=this.sectors.frozen[t].nodes,this.edges=this.sectors.frozen[t].edges},_loadLatestSector:function(){this._switchToSector(this._sector())},_sector:function(){return this.activeSector[this.activeSector.length-1]},_previousSector:function(){if(this.activeSector.length>1)return this.activeSector[this.activeSector.length-2];throw new TypeError("there are not enough sectors in the this.activeSector array.")},_setActiveSector:function(t){this.activeSector.push(t)},_forgetLastSector:function(){this.activeSector.pop()},_createNewSector:function(t){this.sectors.active[t]={nodes:{},edges:{},nodeIndices:[],formationScale:this.scale,drawingNode:void 0},this.sectors.active[t].drawingNode=new Node({id:t,color:{background:"#eaefef",border:"495c5e"}},{},{},this.constants),this.sectors.active[t].drawingNode.clusterSize=2},_deleteActiveSector:function(t){delete this.sectors.active[t]},_deleteFrozenSector:function(t){delete this.sectors.frozen[t]},_freezeSector:function(t){this.sectors.frozen[t]=this.sectors.active[t],this._deleteActiveSector(t)},_activateSector:function(t){this.sectors.active[t]=this.sectors.frozen[t],this._deleteFrozenSector(t)},_mergeThisWithFrozen:function(t){for(var e in this.nodes)this.nodes.hasOwnProperty(e)&&(this.sectors.frozen[t].nodes[e]=this.nodes[e]);for(var i in this.edges)this.edges.hasOwnProperty(i)&&(this.sectors.frozen[t].edges[i]=this.edges[i]);for(var s=0;s1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},_doInSupportSector:function(t,e){if(void 0===e)this._switchToSupportSector(),this[t]();else{this._switchToSupportSector();var i=Array.prototype.splice.call(arguments,1);i.length>1?this[t](i[0],i[1]):this[t](e)}this._loadLatestSector()},_doInAllFrozenSectors:function(t,e){if(void 0===e)for(var i in this.sectors.frozen)this.sectors.frozen.hasOwnProperty(i)&&(this._switchToFrozenSector(i),this[t]());else for(var i in this.sectors.frozen)if(this.sectors.frozen.hasOwnProperty(i)){this._switchToFrozenSector(i);var s=Array.prototype.splice.call(arguments,1);s.length>1?this[t](s[0],s[1]):this[t](e)}this._loadLatestSector()},_doInAllSectors:function(t,e){var i=Array.prototype.splice.call(arguments,1);void 0===e?(this._doInAllActiveSectors(t),this._doInAllFrozenSectors(t)):i.length>1?(this._doInAllActiveSectors(t,i[0],i[1]),this._doInAllFrozenSectors(t,i[0],i[1])):(this._doInAllActiveSectors(t,e),this._doInAllFrozenSectors(t,e))},_clearNodeIndexList:function(){var t=this._sector();this.sectors.active[t].nodeIndices=[],this.nodeIndices=this.sectors.active[t].nodeIndices},_drawSectorNodes:function(t,e){var i,s=1e9,n=-1e9,o=1e9,r=-1e9;for(var a in this.sectors[e])if(this.sectors[e].hasOwnProperty(a)&&void 0!==this.sectors[e][a].drawingNode){this._switchToSector(a,e),s=1e9,n=-1e9,o=1e9,r=-1e9;for(var h in this.nodes)this.nodes.hasOwnProperty(h)&&(i=this.nodes[h],i.resize(t),o>i.x-.5*i.width&&(o=i.x-.5*i.width),ri.y-.5*i.height&&(s=i.y-.5*i.height),nt&&s>n;)n%3==0?(this.forceAggregateHubs(!0),this.normalizeClusterLevels()):this.increaseClusterLevel(),i=this.nodeIndices.length,n+=1;n>0&&1==e&&this.repositionNodes(),this._updateCalculationNodes()},openCluster:function(t){var e=this.moving;if(t.clusterSize>this.constants.clustering.sectorThreshold&&this._nodeInActiveArea(t)&&("default"!=this._sector()||1!=this.nodeIndices.length)){this._addSector(t);for(var i=0;this.nodeIndices.lengthi;)this.decreaseClusterLevel(),i+=1}else this._expandClusterNode(t,!1,!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this._updateCalculationNodes(),this.updateLabels();this.moving!=e&&this.start()},updateClustersDefault:function(){1==this.constants.clustering.enabled&&this.updateClusters(0,!1,!1)},increaseClusterLevel:function(){this.updateClusters(-1,!1,!0)},decreaseClusterLevel:function(){this.updateClusters(1,!1,!0)},updateClusters:function(t,e,i,s){var n=this.moving,o=this.nodeIndices.length;this.previousScale>this.scale&&0==t&&this._collapseSector(),this.previousScale>this.scale||-1==t?this._formClusters(i):(this.previousScalethis.scale||-1==t)&&(this._aggregateHubs(i),this._updateNodeIndexList()),(this.previousScale>this.scale||-1==t)&&(this.handleChains(),this._updateNodeIndexList()),this.previousScale=this.scale,this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.lengththis.constants.clustering.chainThreshold&&this._reduceAmountOfChains(1-this.constants.clustering.chainThreshold/t)},_aggregateHubs:function(t){this._getHubSize(),this._formClustersByHub(t,!1)},forceAggregateHubs:function(t){var e=this.moving,i=this.nodeIndices.length;this._aggregateHubs(!0),this._updateNodeIndexList(),this._updateDynamicEdges(),this.updateLabels(),this.nodeIndices.length!=i&&(this.clusterSession+=1),(0==t||void 0===t)&&this.moving!=e&&this.start()},_openClustersBySize:function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];1==e.inView()&&(e.width*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientWidth||e.height*this.scale>this.constants.clustering.screenSizeThreshold*this.frame.canvas.clientHeight)&&this.openCluster(e)}},_openClusters:function(t,e){for(var i=0;i1&&(t.clusterSizei)){var r=o.from,a=o.to;o.to.mass>o.from.mass&&(r=o.to,a=o.from),1==a.dynamicEdgesLength?this._addToCluster(r,a,!1):1==r.dynamicEdgesLength&&this._addToCluster(a,r,!1)}}},_forceClustersByZoom:function(){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t)){var e=this.nodes[t];if(1==e.dynamicEdgesLength&&0!=e.dynamicEdges.length){var i=e.dynamicEdges[0],s=i.toId==e.id?this.nodes[i.fromId]:this.nodes[i.toId];e.id!=s.id&&(s.mass>e.mass?this._addToCluster(s,e,!0):this._addToCluster(e,s,!0))}}},_clusterToSmallestNeighbour:function(t){for(var e=-1,i=null,s=0;sn.clusterSessions.length&&(e=n.clusterSessions.length,i=n)}null!=n&&void 0!==this.nodes[n.id]&&this._addToCluster(n,t,!0)},_formClustersByHub:function(t,e){for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&this._formClusterFromHub(this.nodes[i],t,e)},_formClusterFromHub:function(t,e,i,s){if(void 0===s&&(s=0),t.dynamicEdgesLength>=this.hubThreshold&&0==i||t.dynamicEdgesLength==this.hubThreshold&&1==i){for(var n,o,r,a=this.constants.clustering.clusterEdgeThreshold/this.scale,h=!1,d=[],c=t.dynamicEdges.length,l=0;c>l;l++)d.push(t.dynamicEdges[l].id);if(0==e)for(h=!1,l=0;c>l;l++){var u=this.edges[d[l]];if(void 0!==u&&u.connected&&u.toId!=u.fromId&&(n=u.to.x-u.from.x,o=u.to.y-u.from.y,r=Math.sqrt(n*n+o*o),a>r)){h=!0;break}}if(!e&&h||e)for(l=0;c>l;l++)if(u=this.edges[d[l]],void 0!==u){var p=this.nodes[u.fromId==t.id?u.toId:u.fromId];p.dynamicEdges.length<=this.hubThreshold+s&&p.id!=t.id&&this._addToCluster(t,p,e)}}},_addToCluster:function(t,e,i){t.containedNodes[e.id]=e;for(var s=0;s1)for(var s=0;s1&&(e.label="[".concat(String(e.clusterSize),"]"))}for(t in this.nodes)this.nodes.hasOwnProperty(t)&&(e=this.nodes[t],1==e.clusterSize&&(e.label=void 0!==e.originalLabel?e.originalLabel:String(e.id)))},normalizeClusterLevels:function(){var t=0,e=1e9,i=0;for(var s in this.nodes)this.nodes.hasOwnProperty(s)&&(i=this.nodes[s].clusterSessions.length,i>t&&(t=i),e>i&&(e=i));if(t-e>this.constants.clustering.clusterLevelDifference){var n=this.nodeIndices.length,o=t-this.constants.clustering.clusterLevelDifference;for(var s in this.nodes)this.nodes.hasOwnProperty(s)&&this.nodes[s].clusterSessions.lengths&&(s=o.dynamicEdgesLength),t+=o.dynamicEdgesLength,e+=Math.pow(o.dynamicEdgesLength,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r);this.hubThreshold=Math.floor(t+2*a),this.hubThreshold>s&&(this.hubThreshold=s)},_reduceAmountOfChains:function(t){this.hubThreshold=2;var e=Math.floor(this.nodeIndices.length*t);for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&e>0&&(this._formClusterFromHub(this.nodes[i],!0,!0,1),e-=1)},_getChainFraction:function(){var t=0,e=0;for(var i in this.nodes)this.nodes.hasOwnProperty(i)&&(2==this.nodes[i].dynamicEdgesLength&&this.nodes[i].dynamicEdges.length>=2&&(t+=1),e+=1);return t/e}},SelectionMixin={_getNodesOverlappingWith:function(t,e){var i=this.nodes;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},_getAllNodesOverlappingWith:function(t){var e=[];return this._doInAllActiveSectors("_getNodesOverlappingWith",t,e),e},_pointerToPositionObject:function(t){var e=this._canvasToX(t.x),i=this._canvasToY(t.y);return{left:e,top:i,right:e,bottom:i}},_getNodeAt:function(t){var e=this._pointerToPositionObject(t),i=this._getAllNodesOverlappingWith(e);return i.length>0?this.nodes[i[i.length-1]]:null},_getEdgesOverlappingWith:function(t,e){var i=this.edges;for(var s in i)i.hasOwnProperty(s)&&i[s].isOverlappingWith(t)&&e.push(s)},_getAllEdgesOverlappingWith:function(t){var e=[];return this._doInAllActiveSectors("_getEdgesOverlappingWith",t,e),e},_getEdgeAt:function(t){var e=this._pointerToPositionObject(t),i=this._getAllEdgesOverlappingWith(e);return i.length>0?this.edges[i[i.length-1]]:null},_addToSelection:function(t){t instanceof Node?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t},_removeFromSelection:function(t){t instanceof Node?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]},_unselectAll:function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].unselect();for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&this.selectionObj.edges[i].unselect();this.selectionObj={nodes:{},edges:{}},0==t&&this.emit("select",this.getSelection())},_unselectClusters:function(t){void 0===t&&(t=!1);for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&this.selectionObj.nodes[e].clusterSize>1&&(this.selectionObj.nodes[e].unselect(),this._removeFromSelection(this.selectionObj.nodes[e]));0==t&&this.emit("select",this.getSelection())},_getSelectedNodeCount:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t},_getSelectedNode:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return null},_getSelectedEdgeCount:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t},_getSelectedObjectCount:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);for(var i in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(i)&&(t+=1);return t},_selectionIsEmpty:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return!1;for(var e in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(e))return!1;return!0},_clusterInSelection:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1},_selectConnectedEdges:function(t){for(var e=0;ee;e++){s=t[e];var n=this.nodes[s];if(!n)throw new RangeError('Node with id "'+s+'" not found');this._selectObject(n,!0,!0)}this.redraw()},_updateSelection:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},NavigationMixin={_cleanNavigation:function(){var t=document.getElementById("graph-navigation_wrapper");null!=t&&this.containerElement.removeChild(t),document.onmouseup=null},_loadNavigationElements:function(){this._cleanNavigation(),this.navigationDivs={};var t=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],e=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","zoomExtent"];this.navigationDivs.wrapper=document.createElement("div"),this.navigationDivs.wrapper.id="graph-navigation_wrapper",this.navigationDivs.wrapper.style.position="absolute",this.navigationDivs.wrapper.style.width=this.frame.canvas.clientWidth+"px",this.navigationDivs.wrapper.style.height=this.frame.canvas.clientHeight+"px",this.containerElement.insertBefore(this.navigationDivs.wrapper,this.frame);for(var i=0;it.x&&(s=t.x),nt.y&&(e=t.y),i=this.constants.clustering.initialMaxNodes?49.07548/(n+142.05338)+91444e-8:12.662/(n+7.4147)+.0964822:1==this.constants.clustering.enabled&&n>=this.constants.clustering.initialMaxNodes?77.5271985/(n+187.266146)+476710517e-13:30.5062972/(n+19.93597763)+.08413486;var o=Math.min(this.frame.canvas.clientWidth/600,this.frame.canvas.clientHeight/600);i*=o}else{var r=1.1*(Math.abs(s.minX)+Math.abs(s.maxX)),a=1.1*(Math.abs(s.minY)+Math.abs(s.maxY)),h=this.frame.canvas.clientWidth/r,d=this.frame.canvas.clientHeight/a;i=d>=h?h:d}i>1&&(i=1),this._setScale(i),this._centerGraph(s),0==e&&(this.moving=!0,this.start())},Graph.prototype._updateNodeIndexList=function(){this._clearNodeIndexList();for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&this.nodeIndices.push(t)},Graph.prototype.setData=function(t,e){if(void 0===e&&(e=!1),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){if(t&&t.dot){var i=vis.util.DOTToGraph(t.dot);return void this.setData(i)}}else this._setNodes(t&&t.nodes),this._setEdges(t&&t.edges);this._putDataInSector(),e||(this.stabilize&&this._stabilize(),this.start())},Graph.prototype.setOptions=function(t){if(t){var e;if(void 0!==t.width&&(this.width=t.width),void 0!==t.height&&(this.height=t.height),void 0!==t.stabilize&&(this.stabilize=t.stabilize),void 0!==t.selectable&&(this.selectable=t.selectable),void 0!==t.smoothCurves&&(this.constants.smoothCurves=t.smoothCurves),void 0!==t.freezeForStabilization&&(this.constants.freezeForStabilization=t.freezeForStabilization),void 0!==t.configurePhysics&&(this.constants.configurePhysics=t.configurePhysics),void 0!==t.stabilizationIterations&&(this.constants.stabilizationIterations=t.stabilizationIterations),t.onAdd&&(this.triggerFunctions.add=t.onAdd),t.onEdit&&(this.triggerFunctions.edit=t.onEdit),t.onConnect&&(this.triggerFunctions.connect=t.onConnect),t.onDelete&&(this.triggerFunctions.delete=t.onDelete),t.physics){if(t.physics.barnesHut){this.constants.physics.barnesHut.enabled=!0;for(e in t.physics.barnesHut)t.physics.barnesHut.hasOwnProperty(e)&&(this.constants.physics.barnesHut[e]=t.physics.barnesHut[e])}if(t.physics.repulsion){this.constants.physics.barnesHut.enabled=!1;for(e in t.physics.repulsion)t.physics.repulsion.hasOwnProperty(e)&&(this.constants.physics.repulsion[e]=t.physics.repulsion[e])}}if(t.hierarchicalLayout){this.constants.hierarchicalLayout.enabled=!0;for(e in t.hierarchicalLayout)t.hierarchicalLayout.hasOwnProperty(e)&&(this.constants.hierarchicalLayout[e]=t.hierarchicalLayout[e])}else void 0!==t.hierarchicalLayout&&(this.constants.hierarchicalLayout.enabled=!1);if(t.clustering){this.constants.clustering.enabled=!0;for(e in t.clustering)t.clustering.hasOwnProperty(e)&&(this.constants.clustering[e]=t.clustering[e])}else void 0!==t.clustering&&(this.constants.clustering.enabled=!1);if(t.navigation){this.constants.navigation.enabled=!0;for(e in t.navigation)t.navigation.hasOwnProperty(e)&&(this.constants.navigation[e]=t.navigation[e])}else void 0!==t.navigation&&(this.constants.navigation.enabled=!1);if(t.keyboard){this.constants.keyboard.enabled=!0;for(e in t.keyboard)t.keyboard.hasOwnProperty(e)&&(this.constants.keyboard[e]=t.keyboard[e])}else void 0!==t.keyboard&&(this.constants.keyboard.enabled=!1);if(t.dataManipulation){this.constants.dataManipulation.enabled=!0;for(e in t.dataManipulation)t.dataManipulation.hasOwnProperty(e)&&(this.constants.dataManipulation[e]=t.dataManipulation[e])}else void 0!==t.dataManipulation&&(this.constants.dataManipulation.enabled=!1);if(t.edges){for(e in t.edges)t.edges.hasOwnProperty(e)&&"object"!=typeof t.edges[e]&&(this.constants.edges[e]=t.edges[e]);void 0!==t.edges.color&&(util.isString(t.edges.color)?(this.constants.edges.color.color=t.edges.color,this.constants.edges.color.highlight=t.edges.color):(void 0!==t.edges.color.color&&(this.constants.edges.color.color=t.edges.color.color),void 0!==t.edges.color.highlight&&(this.constants.edges.color.highlight=t.edges.color.highlight))),t.edges.fontColor||void 0!==t.edges.color&&(util.isString(t.edges.color)?this.constants.edges.fontColor=t.edges.color:void 0!==t.edges.color.color&&(this.constants.edges.fontColor=t.edges.color.color)),t.edges.dash&&(void 0!==t.edges.dash.length&&(this.constants.edges.dash.length=t.edges.dash.length),void 0!==t.edges.dash.gap&&(this.constants.edges.dash.gap=t.edges.dash.gap),void 0!==t.edges.dash.altLength&&(this.constants.edges.dash.altLength=t.edges.dash.altLength))}if(t.nodes){for(e in t.nodes)t.nodes.hasOwnProperty(e)&&(this.constants.nodes[e]=t.nodes[e]);t.nodes.color&&(this.constants.nodes.color=Node.parseColor(t.nodes.color))}if(t.groups)for(var i in t.groups)if(t.groups.hasOwnProperty(i)){var s=t.groups[i];this.groups.add(i,s)}}this._loadPhysicsSystem(),this._loadNavigationControls(),this._loadManipulationSystem(),this._configureSmoothCurves(),this._createKeyBinds(),this.setSize(this.width,this.height),this._setTranslation(this.frame.clientWidth/2,this.frame.clientHeight/2),this._setScale(1),this._redraw()},Graph.prototype._create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);if(this.frame=document.createElement("div"),this.frame.className="graph-frame",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.style.zIndex="1",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),!this.frame.canvas.getContext){var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}var e=this;this.drag={},this.pinch={},this.hammer=Hammer(this.frame.canvas,{prevent_default:!0}),this.hammer.on("tap",e._onTap.bind(e)),this.hammer.on("doubletap",e._onDoubleTap.bind(e)),this.hammer.on("hold",e._onHold.bind(e)),this.hammer.on("pinch",e._onPinch.bind(e)),this.hammer.on("touch",e._onTouch.bind(e)),this.hammer.on("dragstart",e._onDragStart.bind(e)),this.hammer.on("drag",e._onDrag.bind(e)),this.hammer.on("dragend",e._onDragEnd.bind(e)),this.hammer.on("release",e._onRelease.bind(e)),this.hammer.on("mousewheel",e._onMouseWheel.bind(e)),this.hammer.on("DOMMouseScroll",e._onMouseWheel.bind(e)),this.hammer.on("mousemove",e._onMouseMoveTitle.bind(e)),this.containerElement.appendChild(this.frame)},Graph.prototype._createKeyBinds=function(){var t=this;this.mousetrap=mousetrap,this.mousetrap.reset(),1==this.constants.keyboard.enabled&&(this.mousetrap.bind("up",this._moveUp.bind(t),"keydown"),this.mousetrap.bind("up",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("down",this._moveDown.bind(t),"keydown"),this.mousetrap.bind("down",this._yStopMoving.bind(t),"keyup"),this.mousetrap.bind("left",this._moveLeft.bind(t),"keydown"),this.mousetrap.bind("left",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("right",this._moveRight.bind(t),"keydown"),this.mousetrap.bind("right",this._xStopMoving.bind(t),"keyup"),this.mousetrap.bind("=",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("=",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("-",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("-",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("[",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("[",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("]",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("]",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pageup",this._zoomIn.bind(t),"keydown"),this.mousetrap.bind("pageup",this._stopZoom.bind(t),"keyup"),this.mousetrap.bind("pagedown",this._zoomOut.bind(t),"keydown"),this.mousetrap.bind("pagedown",this._stopZoom.bind(t),"keyup")),1==this.constants.dataManipulation.enabled&&(this.mousetrap.bind("escape",this._createManipulatorBar.bind(t)),this.mousetrap.bind("del",this._deleteSelected.bind(t)))},Graph.prototype._getPointer=function(t){return{x:t.pageX-vis.util.getAbsoluteLeft(this.frame.canvas),y:t.pageY-vis.util.getAbsoluteTop(this.frame.canvas)}},Graph.prototype._onTouch=function(t){this.drag.pointer=this._getPointer(t.gesture.center),this.drag.pinched=!1,this.pinch.scale=this._getScale(),this._handleTouch(this.drag.pointer)},Graph.prototype._onDragStart=function(){this._handleDragStart()},Graph.prototype._handleDragStart=function(){var t=this.drag,e=this._getNodeAt(t.pointer);if(t.dragging=!0,t.selection=[],t.translation=this._getTranslation(),t.nodeId=null,null!=e){t.nodeId=e.id,e.isSelected()||this._selectObject(e,!1);for(var i in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(i)){var s=this.selectionObj.nodes[i],n={id:s.id,node:s,x:s.x,y:s.y,xFixed:s.xFixed,yFixed:s.yFixed};s.xFixed=!0,s.yFixed=!0,t.selection.push(n)}}},Graph.prototype._onDrag=function(t){this._handleOnDrag(t)},Graph.prototype._handleOnDrag=function(t){if(!this.drag.pinched){var e=this._getPointer(t.gesture.center),i=this,s=this.drag,n=s.selection;if(n&&n.length){var o=e.x-s.pointer.x,r=e.y-s.pointer.y;n.forEach(function(t){var e=t.node;t.xFixed||(e.x=i._canvasToX(i._xToCanvas(t.x)+o)),t.yFixed||(e.y=i._canvasToY(i._yToCanvas(t.y)+r))}),this.moving||(this.moving=!0,this.start())}else{var a=e.x-this.drag.pointer.x,h=e.y-this.drag.pointer.y;this._setTranslation(this.drag.translation.x+a,this.drag.translation.y+h),this._redraw(),this.moved=!0}}},Graph.prototype._onDragEnd=function(){this.drag.dragging=!1;var t=this.drag.selection;t&&t.forEach(function(t){t.node.xFixed=t.xFixed,t.node.yFixed=t.yFixed})},Graph.prototype._onTap=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleTap(e)},Graph.prototype._onDoubleTap=function(t){var e=this._getPointer(t.gesture.center);this._handleDoubleTap(e)},Graph.prototype._onHold=function(t){var e=this._getPointer(t.gesture.center);this.pointerPosition=e,this._handleOnHold(e)},Graph.prototype._onRelease=function(t){var e=this._getPointer(t.gesture.center);this._handleOnRelease(e)},Graph.prototype._onPinch=function(t){var e=this._getPointer(t.gesture.center);this.drag.pinched=!0,"scale"in this.pinch||(this.pinch.scale=1);var i=this.pinch.scale*t.gesture.scale;this._zoom(i,e)},Graph.prototype._zoom=function(t,e){var i=this._getScale();1e-5>t&&(t=1e-5),t>10&&(t=10);var s=this._getTranslation(),n=t/i,o=(1-n)*e.x+s.x*n,r=(1-n)*e.y+s.y*n;return this.areaCenter={x:this._canvasToX(e.x),y:this._canvasToY(e.y)},this._setScale(t),this._setTranslation(o,r),this.updateClustersDefault(),this._redraw(),t},Graph.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i=this._getScale(),s=e/10;0>e&&(s/=1-s),i*=1+s;var n=util.fakeGesture(this,t),o=this._getPointer(n.center);this._zoom(i,o)}t.preventDefault()},Graph.prototype._onMouseMoveTitle=function(t){var e=util.fakeGesture(this,t),i=this._getPointer(e.center);this.popupNode&&this._checkHidePopup(i);var s=this,n=function(){s._checkShowPopup(i)};this.popupTimer&&clearInterval(this.popupTimer),this.drag.dragging||(this.popupTimer=setTimeout(n,300))},Graph.prototype._checkShowPopup=function(t){var e,i={left:this._canvasToX(t.x),top:this._canvasToY(t.y),right:this._canvasToX(t.x),bottom:this._canvasToY(t.y)},s=this.popupNode;if(void 0==this.popupNode){var n=this.nodes;for(e in n)if(n.hasOwnProperty(e)){var o=n[e];if(void 0!==o.getTitle()&&o.isOverlappingWith(i)){this.popupNode=o;break}}}if(void 0===this.popupNode){var r=this.edges;for(e in r)if(r.hasOwnProperty(e)){var a=r[e];if(a.connected&&void 0!==a.getTitle()&&a.isOverlappingWith(i)){this.popupNode=a;break}}}if(this.popupNode){if(this.popupNode!=s){var h=this;h.popup||(h.popup=new Popup(h.frame)),h.popup.setPosition(t.x-3,t.y-3),h.popup.setText(h.popupNode.getTitle()),h.popup.show()}}else this.popup&&this.popup.hide()},Graph.prototype._checkHidePopup=function(t){this.popupNode&&this._getNodeAt(t)||(this.popupNode=void 0,this.popup&&this.popup.hide())},Graph.prototype.setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,void 0!==this.manipulationDiv&&(this.manipulationDiv.style.width=this.frame.canvas.clientWidth+"px"),void 0!==this.navigationDivs&&void 0!==this.navigationDivs.wrapper&&(this.navigationDivs.wrapper.style.width=this.frame.canvas.clientWidth+"px",this.navigationDivs.wrapper.style.height=this.frame.canvas.clientHeight+"px"),this.emit("resize",{width:this.frame.canvas.width,height:this.frame.canvas.height})},Graph.prototype._setNodes=function(t){var e=this.nodesData;if(t instanceof DataSet||t instanceof DataView)this.nodesData=t;else if(t instanceof Array)this.nodesData=new DataSet,this.nodesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.nodesData=new DataSet}if(e&&util.forEach(this.nodesListeners,function(t,i){e.off(i,t)}),this.nodes={},this.nodesData){var i=this;util.forEach(this.nodesListeners,function(t,e){i.nodesData.on(e,t)});var s=this.nodesData.getIds();this._addNodes(s)}this._updateSelection()},Graph.prototype._addNodes=function(t){for(var e,i=0,s=t.length;s>i;i++){e=t[i];var n=this.nodesData.get(e),o=new Node(n,this.images,this.groups,this.constants);if(this.nodes[e]=o,!(0!=o.xFixed&&0!=o.yFixed||null!==o.x&&null!==o.y)){var r=1*t.length,a=2*Math.PI*Math.random();0==o.xFixed&&(o.x=r*Math.cos(a)),0==o.yFixed&&(o.y=r*Math.sin(a))}this.moving=!0}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateValueRange(this.nodes),this.updateLabels()},Graph.prototype._updateNodes=function(t){for(var e=this.nodes,i=this.nodesData,s=0,n=t.length;n>s;s++){var o=t[s],r=e[o],a=i.get(o);r?r.setProperties(a,this.constants):(r=new Node(properties,this.images,this.groups,this.constants),e[o]=r,r.isFixed()||(this.moving=!0))}this._updateNodeIndexList(),this._reconnectEdges(),this._updateValueRange(e)},Graph.prototype._removeNodes=function(t){for(var e=this.nodes,i=0,s=t.length;s>i;i++){var n=t[i];delete e[n]}this._updateNodeIndexList(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes(),this._reconnectEdges(),this._updateSelection(),this._updateValueRange(e)},Graph.prototype._setEdges=function(t){var e=this.edgesData;if(t instanceof DataSet||t instanceof DataView)this.edgesData=t;else if(t instanceof Array)this.edgesData=new DataSet,this.edgesData.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.edgesData=new DataSet}if(e&&util.forEach(this.edgesListeners,function(t,i){e.off(i,t)}),this.edges={},this.edgesData){var i=this;util.forEach(this.edgesListeners,function(t,e){i.edgesData.on(e,t)});var s=this.edgesData.getIds();this._addEdges(s)}this._reconnectEdges()},Graph.prototype._addEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,n=t.length;n>s;s++){var o=t[s],r=e[o];r&&r.disconnect();var a=i.get(o,{showInternalIds:!0});e[o]=new Edge(a,this,this.constants)}this.moving=!0,this._updateValueRange(e),this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},Graph.prototype._updateEdges=function(t){for(var e=this.edges,i=this.edgesData,s=0,n=t.length;n>s;s++){var o=t[s],r=i.get(o),a=e[o];a?(a.disconnect(),a.setProperties(r,this.constants),a.connect()):(a=new Edge(r,this,this.constants),this.edges[o]=a)}this._createBezierNodes(),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this.moving=!0,this._updateValueRange(e)},Graph.prototype._removeEdges=function(t){for(var e=this.edges,i=0,s=t.length;s>i;i++){var n=t[i],o=e[n];o&&(null!=o.via&&delete this.sectors.support.nodes[o.via.id],o.disconnect(),delete e[n])}this.moving=!0,this._updateValueRange(e),1==this.constants.hierarchicalLayout.enabled&&0==this.initializing&&(this._resetLevels(),this._setupHierarchicalLayout()),this._updateCalculationNodes()},Graph.prototype._reconnectEdges=function(){var t,e=this.nodes,i=this.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var s=i[t];s.from=null,s.to=null,s.connect()}},Graph.prototype._updateValueRange=function(t){var e,i=void 0,s=void 0;for(e in t)if(t.hasOwnProperty(e)){var n=t[e].getValue();void 0!==n&&(i=void 0===i?n:Math.min(n,i),s=void 0===s?n:Math.max(n,s))}if(void 0!==i&&void 0!==s)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,s)},Graph.prototype.redraw=function(){this.setSize(this.width,this.height),this._redraw()},Graph.prototype._redraw=function(){var t=this.frame.canvas.getContext("2d"),e=this.frame.canvas.width,i=this.frame.canvas.height;t.clearRect(0,0,e,i),t.save(),t.translate(this.translation.x,this.translation.y),t.scale(this.scale,this.scale),this.canvasTopLeft={x:this._canvasToX(0),y:this._canvasToY(0)},this.canvasBottomRight={x:this._canvasToX(this.frame.canvas.clientWidth),y:this._canvasToY(this.frame.canvas.clientHeight)},this._doInAllSectors("_drawAllSectorNodes",t),this._doInAllSectors("_drawEdges",t),this._doInAllSectors("_drawNodes",t,!1),t.restore()},Graph.prototype._setTranslation=function(t,e){void 0===this.translation&&(this.translation={x:0,y:0}),void 0!==t&&(this.translation.x=t),void 0!==e&&(this.translation.y=e)},Graph.prototype._getTranslation=function(){return{x:this.translation.x,y:this.translation.y}},Graph.prototype._setScale=function(t){this.scale=t},Graph.prototype._getScale=function(){return this.scale},Graph.prototype._canvasToX=function(t){return(t-this.translation.x)/this.scale},Graph.prototype._xToCanvas=function(t){return t*this.scale+this.translation.x},Graph.prototype._canvasToY=function(t){return(t-this.translation.y)/this.scale},Graph.prototype._yToCanvas=function(t){return t*this.scale+this.translation.y},Graph.prototype._drawNodes=function(t,e){void 0===e&&(e=!1);var i=this.nodes,s=[];for(var n in i)i.hasOwnProperty(n)&&(i[n].setScaleAndPos(this.scale,this.canvasTopLeft,this.canvasBottomRight),i[n].isSelected()?s.push(n):(i[n].inArea()||e)&&i[n].draw(t));for(var o=0,r=s.length;r>o;o++)(i[s[o]].inArea()||e)&&i[s[o]].draw(t)},Graph.prototype._drawEdges=function(t){var e=this.edges;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];s.setScale(this.scale),s.connected&&e[i].draw(t)}},Graph.prototype._stabilize=function(){1==this.constants.freezeForStabilization&&this._freezeDefinedNodes();for(var t=0;this.moving&&t0)for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStepLimited(e,this.constants.maxVelocity),s=!0);else for(t in i)i.hasOwnProperty(t)&&(i[t].discreteStep(e),s=!0);if(1==s){var n=this.constants.minVelocity/Math.max(this.scale,.05);this.moving=n>.5*this.constants.maxVelocity?!0:this._isMoving(n)}},Graph.prototype._physicsTick=function(){this.freezeSimulation||this.moving&&(this._doInAllActiveSectors("_initializeForceCalculation"),this._doInAllActiveSectors("_discreteStepNodes"),this.constants.smoothCurves&&this._doInSupportSector("_discreteStepNodes"),this._findCenter(this._getRange()))},Graph.prototype._animationStep=function(){this.timer=void 0,this._handleNavigation(),this.start();var t=Date.now(),e=1;this._physicsTick();for(var i=Date.now()-t;is;++s)i[s].apply(this,e)}return this},i.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},i.prototype.hasListeners=function(t){return!!this.listeners(t).length}},{}],3:[function(t,e){!function(t,i){"use strict";function s(){if(!n.READY){n.event.determineEventTypes();for(var t in n.gestures)n.gestures.hasOwnProperty(t)&&n.detection.register(n.gestures[t]);n.event.onTouch(n.DOCUMENT,n.EVENT_MOVE,n.detection.detect),n.event.onTouch(n.DOCUMENT,n.EVENT_END,n.detection.detect),n.READY=!0}}var n=function(t,e){return new n.Instance(t,e||{})};n.defaults={stop_browser_behavior:{userSelect:"none",touchAction:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},n.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,n.HAS_TOUCHEVENTS="ontouchstart"in t,n.MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i,n.NO_MOUSEEVENTS=n.HAS_TOUCHEVENTS&&navigator.userAgent.match(n.MOBILE_REGEX),n.EVENT_TYPES={},n.DIRECTION_DOWN="down",n.DIRECTION_LEFT="left",n.DIRECTION_UP="up",n.DIRECTION_RIGHT="right",n.POINTER_MOUSE="mouse",n.POINTER_TOUCH="touch",n.POINTER_PEN="pen",n.EVENT_START="start",n.EVENT_MOVE="move",n.EVENT_END="end",n.DOCUMENT=document,n.plugins={},n.READY=!1,n.Instance=function(t,e){var i=this;return s(),this.element=t,this.enabled=!0,this.options=n.utils.extend(n.utils.extend({},n.defaults),e||{}),this.options.stop_browser_behavior&&n.utils.stopDefaultBrowserBehavior(this.element,this.options.stop_browser_behavior),n.event.onTouch(t,n.EVENT_START,function(t){i.enabled&&n.detection.startDetect(i,t)}),this},n.Instance.prototype={on:function(t,e){for(var i=t.split(" "),s=0;s0&&e==n.EVENT_END?e=n.EVENT_MOVE:c||(e=n.EVENT_END),c||null===o?o=h:h=o,i.call(n.detection,s.collectEventData(t,e,h)),n.HAS_POINTEREVENTS&&e==n.EVENT_END&&(c=n.PointerEvent.updatePointer(e,h))),c||(o=null,r=!1,a=!1,n.PointerEvent.reset())}})},determineEventTypes:function(){var t;t=n.HAS_POINTEREVENTS?n.PointerEvent.getEvents():n.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],n.EVENT_TYPES[n.EVENT_START]=t[0],n.EVENT_TYPES[n.EVENT_MOVE]=t[1],n.EVENT_TYPES[n.EVENT_END]=t[2]},getTouchList:function(t){return n.HAS_POINTEREVENTS?n.PointerEvent.getTouchList():t.touches?t.touches:[{identifier:1,pageX:t.pageX,pageY:t.pageY,target:t.target}]},collectEventData:function(t,e,i){var s=this.getTouchList(i,e),o=n.POINTER_TOUCH;return(i.type.match(/mouse/)||n.PointerEvent.matchType(n.POINTER_MOUSE,i))&&(o=n.POINTER_MOUSE),{center:n.utils.getCenter(s),timeStamp:(new Date).getTime(),target:i.target,touches:s,eventType:e,pointerType:o,srcEvent:i,preventDefault:function(){this.srcEvent.preventManipulation&&this.srcEvent.preventManipulation(),this.srcEvent.preventDefault&&this.srcEvent.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return n.detection.stopDetect()}}}},n.PointerEvent={pointers:{},getTouchList:function(){var t=this,e=[];return Object.keys(t.pointers).sort().forEach(function(i){e.push(t.pointers[i])}),e},updatePointer:function(t,e){return t==n.EVENT_END?this.pointers={}:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e),Object.keys(this.pointers).length},matchType:function(t,e){if(!e.pointerType)return!1;var i={};return i[n.POINTER_MOUSE]=e.pointerType==e.MSPOINTER_TYPE_MOUSE||e.pointerType==n.POINTER_MOUSE,i[n.POINTER_TOUCH]=e.pointerType==e.MSPOINTER_TYPE_TOUCH||e.pointerType==n.POINTER_TOUCH,i[n.POINTER_PEN]=e.pointerType==e.MSPOINTER_TYPE_PEN||e.pointerType==n.POINTER_PEN,i[t]},getEvents:function(){return["pointerdown MSPointerDown","pointermove MSPointerMove","pointerup pointercancel MSPointerUp MSPointerCancel"]},reset:function(){this.pointers={}}},n.utils={extend:function(t,e,s){for(var n in e)t[n]!==i&&s||(t[n]=e[n]);return t},hasParent:function(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1},getCenter:function(t){for(var e=[],i=[],s=0,n=t.length;n>s;s++)e.push(t[s].pageX),i.push(t[s].pageY);return{pageX:(Math.min.apply(Math,e)+Math.max.apply(Math,e))/2,pageY:(Math.min.apply(Math,i)+Math.max.apply(Math,i))/2}},getVelocity:function(t,e,i){return{x:Math.abs(e/t)||0,y:Math.abs(i/t)||0}},getAngle:function(t,e){var i=e.pageY-t.pageY,s=e.pageX-t.pageX;return 180*Math.atan2(i,s)/Math.PI},getDirection:function(t,e){var i=Math.abs(t.pageX-e.pageX),s=Math.abs(t.pageY-e.pageY);return i>=s?t.pageX-e.pageX>0?n.DIRECTION_LEFT:n.DIRECTION_RIGHT:t.pageY-e.pageY>0?n.DIRECTION_UP:n.DIRECTION_DOWN},getDistance:function(t,e){var i=e.pageX-t.pageX,s=e.pageY-t.pageY;return Math.sqrt(i*i+s*s)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==n.DIRECTION_UP||t==n.DIRECTION_DOWN},stopDefaultBrowserBehavior:function(t,e){var i,s=["webkit","khtml","moz","ms","o",""];if(e&&t.style){for(var n=0;ni;i++){var o=this.gestures[i];if(!this.stopped&&e[o.name]!==!1&&o.handler.call(o,t,this.current.inst)===!1){this.stopDetect();break}}return this.current&&(this.current.lastEvent=t),t.eventType==n.EVENT_END&&!t.touches.length-1&&this.stopDetect(),t}},stopDetect:function(){this.previous=n.utils.extend({},this.current),this.current=null,this.stopped=!0},extendEventData:function(t){var e=this.current.startEvent;if(e&&(t.touches.length!=e.touches.length||t.touches===e.touches)){e.touches=[];for(var i=0,s=t.touches.length;s>i;i++)e.touches.push(n.utils.extend({},t.touches[i]))}var o=t.timeStamp-e.timeStamp,r=t.center.pageX-e.center.pageX,a=t.center.pageY-e.center.pageY,h=n.utils.getVelocity(o,r,a);return n.utils.extend(t,{deltaTime:o,deltaX:r,deltaY:a,velocityX:h.x,velocityY:h.y,distance:n.utils.getDistance(e.center,t.center),angle:n.utils.getAngle(e.center,t.center),direction:n.utils.getDirection(e.center,t.center),scale:n.utils.getScale(e.touches,t.touches),rotation:n.utils.getRotation(e.touches,t.touches),startEvent:e}),t},register:function(t){var e=t.defaults||{};return e[t.name]===i&&(e[t.name]=!0),n.utils.extend(n.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort(function(t,e){return t.indexe.index?1:0}),this.gestures}},n.gestures=n.gestures||{},n.gestures.Hold={name:"hold",index:10,defaults:{hold_timeout:500,hold_threshold:1},timer:null,handler:function(t,e){switch(t.eventType){case n.EVENT_START:clearTimeout(this.timer),n.detection.current.name=this.name,this.timer=setTimeout(function(){"hold"==n.detection.current.name&&e.trigger("hold",t)},e.options.hold_timeout);break;case n.EVENT_MOVE:t.distance>e.options.hold_threshold&&clearTimeout(this.timer);break;case n.EVENT_END:clearTimeout(this.timer)}}},n.gestures.Tap={name:"tap",index:100,defaults:{tap_max_touchtime:250,tap_max_distance:10,tap_always:!0,doubletap_distance:20,doubletap_interval:300},handler:function(t,e){if(t.eventType==n.EVENT_END){var i=n.detection.previous,s=!1;if(t.deltaTime>e.options.tap_max_touchtime||t.distance>e.options.tap_max_distance)return;i&&"tap"==i.name&&t.timeStamp-i.lastEvent.timeStamp0&&t.touches.length>e.options.swipe_max_touches)return;(t.velocityX>e.options.swipe_velocity||t.velocityY>e.options.swipe_velocity)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},n.gestures.Drag={name:"drag",index:50,defaults:{drag_min_distance:10,drag_max_touches:1,drag_block_horizontal:!1,drag_block_vertical:!1,drag_lock_to_axis:!1,drag_lock_min_distance:25},triggered:!1,handler:function(t,e){if(n.detection.current.name!=this.name&&this.triggered)return e.trigger(this.name+"end",t),void(this.triggered=!1);if(!(e.options.drag_max_touches>0&&t.touches.length>e.options.drag_max_touches))switch(t.eventType){case n.EVENT_START:this.triggered=!1;break;case n.EVENT_MOVE:if(t.distancee.options.transform_min_rotation&&e.trigger("rotate",t),i>e.options.transform_min_scale&&(e.trigger("pinch",t),e.trigger("pinch"+(t.scale<1?"in":"out"),t));break;case n.EVENT_END:this.triggered&&e.trigger(this.name+"end",t),this.triggered=!1}}},n.gestures.Touch={name:"touch",index:-1/0,defaults:{prevent_default:!1,prevent_mouseevents:!1},handler:function(t,e){return e.options.prevent_mouseevents&&t.pointerType==n.POINTER_MOUSE?void t.stopDetect():(e.options.prevent_default&&t.preventDefault(),void(t.eventType==n.EVENT_START&&e.trigger(this.name,t)))}},n.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==n.EVENT_END&&e.trigger(this.name,t)}},"object"==typeof e&&"object"==typeof e.exports?e.exports=n:(t.Hammer=n,"function"==typeof t.define&&t.define.amd&&t.define("hammer",[],function(){return n}))}(this)},{}],4:[function(t,e){(function(i){function s(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function n(t,e){return function(i){return u(t.call(this,i),e)}}function o(t,e){return function(i){return this.lang().ordinal(t.call(this,i),e)}}function r(){}function a(t){E(t),d(this,t)}function h(t){var e=y(t),i=e.year||0,s=e.month||0,n=e.week||0,o=e.day||0,r=e.hour||0,a=e.minute||0,h=e.second||0,d=e.millisecond||0;this._milliseconds=+d+1e3*h+6e4*a+36e5*r,this._days=+o+7*n,this._months=+s+12*i,this._data={},this._bubble()}function d(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return e.hasOwnProperty("toString")&&(t.toString=e.toString),e.hasOwnProperty("valueOf")&&(t.valueOf=e.valueOf),t}function c(t){var e,i={};for(e in t)t.hasOwnProperty(e)&&ye.hasOwnProperty(e)&&(i[e]=t[e]);return i}function l(t){return 0>t?Math.ceil(t):Math.floor(t)}function u(t,e,i){for(var s=""+Math.abs(t),n=t>=0;s.lengths;s++)(i&&t[s]!==e[s]||!i&&b(t[s])!==b(e[s]))&&r++;return r+o}function v(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=qe[t]||Xe[e]||e}return t}function y(t){var e,i,s={};for(i in t)t.hasOwnProperty(i)&&(e=v(i),e&&(s[e]=t[i]));return s}function _(t){var e,s;if(0===t.indexOf("week"))e=7,s="day";else{if(0!==t.indexOf("month"))return;e=12,s="month"}oe[t]=function(n,o){var r,a,h=oe.fn._lang[t],d=[];if("number"==typeof n&&(o=n,n=i),a=function(t){var e=oe().utc().set(s,t);return h.call(oe.fn._lang,e,n||"")},null!=o)return a(o);for(r=0;e>r;r++)d.push(a(r));return d}}function b(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function w(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function S(t){return x(t)?366:365}function x(t){return t%4===0&&t%100!==0||t%400===0}function E(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[le]<0||t._a[le]>11?le:t._a[ue]<1||t._a[ue]>w(t._a[ce],t._a[le])?ue:t._a[pe]<0||t._a[pe]>23?pe:t._a[ge]<0||t._a[ge]>59?ge:t._a[fe]<0||t._a[fe]>59?fe:t._a[me]<0||t._a[me]>999?me:-1,t._pf._overflowDayOfYear&&(ce>e||e>ue)&&(e=ue),t._pf.overflow=e)}function T(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function D(t){return t?t.toLowerCase().replace("_","-"):t}function C(t,e){return e._isUTC?oe(t).zone(e._offset||0):oe(t).local()}function M(t,e){return e.abbr=t,ve[t]||(ve[t]=new r),ve[t].set(e),ve[t]}function I(t){delete ve[t]}function N(e){var i,s,n,o,r=0,a=function(e){if(!ve[e]&&_e)try{t("./lang/"+e)}catch(i){}return ve[e]};if(!e)return oe.fn._lang;if(!g(e)){if(s=a(e))return s;e=[e]}for(;r0;){if(s=a(o.slice(0,i).join("-")))return s;if(n&&n.length>=i&&m(o,n,!0)>=i-1)break;i--}r++}return oe.fn._lang}function O(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function L(t){var e,i,s=t.match(xe);for(e=0,i=s.length;i>e;e++)s[e]=Qe[s[e]]?Qe[s[e]]:O(s[e]);return function(n){var o="";for(e=0;i>e;e++)o+=s[e]instanceof Function?s[e].call(n,t):s[e];return o}}function k(t,e){return t.isValid()?(e=P(e,t.lang()),Ze[e]||(Ze[e]=L(e)),Ze[e](t)):t.lang().invalidDate()}function P(t,e){function i(t){return e.longDateFormat(t)||t}var s=5;for(Ee.lastIndex=0;s>=0&&Ee.test(t);)t=t.replace(Ee,i),Ee.lastIndex=0,s-=1;return t}function A(t,e){var i,s=e._strict;switch(t){case"DDDD":return ze;case"YYYY":case"GGGG":case"gggg":return s?Re:Ce;case"Y":case"G":case"g":return He;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return s?Fe:Me;case"S":if(s)return Pe;case"SS":if(s)return Ae;case"SSS":if(s)return ze;case"DDD":return De;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ne;case"a":case"A":return N(e._l)._meridiemParse;case"X":return ke;case"Z":case"ZZ":return Oe;case"T":return Le;case"SSSS":return Ie;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return s?Ae:Te;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Te;default:return i=new RegExp(B(W(t.replace("\\","")),"i"))}}function z(t){t=t||"";var e=t.match(Oe)||[],i=e[e.length-1]||[],s=(i+"").match(je)||["-",0,0],n=+(60*s[1])+b(s[2]);return"+"===s[0]?-n:n}function R(t,e,i){var s,n=i._a;switch(t){case"M":case"MM":null!=e&&(n[le]=b(e)-1);break;case"MMM":case"MMMM":s=N(i._l).monthsParse(e),null!=s?n[le]=s:i._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(n[ue]=b(e));break;case"DDD":case"DDDD":null!=e&&(i._dayOfYear=b(e));break;case"YY":n[ce]=b(e)+(b(e)>68?1900:2e3);break;case"YYYY":case"YYYYY":case"YYYYYY":n[ce]=b(e);break;case"a":case"A":i._isPm=N(i._l).isPM(e);break;case"H":case"HH":case"h":case"hh":n[pe]=b(e);break;case"m":case"mm":n[ge]=b(e);break;case"s":case"ss":n[fe]=b(e);break;case"S":case"SS":case"SSS":case"SSSS":n[me]=b(1e3*("0."+e));break;case"X":i._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":i._useUTC=!0,i._tzm=z(e);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":t=t.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(i._w=i._w||{},i._w[t]=e)}}function F(t){var e,i,s,n,o,r,a,h,d,c,l=[];if(!t._d){for(s=Y(t),t._w&&null==t._a[ue]&&null==t._a[le]&&(o=function(e){var i=parseInt(e,10);return e?e.length<3?i>68?1900+i:2e3+i:i:null==t._a[ce]?oe().weekYear():t._a[ce]},r=t._w,null!=r.GG||null!=r.W||null!=r.E?a=J(o(r.GG),r.W||1,r.E,4,1):(h=N(t._l),d=null!=r.d?Z(r.d,h):null!=r.e?parseInt(r.e,10)+h._week.dow:0,c=parseInt(r.w,10)||1,null!=r.d&&dS(n)&&(t._pf._overflowDayOfYear=!0),i=X(n,0,t._dayOfYear),t._a[le]=i.getUTCMonth(),t._a[ue]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=l[e]=s[e];for(;7>e;e++)t._a[e]=l[e]=null==t._a[e]?2===e?1:0:t._a[e];l[pe]+=b((t._tzm||0)/60),l[ge]+=b((t._tzm||0)%60),t._d=(t._useUTC?X:q).apply(null,l)}}function H(t){var e;t._d||(e=y(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],F(t))}function Y(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function G(t){t._a=[],t._pf.empty=!0;var e,i,s,n,o,r=N(t._l),a=""+t._i,h=a.length,d=0;for(s=P(t._f,r).match(xe)||[],e=0;e0&&t._pf.unusedInput.push(o),a=a.slice(a.indexOf(i)+i.length),d+=i.length),Qe[n]?(i?t._pf.empty=!1:t._pf.unusedTokens.push(n),R(n,i,t)):t._strict&&!i&&t._pf.unusedTokens.push(n);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._isPm&&t._a[pe]<12&&(t._a[pe]+=12),t._isPm===!1&&12===t._a[pe]&&(t._a[pe]=0),F(t),E(t)}function W(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,s,n){return e||i||s||n})}function B(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function j(t){var e,i,n,o,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(o=0;or)&&(n=r,i=e));d(t,i||e)}function V(t){var e,i,s=t._i,n=Ye.exec(s);if(n){for(t._pf.iso=!0,e=0,i=We.length;i>e;e++)if(We[e][1].exec(s)){t._f=We[e][0]+(n[6]||" ");break}for(e=0,i=Be.length;i>e;e++)if(Be[e][1].exec(s)){t._f+=Be[e][0];break}s.match(Oe)&&(t._f+="Z"),G(t)}else t._d=new Date(s)}function U(t){var e=t._i,s=be.exec(e);e===i?t._d=new Date:s?t._d=new Date(+s[1]):"string"==typeof e?V(t):g(e)?(t._a=e.slice(0),F(t)):f(e)?t._d=new Date(+e):"object"==typeof e?H(t):t._d=new Date(e)}function q(t,e,i,s,n,o,r){var a=new Date(t,e,i,s,n,o,r);return 1970>t&&a.setFullYear(t),a}function X(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function Z(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function K(t,e,i,s,n){return n.relativeTime(e||1,!!i,t,s)}function $(t,e,i){var s=de(Math.abs(t)/1e3),n=de(s/60),o=de(n/60),r=de(o/24),a=de(r/365),h=45>s&&["s",s]||1===n&&["m"]||45>n&&["mm",n]||1===o&&["h"]||22>o&&["hh",o]||1===r&&["d"]||25>=r&&["dd",r]||45>=r&&["M"]||345>r&&["MM",de(r/30)]||1===a&&["y"]||["yy",a];return h[2]=e,h[3]=t>0,h[4]=i,K.apply({},h)}function Q(t,e,i){var s,n=i-e,o=i-t.day();return o>n&&(o-=7),n-7>o&&(o+=7),s=oe(t).add("d",o),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function J(t,e,i,s,n){var o,r,a=X(t,0,1).getUTCDay();return i=null!=i?i:n,o=n-a+(a>s?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+o+1,{year:r>0?t:t-1,dayOfYear:r>0?r:S(t-1)+r}}function te(t){var e=t._i,i=t._f;return null===e?oe.invalid({nullInput:!0}):("string"==typeof e&&(t._i=e=N().preparse(e)),oe.isMoment(e)?(t=c(e),t._d=new Date(+e._d)):i?g(i)?j(t):G(t):U(t),new a(t))}function ee(t,e){oe.fn[t]=oe.fn[t+"s"]=function(t){var i=this._isUTC?"UTC":"";return null!=t?(this._d["set"+i+e](t),oe.updateOffset(this),this):this._d["get"+i+e]()}}function ie(t){oe.duration.fn[t]=function(){return this._data[t]}}function se(t,e){oe.duration.fn["as"+t]=function(){return+this/e}}function ne(t){var e=!1,i=oe;"undefined"==typeof ender&&(t?(he.moment=function(){return!e&&console&&console.warn&&(e=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),i.apply(null,arguments)},d(he.moment,i)):he.moment=oe)}for(var oe,re,ae="2.5.1",he=this,de=Math.round,ce=0,le=1,ue=2,pe=3,ge=4,fe=5,me=6,ve={},ye={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},_e="undefined"!=typeof e&&e.exports&&"undefined"!=typeof t,be=/^\/?Date\((\-?\d+)/i,we=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Se=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,xe=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,Ee=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Te=/\d\d?/,De=/\d{1,3}/,Ce=/\d{1,4}/,Me=/[+\-]?\d{1,6}/,Ie=/\d+/,Ne=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Oe=/Z|[\+\-]\d\d:?\d\d/gi,Le=/T/i,ke=/[\+\-]?\d+(\.\d{1,3})?/,Pe=/\d/,Ae=/\d\d/,ze=/\d{3}/,Re=/\d{4}/,Fe=/[+-]?\d{6}/,He=/[+-]?\d+/,Ye=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ge="YYYY-MM-DDTHH:mm:ssZ",We=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Be=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],je=/([\+\-]|\d\d)/gi,Ve="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),Ue={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},qe={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Xe={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Ze={},Ke="DDD w W M D d".split(" "),$e="M D H h m s w W".split(" "),Qe={M:function(){return this.month()+1},MMM:function(t){return this.lang().monthsShort(this,t)},MMMM:function(t){return this.lang().months(this,t)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(t){return this.lang().weekdaysMin(this,t)},ddd:function(t){return this.lang().weekdaysShort(this,t)},dddd:function(t){return this.lang().weekdays(this,t)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return u(this.year()%100,2)},YYYY:function(){return u(this.year(),4)},YYYYY:function(){return u(this.year(),5)},YYYYYY:function(){var t=this.year(),e=t>=0?"+":"-";return e+u(Math.abs(t),6)},gg:function(){return u(this.weekYear()%100,2)},gggg:function(){return u(this.weekYear(),4)},ggggg:function(){return u(this.weekYear(),5)},GG:function(){return u(this.isoWeekYear()%100,2)},GGGG:function(){return u(this.isoWeekYear(),4)},GGGGG:function(){return u(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return b(this.milliseconds()/100)},SS:function(){return u(b(this.milliseconds()/10),2)},SSS:function(){return u(this.milliseconds(),3)},SSSS:function(){return u(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(b(t/60),2)+":"+u(b(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(b(t/60),2)+u(b(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},Je=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Ke.length;)re=Ke.pop(),Qe[re+"o"]=o(Qe[re],re);for(;$e.length;)re=$e.pop(),Qe[re+re]=n(Qe[re],2);for(Qe.DDDD=n(Qe.DDD,3),d(r.prototype,{set:function(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,i,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(i=oe.utc([2e3,e]),s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,i,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(i=oe([2e3,1]).day(e),s="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var i=this._calendar[t];return"function"==typeof i?i.apply(e):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,i,s){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,s):n.replace(/%d/i,t)},pastFuture:function(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return Q(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),oe=function(t,e,n,o){var r;return"boolean"==typeof n&&(o=n,n=i),r={},r._isAMomentObject=!0,r._i=t,r._f=e,r._l=n,r._strict=o,r._isUTC=!1,r._pf=s(),te(r)},oe.utc=function(t,e,n,o){var r;return"boolean"==typeof n&&(o=n,n=i),r={},r._isAMomentObject=!0,r._useUTC=!0,r._isUTC=!0,r._l=n,r._i=t,r._f=e,r._strict=o,r._pf=s(),te(r).utc()},oe.unix=function(t){return oe(1e3*t)},oe.duration=function(t,e){var i,s,n,o=t,r=null;return oe.isDuration(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(o={},e?o[e]=t:o.milliseconds=t):(r=we.exec(t))?(i="-"===r[1]?-1:1,o={y:0,d:b(r[ue])*i,h:b(r[pe])*i,m:b(r[ge])*i,s:b(r[fe])*i,ms:b(r[me])*i}):(r=Se.exec(t))&&(i="-"===r[1]?-1:1,n=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*i},o={y:n(r[2]),M:n(r[3]),d:n(r[4]),h:n(r[5]),m:n(r[6]),s:n(r[7]),w:n(r[8])}),s=new h(o),oe.isDuration(t)&&t.hasOwnProperty("_lang")&&(s._lang=t._lang),s},oe.version=ae,oe.defaultFormat=Ge,oe.updateOffset=function(){},oe.lang=function(t,e){var i;return t?(e?M(D(t),e):null===e?(I(t),t="en"):ve[t]||N(t),i=oe.duration.fn._lang=oe.fn._lang=N(t),i._abbr):oe.fn._lang._abbr},oe.langData=function(t){return t&&t._lang&&t._lang._abbr&&(t=t._lang._abbr),N(t)},oe.isMoment=function(t){return t instanceof a||null!=t&&t.hasOwnProperty("_isAMomentObject")},oe.isDuration=function(t){return t instanceof h},re=Je.length-1;re>=0;--re)_(Je[re]);for(oe.normalizeUnits=function(t){return v(t)},oe.invalid=function(t){var e=oe.utc(0/0);return null!=t?d(e._pf,t):e._pf.userInvalidated=!0,e},oe.parseZone=function(t){return oe(t).parseZone()},d(oe.fn=a.prototype,{clone:function(){return oe(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=oe(this).utc();return 00:!1},parsingFlags:function(){return d({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this +},format:function(t){var e=k(this,t||oe.defaultFormat);return this.lang().postformat(e)},add:function(t,e){var i;return i="string"==typeof t?oe.duration(+e,t):oe.duration(t,e),p(this,i,1),this},subtract:function(t,e){var i;return i="string"==typeof t?oe.duration(+e,t):oe.duration(t,e),p(this,i,-1),this},diff:function(t,e,i){var s,n,o=C(t,this),r=6e4*(this.zone()-o.zone());return e=v(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+o.daysInMonth()),n=12*(this.year()-o.year())+(this.month()-o.month()),n+=(this-oe(this).startOf("month")-(o-oe(o).startOf("month")))/s,n-=6e4*(this.zone()-oe(this).startOf("month").zone()-(o.zone()-oe(o).startOf("month").zone()))/s,"year"===e&&(n/=12)):(s=this-o,n="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),i?n:l(n)},from:function(t,e){return oe.duration(this.diff(t)).lang(this.lang()._abbr).humanize(!e)},fromNow:function(t){return this.from(oe(),t)},calendar:function(){var t=C(oe(),this).startOf("day"),e=this.diff(t,"days",!0),i=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(this.lang().calendar(i,this))},isLeapYear:function(){return x(this.year())},isDST:function(){return this.zone()+oe(t).startOf(e)},isBefore:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)<+oe(t).startOf(e)},isSame:function(t,e){return e=e||"ms",+this.clone().startOf(e)===+C(t,this).startOf(e)},min:function(t){return t=oe.apply(null,arguments),this>t?this:t},max:function(t){return t=oe.apply(null,arguments),t>this?this:t},zone:function(t){var e=this._offset||0;return null==t?this._isUTC?e:this._d.getTimezoneOffset():("string"==typeof t&&(t=z(t)),Math.abs(t)<16&&(t=60*t),this._offset=t,this._isUTC=!0,e!==t&&p(this,oe.duration(e-t,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(t){return t=t?oe(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return w(this.year(),this.month())},dayOfYear:function(t){var e=de((oe(this).startOf("day")-oe(this).startOf("year"))/864e5)+1;return null==t?e:this.add("d",t-e)},quarter:function(){return Math.ceil((this.month()+1)/3)},weekYear:function(t){var e=Q(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==t?e:this.add("y",t-e)},isoWeekYear:function(t){var e=Q(this,1,4).year;return null==t?e:this.add("y",t-e)},week:function(t){var e=this.lang().week(this);return null==t?e:this.add("d",7*(t-e))},isoWeek:function(t){var e=Q(this,1,4).week;return null==t?e:this.add("d",7*(t-e))},weekday:function(t){var e=(this.day()+7-this.lang()._week.dow)%7;return null==t?e:this.add("d",t-e)},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},get:function(t){return t=v(t),this[t]()},set:function(t,e){return t=v(t),"function"==typeof this[t]&&this[t](e),this},lang:function(t){return t===i?this._lang:(this._lang=N(t),this)}}),re=0;re-1?!1:"INPUT"==i||"SELECT"==i||"TEXTAREA"==i||e.contentEditable&&"true"==e.contentEditable}function o(t,e){return t.sort().join(",")===e.sort().join(",")}function r(t){t=t||{};var e,i=!1;for(e in C)t[e]?i=!0:C[e]=0;i||(I=!1)}function a(t,e,i,s,n){var r,a,h=[];if(!T[t])return[];for("keyup"==i&&u(t)&&(e=[t]),r=0;r95&&112>t||w.hasOwnProperty(t)&&(_[w[t]]=t)}return _}function f(t,e,i){return i||(i=g()[t]?"keydown":"keypress"),"keypress"==i&&e.length&&(i="keydown"),i}function m(t,e,i,n){C[t]=0,n||(n=f(e[0],[]));var o,a=function(){I=n,++C[t],p()},h=function(t){d(i,t),"keyup"!==n&&(M=s(t)),setTimeout(r,10)};for(o=0;o1)return m(t,d,e,i);for(h="+"===t?["+"]:t.split("+"),o=0;o":".","?":"/","|":"\\"},E={option:"alt",command:"meta","return":"enter",escape:"esc"},T={},D={},C={},M=!1,I=!1,N=1;20>N;++N)w[111+N]="f"+N;for(N=0;9>=N;++N)w[N+96]=N;i(document,"keypress",l),i(document,"keydown",l),i(document,"keyup",l);var O={bind:function(t,e,i){return y(t instanceof Array?t:[t],e,i),D[t+":"+i]=e,this},unbind:function(t,e){return D[t+":"+e]&&(delete D[t+":"+e],this.bind(t,function(){},e)),this},trigger:function(t,e){return D[t+":"+e](),this},reset:function(){return T={},D={},this}};e.exports=O},{}]},{},[1])(1)}); \ No newline at end of file diff --git a/download/vis.zip b/download/vis.zip index de6e02cea5a57d2f2a1f6b44364a35b56276aa75..78adfdf9eb7fdf2f96562012d7c520bd4e8c61a9 100644 GIT binary patch delta 145578 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

>Ram;W#w2LqR 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 diff --git a/index.html b/index.html index 8fee003a..20317e30 100644 --- a/index.html +++ b/index.html @@ -73,7 +73,7 @@ bower install vis

download

Click here to download vis.js -(version 0.7.1) +(version 0.7.2)

Example