diff --git a/dist/vis.js b/dist/vis.js index 07684d9b..34c82a16 100644 --- a/dist/vis.js +++ b/dist/vis.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.0.0-SNAPSHOT - * @date 2015-05-18 + * @date 2015-05-19 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -172,7 +172,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; var moment = __webpack_require__(40); - var uuid = __webpack_require__(113); + var uuid = __webpack_require__(42); /** * Test whether given object is a number @@ -3144,7 +3144,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(69); var DataSet = __webpack_require__(3); var DataView = __webpack_require__(4); var util = __webpack_require__(1); @@ -6307,7 +6307,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(69); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -6691,10 +6691,10 @@ return /******/ (function(modules) { // webpackBootstrap * The event happened, whether clicked on an item, etc. */ Timeline.prototype.getEventProperties = function (event) { - var pageX = event.center ? event.center.x : event.pageX; - var pageY = event.center ? event.center.y : event.pageY; - var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); - var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + var clientX = event.center ? event.center.x : event.clientX; + var clientY = event.center ? event.center.y : event.clientY; + var x = clientX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = clientY - util.getAbsoluteTop(this.dom.centerContainer); var item = this.itemSet.itemFromTarget(event); var group = this.itemSet.groupFromTarget(event); @@ -6729,8 +6729,8 @@ return /******/ (function(modules) { // webpackBootstrap item: item ? item.id : null, group: group ? group.groupId : null, what: what, - pageX: pageX, - pageY: pageY, + pageX: event.srcEvent ? event.srcEvent.pageX : event.pageX, + pageY: event.srcEvent ? event.srcEvent.pageY : event.pageY, x: x, y: y, time: time, @@ -6746,7 +6746,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(69); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -7008,10 +7008,10 @@ return /******/ (function(modules) { // webpackBootstrap * The event happened, whether clicked on an item, etc. */ Graph2d.prototype.getEventProperties = function (event) { - var pageX = event.center ? event.center.x : event.pageX; - var pageY = event.center ? event.center.y : event.pageY; - var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); - var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + var clientX = event.center ? event.center.x : event.clientX; + var clientY = event.center ? event.center.y : event.clientY; + var x = clientX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = clientY - util.getAbsoluteTop(this.dom.centerContainer); var time = this._toTime(x); var customTime = CustomTime.customTimeFromTarget(event); @@ -7051,8 +7051,8 @@ return /******/ (function(modules) { // webpackBootstrap return { event: event, what: what, - pageX: pageX, - pageY: pageY, + pageX: event.srcEvent ? event.srcEvent.pageX : event.pageX, + pageY: event.srcEvent ? event.srcEvent.pageY : event.pageY, x: x, y: y, time: time, @@ -8242,7 +8242,7 @@ return /******/ (function(modules) { // webpackBootstrap } // calculate center, the date to zoom around - var pointer = getPointer({ x: event.pageX, y: event.pageY }, this.body.dom.center); + var pointer = getPointer({ x: event.clientX, y: event.clientY }, this.body.dom.center); var pointerDate = this._pointerToDate(pointer); this.zoom(scale, pointerDate, delta); @@ -13917,22 +13917,22 @@ return /******/ (function(modules) { // webpackBootstrap * @return {Group | null} group */ ItemSet.prototype.groupFromTarget = function (event) { - var pageY = event.center ? event.center.y : event.pageY; + var clientY = event.center ? event.center.y : event.clientY; for (var i = 0; i < this.groupIds.length; i++) { var groupId = this.groupIds[i]; var group = this.groups[groupId]; var foreground = group.dom.foreground; var top = util.getAbsoluteTop(foreground); - if (pageY > top && pageY < top + foreground.offsetHeight) { + if (clientY > top && clientY < top + foreground.offsetHeight) { return group; } if (this.options.orientation.item === 'top') { - if (i === this.groupIds.length - 1 && pageY > top) { + if (i === this.groupIds.length - 1 && clientY > top) { return group; } } else { - if (i === 0 && pageY < top + foreground.offset) { + if (i === 0 && clientY < top + foreground.offset) { return group; } } @@ -15599,68 +15599,68 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _modulesGroups = __webpack_require__(53); + var _Groups = __webpack_require__(53); - var _modulesGroups2 = _interopRequireDefault(_modulesGroups); + var _Groups2 = _interopRequireDefault(_Groups); - var _modulesNodesHandler = __webpack_require__(54); + var _NodesHandler = __webpack_require__(54); - var _modulesNodesHandler2 = _interopRequireDefault(_modulesNodesHandler); + var _NodesHandler2 = _interopRequireDefault(_NodesHandler); - var _modulesEdgesHandler = __webpack_require__(55); + var _EdgesHandler = __webpack_require__(55); - var _modulesEdgesHandler2 = _interopRequireDefault(_modulesEdgesHandler); + var _EdgesHandler2 = _interopRequireDefault(_EdgesHandler); - var _modulesPhysicsEngine = __webpack_require__(56); + var _PhysicsEngine = __webpack_require__(56); - var _modulesPhysicsEngine2 = _interopRequireDefault(_modulesPhysicsEngine); + var _PhysicsEngine2 = _interopRequireDefault(_PhysicsEngine); - var _modulesClustering = __webpack_require__(57); + var _ClusterEngine = __webpack_require__(57); - var _modulesClustering2 = _interopRequireDefault(_modulesClustering); + var _ClusterEngine2 = _interopRequireDefault(_ClusterEngine); - var _modulesCanvasRenderer = __webpack_require__(58); + var _CanvasRenderer = __webpack_require__(58); - var _modulesCanvasRenderer2 = _interopRequireDefault(_modulesCanvasRenderer); + var _CanvasRenderer2 = _interopRequireDefault(_CanvasRenderer); - var _modulesCanvas = __webpack_require__(59); + var _Canvas = __webpack_require__(59); - var _modulesCanvas2 = _interopRequireDefault(_modulesCanvas); + var _Canvas2 = _interopRequireDefault(_Canvas); - var _modulesView = __webpack_require__(60); + var _View = __webpack_require__(60); - var _modulesView2 = _interopRequireDefault(_modulesView); + var _View2 = _interopRequireDefault(_View); - var _modulesInteractionHandler = __webpack_require__(61); + var _InteractionHandler = __webpack_require__(61); - var _modulesInteractionHandler2 = _interopRequireDefault(_modulesInteractionHandler); + var _InteractionHandler2 = _interopRequireDefault(_InteractionHandler); - var _modulesSelectionHandler = __webpack_require__(62); + var _SelectionHandler = __webpack_require__(62); - var _modulesSelectionHandler2 = _interopRequireDefault(_modulesSelectionHandler); + var _SelectionHandler2 = _interopRequireDefault(_SelectionHandler); - var _modulesLayoutEngine = __webpack_require__(63); + var _LayoutEngine = __webpack_require__(63); - var _modulesLayoutEngine2 = _interopRequireDefault(_modulesLayoutEngine); + var _LayoutEngine2 = _interopRequireDefault(_LayoutEngine); - var _modulesManipulationSystem = __webpack_require__(64); + var _ManipulationSystem = __webpack_require__(64); - var _modulesManipulationSystem2 = _interopRequireDefault(_modulesManipulationSystem); + var _ManipulationSystem2 = _interopRequireDefault(_ManipulationSystem); - var _sharedConfigurationSystem = __webpack_require__(44); + var _ConfigurationSystem = __webpack_require__(44); - var _sharedConfigurationSystem2 = _interopRequireDefault(_sharedConfigurationSystem); + var _ConfigurationSystem2 = _interopRequireDefault(_ConfigurationSystem); - var _sharedValidator = __webpack_require__(45); + var _Validator = __webpack_require__(45); - var _sharedValidator2 = _interopRequireDefault(_sharedValidator); + var _Validator2 = _interopRequireDefault(_Validator); - var _optionsJs = __webpack_require__(65); + var _allOptions$configureOptions = __webpack_require__(65); // Load custom shapes into CanvasRenderingContext2D __webpack_require__(66); - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(69); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -15747,25 +15747,25 @@ return /******/ (function(modules) { // webpackBootstrap this.images = new Images(function () { return _this.body.emitter.emit('_requestRedraw'); }); // object with images - this.groups = new _modulesGroups2['default'](); // object with groups - this.canvas = new _modulesCanvas2['default'](this.body); // DOM handler - this.selectionHandler = new _modulesSelectionHandler2['default'](this.body, this.canvas); // Selection handler - this.interactionHandler = new _modulesInteractionHandler2['default'](this.body, this.canvas, this.selectionHandler); // Interaction handler handles all the hammer bindings (that are bound by canvas), key - this.view = new _modulesView2['default'](this.body, this.canvas); // camera handler, does animations and zooms - this.renderer = new _modulesCanvasRenderer2['default'](this.body, this.canvas); // renderer, starts renderloop, has events that modules can hook into - this.physics = new _modulesPhysicsEngine2['default'](this.body); // physics engine, does all the simulations - this.layoutEngine = new _modulesLayoutEngine2['default'](this.body); // layout engine for inital layout and hierarchical layout - this.clustering = new _modulesClustering2['default'](this.body); // clustering api - this.manipulation = new _modulesManipulationSystem2['default'](this.body, this.canvas, this.selectionHandler); // data manipulation system - - this.nodesHandler = new _modulesNodesHandler2['default'](this.body, this.images, this.groups, this.layoutEngine); // Handle adding, deleting and updating of nodes as well as global options - this.edgesHandler = new _modulesEdgesHandler2['default'](this.body, this.images, this.groups); // Handle adding, deleting and updating of edges as well as global options + this.groups = new _Groups2['default'](); // object with groups + this.canvas = new _Canvas2['default'](this.body); // DOM handler + this.selectionHandler = new _SelectionHandler2['default'](this.body, this.canvas); // Selection handler + this.interactionHandler = new _InteractionHandler2['default'](this.body, this.canvas, this.selectionHandler); // Interaction handler handles all the hammer bindings (that are bound by canvas), key + this.view = new _View2['default'](this.body, this.canvas); // camera handler, does animations and zooms + this.renderer = new _CanvasRenderer2['default'](this.body, this.canvas); // renderer, starts renderloop, has events that modules can hook into + this.physics = new _PhysicsEngine2['default'](this.body); // physics engine, does all the simulations + this.layoutEngine = new _LayoutEngine2['default'](this.body); // layout engine for inital layout and hierarchical layout + this.clustering = new _ClusterEngine2['default'](this.body); // clustering api + this.manipulation = new _ManipulationSystem2['default'](this.body, this.canvas, this.selectionHandler); // data manipulation system + + this.nodesHandler = new _NodesHandler2['default'](this.body, this.images, this.groups, this.layoutEngine); // Handle adding, deleting and updating of nodes as well as global options + this.edgesHandler = new _EdgesHandler2['default'](this.body, this.images, this.groups); // Handle adding, deleting and updating of edges as well as global options // create the DOM elements this.canvas._create(); // setup configuration system - this.configurationSystem = new _sharedConfigurationSystem2['default'](this, this.body.container, _optionsJs.configureOptions, this.canvas.pixelRatio); + this.configurationSystem = new _ConfigurationSystem2['default'](this, this.body.container, _allOptions$configureOptions.configureOptions, this.canvas.pixelRatio); // apply options this.setOptions(options); @@ -15784,9 +15784,9 @@ return /******/ (function(modules) { // webpackBootstrap Network.prototype.setOptions = function (options) { if (options !== undefined) { - var errorFound = _sharedValidator2['default'].validate(options, _optionsJs.allOptions); + var errorFound = _Validator2['default'].validate(options, _allOptions$configureOptions.allOptions); if (errorFound === true) { - console.log('%cErrors have been found in the supplied options object.', _sharedValidator.printStyle); + console.log('%cErrors have been found in the supplied options object.', _Validator.printStyle); } // copy the global fields over @@ -17149,7 +17149,7 @@ return /******/ (function(modules) { // webpackBootstrap // use this instance. Else, load via commonjs. 'use strict'; - module.exports = typeof window !== 'undefined' && window['moment'] || __webpack_require__(69); + module.exports = typeof window !== 'undefined' && window['moment'] || __webpack_require__(70); /***/ }, /* 41 */ @@ -17160,8 +17160,8 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; if (typeof window !== 'undefined') { - var propagating = __webpack_require__(70); - var Hammer = window['Hammer'] || __webpack_require__(71); + var propagating = __webpack_require__(71); + var Hammer = window['Hammer'] || __webpack_require__(72); module.exports = propagating(Hammer, { preventDefault: 'mouse' }); @@ -17175,171 +17175,217 @@ return /******/ (function(modules) { // webpackBootstrap /* 42 */ /***/ function(module, exports, __webpack_require__) { - - /** - * Expose `Emitter`. - */ + /* WEBPACK VAR INJECTION */(function(global) {'use strict'; - module.exports = Emitter; + var _rng; - /** - * Initialize a new `Emitter`. - * - * @api public - */ + var globalVar = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : null; - function Emitter(obj) { - if (obj) return mixin(obj); - }; + if (globalVar && globalVar.crypto && crypto.getRandomValues) { + // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto + // Moderately fast, high quality + var _rnds8 = new Uint8Array(16); + _rng = function whatwgRNG() { + crypto.getRandomValues(_rnds8); + return _rnds8; + }; + } - /** - * Mixin the emitter properties. - * - * @param {Object} obj - * @return {Object} - * @api private - */ + if (!_rng) { + // Math.random()-based (RNG) + // + // If all else fails, use Math.random(). It's fast, but is of unspecified + // quality. + var _rnds = new Array(16); + _rng = function () { + for (var i = 0, r; i < 16; i++) { + if ((i & 3) === 0) r = Math.random() * 4294967296; + _rnds[i] = r >>> ((i & 3) << 3) & 255; + } - function mixin(obj) { - for (var key in Emitter.prototype) { - obj[key] = Emitter.prototype[key]; - } - return obj; + return _rnds; + }; } - /** - * Listen on the given `event` with `fn`. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ + // uuid.js + // + // Copyright (c) 2010-2012 Robert Kieffer + // MIT License - http://opensource.org/licenses/mit-license.php - Emitter.prototype.on = - Emitter.prototype.addEventListener = function(event, fn){ - this._callbacks = this._callbacks || {}; - (this._callbacks[event] = this._callbacks[event] || []) - .push(fn); - return this; - }; + // Unique ID creation requires a high quality random # generator. We feature + // detect to determine the best RNG source, normalizing to a function that + // returns 128-bits of randomness, since that's what's usually required - /** - * Adds an `event` listener that will be invoked a single - * time then automatically removed. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ + //var _rng = require('./rng'); - Emitter.prototype.once = function(event, fn){ - var self = this; - this._callbacks = this._callbacks || {}; + // Maps for number <-> hex string conversion + var _byteToHex = []; + var _hexToByte = {}; + for (var i = 0; i < 256; i++) { + _byteToHex[i] = (i + 256).toString(16).substr(1); + _hexToByte[_byteToHex[i]] = i; + } - function on() { - self.off(event, on); - fn.apply(this, arguments); + // **`parse()` - Parse a UUID into it's component bytes** + function parse(s, buf, offset) { + var i = buf && offset || 0, + ii = 0; + + buf = buf || []; + s.toLowerCase().replace(/[0-9a-f]{2}/g, function (oct) { + if (ii < 16) { + // Don't overflow! + buf[i + ii++] = _hexToByte[oct]; + } + }); + + // Zero out remaining bytes if string was short + while (ii < 16) { + buf[i + ii++] = 0; } - on.fn = fn; - this.on(event, on); - return this; - }; + return buf; + } - /** - * Remove the given callback for `event` or all - * registered callbacks. - * - * @param {String} event - * @param {Function} fn - * @return {Emitter} - * @api public - */ + // **`unparse()` - Convert UUID byte array (ala parse()) into a string** + function unparse(buf, offset) { + var i = offset || 0, + bth = _byteToHex; + return bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]]; + } - Emitter.prototype.off = - Emitter.prototype.removeListener = - Emitter.prototype.removeAllListeners = - Emitter.prototype.removeEventListener = function(event, fn){ - this._callbacks = this._callbacks || {}; + // **`v1()` - Generate time-based UUID** + // + // Inspired by https://github.com/LiosK/UUID.js + // and http://docs.python.org/library/uuid.html - // all - if (0 == arguments.length) { - this._callbacks = {}; - return this; + // random #'s we need to init node and clockseq + var _seedBytes = _rng(); + + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + var _nodeId = [_seedBytes[0] | 1, _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]]; + + // Per 4.2.2, randomize (14 bit) clockseq + var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 16383; + + // Previous uuid creation time + var _lastMSecs = 0, + _lastNSecs = 0; + + // See https://github.com/broofa/node-uuid for API details + function v1(options, buf, offset) { + var i = buf && offset || 0; + var b = buf || []; + + options = options || {}; + + var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; + + // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); + + // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; + + // Time since last uuid creation (in msecs) + var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; + + // Per 4.2.1.2, Bump clockseq on clock regression + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 16383; } - // specific event - var callbacks = this._callbacks[event]; - if (!callbacks) return this; + // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } - // remove all handlers - if (1 == arguments.length) { - delete this._callbacks[event]; - return this; + // Per 4.2.1.2 Throw error if too many uuids are requested + if (nsecs >= 10000) { + throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); } - // remove specific handler - var cb; - for (var i = 0; i < callbacks.length; i++) { - cb = callbacks[i]; - if (cb === fn || cb.fn === fn) { - callbacks.splice(i, 1); - break; - } + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + + // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + msecs += 12219292800000; + + // `time_low` + var tl = ((msecs & 268435455) * 10000 + nsecs) % 4294967296; + b[i++] = tl >>> 24 & 255; + b[i++] = tl >>> 16 & 255; + b[i++] = tl >>> 8 & 255; + b[i++] = tl & 255; + + // `time_mid` + var tmh = msecs / 4294967296 * 10000 & 268435455; + b[i++] = tmh >>> 8 & 255; + b[i++] = tmh & 255; + + // `time_high_and_version` + b[i++] = tmh >>> 24 & 15 | 16; // include version + b[i++] = tmh >>> 16 & 255; + + // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + b[i++] = clockseq >>> 8 | 128; + + // `clock_seq_low` + b[i++] = clockseq & 255; + + // `node` + var node = options.node || _nodeId; + for (var n = 0; n < 6; n++) { + b[i + n] = node[n]; } - return this; - }; - /** - * Emit `event` with the given args. - * - * @param {String} event - * @param {Mixed} ... - * @return {Emitter} - */ + return buf ? buf : unparse(b); + } - Emitter.prototype.emit = function(event){ - this._callbacks = this._callbacks || {}; - var args = [].slice.call(arguments, 1) - , callbacks = this._callbacks[event]; + // **`v4()` - Generate random UUID** - if (callbacks) { - callbacks = callbacks.slice(0); - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(this, args); - } + // See https://github.com/broofa/node-uuid for API details + function v4(options, buf, offset) { + // Deprecated - 'format' argument, as supported in v1.2 + var i = buf && offset || 0; + + if (typeof options == 'string') { + buf = options == 'binary' ? new Array(16) : null; + options = null; } + options = options || {}; - return this; - }; + var rnds = options.random || (options.rng || _rng)(); - /** - * Return array of callbacks for `event`. - * - * @param {String} event - * @return {Array} - * @api public - */ + // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; - Emitter.prototype.listeners = function(event){ - this._callbacks = this._callbacks || {}; - return this._callbacks[event] || []; - }; + // Copy bytes to buffer, if provided + if (buf) { + for (var ii = 0; ii < 16; ii++) { + buf[i + ii] = rnds[ii]; + } + } - /** - * Check if this emitter has `event` handlers. - * - * @param {String} event - * @return {Boolean} - * @api public - */ + return buf || unparse(rnds); + } - Emitter.prototype.hasListeners = function(event){ - return !! this.listeners(event).length; - }; + // Export public API + var uuid = v4; + uuid.v1 = v1; + uuid.v4 = v4; + uuid.parse = parse; + uuid.unparse = unparse; + module.exports = uuid; + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, /* 43 */ @@ -17347,7 +17393,7 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var Emitter = __webpack_require__(42); + var Emitter = __webpack_require__(69); var Hammer = __webpack_require__(41); var hammerUtil = __webpack_require__(48); var util = __webpack_require__(1); @@ -18324,9 +18370,9 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _networkModulesComponentsColorPicker = __webpack_require__(72); + var _ColorPicker = __webpack_require__(73); - var _networkModulesComponentsColorPicker2 = _interopRequireDefault(_networkModulesComponentsColorPicker); + var _ColorPicker2 = _interopRequireDefault(_ColorPicker); var util = __webpack_require__(1); @@ -18367,7 +18413,7 @@ return /******/ (function(modules) { // webpackBootstrap this.configureOptions = configureOptions; this.moduleOptions = {}; this.domElements = []; - this.colorPicker = new _networkModulesComponentsColorPicker2['default'](pixelRatio); + this.colorPicker = new _ColorPicker2['default'](pixelRatio); this.wrapper; } @@ -19229,9 +19275,9 @@ return /******/ (function(modules) { // webpackBootstrap // http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#JavaScript /* Copyright (c) 2011 Andrei Mackenzie - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ value: function levenshteinDistance(a, b) { if (a.length === 0) return b.length; @@ -20608,13 +20654,13 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsNode = __webpack_require__(73); + var _Node = __webpack_require__(74); - var _componentsNode2 = _interopRequireDefault(_componentsNode); + var _Node2 = _interopRequireDefault(_Node); - var _componentsSharedLabel = __webpack_require__(74); + var _Label = __webpack_require__(75); - var _componentsSharedLabel2 = _interopRequireDefault(_componentsSharedLabel); + var _Label2 = _interopRequireDefault(_Label); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -20746,7 +20792,7 @@ return /******/ (function(modules) { // webpackBootstrap key: 'setOptions', value: function setOptions(options) { if (options !== undefined) { - _componentsNode2['default'].parseOptions(this.options, options); + _Node2['default'].parseOptions(this.options, options); // update the shape in all nodes if (options.shape !== undefined) { @@ -20759,7 +20805,7 @@ return /******/ (function(modules) { // webpackBootstrap // update the shape size in all nodes if (options.font !== undefined) { - _componentsSharedLabel2['default'].parseOptions(this.options.font, options); + _Label2['default'].parseOptions(this.options.font, options); for (var nodeId in this.body.nodes) { if (this.body.nodes.hasOwnProperty(nodeId)) { this.body.nodes[nodeId].updateLabelModule(); @@ -20923,7 +20969,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param constructorClass */ value: function create(properties) { - var constructorClass = arguments[1] === undefined ? _componentsNode2['default'] : arguments[1]; + var constructorClass = arguments[1] === undefined ? _Node2['default'] : arguments[1]; return new constructorClass(properties, this.body, this.images, this.groups, this.options); } @@ -21081,13 +21127,13 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsEdge = __webpack_require__(75); + var _Edge = __webpack_require__(84); - var _componentsEdge2 = _interopRequireDefault(_componentsEdge); + var _Edge2 = _interopRequireDefault(_Edge); - var _componentsSharedLabel = __webpack_require__(74); + var _Label = __webpack_require__(75); - var _componentsSharedLabel2 = _interopRequireDefault(_componentsSharedLabel); + var _Label2 = _interopRequireDefault(_Label); var util = __webpack_require__(1); var DataSet = __webpack_require__(3); @@ -21246,7 +21292,7 @@ return /******/ (function(modules) { // webpackBootstrap value: function setOptions(options) { if (options !== undefined) { // use the parser from the Edge class to fill in all shorthand notations - _componentsEdge2['default'].parseOptions(this.options, options); + _Edge2['default'].parseOptions(this.options, options); // hanlde multiple input cases for color if (options.color !== undefined) { @@ -21266,7 +21312,7 @@ return /******/ (function(modules) { // webpackBootstrap // update fonts in all edges if (options.font !== undefined) { // use the parser from the Label class to fill in all shorthand notations - _componentsSharedLabel2['default'].parseOptions(this.options, options); + _Label2['default'].parseOptions(this.options, options); for (var edgeId in this.body.edges) { if (this.body.edges.hasOwnProperty(edgeId)) { this.body.edges[edgeId].updateLabelModule(); @@ -21440,7 +21486,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'create', value: function create(properties) { - return new _componentsEdge2['default'](properties, this.body, this.options); + return new _Edge2['default'](properties, this.body, this.options); } }, { key: 'markAllEdgesAsDirty', @@ -21500,37 +21546,37 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsPhysicsBarnesHutSolver = __webpack_require__(76); + var _BarnesHutSolver = __webpack_require__(76); - var _componentsPhysicsBarnesHutSolver2 = _interopRequireDefault(_componentsPhysicsBarnesHutSolver); + var _BarnesHutSolver2 = _interopRequireDefault(_BarnesHutSolver); - var _componentsPhysicsRepulsionSolver = __webpack_require__(77); + var _Repulsion = __webpack_require__(77); - var _componentsPhysicsRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsRepulsionSolver); + var _Repulsion2 = _interopRequireDefault(_Repulsion); - var _componentsPhysicsHierarchicalRepulsionSolver = __webpack_require__(78); + var _HierarchicalRepulsion = __webpack_require__(78); - var _componentsPhysicsHierarchicalRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsHierarchicalRepulsionSolver); + var _HierarchicalRepulsion2 = _interopRequireDefault(_HierarchicalRepulsion); - var _componentsPhysicsSpringSolver = __webpack_require__(79); + var _SpringSolver = __webpack_require__(79); - var _componentsPhysicsSpringSolver2 = _interopRequireDefault(_componentsPhysicsSpringSolver); + var _SpringSolver2 = _interopRequireDefault(_SpringSolver); - var _componentsPhysicsHierarchicalSpringSolver = __webpack_require__(80); + var _HierarchicalSpringSolver = __webpack_require__(80); - var _componentsPhysicsHierarchicalSpringSolver2 = _interopRequireDefault(_componentsPhysicsHierarchicalSpringSolver); + var _HierarchicalSpringSolver2 = _interopRequireDefault(_HierarchicalSpringSolver); - var _componentsPhysicsCentralGravitySolver = __webpack_require__(81); + var _CentralGravitySolver = __webpack_require__(81); - var _componentsPhysicsCentralGravitySolver2 = _interopRequireDefault(_componentsPhysicsCentralGravitySolver); + var _CentralGravitySolver2 = _interopRequireDefault(_CentralGravitySolver); - var _componentsPhysicsFA2BasedRepulsionSolver = __webpack_require__(82); + var _ForceAtlas2BasedRepulsionSolver = __webpack_require__(82); - var _componentsPhysicsFA2BasedRepulsionSolver2 = _interopRequireDefault(_componentsPhysicsFA2BasedRepulsionSolver); + var _ForceAtlas2BasedRepulsionSolver2 = _interopRequireDefault(_ForceAtlas2BasedRepulsionSolver); - var _componentsPhysicsFA2BasedCentralGravitySolver = __webpack_require__(83); + var _ForceAtlas2BasedCentralGravitySolver = __webpack_require__(83); - var _componentsPhysicsFA2BasedCentralGravitySolver2 = _interopRequireDefault(_componentsPhysicsFA2BasedCentralGravitySolver); + var _ForceAtlas2BasedCentralGravitySolver2 = _interopRequireDefault(_ForceAtlas2BasedCentralGravitySolver); var util = __webpack_require__(1); @@ -21656,25 +21702,25 @@ return /******/ (function(modules) { // webpackBootstrap var options; if (this.options.solver === 'forceAtlas2Based') { options = this.options.forceAtlas2Based; - this.nodesSolver = new _componentsPhysicsFA2BasedRepulsionSolver2['default'](this.body, this.physicsBody, options); - this.edgesSolver = new _componentsPhysicsSpringSolver2['default'](this.body, this.physicsBody, options); - this.gravitySolver = new _componentsPhysicsFA2BasedCentralGravitySolver2['default'](this.body, this.physicsBody, options); + this.nodesSolver = new _ForceAtlas2BasedRepulsionSolver2['default'](this.body, this.physicsBody, options); + this.edgesSolver = new _SpringSolver2['default'](this.body, this.physicsBody, options); + this.gravitySolver = new _ForceAtlas2BasedCentralGravitySolver2['default'](this.body, this.physicsBody, options); } else if (this.options.solver === 'repulsion') { options = this.options.repulsion; - this.nodesSolver = new _componentsPhysicsRepulsionSolver2['default'](this.body, this.physicsBody, options); - this.edgesSolver = new _componentsPhysicsSpringSolver2['default'](this.body, this.physicsBody, options); - this.gravitySolver = new _componentsPhysicsCentralGravitySolver2['default'](this.body, this.physicsBody, options); + this.nodesSolver = new _Repulsion2['default'](this.body, this.physicsBody, options); + this.edgesSolver = new _SpringSolver2['default'](this.body, this.physicsBody, options); + this.gravitySolver = new _CentralGravitySolver2['default'](this.body, this.physicsBody, options); } else if (this.options.solver === 'hierarchicalRepulsion') { options = this.options.hierarchicalRepulsion; - this.nodesSolver = new _componentsPhysicsHierarchicalRepulsionSolver2['default'](this.body, this.physicsBody, options); - this.edgesSolver = new _componentsPhysicsHierarchicalSpringSolver2['default'](this.body, this.physicsBody, options); - this.gravitySolver = new _componentsPhysicsCentralGravitySolver2['default'](this.body, this.physicsBody, options); + this.nodesSolver = new _HierarchicalRepulsion2['default'](this.body, this.physicsBody, options); + this.edgesSolver = new _HierarchicalSpringSolver2['default'](this.body, this.physicsBody, options); + this.gravitySolver = new _CentralGravitySolver2['default'](this.body, this.physicsBody, options); } else { // barnesHut options = this.options.barnesHut; - this.nodesSolver = new _componentsPhysicsBarnesHutSolver2['default'](this.body, this.physicsBody, options); - this.edgesSolver = new _componentsPhysicsSpringSolver2['default'](this.body, this.physicsBody, options); - this.gravitySolver = new _componentsPhysicsCentralGravitySolver2['default'](this.body, this.physicsBody, options); + this.nodesSolver = new _BarnesHutSolver2['default'](this.body, this.physicsBody, options); + this.edgesSolver = new _SpringSolver2['default'](this.body, this.physicsBody, options); + this.gravitySolver = new _CentralGravitySolver2['default'](this.body, this.physicsBody, options); } this.modelOptions = options; @@ -22106,9 +22152,9 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var _componentsNodesCluster = __webpack_require__(84); + var _Cluster = __webpack_require__(85); - var _componentsNodesCluster2 = _interopRequireDefault(_componentsNodesCluster); + var _Cluster2 = _interopRequireDefault(_Cluster); var util = __webpack_require__(1); @@ -22470,7 +22516,7 @@ return /******/ (function(modules) { // webpackBootstrap clusterNodeProperties.id = clusterId; // create the clusterNode - var clusterNode = this.body.functions.createNode(clusterNodeProperties, _componentsNodesCluster2["default"]); + var clusterNode = this.body.functions.createNode(clusterNodeProperties, _Cluster2["default"]); clusterNode.isCluster = true; clusterNode.containedNodes = childNodesObj; clusterNode.containedEdges = childEdgesObj; @@ -23868,13 +23914,13 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _componentsNavigationHandler = __webpack_require__(85); + var _NavigationHandler = __webpack_require__(86); - var _componentsNavigationHandler2 = _interopRequireDefault(_componentsNavigationHandler); + var _NavigationHandler2 = _interopRequireDefault(_NavigationHandler); - var _componentsPopup = __webpack_require__(86); + var _Popup = __webpack_require__(87); - var _componentsPopup2 = _interopRequireDefault(_componentsPopup); + var _Popup2 = _interopRequireDefault(_Popup); var util = __webpack_require__(1); @@ -23885,7 +23931,7 @@ return /******/ (function(modules) { // webpackBootstrap this.body = body; this.canvas = canvas; this.selectionHandler = selectionHandler; - this.navigationHandler = new _componentsNavigationHandler2['default'](body, canvas); + this.navigationHandler = new _NavigationHandler2['default'](body, canvas); // bind the events from hammer to functions in this object this.body.eventListeners.onTap = this.onTap.bind(this); @@ -24491,7 +24537,7 @@ return /******/ (function(modules) { // webpackBootstrap // show popup message window if (this.popupObj.id !== previousPopupObjId) { if (this.popup === undefined) { - this.popup = new _componentsPopup2['default'](this.canvas.frame); + this.popup = new _Popup2['default'](this.canvas.frame); } this.popup.popupTargetType = popupType; @@ -24572,8 +24618,8 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var Node = __webpack_require__(73); - var Edge = __webpack_require__(75); + var Node = __webpack_require__(74); + var Edge = __webpack_require__(84); var util = __webpack_require__(1); var SelectionHandler = (function () { @@ -27726,8 +27772,8 @@ return /******/ (function(modules) { // webpackBootstrap 'use strict'; - var keycharm = __webpack_require__(87); - var Emitter = __webpack_require__(42); + var keycharm = __webpack_require__(88); + var Emitter = __webpack_require__(69); var Hammer = __webpack_require__(41); var util = __webpack_require__(1); @@ -27921,6 +27967,176 @@ return /******/ (function(modules) { // webpackBootstrap /* 69 */ /***/ function(module, exports, __webpack_require__) { + + /** + * Expose `Emitter`. + */ + + module.exports = Emitter; + + /** + * Initialize a new `Emitter`. + * + * @api public + */ + + function Emitter(obj) { + if (obj) return mixin(obj); + }; + + /** + * Mixin the emitter properties. + * + * @param {Object} obj + * @return {Object} + * @api private + */ + + function mixin(obj) { + for (var key in Emitter.prototype) { + obj[key] = Emitter.prototype[key]; + } + return obj; + } + + /** + * Listen on the given `event` with `fn`. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + + Emitter.prototype.on = + Emitter.prototype.addEventListener = function(event, fn){ + this._callbacks = this._callbacks || {}; + (this._callbacks[event] = this._callbacks[event] || []) + .push(fn); + return this; + }; + + /** + * Adds an `event` listener that will be invoked a single + * time then automatically removed. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + + Emitter.prototype.once = function(event, fn){ + var self = this; + this._callbacks = this._callbacks || {}; + + function on() { + self.off(event, on); + fn.apply(this, arguments); + } + + on.fn = fn; + this.on(event, on); + return this; + }; + + /** + * Remove the given callback for `event` or all + * registered callbacks. + * + * @param {String} event + * @param {Function} fn + * @return {Emitter} + * @api public + */ + + Emitter.prototype.off = + Emitter.prototype.removeListener = + Emitter.prototype.removeAllListeners = + Emitter.prototype.removeEventListener = function(event, fn){ + this._callbacks = this._callbacks || {}; + + // all + if (0 == arguments.length) { + this._callbacks = {}; + return this; + } + + // specific event + var callbacks = this._callbacks[event]; + if (!callbacks) return this; + + // remove all handlers + if (1 == arguments.length) { + delete this._callbacks[event]; + return this; + } + + // remove specific handler + var cb; + for (var i = 0; i < callbacks.length; i++) { + cb = callbacks[i]; + if (cb === fn || cb.fn === fn) { + callbacks.splice(i, 1); + break; + } + } + return this; + }; + + /** + * Emit `event` with the given args. + * + * @param {String} event + * @param {Mixed} ... + * @return {Emitter} + */ + + Emitter.prototype.emit = function(event){ + this._callbacks = this._callbacks || {}; + var args = [].slice.call(arguments, 1) + , callbacks = this._callbacks[event]; + + if (callbacks) { + callbacks = callbacks.slice(0); + for (var i = 0, len = callbacks.length; i < len; ++i) { + callbacks[i].apply(this, args); + } + } + + return this; + }; + + /** + * Return array of callbacks for `event`. + * + * @param {String} event + * @return {Array} + * @api public + */ + + Emitter.prototype.listeners = function(event){ + this._callbacks = this._callbacks || {}; + return this._callbacks[event] || []; + }; + + /** + * Check if this emitter has `event` handlers. + * + * @param {String} event + * @return {Boolean} + * @api public + */ + + Emitter.prototype.hasListeners = function(event){ + return !! this.listeners(event).length; + }; + + +/***/ }, +/* 70 */ +/***/ function(module, exports, __webpack_require__) { + /* WEBPACK VAR INJECTION */(function(module) {//! moment.js //! version : 2.10.2 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors @@ -31004,10 +31220,10 @@ return /******/ (function(modules) { // webpackBootstrap return _moment; })); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(89)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(107)(module))) /***/ }, -/* 70 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict'; @@ -31235,7 +31451,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 71 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.4 - 2014-09-28 @@ -33690,7 +33906,7 @@ return /******/ (function(modules) { // webpackBootstrap prefixed: prefixed }); - if ("function" == TYPE_FUNCTION && __webpack_require__(90)) { + if ("function" == TYPE_FUNCTION && __webpack_require__(108)) { !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return Hammer; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -33704,7 +33920,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 72 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -34284,7 +34500,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 73 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -34299,69 +34515,69 @@ return /******/ (function(modules) { // webpackBootstrap function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var _sharedLabel = __webpack_require__(74); + var _Label = __webpack_require__(75); - var _sharedLabel2 = _interopRequireDefault(_sharedLabel); + var _Label2 = _interopRequireDefault(_Label); - var _nodesShapesBox = __webpack_require__(91); + var _Box = __webpack_require__(90); - var _nodesShapesBox2 = _interopRequireDefault(_nodesShapesBox); + var _Box2 = _interopRequireDefault(_Box); - var _nodesShapesCircle = __webpack_require__(92); + var _Circle = __webpack_require__(91); - var _nodesShapesCircle2 = _interopRequireDefault(_nodesShapesCircle); + var _Circle2 = _interopRequireDefault(_Circle); - var _nodesShapesCircularImage = __webpack_require__(93); + var _CircularImage = __webpack_require__(92); - var _nodesShapesCircularImage2 = _interopRequireDefault(_nodesShapesCircularImage); + var _CircularImage2 = _interopRequireDefault(_CircularImage); - var _nodesShapesDatabase = __webpack_require__(94); + var _Database = __webpack_require__(93); - var _nodesShapesDatabase2 = _interopRequireDefault(_nodesShapesDatabase); + var _Database2 = _interopRequireDefault(_Database); - var _nodesShapesDiamond = __webpack_require__(95); + var _Diamond = __webpack_require__(94); - var _nodesShapesDiamond2 = _interopRequireDefault(_nodesShapesDiamond); + var _Diamond2 = _interopRequireDefault(_Diamond); - var _nodesShapesDot = __webpack_require__(96); + var _Dot = __webpack_require__(95); - var _nodesShapesDot2 = _interopRequireDefault(_nodesShapesDot); + var _Dot2 = _interopRequireDefault(_Dot); - var _nodesShapesEllipse = __webpack_require__(97); + var _Ellipse = __webpack_require__(96); - var _nodesShapesEllipse2 = _interopRequireDefault(_nodesShapesEllipse); + var _Ellipse2 = _interopRequireDefault(_Ellipse); - var _nodesShapesIcon = __webpack_require__(98); + var _Icon = __webpack_require__(97); - var _nodesShapesIcon2 = _interopRequireDefault(_nodesShapesIcon); + var _Icon2 = _interopRequireDefault(_Icon); - var _nodesShapesImage = __webpack_require__(99); + var _Image = __webpack_require__(98); - var _nodesShapesImage2 = _interopRequireDefault(_nodesShapesImage); + var _Image2 = _interopRequireDefault(_Image); - var _nodesShapesSquare = __webpack_require__(100); + var _Square = __webpack_require__(99); - var _nodesShapesSquare2 = _interopRequireDefault(_nodesShapesSquare); + var _Square2 = _interopRequireDefault(_Square); - var _nodesShapesStar = __webpack_require__(101); + var _Star = __webpack_require__(100); - var _nodesShapesStar2 = _interopRequireDefault(_nodesShapesStar); + var _Star2 = _interopRequireDefault(_Star); - var _nodesShapesText = __webpack_require__(102); + var _Text = __webpack_require__(101); - var _nodesShapesText2 = _interopRequireDefault(_nodesShapesText); + var _Text2 = _interopRequireDefault(_Text); - var _nodesShapesTriangle = __webpack_require__(103); + var _Triangle = __webpack_require__(102); - var _nodesShapesTriangle2 = _interopRequireDefault(_nodesShapesTriangle); + var _Triangle2 = _interopRequireDefault(_Triangle); - var _nodesShapesTriangleDown = __webpack_require__(104); + var _TriangleDown = __webpack_require__(103); - var _nodesShapesTriangleDown2 = _interopRequireDefault(_nodesShapesTriangleDown); + var _TriangleDown2 = _interopRequireDefault(_TriangleDown); - var _sharedValidator = __webpack_require__(45); + var _Validator = __webpack_require__(45); - var _sharedValidator2 = _interopRequireDefault(_sharedValidator); + var _Validator2 = _interopRequireDefault(_Validator); var util = __webpack_require__(1); @@ -34414,7 +34630,7 @@ return /******/ (function(modules) { // webpackBootstrap this.selected = false; this.hover = false; - this.labelModule = new _sharedLabel2['default'](this.body, this.options); + this.labelModule = new _Label2['default'](this.body, this.options); this.setOptions(options); } @@ -34531,49 +34747,49 @@ return /******/ (function(modules) { // webpackBootstrap // choose draw method depending on the shape switch (this.options.shape) { case 'box': - this.shape = new _nodesShapesBox2['default'](this.options, this.body, this.labelModule); + this.shape = new _Box2['default'](this.options, this.body, this.labelModule); break; case 'circle': - this.shape = new _nodesShapesCircle2['default'](this.options, this.body, this.labelModule); + this.shape = new _Circle2['default'](this.options, this.body, this.labelModule); break; case 'circularImage': - this.shape = new _nodesShapesCircularImage2['default'](this.options, this.body, this.labelModule, this.imageObj); + this.shape = new _CircularImage2['default'](this.options, this.body, this.labelModule, this.imageObj); break; case 'database': - this.shape = new _nodesShapesDatabase2['default'](this.options, this.body, this.labelModule); + this.shape = new _Database2['default'](this.options, this.body, this.labelModule); break; case 'diamond': - this.shape = new _nodesShapesDiamond2['default'](this.options, this.body, this.labelModule); + this.shape = new _Diamond2['default'](this.options, this.body, this.labelModule); break; case 'dot': - this.shape = new _nodesShapesDot2['default'](this.options, this.body, this.labelModule); + this.shape = new _Dot2['default'](this.options, this.body, this.labelModule); break; case 'ellipse': - this.shape = new _nodesShapesEllipse2['default'](this.options, this.body, this.labelModule); + this.shape = new _Ellipse2['default'](this.options, this.body, this.labelModule); break; case 'icon': - this.shape = new _nodesShapesIcon2['default'](this.options, this.body, this.labelModule); + this.shape = new _Icon2['default'](this.options, this.body, this.labelModule); break; case 'image': - this.shape = new _nodesShapesImage2['default'](this.options, this.body, this.labelModule, this.imageObj); + this.shape = new _Image2['default'](this.options, this.body, this.labelModule, this.imageObj); break; case 'square': - this.shape = new _nodesShapesSquare2['default'](this.options, this.body, this.labelModule); + this.shape = new _Square2['default'](this.options, this.body, this.labelModule); break; case 'star': - this.shape = new _nodesShapesStar2['default'](this.options, this.body, this.labelModule); + this.shape = new _Star2['default'](this.options, this.body, this.labelModule); break; case 'text': - this.shape = new _nodesShapesText2['default'](this.options, this.body, this.labelModule); + this.shape = new _Text2['default'](this.options, this.body, this.labelModule); break; case 'triangle': - this.shape = new _nodesShapesTriangle2['default'](this.options, this.body, this.labelModule); + this.shape = new _Triangle2['default'](this.options, this.body, this.labelModule); break; case 'triangleDown': - this.shape = new _nodesShapesTriangleDown2['default'](this.options, this.body, this.labelModule); + this.shape = new _TriangleDown2['default'](this.options, this.body, this.labelModule); break; default: - this.shape = new _nodesShapesEllipse2['default'](this.options, this.body, this.labelModule); + this.shape = new _Ellipse2['default'](this.options, this.body, this.labelModule); break; } this._reset(); @@ -34788,7 +35004,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 74 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -35103,710 +35319,160 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 75 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { - 'use strict'; + "use strict"; - Object.defineProperty(exports, '__esModule', { + Object.defineProperty(exports, "__esModule", { value: true }); - var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - - var _sharedLabel = __webpack_require__(74); - - var _sharedLabel2 = _interopRequireDefault(_sharedLabel); - - var _edgesBezierEdgeDynamic = __webpack_require__(105); - - var _edgesBezierEdgeDynamic2 = _interopRequireDefault(_edgesBezierEdgeDynamic); - - var _edgesBezierEdgeStatic = __webpack_require__(106); - - var _edgesBezierEdgeStatic2 = _interopRequireDefault(_edgesBezierEdgeStatic); - - var _edgesStraightEdge = __webpack_require__(107); - - var _edgesStraightEdge2 = _interopRequireDefault(_edgesStraightEdge); - - var util = __webpack_require__(1); + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - /** - * @class Edge - * - * A edge connects two nodes - * @param {Object} properties Object with options. Must contain - * At least options from and to. - * Available options: from (number), - * to (number), label (string, color (string), - * width (number), style (string), - * length (number), title (string) - * @param {Network} network A Network object, used to find and edge to - * nodes. - * @param {Object} constants An object with default values for - * example for the color - */ + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var Edge = (function () { - function Edge(options, body, globalOptions) { - _classCallCheck(this, Edge); + var BarnesHutSolver = (function () { + function BarnesHutSolver(body, physicsBody, options) { + _classCallCheck(this, BarnesHutSolver); - if (body === undefined) { - throw 'No body provided'; - } - this.options = util.bridgeObject(globalOptions); this.body = body; - - // initialize variables - this.id = undefined; - this.fromId = undefined; - this.toId = undefined; - this.selected = false; - this.hover = false; - this.labelDirty = true; - this.colorDirty = true; - - this.baseWidth = this.options.width; - this.baseFontSize = this.options.font.size; - - this.from = undefined; // a node - this.to = undefined; // a node - - this.edgeType = undefined; - - this.connected = false; - - this.labelModule = new _sharedLabel2['default'](this.body, this.options); - + this.physicsBody = physicsBody; + this.barnesHutTree; this.setOptions(options); } - _createClass(Edge, [{ - key: 'setOptions', - - /** - * Set or overwrite options for the edge - * @param {Object} options an object with options - * @param doNotEmit - */ + _createClass(BarnesHutSolver, [{ + key: "setOptions", value: function setOptions(options) { - if (!options) { - return; - } - this.colorDirty = true; - - Edge.parseOptions(this.options, options, true); - - if (options.id !== undefined) { - this.id = options.id; - } - if (options.from !== undefined) { - this.fromId = options.from; - } - if (options.to !== undefined) { - this.toId = options.to; - } - if (options.title !== undefined) { - this.title = options.title; - } - if (options.value !== undefined) { - options.value = parseInt(options.value); - } - - // A node is connected when it has a from and to node that both exist in the network.body.nodes. - this.connect(); - - // update label Module - this.updateLabelModule(); - - var dataChanged = this.updateEdgeType(); - - // if anything has been updates, reset the selection width and the hover width - this._setInteractionWidths(); - - return dataChanged; + this.options = options; + this.thetaInversed = 1 / this.options.theta; } }, { - key: 'updateLabelModule', + key: "solve", /** - * update the options in the label module + * This function calculates the forces the nodes apply on eachother based on a gravitational model. + * The Barnes Hut method is used to speed up this N-body simulation. + * + * @private */ - value: function updateLabelModule() { - this.labelModule.setOptions(this.options, true); - if (this.labelModule.baseSize !== undefined) { - this.baseFontSize = this.labelModule.baseSize; - } - } - }, { - key: 'updateEdgeType', + value: function solve() { + if (this.options.gravitationalConstant !== 0 && this.physicsBody.physicsNodeIndices.length > 0) { + var node = undefined; + var nodes = this.body.nodes; + var nodeIndices = this.physicsBody.physicsNodeIndices; + var nodeCount = nodeIndices.length; - /** - * update the edge type, set the options - * @returns {boolean} - */ - value: function updateEdgeType() { - var dataChanged = false; - var changeInType = true; - if (this.edgeType !== undefined) { - if (this.edgeType instanceof _edgesBezierEdgeDynamic2['default'] && this.options.smooth.enabled === true && this.options.smooth.type === 'dynamic') { - changeInType = false; - } - if (this.edgeType instanceof _edgesBezierEdgeStatic2['default'] && this.options.smooth.enabled === true && this.options.smooth.type !== 'dynamic') { - changeInType = false; - } - if (this.edgeType instanceof _edgesStraightEdge2['default'] && this.options.smooth.enabled === false) { - changeInType = false; - } + // create the tree + var barnesHutTree = this._formBarnesHutTree(nodes, nodeIndices); - if (changeInType === true) { - dataChanged = this.edgeType.cleanup(); - } - } + // for debugging + this.barnesHutTree = barnesHutTree; - if (changeInType === true) { - if (this.options.smooth.enabled === true) { - if (this.options.smooth.type === 'dynamic') { - dataChanged = true; - this.edgeType = new _edgesBezierEdgeDynamic2['default'](this.options, this.body, this.labelModule); - } else { - this.edgeType = new _edgesBezierEdgeStatic2['default'](this.options, this.body, this.labelModule); + // place the nodes one by one recursively + for (var i = 0; i < nodeCount; i++) { + node = nodes[nodeIndices[i]]; + if (node.options.mass > 0) { + // starting with root is irrelevant, it never passes the BarnesHutSolver condition + this._getForceContribution(barnesHutTree.root.children.NW, node); + this._getForceContribution(barnesHutTree.root.children.NE, node); + this._getForceContribution(barnesHutTree.root.children.SW, node); + this._getForceContribution(barnesHutTree.root.children.SE, node); } - } else { - this.edgeType = new _edgesStraightEdge2['default'](this.options, this.body, this.labelModule); } - } else { - // if nothing changes, we just set the options. - this.edgeType.setOptions(this.options); } - - return dataChanged; - } - }, { - key: 'togglePhysics', - - /** - * Enable or disable the physics. - * @param status - */ - value: function togglePhysics(status) { - this.options.physics = status; - this.edgeType.togglePhysics(status); } }, { - key: 'connect', + key: "_getForceContribution", /** - * Connect an edge to its nodes + * This function traverses the barnesHutTree. It checks when it can approximate distant nodes with their center of mass. + * If a region contains a single node, we check if it is not itself, then we apply the force. + * + * @param parentBranch + * @param node + * @private */ - value: function connect() { - this.disconnect(); + value: function _getForceContribution(parentBranch, node) { + // we get no force contribution from an empty region + if (parentBranch.childrenCount > 0) { + var dx = undefined, + dy = undefined, + distance = undefined; - this.from = this.body.nodes[this.fromId] || undefined; - this.to = this.body.nodes[this.toId] || undefined; - this.connected = this.from !== undefined && this.to !== undefined; + // get the distance from the center of mass to the node. + dx = parentBranch.centerOfMass.x - node.x; + dy = parentBranch.centerOfMass.y - node.y; + distance = Math.sqrt(dx * dx + dy * dy); - if (this.connected === true) { - this.from.attachEdge(this); - this.to.attachEdge(this); - } else { - if (this.from) { - this.from.detachEdge(this); - } - if (this.to) { - this.to.detachEdge(this); + // BarnesHutSolver condition + // original condition : s/d < theta = passed === d/s > 1/theta = passed + // calcSize = 1/s --> d * 1/s > 1/theta = passed + if (distance * parentBranch.calcSize > this.thetaInversed) { + this._calculateForces(distance, dx, dy, node, parentBranch); + } else { + // Did not pass the condition, go into children if available + if (parentBranch.childrenCount === 4) { + this._getForceContribution(parentBranch.children.NW, node); + this._getForceContribution(parentBranch.children.NE, node); + this._getForceContribution(parentBranch.children.SW, node); + this._getForceContribution(parentBranch.children.SE, node); + } else { + // parentBranch must have only one node, if it was empty we wouldnt be here + if (parentBranch.children.data.id != node.id) { + // if it is not self + this._calculateForces(distance, dx, dy, node, parentBranch); + } + } } } } }, { - key: 'disconnect', + key: "_calculateForces", /** - * Disconnect an edge from its nodes + * Calculate the forces based on the distance. + * + * @param distance + * @param dx + * @param dy + * @param node + * @param parentBranch + * @private */ - value: function disconnect() { - if (this.from) { - this.from.detachEdge(this); - this.from = undefined; - } - if (this.to) { - this.to.detachEdge(this); - this.to = undefined; + value: function _calculateForces(distance, dx, dy, node, parentBranch) { + if (distance === 0) { + distance = 0.1 * Math.random(); + dx = distance; } + // the dividing by the distance cubed instead of squared allows us to get the fx and fy components without sines and cosines + // it is shorthand for gravityforce with distance squared and fx = dx/distance * gravityForce + var gravityForce = this.options.gravitationalConstant * parentBranch.mass * node.options.mass / Math.pow(distance, 3); + var fx = dx * gravityForce; + var fy = dy * gravityForce; - this.connected = false; - } - }, { - key: 'getTitle', - - /** - * get the title of this edge. - * @return {string} title The title of the edge, or undefined when no title - * has been set. - */ - value: function getTitle() { - return this.title; + this.physicsBody.forces[node.id].x += fx; + this.physicsBody.forces[node.id].y += fy; } }, { - key: 'isSelected', + key: "_formBarnesHutTree", /** - * check if this node is selecte - * @return {boolean} selected True if node is selected, else false + * This function constructs the barnesHut tree recursively. It creates the root, splits it and starts placing the nodes. + * + * @param nodes + * @param nodeIndices + * @private */ - value: function isSelected() { - return this.selected; - } - }, { - key: 'getValue', + value: function _formBarnesHutTree(nodes, nodeIndices) { + var node = undefined; + var nodeCount = nodeIndices.length; - /** - * Retrieve the value of the edge. Can be undefined - * @return {Number} value - */ - value: function getValue() { - return this.options.value; - } - }, { - key: 'setValueRange', - - /** - * Adjust the value range of the edge. The edge will adjust it's width - * based on its value. - * @param {Number} min - * @param {Number} max - * @param total - */ - value: function setValueRange(min, max, total) { - if (this.options.value !== undefined) { - var scale = this.options.scaling.customScalingFunction(min, max, total, this.options.value); - var widthDiff = this.options.scaling.max - this.options.scaling.min; - if (this.options.scaling.label.enabled === true) { - var fontDiff = this.options.scaling.label.max - this.options.scaling.label.min; - this.options.font.size = this.options.scaling.label.min + scale * fontDiff; - } - this.options.width = this.options.scaling.min + scale * widthDiff; - } else { - this.options.width = this.baseWidth; - this.options.font.size = this.baseFontSize; - } - - this._setInteractionWidths(); - } - }, { - key: '_setInteractionWidths', - value: function _setInteractionWidths() { - if (typeof this.options.hoverWidth === 'function') { - this.edgeType.hoverWidth = this.options.hoverWidth(this.options.width); - } else { - this.edgeType.hoverWidth = this.options.hoverWidth + this.options.width; - } - - if (typeof this.options.selectionWidth === 'function') { - this.edgeType.selectionWidth = this.options.selectionWidth(this.options.width); - } else { - this.edgeType.selectionWidth = this.options.selectionWidth + this.options.width; - } - } - }, { - key: 'draw', - - /** - * Redraw a edge - * Draw this edge in the given canvas - * The 2d context of a HTML canvas can be retrieved by canvas.getContext("2d"); - * @param {CanvasRenderingContext2D} ctx - */ - value: function draw(ctx) { - var via = this.edgeType.drawLine(ctx, this.selected, this.hover); - this.drawArrows(ctx, via); - this.drawLabel(ctx, via); - } - }, { - key: 'drawArrows', - value: function drawArrows(ctx, viaNode) { - if (this.options.arrows.from.enabled === true) { - this.edgeType.drawArrowHead(ctx, 'from', viaNode, this.selected, this.hover); - } - if (this.options.arrows.middle.enabled === true) { - this.edgeType.drawArrowHead(ctx, 'middle', viaNode, this.selected, this.hover); - } - if (this.options.arrows.to.enabled === true) { - this.edgeType.drawArrowHead(ctx, 'to', viaNode, this.selected, this.hover); - } - } - }, { - key: 'drawLabel', - value: function drawLabel(ctx, viaNode) { - if (this.options.label !== undefined) { - // set style - var node1 = this.from; - var node2 = this.to; - var selected = this.from.selected || this.to.selected || this.selected; - if (node1.id != node2.id) { - var point = this.edgeType.getPoint(0.5, viaNode); - ctx.save(); - - // if the label has to be rotated: - if (this.options.font.align !== 'horizontal') { - this.labelModule.calculateLabelSize(ctx, selected, point.x, point.y); - ctx.translate(point.x, this.labelModule.size.yLine); - this._rotateForLabelAlignment(ctx); - } - - // draw the label - this.labelModule.draw(ctx, point.x, point.y, selected); - ctx.restore(); - } else { - var x, y; - var radius = this.options.selfReferenceSize; - if (node1.shape.width > node1.shape.height) { - x = node1.x + node1.shape.width * 0.5; - y = node1.y - radius; - } else { - x = node1.x + radius; - y = node1.y - node1.shape.height * 0.5; - } - point = this._pointOnCircle(x, y, radius, 0.125); - this.labelModule.draw(ctx, point.x, point.y, selected); - } - } - } - }, { - key: 'isOverlappingWith', - - /** - * Check if this object is overlapping with the provided object - * @param {Object} obj an object with parameters left, top - * @return {boolean} True if location is located on the edge - */ - value: function isOverlappingWith(obj) { - if (this.connected) { - var distMax = 10; - var xFrom = this.from.x; - var yFrom = this.from.y; - var xTo = this.to.x; - var yTo = this.to.y; - var xObj = obj.left; - var yObj = obj.top; - - var dist = this.edgeType.getDistanceToEdge(xFrom, yFrom, xTo, yTo, xObj, yObj); - - return dist < distMax; - } else { - return false; - } - } - }, { - key: '_rotateForLabelAlignment', - - /** - * Rotates the canvas so the text is most readable - * @param {CanvasRenderingContext2D} ctx - * @private - */ - value: function _rotateForLabelAlignment(ctx) { - var dy = this.from.y - this.to.y; - var dx = this.from.x - this.to.x; - var angleInDegrees = Math.atan2(dy, dx); - - // rotate so label it is readable - if (angleInDegrees < -1 && dx < 0 || angleInDegrees > 0 && dx < 0) { - angleInDegrees = angleInDegrees + Math.PI; - } - - ctx.rotate(angleInDegrees); - } - }, { - key: '_pointOnCircle', - - /** - * Get a point on a circle - * @param {Number} x - * @param {Number} y - * @param {Number} radius - * @param {Number} percentage. Value between 0 (line start) and 1 (line end) - * @return {Object} point - * @private - */ - value: function _pointOnCircle(x, y, radius, percentage) { - var angle = percentage * 2 * Math.PI; - return { - x: x + radius * Math.cos(angle), - y: y - radius * Math.sin(angle) - }; - } - }, { - key: 'select', - value: function select() { - this.selected = true; - } - }, { - key: 'unselect', - value: function unselect() { - this.selected = false; - } - }], [{ - key: 'parseOptions', - value: function parseOptions(parentOptions, newOptions) { - var allowDeletion = arguments[2] === undefined ? false : arguments[2]; - - var fields = ['id', 'font', 'from', 'hidden', 'hoverWidth', 'label', 'length', 'line', 'opacity', 'physics', 'selectionWidth', 'selfReferenceSize', 'to', 'title', 'value', 'width']; - - // only deep extend the items in the field array. These do not have shorthand. - util.selectiveDeepExtend(fields, parentOptions, newOptions, allowDeletion); - - util.mergeOptions(parentOptions, newOptions, 'smooth'); - util.mergeOptions(parentOptions, newOptions, 'shadow'); - - if (newOptions.dashes !== undefined && newOptions.dashes !== null) { - parentOptions.dashes = newOptions.dashes; - } else if (allowDeletion === true) { - parentOptions.dashes = undefined; - delete parentOptions.dashes; - } - - // set the scaling newOptions - if (newOptions.scaling !== undefined && newOptions.scaling !== null) { - if (newOptions.scaling.min !== undefined) { - parentOptions.scaling.min = newOptions.scaling.min; - } - if (newOptions.scaling.max !== undefined) { - parentOptions.scaling.max = newOptions.scaling.max; - } - util.mergeOptions(parentOptions.scaling, newOptions.scaling, 'label'); - } else if (allowDeletion === true) { - parentOptions.scaling = undefined; - delete parentOptions.scaling; - } - - // hanlde multiple input cases for arrows - if (newOptions.arrows !== undefined && newOptions.arrows !== null) { - if (typeof newOptions.arrows === 'string') { - var arrows = newOptions.arrows.toLowerCase(); - if (arrows.indexOf('to') != -1) { - parentOptions.arrows.to.enabled = true; - } - if (arrows.indexOf('middle') != -1) { - parentOptions.arrows.middle.enabled = true; - } - if (arrows.indexOf('from') != -1) { - parentOptions.arrows.from.enabled = true; - } - } else if (typeof newOptions.arrows === 'object') { - util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'to'); - util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'middle'); - util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'from'); - } else { - throw new Error('The arrow newOptions can only be an object or a string. Refer to the documentation. You used:' + JSON.stringify(newOptions.arrows)); - } - } else if (allowDeletion === true) { - parentOptions.arrows = undefined; - delete parentOptions.arrows; - } - - // hanlde multiple input cases for color - if (newOptions.color !== undefined && newOptions.color !== null) { - if (util.isString(newOptions.color)) { - parentOptions.color.color = newOptions.color; - parentOptions.color.highlight = newOptions.color; - parentOptions.color.hover = newOptions.color; - parentOptions.color.inherit = false; - } else { - var colorsDefined = false; - if (newOptions.color.color !== undefined) { - parentOptions.color.color = newOptions.color.color;colorsDefined = true; - } - if (newOptions.color.highlight !== undefined) { - parentOptions.color.highlight = newOptions.color.highlight;colorsDefined = true; - } - if (newOptions.color.hover !== undefined) { - parentOptions.color.hover = newOptions.color.hover;colorsDefined = true; - } - if (newOptions.color.inherit !== undefined) { - parentOptions.color.inherit = newOptions.color.inherit; - } - if (newOptions.color.opacity !== undefined) { - parentOptions.color.opacity = Math.min(1, Math.max(0, newOptions.color.opacity)); - } - - if (newOptions.color.inherit === undefined && colorsDefined === true) { - parentOptions.color.inherit = false; - } - } - } else if (allowDeletion === true) { - parentOptions.color = undefined; - delete parentOptions.color; - } - } - }]); - - return Edge; - })(); - - exports['default'] = Edge; - module.exports = exports['default']; - -/***/ }, -/* 76 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - var BarnesHutSolver = (function () { - function BarnesHutSolver(body, physicsBody, options) { - _classCallCheck(this, BarnesHutSolver); - - this.body = body; - this.physicsBody = physicsBody; - this.barnesHutTree; - this.setOptions(options); - } - - _createClass(BarnesHutSolver, [{ - key: "setOptions", - value: function setOptions(options) { - this.options = options; - this.thetaInversed = 1 / this.options.theta; - } - }, { - key: "solve", - - /** - * This function calculates the forces the nodes apply on eachother based on a gravitational model. - * The Barnes Hut method is used to speed up this N-body simulation. - * - * @private - */ - value: function solve() { - if (this.options.gravitationalConstant !== 0 && this.physicsBody.physicsNodeIndices.length > 0) { - var node = undefined; - var nodes = this.body.nodes; - var nodeIndices = this.physicsBody.physicsNodeIndices; - var nodeCount = nodeIndices.length; - - // create the tree - var barnesHutTree = this._formBarnesHutTree(nodes, nodeIndices); - - // for debugging - this.barnesHutTree = barnesHutTree; - - // place the nodes one by one recursively - for (var i = 0; i < nodeCount; i++) { - node = nodes[nodeIndices[i]]; - if (node.options.mass > 0) { - // starting with root is irrelevant, it never passes the BarnesHutSolver condition - this._getForceContribution(barnesHutTree.root.children.NW, node); - this._getForceContribution(barnesHutTree.root.children.NE, node); - this._getForceContribution(barnesHutTree.root.children.SW, node); - this._getForceContribution(barnesHutTree.root.children.SE, node); - } - } - } - } - }, { - key: "_getForceContribution", - - /** - * This function traverses the barnesHutTree. It checks when it can approximate distant nodes with their center of mass. - * If a region contains a single node, we check if it is not itself, then we apply the force. - * - * @param parentBranch - * @param node - * @private - */ - value: function _getForceContribution(parentBranch, node) { - // we get no force contribution from an empty region - if (parentBranch.childrenCount > 0) { - var dx = undefined, - dy = undefined, - distance = undefined; - - // get the distance from the center of mass to the node. - dx = parentBranch.centerOfMass.x - node.x; - dy = parentBranch.centerOfMass.y - node.y; - distance = Math.sqrt(dx * dx + dy * dy); - - // BarnesHutSolver condition - // original condition : s/d < theta = passed === d/s > 1/theta = passed - // calcSize = 1/s --> d * 1/s > 1/theta = passed - if (distance * parentBranch.calcSize > this.thetaInversed) { - this._calculateForces(distance, dx, dy, node, parentBranch); - } else { - // Did not pass the condition, go into children if available - if (parentBranch.childrenCount === 4) { - this._getForceContribution(parentBranch.children.NW, node); - this._getForceContribution(parentBranch.children.NE, node); - this._getForceContribution(parentBranch.children.SW, node); - this._getForceContribution(parentBranch.children.SE, node); - } else { - // parentBranch must have only one node, if it was empty we wouldnt be here - if (parentBranch.children.data.id != node.id) { - // if it is not self - this._calculateForces(distance, dx, dy, node, parentBranch); - } - } - } - } - } - }, { - key: "_calculateForces", - - /** - * Calculate the forces based on the distance. - * - * @param distance - * @param dx - * @param dy - * @param node - * @param parentBranch - * @private - */ - value: function _calculateForces(distance, dx, dy, node, parentBranch) { - if (distance === 0) { - distance = 0.1 * Math.random(); - dx = distance; - } - // the dividing by the distance cubed instead of squared allows us to get the fx and fy components without sines and cosines - // it is shorthand for gravityforce with distance squared and fx = dx/distance * gravityForce - var gravityForce = this.options.gravitationalConstant * parentBranch.mass * node.options.mass / Math.pow(distance, 3); - var fx = dx * gravityForce; - var fy = dy * gravityForce; - - this.physicsBody.forces[node.id].x += fx; - this.physicsBody.forces[node.id].y += fy; - } - }, { - key: "_formBarnesHutTree", - - /** - * This function constructs the barnesHut tree recursively. It creates the root, splits it and starts placing the nodes. - * - * @param nodes - * @param nodeIndices - * @private - */ - value: function _formBarnesHutTree(nodes, nodeIndices) { - var node = undefined; - var nodeCount = nodeIndices.length; - - var minX = nodes[nodeIndices[0]].x; - var minY = nodes[nodeIndices[0]].y; - var maxX = nodes[nodeIndices[0]].x; - var maxY = nodes[nodeIndices[0]].y; + var minX = nodes[nodeIndices[0]].x; + var minY = nodes[nodeIndices[0]].y; + var maxX = nodes[nodeIndices[0]].x; + var maxY = nodes[nodeIndices[0]].y; // get the range of the nodes for (var i = 1; i < nodeCount; i++) { @@ -36764,6 +36430,556 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + + var _Label = __webpack_require__(75); + + var _Label2 = _interopRequireDefault(_Label); + + var _BezierEdgeDynamic = __webpack_require__(104); + + var _BezierEdgeDynamic2 = _interopRequireDefault(_BezierEdgeDynamic); + + var _BezierEdgeStatic = __webpack_require__(105); + + var _BezierEdgeStatic2 = _interopRequireDefault(_BezierEdgeStatic); + + var _StraightEdge = __webpack_require__(106); + + var _StraightEdge2 = _interopRequireDefault(_StraightEdge); + + var util = __webpack_require__(1); + + /** + * @class Edge + * + * A edge connects two nodes + * @param {Object} properties Object with options. Must contain + * At least options from and to. + * Available options: from (number), + * to (number), label (string, color (string), + * width (number), style (string), + * length (number), title (string) + * @param {Network} network A Network object, used to find and edge to + * nodes. + * @param {Object} constants An object with default values for + * example for the color + */ + + var Edge = (function () { + function Edge(options, body, globalOptions) { + _classCallCheck(this, Edge); + + if (body === undefined) { + throw 'No body provided'; + } + this.options = util.bridgeObject(globalOptions); + this.body = body; + + // initialize variables + this.id = undefined; + this.fromId = undefined; + this.toId = undefined; + this.selected = false; + this.hover = false; + this.labelDirty = true; + this.colorDirty = true; + + this.baseWidth = this.options.width; + this.baseFontSize = this.options.font.size; + + this.from = undefined; // a node + this.to = undefined; // a node + + this.edgeType = undefined; + + this.connected = false; + + this.labelModule = new _Label2['default'](this.body, this.options); + + this.setOptions(options); + } + + _createClass(Edge, [{ + key: 'setOptions', + + /** + * Set or overwrite options for the edge + * @param {Object} options an object with options + * @param doNotEmit + */ + value: function setOptions(options) { + if (!options) { + return; + } + this.colorDirty = true; + + Edge.parseOptions(this.options, options, true); + + if (options.id !== undefined) { + this.id = options.id; + } + if (options.from !== undefined) { + this.fromId = options.from; + } + if (options.to !== undefined) { + this.toId = options.to; + } + if (options.title !== undefined) { + this.title = options.title; + } + if (options.value !== undefined) { + options.value = parseInt(options.value); + } + + // A node is connected when it has a from and to node that both exist in the network.body.nodes. + this.connect(); + + // update label Module + this.updateLabelModule(); + + var dataChanged = this.updateEdgeType(); + + // if anything has been updates, reset the selection width and the hover width + this._setInteractionWidths(); + + return dataChanged; + } + }, { + key: 'updateLabelModule', + + /** + * update the options in the label module + */ + value: function updateLabelModule() { + this.labelModule.setOptions(this.options, true); + if (this.labelModule.baseSize !== undefined) { + this.baseFontSize = this.labelModule.baseSize; + } + } + }, { + key: 'updateEdgeType', + + /** + * update the edge type, set the options + * @returns {boolean} + */ + value: function updateEdgeType() { + var dataChanged = false; + var changeInType = true; + if (this.edgeType !== undefined) { + if (this.edgeType instanceof _BezierEdgeDynamic2['default'] && this.options.smooth.enabled === true && this.options.smooth.type === 'dynamic') { + changeInType = false; + } + if (this.edgeType instanceof _BezierEdgeStatic2['default'] && this.options.smooth.enabled === true && this.options.smooth.type !== 'dynamic') { + changeInType = false; + } + if (this.edgeType instanceof _StraightEdge2['default'] && this.options.smooth.enabled === false) { + changeInType = false; + } + + if (changeInType === true) { + dataChanged = this.edgeType.cleanup(); + } + } + + if (changeInType === true) { + if (this.options.smooth.enabled === true) { + if (this.options.smooth.type === 'dynamic') { + dataChanged = true; + this.edgeType = new _BezierEdgeDynamic2['default'](this.options, this.body, this.labelModule); + } else { + this.edgeType = new _BezierEdgeStatic2['default'](this.options, this.body, this.labelModule); + } + } else { + this.edgeType = new _StraightEdge2['default'](this.options, this.body, this.labelModule); + } + } else { + // if nothing changes, we just set the options. + this.edgeType.setOptions(this.options); + } + + return dataChanged; + } + }, { + key: 'togglePhysics', + + /** + * Enable or disable the physics. + * @param status + */ + value: function togglePhysics(status) { + this.options.physics = status; + this.edgeType.togglePhysics(status); + } + }, { + key: 'connect', + + /** + * Connect an edge to its nodes + */ + value: function connect() { + this.disconnect(); + + this.from = this.body.nodes[this.fromId] || undefined; + this.to = this.body.nodes[this.toId] || undefined; + this.connected = this.from !== undefined && this.to !== undefined; + + if (this.connected === true) { + this.from.attachEdge(this); + this.to.attachEdge(this); + } else { + if (this.from) { + this.from.detachEdge(this); + } + if (this.to) { + this.to.detachEdge(this); + } + } + } + }, { + key: 'disconnect', + + /** + * Disconnect an edge from its nodes + */ + value: function disconnect() { + if (this.from) { + this.from.detachEdge(this); + this.from = undefined; + } + if (this.to) { + this.to.detachEdge(this); + this.to = undefined; + } + + this.connected = false; + } + }, { + key: 'getTitle', + + /** + * get the title of this edge. + * @return {string} title The title of the edge, or undefined when no title + * has been set. + */ + value: function getTitle() { + return this.title; + } + }, { + key: 'isSelected', + + /** + * check if this node is selecte + * @return {boolean} selected True if node is selected, else false + */ + value: function isSelected() { + return this.selected; + } + }, { + key: 'getValue', + + /** + * Retrieve the value of the edge. Can be undefined + * @return {Number} value + */ + value: function getValue() { + return this.options.value; + } + }, { + key: 'setValueRange', + + /** + * Adjust the value range of the edge. The edge will adjust it's width + * based on its value. + * @param {Number} min + * @param {Number} max + * @param total + */ + value: function setValueRange(min, max, total) { + if (this.options.value !== undefined) { + var scale = this.options.scaling.customScalingFunction(min, max, total, this.options.value); + var widthDiff = this.options.scaling.max - this.options.scaling.min; + if (this.options.scaling.label.enabled === true) { + var fontDiff = this.options.scaling.label.max - this.options.scaling.label.min; + this.options.font.size = this.options.scaling.label.min + scale * fontDiff; + } + this.options.width = this.options.scaling.min + scale * widthDiff; + } else { + this.options.width = this.baseWidth; + this.options.font.size = this.baseFontSize; + } + + this._setInteractionWidths(); + } + }, { + key: '_setInteractionWidths', + value: function _setInteractionWidths() { + if (typeof this.options.hoverWidth === 'function') { + this.edgeType.hoverWidth = this.options.hoverWidth(this.options.width); + } else { + this.edgeType.hoverWidth = this.options.hoverWidth + this.options.width; + } + + if (typeof this.options.selectionWidth === 'function') { + this.edgeType.selectionWidth = this.options.selectionWidth(this.options.width); + } else { + this.edgeType.selectionWidth = this.options.selectionWidth + this.options.width; + } + } + }, { + key: 'draw', + + /** + * Redraw a edge + * Draw this edge in the given canvas + * The 2d context of a HTML canvas can be retrieved by canvas.getContext("2d"); + * @param {CanvasRenderingContext2D} ctx + */ + value: function draw(ctx) { + var via = this.edgeType.drawLine(ctx, this.selected, this.hover); + this.drawArrows(ctx, via); + this.drawLabel(ctx, via); + } + }, { + key: 'drawArrows', + value: function drawArrows(ctx, viaNode) { + if (this.options.arrows.from.enabled === true) { + this.edgeType.drawArrowHead(ctx, 'from', viaNode, this.selected, this.hover); + } + if (this.options.arrows.middle.enabled === true) { + this.edgeType.drawArrowHead(ctx, 'middle', viaNode, this.selected, this.hover); + } + if (this.options.arrows.to.enabled === true) { + this.edgeType.drawArrowHead(ctx, 'to', viaNode, this.selected, this.hover); + } + } + }, { + key: 'drawLabel', + value: function drawLabel(ctx, viaNode) { + if (this.options.label !== undefined) { + // set style + var node1 = this.from; + var node2 = this.to; + var selected = this.from.selected || this.to.selected || this.selected; + if (node1.id != node2.id) { + var point = this.edgeType.getPoint(0.5, viaNode); + ctx.save(); + + // if the label has to be rotated: + if (this.options.font.align !== 'horizontal') { + this.labelModule.calculateLabelSize(ctx, selected, point.x, point.y); + ctx.translate(point.x, this.labelModule.size.yLine); + this._rotateForLabelAlignment(ctx); + } + + // draw the label + this.labelModule.draw(ctx, point.x, point.y, selected); + ctx.restore(); + } else { + var x, y; + var radius = this.options.selfReferenceSize; + if (node1.shape.width > node1.shape.height) { + x = node1.x + node1.shape.width * 0.5; + y = node1.y - radius; + } else { + x = node1.x + radius; + y = node1.y - node1.shape.height * 0.5; + } + point = this._pointOnCircle(x, y, radius, 0.125); + this.labelModule.draw(ctx, point.x, point.y, selected); + } + } + } + }, { + key: 'isOverlappingWith', + + /** + * Check if this object is overlapping with the provided object + * @param {Object} obj an object with parameters left, top + * @return {boolean} True if location is located on the edge + */ + value: function isOverlappingWith(obj) { + if (this.connected) { + var distMax = 10; + var xFrom = this.from.x; + var yFrom = this.from.y; + var xTo = this.to.x; + var yTo = this.to.y; + var xObj = obj.left; + var yObj = obj.top; + + var dist = this.edgeType.getDistanceToEdge(xFrom, yFrom, xTo, yTo, xObj, yObj); + + return dist < distMax; + } else { + return false; + } + } + }, { + key: '_rotateForLabelAlignment', + + /** + * Rotates the canvas so the text is most readable + * @param {CanvasRenderingContext2D} ctx + * @private + */ + value: function _rotateForLabelAlignment(ctx) { + var dy = this.from.y - this.to.y; + var dx = this.from.x - this.to.x; + var angleInDegrees = Math.atan2(dy, dx); + + // rotate so label it is readable + if (angleInDegrees < -1 && dx < 0 || angleInDegrees > 0 && dx < 0) { + angleInDegrees = angleInDegrees + Math.PI; + } + + ctx.rotate(angleInDegrees); + } + }, { + key: '_pointOnCircle', + + /** + * Get a point on a circle + * @param {Number} x + * @param {Number} y + * @param {Number} radius + * @param {Number} percentage. Value between 0 (line start) and 1 (line end) + * @return {Object} point + * @private + */ + value: function _pointOnCircle(x, y, radius, percentage) { + var angle = percentage * 2 * Math.PI; + return { + x: x + radius * Math.cos(angle), + y: y - radius * Math.sin(angle) + }; + } + }, { + key: 'select', + value: function select() { + this.selected = true; + } + }, { + key: 'unselect', + value: function unselect() { + this.selected = false; + } + }], [{ + key: 'parseOptions', + value: function parseOptions(parentOptions, newOptions) { + var allowDeletion = arguments[2] === undefined ? false : arguments[2]; + + var fields = ['id', 'font', 'from', 'hidden', 'hoverWidth', 'label', 'length', 'line', 'opacity', 'physics', 'selectionWidth', 'selfReferenceSize', 'to', 'title', 'value', 'width']; + + // only deep extend the items in the field array. These do not have shorthand. + util.selectiveDeepExtend(fields, parentOptions, newOptions, allowDeletion); + + util.mergeOptions(parentOptions, newOptions, 'smooth'); + util.mergeOptions(parentOptions, newOptions, 'shadow'); + + if (newOptions.dashes !== undefined && newOptions.dashes !== null) { + parentOptions.dashes = newOptions.dashes; + } else if (allowDeletion === true) { + parentOptions.dashes = undefined; + delete parentOptions.dashes; + } + + // set the scaling newOptions + if (newOptions.scaling !== undefined && newOptions.scaling !== null) { + if (newOptions.scaling.min !== undefined) { + parentOptions.scaling.min = newOptions.scaling.min; + } + if (newOptions.scaling.max !== undefined) { + parentOptions.scaling.max = newOptions.scaling.max; + } + util.mergeOptions(parentOptions.scaling, newOptions.scaling, 'label'); + } else if (allowDeletion === true) { + parentOptions.scaling = undefined; + delete parentOptions.scaling; + } + + // hanlde multiple input cases for arrows + if (newOptions.arrows !== undefined && newOptions.arrows !== null) { + if (typeof newOptions.arrows === 'string') { + var arrows = newOptions.arrows.toLowerCase(); + if (arrows.indexOf('to') != -1) { + parentOptions.arrows.to.enabled = true; + } + if (arrows.indexOf('middle') != -1) { + parentOptions.arrows.middle.enabled = true; + } + if (arrows.indexOf('from') != -1) { + parentOptions.arrows.from.enabled = true; + } + } else if (typeof newOptions.arrows === 'object') { + util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'to'); + util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'middle'); + util.mergeOptions(parentOptions.arrows, newOptions.arrows, 'from'); + } else { + throw new Error('The arrow newOptions can only be an object or a string. Refer to the documentation. You used:' + JSON.stringify(newOptions.arrows)); + } + } else if (allowDeletion === true) { + parentOptions.arrows = undefined; + delete parentOptions.arrows; + } + + // hanlde multiple input cases for color + if (newOptions.color !== undefined && newOptions.color !== null) { + if (util.isString(newOptions.color)) { + parentOptions.color.color = newOptions.color; + parentOptions.color.highlight = newOptions.color; + parentOptions.color.hover = newOptions.color; + parentOptions.color.inherit = false; + } else { + var colorsDefined = false; + if (newOptions.color.color !== undefined) { + parentOptions.color.color = newOptions.color.color;colorsDefined = true; + } + if (newOptions.color.highlight !== undefined) { + parentOptions.color.highlight = newOptions.color.highlight;colorsDefined = true; + } + if (newOptions.color.hover !== undefined) { + parentOptions.color.hover = newOptions.color.hover;colorsDefined = true; + } + if (newOptions.color.inherit !== undefined) { + parentOptions.color.inherit = newOptions.color.inherit; + } + if (newOptions.color.opacity !== undefined) { + parentOptions.color.opacity = Math.min(1, Math.max(0, newOptions.color.opacity)); + } + + if (newOptions.color.inherit === undefined && colorsDefined === true) { + parentOptions.color.inherit = false; + } + } + } else if (allowDeletion === true) { + parentOptions.color = undefined; + delete parentOptions.color; + } + } + }]); + + return Edge; + })(); + + exports['default'] = Edge; + module.exports = exports['default']; + +/***/ }, +/* 85 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { desc = parent = getter = undefined; _again = false; var object = _x, property = _x2, receiver = _x3; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; @@ -36774,7 +36990,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _Node2 = __webpack_require__(73); + var _Node2 = __webpack_require__(74); var _Node3 = _interopRequireDefault(_Node2); @@ -36802,7 +37018,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 85 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36818,7 +37034,7 @@ return /******/ (function(modules) { // webpackBootstrap var util = __webpack_require__(1); var Hammer = __webpack_require__(41); var hammerUtil = __webpack_require__(48); - var keycharm = __webpack_require__(87); + var keycharm = __webpack_require__(88); var NavigationHandler = (function () { function NavigationHandler(body, canvas) { @@ -37072,7 +37288,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 86 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37199,7 +37415,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 87 */ +/* 88 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; @@ -37228,6 +37444,7 @@ return /******/ (function(modules) { // webpackBootstrap var preventDefault = options && options.preventDefault || false; var container = options && options.container || window; + var _exportFunctions = {}; var _bound = {keydown:{}, keyup:{}}; var _keys = {}; @@ -37397,7 +37614,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 88 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { function webpackContext(req) { @@ -37406,35 +37623,11 @@ return /******/ (function(modules) { // webpackBootstrap webpackContext.keys = function() { return []; }; webpackContext.resolve = webpackContext; module.exports = webpackContext; - webpackContext.id = 88; - - -/***/ }, -/* 89 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = function(module) { - if(!module.webpackPolyfill) { - module.deprecate = function() {}; - module.paths = []; - // module.parent = undefined by default - module.children = []; - module.webpackPolyfill = 1; - } - return module; - } + webpackContext.id = 89; /***/ }, /* 90 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {module.exports = __webpack_amd_options__; - - /* WEBPACK VAR INJECTION */}.call(exports, {})) - -/***/ }, -/* 91 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37455,9 +37648,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); 'use strict'; @@ -37536,13 +37729,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Box; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = Box; module.exports = exports['default']; /***/ }, -/* 92 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37563,9 +37756,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilCircleImageBase = __webpack_require__(109); + var _CircleImageBase2 = __webpack_require__(110); - var _utilCircleImageBase2 = _interopRequireDefault(_utilCircleImageBase); + var _CircleImageBase3 = _interopRequireDefault(_CircleImageBase2); 'use strict'; @@ -37629,13 +37822,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Circle; - })(_utilCircleImageBase2['default']); + })(_CircleImageBase3['default']); exports['default'] = Circle; module.exports = exports['default']; /***/ }, -/* 93 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37656,9 +37849,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilCircleImageBase = __webpack_require__(109); + var _CircleImageBase2 = __webpack_require__(110); - var _utilCircleImageBase2 = _interopRequireDefault(_utilCircleImageBase); + var _CircleImageBase3 = _interopRequireDefault(_CircleImageBase2); 'use strict'; @@ -37736,13 +37929,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return CircularImage; - })(_utilCircleImageBase2['default']); + })(_CircleImageBase3['default']); exports['default'] = CircularImage; module.exports = exports['default']; /***/ }, -/* 94 */ +/* 93 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37763,9 +37956,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); 'use strict'; @@ -37844,13 +38037,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Database; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = Database; module.exports = exports['default']; /***/ }, -/* 95 */ +/* 94 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37871,9 +38064,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(110); + var _ShapeBase2 = __webpack_require__(111); - var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); + var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); 'use strict'; @@ -37904,13 +38097,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Diamond; - })(_utilShapeBase2['default']); + })(_ShapeBase3['default']); exports['default'] = Diamond; module.exports = exports['default']; /***/ }, -/* 96 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37931,9 +38124,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(110); + var _ShapeBase2 = __webpack_require__(111); - var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); + var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); 'use strict'; @@ -37964,13 +38157,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Dot; - })(_utilShapeBase2['default']); + })(_ShapeBase3['default']); exports['default'] = Dot; module.exports = exports['default']; /***/ }, -/* 97 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37991,9 +38184,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); 'use strict'; @@ -38074,13 +38267,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Ellipse; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = Ellipse; module.exports = exports['default']; /***/ }, -/* 98 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38101,9 +38294,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); 'use strict'; @@ -38193,13 +38386,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Icon; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = Icon; module.exports = exports['default']; /***/ }, -/* 99 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38220,9 +38413,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilCircleImageBase = __webpack_require__(109); + var _CircleImageBase2 = __webpack_require__(110); - var _utilCircleImageBase2 = _interopRequireDefault(_utilCircleImageBase); + var _CircleImageBase3 = _interopRequireDefault(_CircleImageBase2); 'use strict'; @@ -38284,13 +38477,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Image; - })(_utilCircleImageBase2['default']); + })(_CircleImageBase3['default']); exports['default'] = Image; module.exports = exports['default']; /***/ }, -/* 100 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38311,9 +38504,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(110); + var _ShapeBase2 = __webpack_require__(111); - var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); + var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); 'use strict'; @@ -38345,13 +38538,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Square; - })(_utilShapeBase2['default']); + })(_ShapeBase3['default']); exports['default'] = Square; module.exports = exports['default']; /***/ }, -/* 101 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38372,9 +38565,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(110); + var _ShapeBase2 = __webpack_require__(111); - var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); + var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); 'use strict'; @@ -38405,13 +38598,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Star; - })(_utilShapeBase2['default']); + })(_ShapeBase3['default']); exports['default'] = Star; module.exports = exports['default']; /***/ }, -/* 102 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38432,9 +38625,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); 'use strict'; @@ -38493,13 +38686,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Text; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = Text; module.exports = exports['default']; /***/ }, -/* 103 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38520,9 +38713,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(110); + var _ShapeBase2 = __webpack_require__(111); - var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); + var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); 'use strict'; @@ -38553,13 +38746,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return Triangle; - })(_utilShapeBase2['default']); + })(_ShapeBase3['default']); exports['default'] = Triangle; module.exports = exports['default']; /***/ }, -/* 104 */ +/* 103 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38580,9 +38773,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilShapeBase = __webpack_require__(110); + var _ShapeBase2 = __webpack_require__(111); - var _utilShapeBase2 = _interopRequireDefault(_utilShapeBase); + var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); 'use strict'; @@ -38613,13 +38806,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return TriangleDown; - })(_utilShapeBase2['default']); + })(_ShapeBase3['default']); exports['default'] = TriangleDown; module.exports = exports['default']; /***/ }, -/* 105 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38640,9 +38833,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilBezierEdgeBase = __webpack_require__(111); + var _BezierEdgeBase2 = __webpack_require__(112); - var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); + var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); var BezierEdgeDynamic = (function (_BezierEdgeBase) { function BezierEdgeDynamic(options, body, labelModule) { @@ -38771,13 +38964,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return BezierEdgeDynamic; - })(_utilBezierEdgeBase2['default']); + })(_BezierEdgeBase3['default']); exports['default'] = BezierEdgeDynamic; module.exports = exports['default']; /***/ }, -/* 106 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38798,9 +38991,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilBezierEdgeBase = __webpack_require__(111); + var _BezierEdgeBase2 = __webpack_require__(112); - var _utilBezierEdgeBase2 = _interopRequireDefault(_utilBezierEdgeBase); + var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); var BezierEdgeStatic = (function (_BezierEdgeBase) { function BezierEdgeStatic(options, body, labelModule) { @@ -39037,13 +39230,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return BezierEdgeStatic; - })(_utilBezierEdgeBase2['default']); + })(_BezierEdgeBase3['default']); exports['default'] = BezierEdgeStatic; module.exports = exports['default']; /***/ }, -/* 107 */ +/* 106 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39064,9 +39257,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilEdgeBase = __webpack_require__(112); + var _EdgeBase2 = __webpack_require__(113); - var _utilEdgeBase2 = _interopRequireDefault(_utilEdgeBase); + var _EdgeBase3 = _interopRequireDefault(_EdgeBase2); var StraightEdge = (function (_EdgeBase) { function StraightEdge(options, body, labelModule) { @@ -39149,13 +39342,37 @@ return /******/ (function(modules) { // webpackBootstrap }]); return StraightEdge; - })(_utilEdgeBase2['default']); + })(_EdgeBase3['default']); exports['default'] = StraightEdge; module.exports = exports['default']; +/***/ }, +/* 107 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = function(module) { + if(!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + module.children = []; + module.webpackPolyfill = 1; + } + return module; + } + + /***/ }, /* 108 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {module.exports = __webpack_amd_options__; + + /* WEBPACK VAR INJECTION */}.call(exports, {})) + +/***/ }, +/* 109 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39221,7 +39438,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 109 */ +/* 110 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39242,9 +39459,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); var CircleImageBase = (function (_NodeBase) { function CircleImageBase(options, body, labelModule) { @@ -39343,13 +39560,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return CircleImageBase; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = CircleImageBase; module.exports = exports['default']; /***/ }, -/* 110 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39370,9 +39587,9 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _utilNodeBase = __webpack_require__(108); + var _NodeBase2 = __webpack_require__(109); - var _utilNodeBase2 = _interopRequireDefault(_utilNodeBase); + var _NodeBase3 = _interopRequireDefault(_NodeBase2); var ShapeBase = (function (_NodeBase) { function ShapeBase(options, body, labelModule) { @@ -39443,13 +39660,13 @@ return /******/ (function(modules) { // webpackBootstrap }]); return ShapeBase; - })(_utilNodeBase2['default']); + })(_NodeBase3['default']); exports['default'] = ShapeBase; module.exports = exports['default']; /***/ }, -/* 111 */ +/* 112 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39470,7 +39687,7 @@ return /******/ (function(modules) { // webpackBootstrap function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } - var _EdgeBase2 = __webpack_require__(112); + var _EdgeBase2 = __webpack_require__(113); var _EdgeBase3 = _interopRequireDefault(_EdgeBase2); @@ -39598,7 +39815,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = exports['default']; /***/ }, -/* 112 */ +/* 113 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -40183,222 +40400,6 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = EdgeBase; module.exports = exports['default']; -/***/ }, -/* 113 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(global) {'use strict'; - - var _rng; - - var globalVar = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : null; - - if (globalVar && globalVar.crypto && crypto.getRandomValues) { - // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto - // Moderately fast, high quality - var _rnds8 = new Uint8Array(16); - _rng = function whatwgRNG() { - crypto.getRandomValues(_rnds8); - return _rnds8; - }; - } - - if (!_rng) { - // Math.random()-based (RNG) - // - // If all else fails, use Math.random(). It's fast, but is of unspecified - // quality. - var _rnds = new Array(16); - _rng = function () { - for (var i = 0, r; i < 16; i++) { - if ((i & 3) === 0) r = Math.random() * 4294967296; - _rnds[i] = r >>> ((i & 3) << 3) & 255; - } - - return _rnds; - }; - } - - // uuid.js - // - // Copyright (c) 2010-2012 Robert Kieffer - // MIT License - http://opensource.org/licenses/mit-license.php - - // Unique ID creation requires a high quality random # generator. We feature - // detect to determine the best RNG source, normalizing to a function that - // returns 128-bits of randomness, since that's what's usually required - - //var _rng = require('./rng'); - - // Maps for number <-> hex string conversion - var _byteToHex = []; - var _hexToByte = {}; - for (var i = 0; i < 256; i++) { - _byteToHex[i] = (i + 256).toString(16).substr(1); - _hexToByte[_byteToHex[i]] = i; - } - - // **`parse()` - Parse a UUID into it's component bytes** - function parse(s, buf, offset) { - var i = buf && offset || 0, - ii = 0; - - buf = buf || []; - s.toLowerCase().replace(/[0-9a-f]{2}/g, function (oct) { - if (ii < 16) { - // Don't overflow! - buf[i + ii++] = _hexToByte[oct]; - } - }); - - // Zero out remaining bytes if string was short - while (ii < 16) { - buf[i + ii++] = 0; - } - - return buf; - } - - // **`unparse()` - Convert UUID byte array (ala parse()) into a string** - function unparse(buf, offset) { - var i = offset || 0, - bth = _byteToHex; - return bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + '-' + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]] + bth[buf[i++]]; - } - - // **`v1()` - Generate time-based UUID** - // - // Inspired by https://github.com/LiosK/UUID.js - // and http://docs.python.org/library/uuid.html - - // random #'s we need to init node and clockseq - var _seedBytes = _rng(); - - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - var _nodeId = [_seedBytes[0] | 1, _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]]; - - // Per 4.2.2, randomize (14 bit) clockseq - var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 16383; - - // Previous uuid creation time - var _lastMSecs = 0, - _lastNSecs = 0; - - // See https://github.com/broofa/node-uuid for API details - function v1(options, buf, offset) { - var i = buf && offset || 0; - var b = buf || []; - - options = options || {}; - - var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; - - // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); - - // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; - - // Time since last uuid creation (in msecs) - var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; - - // Per 4.2.1.2, Bump clockseq on clock regression - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 16383; - } - - // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } - - // Per 4.2.1.2 Throw error if too many uuids are requested - if (nsecs >= 10000) { - throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - - // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - msecs += 12219292800000; - - // `time_low` - var tl = ((msecs & 268435455) * 10000 + nsecs) % 4294967296; - b[i++] = tl >>> 24 & 255; - b[i++] = tl >>> 16 & 255; - b[i++] = tl >>> 8 & 255; - b[i++] = tl & 255; - - // `time_mid` - var tmh = msecs / 4294967296 * 10000 & 268435455; - b[i++] = tmh >>> 8 & 255; - b[i++] = tmh & 255; - - // `time_high_and_version` - b[i++] = tmh >>> 24 & 15 | 16; // include version - b[i++] = tmh >>> 16 & 255; - - // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - b[i++] = clockseq >>> 8 | 128; - - // `clock_seq_low` - b[i++] = clockseq & 255; - - // `node` - var node = options.node || _nodeId; - for (var n = 0; n < 6; n++) { - b[i + n] = node[n]; - } - - return buf ? buf : unparse(b); - } - - // **`v4()` - Generate random UUID** - - // See https://github.com/broofa/node-uuid for API details - function v4(options, buf, offset) { - // Deprecated - 'format' argument, as supported in v1.2 - var i = buf && offset || 0; - - if (typeof options == 'string') { - buf = options == 'binary' ? new Array(16) : null; - options = null; - } - options = options || {}; - - var rnds = options.random || (options.rng || _rng)(); - - // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - rnds[6] = rnds[6] & 15 | 64; - rnds[8] = rnds[8] & 63 | 128; - - // Copy bytes to buffer, if provided - if (buf) { - for (var ii = 0; ii < 16; ii++) { - buf[i + ii] = rnds[ii]; - } - } - - return buf || unparse(rnds); - } - - // Export public API - var uuid = v4; - uuid.v1 = v1; - uuid.v4 = v4; - uuid.parse = parse; - uuid.unparse = unparse; - - module.exports = uuid; - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) - /***/ } /******/ ]) }); diff --git a/dist/vis.map b/dist/vis.map index 9adc94a1..53129bae 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","Graph","Error","moment","hammer","Hammer","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","obj","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","undefined","arguments","protoExtend","i","length","other","extend","selectiveExtend","props","Array","isArray","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","map","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","next","end","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","configurationSystem","ConfigurationSystem","configureOptions","setGroups","setItems","_redraw","Core","Validator","printStyle","allOptions","markDirty","refreshItems","errorFound","validate","console","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animation","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","pageX","pageY","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","time","snappedTime","what","foreground","labelSet","groupId","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","duration","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","formattingFunction","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","isMajor","steps","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","select","unselect","groupChanged","_moveToGroup","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","_contentToString","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","outerHTML","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","eventParams","drag","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","groupArray","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","ceil","valueAtBottom","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","getData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","multiselect","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","isFirst","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldSubGroupId","oldGroup","_constructByEndArray","itemProps","initialX","srcEvent","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","decimals","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarFunctions","LineFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","tempGroups","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","pop","childNodes","nodeValue","_interopRequireDefault","__esModule","default","_this","clickToUse","nodes","nodeIndices","edges","edgeIndices","functions","createNode","createEdge","once","eventListeners","onTap","onTouch","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onMouseWheel","onPinch","onMouseMove","onRelease","onContext","view","bindEventListeners","images","_modulesGroups2","_modulesCanvas2","selectionHandler","_modulesSelectionHandler2","interactionHandler","_modulesInteractionHandler2","_modulesView2","renderer","_modulesCanvasRenderer2","physics","_modulesPhysicsEngine2","layoutEngine","_modulesLayoutEngine2","clustering","_modulesClustering2","manipulation","_modulesManipulationSystem2","nodesHandler","_modulesNodesHandler2","edgesHandler","_modulesEdgesHandler2","_modulesConfigurationSystem2","_modulesComponentsAllOptionsJs","pixelRatio","_modulesGroups","_modulesNodesHandler","_modulesEdgesHandler","_modulesPhysicsEngine","_modulesClustering","_modulesCanvasRenderer","_modulesCanvas","_modulesView","_modulesInteractionHandler","_modulesSelectionHandler","_modulesLayoutEngine","_modulesManipulationSystem","_modulesConfigurationSystem","_modulesValidator","_modulesValidator2","Activator","layout","interaction","configure","networkOptions","global","setModuleOptions","activator","_createKeyBinds","_updateVisibleIndices","nodeId","edgeId","_this2","updatePhysicsIndices","_updateValueRange","unselectAll","dotData","DOTToGraph","gephi","gephiData","parseGephi","valueTotal","setValueRange","isActive","active","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","getBoundingBox","getConnectedNodes","getEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","selectNodes","selectEdges","getPosition","releaseNode","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","src","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","setValue","o","addNode","node","graphs","attr","addEdge","edge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","image","shape","convertEdge","dotEdge","graphEdge","arrows","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","optionsObj","inheritColor","fixed","gEdges","gNodes","gEdge","source","gNode","propagating","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","getTime","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","mixin","_callbacks","self","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","hammerUtil","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","properties","_redrawTimer","set","events","scrollTopMin","customTimes","redrawCount","_initAutoResize","component","appliedOptions","_stopAutoResize","addCustomTime","timestamp","some","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_componentsColorPicker","_componentsColorPicker2","parentModule","defaultContainer","changedOptions","moduleOptions","domElements","colorPicker","wrapper","_clean","config","optionObj","_makeItem","_makeHeader","_handleObject","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","base","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","input","oninput","checkbox","checked","defaultColor","_showColorPicker","_this3","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","solver","enabledPath","enabledValue","_makeColorField","_makeDropdown","_makeRange","_constructOptions","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","checkFields","__type__","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","_isAMomentObject","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","closestMatch","recursive","closestMatchPath","op","levenshteinDistance","prefix","str","matrix","string","boolean","number","nada","undef","inputHandler","isTouching","isFinal","isReleasing","offTouch","offRelease","combinedData","groupLabel","intersections","_getDataIntersections","_getStackedYRange","accumulatedNegative","accumulatedPositive","xpos","coreDistance","amount","resolved","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","prevKey","sideBySide","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_componentsNode","_componentsNode2","_componentsSharedLabel","_componentsSharedLabel2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","face","strokeColor","code","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","_properties","positionInitially","changedData","dataChanged","constants","constructorClass","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_componentsEdge","_componentsEdge2","EdgesHandler","edgesListeners","scaleFactor","inherit","dashes","hoverWidth","selectionWidth","selfReferenceSize","smooth","dynamic","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","via","supportNodes","edgeType","colorDirty","_componentsPhysicsBarnesHutSolver","_componentsPhysicsBarnesHutSolver2","_componentsPhysicsRepulsionSolver","_componentsPhysicsRepulsionSolver2","_componentsPhysicsHierarchicalRepulsionSolver","_componentsPhysicsHierarchicalRepulsionSolver2","_componentsPhysicsSpringSolver","_componentsPhysicsSpringSolver2","_componentsPhysicsHierarchicalSpringSolver","_componentsPhysicsHierarchicalSpringSolver2","_componentsPhysicsCentralGravitySolver","_componentsPhysicsCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","stabilized","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","init","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","startedStabilization","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","_componentsNodesCluster","_componentsNodesCluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","tyepof","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","childNodeId","_getConnectedId","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","objId","amountOfConnections","newEdges","childNode","childKeys","otherNodeId","otherOnTo","clusterEdgeProperties","clusterId","processProperties","childNodesOptions","childEdgesOptions","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","togglePhysics","minX","maxX","minY","maxY","lenght","clusterNodeId","containedNode","cleanup","clusterStack","fromArray","average","averageSquared","hubCounter","largestHub","letiance","standardDeviation","hubThreshold","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedrawRequests","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","w","save","translate","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","restore","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","connected","browserType","Canvas","resizeTimer","resizeFunction","hammerFrame","_cleanUp","tabIndex","_bindHammer","pinch","_prepareValue","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","predefinedPosition","_getRange","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_componentsNavigationHandler","_componentsNavigationHandler2","_componentsPopup","_componentsPopup2","InteractionHandler","navigationHandler","hoverObj","popup","popupObj","popupTimer","dragNodes","dragView","hoverEnabled","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","changedPointers","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdges","selectedNodes","selectObject","selectionObj","xFixed","yFixed","_handleDragStart","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","Node","Edge","blurObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","SelectionHandler","selectConnectedEdges","updateSelection","selectionChanged","deselectObject","eventType","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","randomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","prevHierarchicalState","adaptAllOptions","nodesArray","isFixed","angle","seededRandom","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevel","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","editNode","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","alert","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","positions","findBorderPositions","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","_this4","defaultData","sourceNodeId","targetNodeId","_this5","_this6","CanvasRenderingContext2D","circle","square","s2","ir","triangleDown","star","diamond","roundRect","r2d","ellipse","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","database","wEllipse","hEllipse","ymb","yeb","arrow","xt","yt","xi","yi","xl","yl","xr","yr","dashedLine","x2","y2","pattern","patternLength","slope","distRemaining","patternIndex","dashLength","overlay","_onTapOverlay","bodyHammer","prevent_default","_hasParent","deactivate","keycharm","escListener","activate","unbind","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError","utils_hooks__hooks","hookCallback","setHookCallback","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","res","hasOwnProp","create_utc__createUTC","createLocalOrUTC","utc","valid__isValid","_isValid","_pf","_strict","bigHour","valid__createInvalid","flags","NaN","copyConfig","val","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","globalLocale","_abbr","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","_processing","propagatedHandler","_handled","stopped","firstTarget","_handlers","Manager","PropagatingHammer","_on","_off","_emit","_destroy","pointerType","handler","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","arg","each","iterator","dest","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","rotation","getRotation","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","getVelocity","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","_sharedLabel","_sharedLabel2","_nodesShapesBox","_nodesShapesBox2","_nodesShapesCircle","_nodesShapesCircle2","_nodesShapesCircularImage","_nodesShapesCircularImage2","_nodesShapesDatabase","_nodesShapesDatabase2","_nodesShapesDiamond","_nodesShapesDiamond2","_nodesShapesDot","_nodesShapesDot2","_nodesShapesEllipse","_nodesShapesEllipse2","_nodesShapesIcon","_nodesShapesIcon2","_nodesShapesImage","_nodesShapesImage2","_nodesShapesSquare","_nodesShapesSquare2","_nodesShapesStar","_nodesShapesStar2","_nodesShapesText","_nodesShapesText2","_nodesShapesTriangle","_nodesShapesTriangle2","_nodesShapesTriangleDown","_nodesShapesTriangleDown2","_Validator","imagelist","grouplist","globalOptions","baseSize","baseFontSize","labelModule","status","groupObj","imageObj","distanceToBorder","sizeDiff","fontDiff","resize","parentOptions","newOptions","parsedColor","_slicedToArray","Symbol","_arr","_n","_e","_s","err","Label","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor","_getColor2","fontColor","_setAlignment","_setAlignment2","lineJoin","lineCount","strokeText","_processLabel","measureText","newOptionsArray","_edgesBezierEdgeDynamic","_edgesBezierEdgeDynamic2","_edgesBezierEdgeStatic","_edgesBezierEdgeStatic2","_edgesStraightEdge","_edgesStraightEdge2","baseWidth","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","node1","node2","getPoint","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","BarnesHutSolver","barnesHutTree","thetaInversed","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","MAX_VALUE","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","gravity","_inherits","subClass","superClass","__proto__","_get","_x","_x2","_x3","_again","desc","receiver","getOwnPropertyDescriptor","getPrototypeOf","_Node2","_Node3","Cluster","_Node","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","_stopMovement","configureKeyboardBindings","loadNavigationElements","cleanNavigation","_navigationReleaseOverload","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","boundAction","unbindFromRedraw","Popup","doShow","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","webpackContext","req","resolve","webpackPolyfill","paths","__webpack_amd_options__","_utilNodeBase","_utilNodeBase2","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","enableShadow","disableShadow","_utilCircleImageBase","_utilCircleImageBase2","Circle","_CircleImageBase","diameter","_drawRawCircle","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","_distanceToBorder","Database","networkScaleInv","_utilShapeBase","_utilShapeBase2","Diamond","_ShapeBase","_resizeShape","_drawShape","Dot","Ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_utilBezierEdgeBase","_utilBezierEdgeBase2","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","parentEdgeId","positionBezierNode","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x3","y3","_getDistanceToBezierEdge","_x4","_x5","_x6","BezierEdgeStatic","_getViaCoordinates","xVia","yVia","pi","originalAngle","myAngle","_utilEdgeBase","_utilEdgeBase2","StraightEdge","_EdgeBase","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_getDistanceToLine","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","CircleImageBase","ratio","globalAlpha","drawImage","labelDimensions","ShapeBase","sizeMultiplier","_EdgeBase2","_EdgeBase3","BezierEdgeBase","distanceToPoint","difference","minDistance","lastX","lastY","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData","_getCircleData2","_circle","lineCap","setLineDash","lineDashOffset","_getCircleData3","_getCircleData32","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","_angle","_getCircleData7","_getCircleData72","_length"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DateUtil","DataStep","Range","stack","TimeStep","components","items","Item","BackgroundItem","BoxItem","PointItem","RangeItem","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","BackgroundGroup","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Images","dotparser","gephiParser","convertDot","input","DOTToGraph","convertGephi","options","parseGephi","Graph","Error","moment","hammer","Hammer","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","obj","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","undefined","arguments","protoExtend","i","length","other","extend","selectiveExtend","props","Array","isArray","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","window","returnValue","getTarget","target","srcElement","nodeType","parentNode","hasParent","parent","e","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","hexToRGB","hex","shorthandRegex","replace","r","g","result","parseInt","overrideOpacity","color","opacity","rgb","substr","RGBToHex","red","green","blue","toString","slice","parseColor","isValidRGB","map","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","RGBToHSV","minRGB","maxRGB","d","hue","saturation","cssUtil","cssText","styles","style","trim","parts","keys","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","enabled","binarySearchCustom","orderedItems","searchFunction","field","field2","maxIterations","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","labelObj","point","drawPoints","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","setOptions","prototype","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","update","updatedIds","updatedData","addOrUpdate","_updateItem","get","args","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","getIds","getDataSet","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","_ids","_onEvent","apply","setData","refresh","newIds","added","removed","viewOptions","getArguments","defaultFilter","dataSet","updated","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","methods","original","method","fn","context","entry","clearTimeout","setTimeout","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","passValueFn","xValueLabel","yValueLabel","zValueLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataTable","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","_setScale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","getNumberOfColumns","getNumberOfRows","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","start","getCurrent","next","end","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","startMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","boundingRect","mouseX","mouseY","tooltipTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","log","LN10","step1","pow","step2","step5","toPrecision","getStep","groups","forthArgument","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","_create","body","domProps","emitter","bind","hiddenDates","getScale","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","range","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","oncontextmenu","configurationSystem","ConfigurationSystem","configureOptions","setGroups","setItems","_redraw","Core","Validator","printStyle","allOptions","markDirty","refreshItems","errorFound","validate","console","newDataSet","initialLoad","dataRange","_getDataRange","setWindow","animation","fit","setSelection","focus","getSelection","itemData","getItemRange","dataset","minItem","maxStartItem","maxEndItem","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","time","snappedTime","what","foreground","labelSet","groupId","pageX","srcEvent","pageY","linegraph","getLegend","isGroupVisible","visibility","yAxisLeft","yAxisRight","legendLeft","legendRight","hidden","screenToValue","convertHiddenOptions","repeat","dateItem","updateHiddenDates","totalRange","pixelTime","startDate","endDate","_d","duration","runUntil","clone","day","dayOfYear","year","dayOffset","date","month","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","startToFront","endToFront","_applyRange","safeDates","printDates","dates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","conversion","getHiddenDurationBetween","correctTimeForHidden","hiddenDuration","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","getHiddenDurationBefore","timeOffset","requiredDuration","previousPoint","snapAwayFromHidden","direction","correctionEnabled","minimumStep","containerHeight","customRange","formattingFunction","alignZeros","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeRange","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","isMajor","steps","now","hours","minutes","seconds","milliseconds","deltaDifference","scaleOffset","moveable","zoomable","zoomMin","zoomMax","touch","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","done","changed","newStart","newEnd","getRange","totalHidden","previousDelta","allowDragging","deltaX","deltaY","diffRange","safeStart","safeEnd","pointer","pointerDate","_pointerToDate","zoom","centerDate","hiddenDurationBefore","hiddenDurationAfter","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","collidingItem","jj","collision","nostack","subgroups","newTop","subgroup","format","FORMAT","minorLabels","millisecond","second","minute","hour","weekday","majorLabels","setFormat","defaultFormat","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","getLabelMinor","getLabelMajor","getClassName","even","today","isSame","currentWeek","currentMonth","currentYear","locale","lang","toLowerCase","selected","displayed","dirty","select","unselect","groupChanged","_moveToGroup","setParent","hide","show","isVisible","repositionX","repositionY","_repaintDeleteButton","anchor","editable","deleteButton","title","removeFromDataSet","stopPropagation","_updateContents","template","_contentToString","Element","_updateTitle","removeAttribute","_updateDataAttributes","dataAttributes","attributes","setAttribute","_updateStyle","outerHTML","baseClassName","box","getComputedStyle","onTop","itemSubgroup","subgroupIndex","totalHeight","newHeight","align","itemSetHeight","marginLeft","maxWidth","_repaintDragLeft","_repaintDragRight","limitSize","contentLeft","parentWidth","boxWidth","updateTime","dragLeft","dragLeftItem","dragRight","dragRightItem","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","backgroundVertical","warned","toUpperCase","substring","currentTimeTimer","setCurrentTime","getCurrentTime","eventParams","drag","setCustomTime","getCustomTime","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","lineOffset","master","svgElements","iconsRemoved","amountOfGroups","lineContainer","scrollTop","addGroup","graphOptions","updateGroup","removeGroup","display","_redrawGroupIcons","iconHeight","iconOffset","groupArray","drawIcon","_cleanupIcons","backgroundHorizontal","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","_redrawTitle","ceil","valueAtBottom","maxLabelSize","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","textTitle","measureCharTitle","titleCharWidth","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","Line","Bar","Points","setZeroPosition","interpolation","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","getYRange","groupData","getData","draw","framework","subgroupOrderer","subgroupOrder","visibleItems","byStart","byEnd","checkRangedItems","inner","marker","getLabelWidth","restack","markerHeight","lastMarkerHeight","customOrderedItems","_updateVisibleItems","_calculateHeight","offsetTop","offsetLeft","ii","resetSubgroups","orderSubgroups","_checkIfVisible","sortArray","sortField","removeItem","startArray","endArray","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","groupOrder","selectable","multiselect","onAdd","onUpdate","onMove","onRemove","onMoving","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","BACKGROUND","_updateUngrouped","backgroundGroup","isFirst","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","Function","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","_order","getGroups","_getType","_removeItem","groupOptions","oldGroupId","oldSubGroupId","oldGroup","_constructByEndArray","itemProps","initialX","ctrlKey","_onDragStartAddItem","xAbs","newItem","initial","initialStart","initialEnd","changes","shiftKey","oldSelection","newSelection","_getItemRange","_item","itemSetFromTarget","side","iconSize","iconSpacing","textArea","scrollableHeight","drawLegendIcons","paddingTop","defaultGroup","sampling","graphHeight","barChart","sideBySide","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","lastStart","COUNTER","BarFunctions","LineFunctions","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","forceGraphUpdate","_updateGraph","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","MAX_CYCLES","_convertYcoordinates","dataContainer","guess","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","tempGroups","axisUsed","datapoints","xValue","yValue","extractedData","svgHeight","labelValue","majorTexts","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","cur","prevLine","xPrev","xFirstMajorLabel","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","pop","childNodes","nodeValue","_interopRequireDefault","__esModule","default","_this","clickToUse","nodes","nodeIndices","edges","edgeIndices","functions","createNode","createEdge","once","eventListeners","onTap","onTouch","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onMouseWheel","onPinch","onMouseMove","onRelease","onContext","view","bindEventListeners","images","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","physics","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_ClusterEngine2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_ConfigurationSystem2","_allOptions$configureOptions","pixelRatio","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_ClusterEngine","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_ConfigurationSystem","_Validator","_Validator2","Activator","layout","interaction","configure","networkOptions","global","setModuleOptions","activator","_createKeyBinds","_updateVisibleIndices","nodeId","edgeId","_this2","updatePhysicsIndices","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","isActive","active","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","getBoundingBox","getConnectedNodes","getEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","selectNodes","selectEdges","getPosition","releaseNode","imageBroken","load","url","brokenUrl","img","Image","onload","onerror","error","src","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","setValue","o","addNode","node","graphs","attr","addEdge","edge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","graphData","dotNode","graphNode","image","shape","convertEdge","dotEdge","graphEdge","arrows","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","optionsObj","inheritColor","fixed","gEdges","gNodes","gEdge","source","gNode","propagating","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","getTime","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","_nodeId","n","rnds","random","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","hammerUtil","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","properties","_redrawTimer","set","listeners","events","scrollTopMin","customTimes","redrawCount","_initAutoResize","component","appliedOptions","_stopAutoResize","addCustomTime","timestamp","some","removeCustomTime","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","MAX_REDRAWS","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","_classCallCheck","instance","Constructor","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_ColorPicker","_ColorPicker2","parentModule","defaultContainer","changedOptions","allowCreation","moduleOptions","domElements","colorPicker","wrapper","_clean","config","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseover","onmouseout","optionsContainer","_push","insertTo","base","_len","_key","div","objectLabel","selectedValue","_update","_makeLabel","oninput","checkbox","checked","_this3","defaultColor","_showColorPicker","_this4","bodyRect","pickerX","pickerY","setColor","setCallback","colorString","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","solver","enabledPath","enabledValue","_makeColorField","_makeDropdown","_makeRange","_constructOptions","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","checkFields","__type__","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","_isAMomentObject","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","closestMatch","recursive","closestMatchPath","op","levenshteinDistance","prefix","str","matrix","string","boolean","number","nada","undef","any","movable","inputHandler","isTouching","isFinal","isReleasing","offTouch","offRelease","combinedData","groupLabel","intersections","_getDataIntersections","_getStackedYRange","accumulatedNegative","accumulatedPositive","xpos","coreDistance","amount","resolved","_catmullRom","_linear","dFill","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","Bargraph","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","prevKey","Groups","defaultIndex","groupsArray","groupIndex","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","face","strokeColor","code","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","parseOptions","updateShape","updateLabelModule","_reset","doNotEmit","oldNodesData","newNodes","_properties","positionInitially","changedData","dataChanged","constants","constructorClass","dataArray","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_Edge","_Edge2","EdgesHandler","edgesListeners","scaleFactor","inherit","dashes","hoverWidth","selectionWidth","selfReferenceSize","smooth","roundness","emitChange","edgeData","edgeOptions","dynamic","reconnectEdges","markAllEdgesAsDirty","updateEdgeType","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","via","supportNodes","edgeType","colorDirty","_BarnesHutSolver","_BarnesHutSolver2","_Repulsion","_Repulsion2","_HierarchicalRepulsion","_HierarchicalRepulsion2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_ForceAtlas2BasedRepulsionSolver","_ForceAtlas2BasedRepulsionSolver2","_ForceAtlas2BasedCentralGravitySolver","_ForceAtlas2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","freezeCache","renderTimer","stabilized","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","iterations","updateInterval","onlyDynamicEdges","timestep","initPhysics","init","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","startedStabilization","calculateForces","moveNodes","revert","nodeIds","vx","vy","nodesPresent","vminCorrected","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","hubsize","_getHubSize","tyepof","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","_cloneOptions","_cluster","clusters","childNodeId","_getConnectedId","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","objId","amountOfConnections","newEdges","childNode","childKeys","otherNodeId","otherOnTo","clusterEdgeProperties","clusterId","processProperties","childNodesOptions","childEdgesOptions","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","togglePhysics","minX","maxX","minY","maxY","lenght","clusterNodeId","containedNode","cleanup","clusterStack","fromArray","average","averageSquared","hubCounter","largestHub","letiance","standardDeviation","hubThreshold","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedrawRequests","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","w","save","translate","_drawEdges","_drawNodes","controlNodesActive","_drawControlNodes","restore","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","updateBoundingBox","connected","browserType","Canvas","resizeTimer","resizeFunction","hammerFrame","_cleanUp","tabIndex","_bindHammer","pinch","_prepareValue","emitEvent","oldWidth","oldHeight","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","specificNodes","zoomLevel","initialZoom","positionDefined","predefinedPosition","_getRange","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","distanceFromCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","_Popup","_Popup2","InteractionHandler","navigationHandler","popup","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","changedPointers","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdges","selectedNodes","selectObject","selectionObj","xFixed","yFixed","_handleDragStart","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","setPosition","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","getTitle","overlappingEdges","popupTargetType","popupTargetId","setText","_pointerToPositionObject","stillOnObj","overNode","Node","Edge","SelectionHandler","hoverObj","selectConnectedEdges","updateSelection","selectionChanged","deselectObject","eventType","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","_getAllEdgesOverlappingWith","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","randomSeed","optionsBackup","hierarchical","levelSeparation","sortMethod","hierarchicalLevels","setupHierarchicalLayout","prevHierarchicalState","adaptAllOptions","nodesArray","isFixed","angle","seededRandom","definedLevel","undefinedLevel","nodeSpacing","_determineLevelsByHubsize","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","positionedNodes","_placeBranchNodes","hubSize","_setLevel","minLevel","_setLevelDirected","parentId","parentLevel","childNodeLevel","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","editNode","editEdge","deleteNode","deleteEdge","controlNodeStyle","_restore","_setup","showManipulatorToolbar","_createEditButton","manipulationDOM","selectedNodeCount","selectedEdgeCount","selectedTotalCount","needSeperator","_createAddNodeButton","_createSeperator","_createAddEdgeButton","_createEditNodeButton","_createEditEdgeButton","_createDeleteButton","_bindHammerToDiv","toggleEditMode","_temporaryBindEvent","_createBackButton","_createDescription","_performAddNode","_getSelectedNode","finalizedData","alert","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","edgeBeingEditedId","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","positions","findBorderPositions","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","lastTouch","fromSelect","toSelect","overlappingNodeIds","_performEditEdge","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","_this5","_this6","CanvasRenderingContext2D","circle","square","s2","ir","triangleDown","star","diamond","roundRect","r2d","ellipse","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","database","wEllipse","hEllipse","ymb","yeb","arrow","xt","yt","xi","yi","xl","yl","xr","yr","dashedLine","x2","y2","pattern","patternLength","slope","distRemaining","patternIndex","dashLength","overlay","_onTapOverlay","bodyHammer","prevent_default","_hasParent","deactivate","keycharm","escListener","activate","unbind","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError","mixin","_callbacks","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","utils_hooks__hooks","hookCallback","setHookCallback","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","res","hasOwnProp","create_utc__createUTC","createLocalOrUTC","utc","valid__isValid","_isValid","_pf","_strict","bigHour","valid__createInvalid","flags","NaN","copyConfig","val","_i","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","updateInProgress","updateOffset","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","dontConvert","lengthDiff","diffs","Locale","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","globalLocale","_abbr","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","addUnitAlias","unit","shorthand","lowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","targetLength","forceSign","output","addFormatToken","padded","ordinal","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","isValid","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","unescapeFormat","matched","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","UTC","getUTCDate","localeMonths","_months","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","warn","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecateSimple","deprecations","configFromISO","l","from_string__isoRegex","isoDates","isoTimes","matchOffset","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","ms","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","weekOfYear","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","local__createLocal","week","localeWeek","_week","dow","doy","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","dayOfYearFromWeeks","daysToAdd","getUTCDay","getSetDayOfYear","startOf","defaults","currentDateArray","_useUTC","getUTCFullYear","getUTCMonth","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","GG","W","E","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","_meridiem","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","days","_milliseconds","_days","_bubble","isDuration","separator","utcOffset","offsetFromString","matches","chunk","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","create__isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","dur","tmp","isAdding","moment_calendar__calendar","sod","calendar","inputMs","endOf","isBetween","absFloor","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","moment_format__toISOString","inputString","postformat","withoutSuffix","humanize","fromNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","addWeekYearFormatToken","getter","weeksInYear","getSetWeekYear","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","getSetQuarter","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","millisecond__milliseconds","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","locale_set__set","_ordinalParseLenient","_ordinalParse","lists__get","setter","list","out","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","bubble","daysToYears","yearsToDays","duration_as__valueOf","makeAs","alias","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","limit","withSuffix","iso_string__toISOString","Y","iso_string__abs","D","asSeconds","match1","match2","match3","match4","match6","match1to2","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","getSetDayOfMonth","invalidWeekday","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","toJSON","isoWeek","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","prototype__proto","firstDayOfYear","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_get__milliseconds","duration_prototype__proto","toIsoString","version","invalid","relativeTimeThreshold","_moment","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","_processing","propagatedHandler","_handled","stopped","firstTarget","_handlers","Manager","PropagatingHammer","_on","_off","_emit","_destroy","pointerType","handler","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","arg","each","iterator","dest","child","childP","baseP","_super","boolOrFn","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","inStr","find","inArray","findByKey","uniqueArray","results","prefixed","property","camelProp","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","manager","inputTarget","domHandler","ev","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","pointersLen","pointers","changedPointersLen","INPUT_START","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","rotation","getRotation","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","getVelocity","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","mouse","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","recognizers","preset","handlers","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","MOBILE_REGEX","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","getTouchAction","preventDefaults","prevented","hasNone","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","withState","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","_setSize","htmlColors","black","navy","darkblue","mediumblue","darkgreen","teal","darkcyan","deepskyblue","darkturquoise","mediumspringgreen","lime","springgreen","aqua","cyan","midnightblue","dodgerblue","lightseagreen","forestgreen","seagreen","darkslategray","limegreen","mediumseagreen","turquoise","royalblue","steelblue","darkslateblue","mediumturquoise","indigo","darkolivegreen","cadetblue","cornflowerblue","mediumaquamarine","dimgray","slateblue","olivedrab","slategray","lightslategray","mediumslateblue","lawngreen","chartreuse","aquamarine","maroon","purple","olive","gray","skyblue","lightskyblue","blueviolet","darkred","darkmagenta","saddlebrown","darkseagreen","lightgreen","mediumpurple","darkviolet","palegreen","darkorchid","yellowgreen","sienna","brown","darkgray","lightblue","greenyellow","paleturquoise","lightsteelblue","powderblue","firebrick","darkgoldenrod","mediumorchid","rosybrown","darkkhaki","silver","mediumvioletred","indianred","peru","chocolate","tan","lightgrey","palevioletred","thistle","orchid","goldenrod","crimson","gainsboro","plum","burlywood","lightcyan","lavender","darksalmon","violet","palegoldenrod","lightcoral","khaki","aliceblue","honeydew","azure","sandybrown","wheat","beige","whitesmoke","mintcream","ghostwhite","salmon","antiquewhite","linen","lightgoldenrodyellow","oldlace","fuchsia","magenta","deeppink","orangered","tomato","hotpink","coral","darkorange","lightsalmon","orange","lightpink","pink","gold","peachpuff","navajowhite","moccasin","bisque","mistyrose","blanchedalmond","papayawhip","lavenderblush","seashell","cornsilk","lemonchiffon","floralwhite","snow","yellow","lightyellow","ivory","white","setInitial","htmlColor","_isColorString","rgbaArray","rgbObj","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","putImageData","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newLeft","_Box","_Box2","_Circle","_Circle2","_CircularImage","_CircularImage2","_Database","_Database2","_Diamond","_Diamond2","_Dot","_Dot2","_Ellipse","_Ellipse2","_Icon","_Icon2","_Image","_Image2","_Square","_Square2","_Star","_Star2","_Text","_Text2","_Triangle","_Triangle2","_TriangleDown","_TriangleDown2","imagelist","grouplist","globalOptions","baseSize","baseFontSize","labelModule","status","groupObj","imageObj","distanceToBorder","sizeDiff","fontDiff","resize","parentOptions","newOptions","parsedColor","_slicedToArray","Symbol","_arr","_n","_e","_s","err","Label","yLine","labelDirty","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_getColor","_getColor2","fontColor","_setAlignment","_setAlignment2","lineJoin","lineCount","strokeText","_processLabel","measureText","newOptionsArray","BarnesHutSolver","barnesHutTree","thetaInversed","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","node1","node2","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","CentralGravitySolver","_inherits","subClass","superClass","__proto__","_get","_x","_x2","_x3","_again","desc","receiver","getOwnPropertyDescriptor","getPrototypeOf","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","baseWidth","_setInteractionWidths","changeInType","attachEdge","detachEdge","widthDiff","drawLine","drawArrows","drawLabel","viaNode","drawArrowHead","getPoint","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","percentage","colorsDefined","_Node3","Cluster","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","_stopMovement","configureKeyboardBindings","loadNavigationElements","cleanNavigation","_navigationReleaseOverload","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","boundAction","unbindFromRedraw","Popup","doShow","_exportFunctions","_bound","keydown","keyup","_keys","fromCharCode","down","handleEvent","up","keyCode","bound","bindAll","getKey","newBindings","webpackContext","req","resolve","_NodeBase2","_NodeBase3","Box","_NodeBase","textSize","getTextSize","selectionLineWidth","enableShadow","disableShadow","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","labelOffset","_distanceToBorder","Database","networkScaleInv","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","Dot","Ellipse","Icon","_icon","iconTextSpacing","Square","Star","Text","Triangle","TriangleDown","_BezierEdgeBase2","_BezierEdgeBase3","BezierEdgeDynamic","_BezierEdgeBase","setupSupportNode","parentEdgeId","positionBezierNode","quadraticCurveTo","nearNode","_findBorderPositionBezier","x1","y1","x3","y3","_getDistanceToBezierEdge","_x4","_x5","_x6","BezierEdgeStatic","_getViaCoordinates","xVia","yVia","pi","originalAngle","myAngle","_EdgeBase2","_EdgeBase3","StraightEdge","_EdgeBase","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_getDistanceToLine","webpackPolyfill","paths","__webpack_amd_options__","NodeBase","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","CircleImageBase","ratio","globalAlpha","drawImage","labelDimensions","ShapeBase","sizeMultiplier","BezierEdgeBase","distanceToPoint","difference","minDistance","lastX","lastY","EdgeBase","getColor","getLineWidth","_drawDashedLine","_drawLine","_line","_getCircleData","_getCircleData2","_circle","lineCap","setLineDash","lineDashOffset","_getCircleData3","_getCircleData32","_getCircleData4","_getCircleData42","_findBorderPosition","_findBorderPositionCircle","_getCircleData5","_getCircleData52","colorOptions","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData6","_getCircleData62","px","py","something","u","arrowPos","guideOffset","findBorderPosition","guidePos","_angle","_getCircleData7","_getCircleData72","_length"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 41f749dd..237b34bd 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -5,7 +5,7 @@ * A dynamic, browser-based visualization library. * * @version 4.0.0-SNAPSHOT - * @date 2015-05-07 + * @date 2015-05-19 * * @license * Copyright (C) 2011-2014 Almende B.V, http://almende.com @@ -22,21 +22,26 @@ * * Vis.js may be distributed under either license. */ -"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Images:i(37),dotparser:i(38),gephiParser:i(39)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(40),e.hammer=i(41),e.Hammer=i(41)},function(t,e,i){var o=i(40),n=i(42);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=s.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return n.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!=typeof t[i]&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=void 0===arguments[2]?!1:arguments[2];for(var n in t)void 0!==i[n]&&("object"!=typeof i[n]?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"==typeof t[n]&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){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(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var s=/^\/?Date\((\-?\d+)/i;e.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":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.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},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",");t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.45*n.s,v:Math.min(1,1.05*n.v)},r={h:n.h,s:Math.min(1,1.25*n.v),v:.6*n.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.options.drawPoints.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.options.drawPoints.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*o.options.drawPoints.size),a.setAttributeNS(null,"width",o.options.drawPoints.size),a.setAttributeNS(null,"height",o.options.drawPoints.size)),void 0!==o.options.drawPoints.styles&&a.setAttributeNS(null,"style",o.group.options.drawPoints.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a){if(0!=n){0>n&&(n*=-1,i-=n);var h=e.getSVGElement("rect",r,a);h.setAttributeNS(null,"x",t-.5*o),h.setAttributeNS(null,"y",i),h.setAttributeNS(null,"width",o),h.setAttributeNS(null,"height",n),h.setAttributeNS(null,"class",s)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(1),s=i(5);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=o.prototype.on,o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=o.prototype.off,o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;ns;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],s=this,r=s._fieldId,a=function(t){var e=t[r];s._data[e]?(e=s._updateItem(t),o.push(e),n.push(t)):(e=s._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:n},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p=o&&o.type||this._options.type,f=o&&o.filter,m=[];if(void 0!=e)d=s._getItem(e,p),f&&!f(d)&&(d=null);else if(void 0!=i)for(u=0,c=i.length;c>u;u++)d=s._getItem(i[u],p),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=s._getItem(l,p),(!f||f(d))&&m.push(d));if(o&&o.order&&void 0==e&&this._sort(m,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(u=0,c=m.length;c>u;u++)m[u]=this._filterFields(m[u],v)}if("Object"==a){var g={};for(u=0;ue;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ei;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(43),a=i(3),h=i(4),d=i(1),l=i(10),u=i(9),c=i(7),p=i(8),f=i(11),m=i(12);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.colorAxis,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.colorAxis,u.fillStyle=this.colorDot,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(k,n.x,n.y));var M=this.zLabel;M.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(M,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f,m=this.frame.canvas,v=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+n.point.z)/4,u=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),c=1,this.showShadow?(p=Math.min(1+k.x/M/2,1),a=this._hsv2rgb(u,c,p),h=a):(p=1,a=this._hsv2rgb(u,c,p),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,v.lineWidth=d,v.fillStyle=a,v.strokeStyle=h,v.beginPath(),v.moveTo(t.screen.x,t.screen.y),v.lineTo(e.screen.x,e.screen.y),v.lineTo(n.screen.x,n.screen.y),v.lineTo(i.screen.x,i.screen.y),v.closePath(),v.fill(),v.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],o.lineWidth=1,o.strokeStyle="blue",o.beginPath(),o.moveTo(t.screen.x,t.screen.y)),e=1;e0&&o.stroke()}},o.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=n(t),this.startMouseY=s(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},o.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(n(t))-this.startMouseX,i=parseFloat(s(t))-this.startMouseY,o=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(o))0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(10);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(4);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o), -this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(){this._current=this._start-this._start%this._step},o.prototype.next=function(){this._current+=this._step},o.prototype.end=function(){return this._current>this._end},t.exports=o},function(t,e,i){function o(t,e,i,h){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof s||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.itemSet=new c(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},this.configurationSystem=new p(this,t,g),h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(43),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(44),d=i(35),l=i(26),u=i(27),c=i(32),p=i(45),f=i(46)["default"],m=i(46).printStyle,v=i(47).allOptions,g=i(47).configureOptions;o.prototype=new h,o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=f.validate(t,v);if(e===!0&&(t={},console.log("%cErrors have been found in the supplied options object. None of the options will be used.",m)),h.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;i&&(this.setItems(null),this.setItems(i))}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this._getDataRange();var n=void 0!=this.options.start?this.options.start:o.start,a=void 0!=this.options.end?this.options.end:o.end;this.setWindow(n,a,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.getItemRange=function(){var t=this.itemsData&&this.itemsData.getDataSet(),e=null,i=null;if(t){var o=t.min("start");e=o?n.convert(o.start,"Date").valueOf():null;var s=t.max("start");s&&(i=n.convert(s.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?n.convert(r.end,"Date").valueOf():Math.max(i,n.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.pageX,i=t.center?t.center.y:t.pageY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=u.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),c=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,c):p,m=n.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":n.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&n.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":n.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":n.hasParent(m,this.currentTime.bar)?v="current-time":n.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:e,pageY:i,x:o,y:s,time:p,snappedTime:f}},t.exports=o},function(t,e,i){function o(t,e,i,o){if(!(Array.isArray(i)||i instanceof s)&&i instanceof Object){var r=o;o=i,i=r}var h=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.linegraph=new c(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(43),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(44),d=i(35),l=i(26),u=i(27),c=i(34);o.prototype=new h,o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.linegraph.setGroups(e)},o.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},o.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},o.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;or?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.pageX,i=t.center?t.center.y:t.pageY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=u.customTimeFromTarget(t),h=n.getTarget(t),d=null;n.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&n.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":n.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":n.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":n.hasParent(h,this.currentTime.bar)?d="current-time":n.hasParent(h,this.dom.center)&&(d="background");var l=[],c=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return c.hidden||l.push(c.screenToValue(s)),p.hidden||l.push(p.screenToValue(s)),{event:t,what:d,pageX:e,pageY:i,x:o,y:s,time:r,value:l}},t.exports=o},function(t,e,i){var o=i(40);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var c=0,p=s.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;p>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var v=e.isHidden(t.range.start,t.hiddenDates),g=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==v.hidden&&(y=1==t.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==t.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){i=!0;break}}if(1==i&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,n){return n=o(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,n)},e.getHiddenDurationBefore=function(t,e,i){var n=0;i=o(i).toDate().valueOf();for(var s=0;s=e.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(t,e,i,o,n,s,r){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.formattingFunction=s,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=r,this.setRange(t,e,i,o,n)}o.prototype.setRange=function(t,e,i,o,n){this._start=void 0===n.min?t:n.min,this._end=void 0===n.max?e:n.max,this._start===this._end&&(this._start=void 0===n.min?this._start-.75:this._start,this._end=void 0===n.max?this._end+1:this._end),this.autoScale===!0&&this.setMinimumStep(i,o),this.setFirst(n)},o.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,o=1.2*i,n=t*(o/e),s=Math.round(Math.log(o)/Math.LN10),r=-1,a=Math.pow(10,s),h=0;0>s&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},o.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},o.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},o.prototype.hasNext=function(){return this.current>=this.marginStart},o.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},o.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},o.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(1),a=(i(48),i(40)),h=i(25),d=i(15);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="object"==typeof i&&"duration"in i?i.duration:500,c="object"==typeof i&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",p=r.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1,v=function b(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=p(e/u),r=e>u,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.pageX,y:t.pageY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t;this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){var o=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){ -t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,o="end"in e.data?e.data.end:e.data.start;return i-o})},e.stack=function(t,i,o){var n,s;if(o)for(n=0,s=t.length;s>n;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+oe.top}},function(t,e,i){function o(t,e,i,n){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=n,void 0===n&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(40),s=i(15),r=i(1);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.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)},o.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=new Date(t.valueOf());if("year"==e){var n=o.getFullYear()+Math.round(o.getMonth()/12);o.setFullYear(Math.round(n/i)*i),o.setMonth(0),o.setDate(0),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("month"==e)o.getDate()>15?(o.setDate(1),o.setMonth(o.getMonth()+1)):o.setDate(1),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.setHours(24*Math.round(o.getHours()/24));break;default:o.setHours(12*Math.round(o.getHours()/12))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.setHours(12*Math.round(o.getHours()/12));break;default:o.setHours(6*Math.round(o.getHours()/6))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:o.setMinutes(60*Math.round(o.getMinutes()/60));break;default:o.setMinutes(30*Math.round(o.getMinutes()/30))}o.setSeconds(0),o.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.setMinutes(5*Math.round(o.getMinutes()/5)),o.setSeconds(0);break;case 5:o.setSeconds(60*Math.round(o.getSeconds()/60));break;default:o.setSeconds(30*Math.round(o.getSeconds()/30))}o.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.setSeconds(5*Math.round(o.getSeconds()/5)),o.setMilliseconds(0);break;case 5:o.setMilliseconds(1e3*Math.round(o.getMilliseconds()/1e3));break;default:o.setMilliseconds(500*Math.round(o.getMilliseconds()/500))}else if("millisecond"==e){var s=i>5?i/2:1;o.setMilliseconds(Math.round(o.getMilliseconds()/s)*s)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(n().add(1,"day"),"day")?" tomorrow":t.isSame(n().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function o(t){return t.isSame(new Date,"month")?" current-month":""}function s(t){return t.isSame(new Date,"year")?" current-year":""}var r=n(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"h"+d+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"day"+l+" "+u+o(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"year"+c+s(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var n=i(41),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="vis-delete",i.title="Delete this item",new n(i).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(20);i(1);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,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)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,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)},t.exports=o},function(t,e,i){function o(t,e){this.options=null,this.props=null}o.prototype.setOptions=function(t){t&&util.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(25),r=i(40),a=i(49);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={locales:h,locale:"en",id:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(25),a=i(40),h=i(49);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["locale","locales","id"],this.options,t)},o.prototype._create=function(){var t=document.createElement("div");t["custom-time"]=this,t.className="vis-custom-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this))},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");return o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e,i){function o(t,e,i,o){this.id=n.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return""+t.toPrecision(5)},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return""+t.toPrecision(5)},title:{text:void 0,style:void 0}}},this.linegraphOptions=o,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=n.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.zeroCrossing=-1,this.amountOfSteps=-1,this.lineOffset=0,this.master=!0,this.svgElements={},this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var s=this;this.body.emitter.on("verticalDrag",function(){s.dom.lineContainer.style.top=s.body.domProps.scrollTop+"px"})}var n=i(1),s=i(2),r=i(25),a=i(16);o.prototype=new r,o.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},o.prototype.updateGroup=function(t,e){this.groups[t]=e},o.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},o.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0); -var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","left","right","alignZeros"];n.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),e===!0&&this.dom.frame&&(this.hide(),this.show())}},o.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},o.prototype._redrawGroupIcons=function(){s.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,o=4,n=o+.5*i;t="left"===this.options.orientation?o:this.width-e-o;var r=Object.keys(this.groups);r.sort(function(t,e){return e>t?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={type:null,orientation:{item:"bottom"},align:"auto",stack:!0,groupOrder:null,selectable:!0,multiselect:!1,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20}},this.options=s.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),u=i(31),c=i(22),p=i(23),f=i(24),m=i(21),v="__ungrouped__",g="__background__";o.prototype=new d,o.types={background:m,box:c,range:f,point:p},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var s=document.createElement("div");s.className="vis-labelset",this.dom.labelSet=s,this._updateUngrouped();var r=new u(g,null,this);r.show(),this.groups[g]=r,this.hammer=new n(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},o.prototype.setOptions=function(t){if(t){var e=["type","align","order","stack","selectable","multiselect","groupOrder","dataAttributes","template","hide","snap"];s.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(s.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&s.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&s.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},o.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&s.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},o.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},o.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},o.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},o.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame,h=o.editable.updateTime||o.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset"+(h?" vis-editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var u=this.stackDirty,c=this._firstGroup(),p={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,u),s.forEach(this.groups,function(t){var i=t==c?p:f,o=t.redraw(e,i,u);r=o||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){var t,e,i=this.groups[v];this.groups[g];if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),n=e.items[t],s=e._getType(i),r=o.types[s];if(n&&(r&&n instanceof r?e._updateItem(n,i):(e._removeItem(n),n=null)),!n){if(!r)throw new TypeError("rangeoverflow"==s?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}':'Unknown item type "'+s+'"');n=new r(i,e.conversion,e.options),n.id=t,e._addItem(n)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id); --1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){i.push(e.id);var s=o._getItemRange(this.itemsData.get(i,this.itemOptions));i=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&i.push(a.id)}}else{var l=i.indexOf(e.id);-1==l?i.push(e.id):i.splice(l,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection()})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.pageY,i=0;ia&&ea)return n}else if(0===i&&et?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.prepareElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0?"left"==r.yAxisOrientation?a=a.concat(n.getData(o)):h=h.concat(n.getData(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right"),p.getStackedYRange(a,i,t,"__lineStackLeft","left"),p.getStackedYRange(h,i,t,"__lineStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;uy;)y++,l=h.getCurrent(),u=h.isMajor(),p=h.getClassName(),m=f,f=this.body.util.toScreen(l),v=f-m,c&&(c.style.width=v+"px"),this.options.showMinorLabels&&this._repaintMinorText(f,h.getLabelMinor(),t,p),u&&this.options.showMajorLabels?(f>0&&(void 0==g&&(g=f),this._repaintMajorText(f,h.getLabelMajor(),t,p)),c=this._repaintMajorLine(f,t,p)):c=this._repaintMinorLine(f,t,p),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),w=h.getLabelMajor(b),_=w.length*(this.props.majorCharWidth||10)+10;(void 0==g||g>_)&&this._repaintMajorText(0,w,t,p)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px"},o.prototype._repaintMinorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top=n.majorLabelHeight+"px":o.style.top=this.body.domProps.top.height+"px",o.style.height=n.minorLineHeight+"px",o.style.left=t-n.minorLineWidth/2+"px",o.className="vis-grid vis-vertical vis-minor "+i,o},o.prototype._repaintMajorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top="0":o.style.top=this.body.domProps.top.height+"px",o.style.left=t-n.majorLineWidth/2+"px",o.style.height=n.majorLineHeight+"px",o.className="vis-grid vis-vertical vis-major "+i,o},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e,i){var o=this;if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:j,clickToUse:!1},z.extend(this.options,this.defaultOptions),this.body={nodes:{},nodeIndices:[],edges:{},edgeIndices:[],data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){}, -onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},container:t,view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new F(function(){return o.body.emitter.emit("_requestRedraw")}),this.groups=new r["default"],this.canvas=new y["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new x["default"](this.body,this.canvas,this.selectionHandler),this.view=new w["default"](this.body,this.canvas),this.renderer=new v["default"](this.body,this.canvas),this.physics=new c["default"](this.body),this.layoutEngine=new O["default"](this.body),this.clustering=new f["default"](this.body),this.manipulation=new C["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new h["default"](this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new l["default"](this.body,this.images,this.groups),this.canvas._create(),this.configurationSystem=new S["default"](this,this.body.container,N.configureOptions,this.canvas.pixelRatio),this.setOptions(i),this.setData(e)}var s=i(53),r=o(s),a=i(54),h=o(a),d=i(55),l=o(d),u=i(56),c=o(u),p=i(57),f=o(p),m=i(58),v=o(m),g=i(59),y=o(g),b=i(60),w=o(b),_=i(61),x=o(_),k=i(62),M=o(k),D=i(63),O=o(D),T=i(64),C=o(T),E=i(45),S=o(E),P=i(46),I=o(P),N=i(65);i(66);var A=i(43),z=(i(41),i(1)),L=(i(3),i(4),i(38)),R=i(39),F=i(37),B=i(67),j=i(68);A(n.prototype),n.prototype.setOptions=function(t){if(void 0!==t){var e=I["default"].validate(t,N.allOptions);e===!0&&(t={},console.log("%cErrors have been found in the supplied options object. None of the options will be used.",P.printStyle));var i=["locale","locales","clickToUse"];if(z.selectiveDeepExtend(i,this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),this.configurationSystem.setOptions(t.configure),this.configurationSystem.options.enabled===!0){var o={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};z.deepExtend(o.nodes,this.nodesHandler.options),z.deepExtend(o.edges,this.edgesHandler.options),z.deepExtend(o.layout,this.layoutEngine.options),z.deepExtend(o.interaction,this.selectionHandler.options),z.deepExtend(o.interaction,this.renderer.options),z.deepExtend(o.interaction,this.interactionHandler.options),z.deepExtend(o.manipulation,this.manipulation.options),z.deepExtend(o.physics,this.physics.options),z.deepExtend(o.global,this.canvas.options),z.deepExtend(o.global,this.options),this.configurationSystem.setModuleOptions(o)}void 0!==t.clickToUse?t.clickToUse===!0?void 0===this.activator&&(this.activator=new B(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},n.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&t[i].options.hidden===!1&&this.body.nodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.hidden===!1&&this.body.edgeIndices.push(o)},n.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t._updateVisibleIndices(),t.physics.updatePhysicsIndices(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation")})},n.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),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 e=L.DOTToGraph(t.dot);return void this.setData(e)}}else if(t&&t.gephi){if(t&&t.gephi){var i=R.parseGephi(t.gephi);return void this.setData(i)}}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("initPhysics")},n.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurationSystem,delete this.images,delete this.body.emitter.emit,delete this.body.emitter.on,delete this.body.emitter.off,delete this.body.emitter.once,delete this.body.emitter;for(var t in this.body.nodes)delete this.body.nodes[t];for(var e in this.body.edges)delete this.body.edges[e];z.recursiveDOMDelete(this.body.container)},n.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.setSize=function(){this.canvas.setSize.apply(this.canvas,arguments)},n.prototype.canvasToDOM=function(){this.canvas.canvasToDOM.apply(this.canvas,arguments)},n.prototype.DOMtoCanvas=function(){this.canvas.setSize.DOMtoCanvas(this.canvas,arguments)},n.prototype.findNode=function(){this.clustering.findNode.apply(this.clustering,arguments)},n.prototype.isCluster=function(){this.clustering.isCluster.apply(this.clustering,arguments)},n.prototype.openCluster=function(){this.clustering.openCluster.apply(this.clustering,arguments)},n.prototype.cluster=function(){this.clustering.cluster.apply(this.clustering,arguments)},n.prototype.clusterByConnection=function(){this.clustering.clusterByConnection.apply(this.clustering,arguments)},n.prototype.clusterByHubsize=function(){this.clustering.clusterByHubsize.apply(this.clustering,arguments)},n.prototype.clusterOutliers=function(){this.clustering.clusterOutliers.apply(this.clustering,arguments)},n.prototype.getSeed=function(){this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},n.prototype.enableEditMode=function(){this.manipulation.enableEditMode.apply(this.manipulation,arguments)},n.prototype.disableEditMode=function(){this.manipulation.disableEditMode.apply(this.manipulation,arguments)},n.prototype.addNodeMode=function(){this.manipulation.addNodeMode.apply(this.manipulation,arguments)},n.prototype.editNodeMode=function(){this.manipulation.editNodeMode.apply(this.manipulation,arguments)},n.prototype.addEdgeMode=function(){this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},n.prototype.editEdgeMode=function(){this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},n.prototype.deleteSelected=function(){this.manipulation.deleteSelected.apply(this.manipulation,arguments)},n.prototype.getPositions=function(){this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},n.prototype.storePositions=function(){this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},n.prototype.getBoundingBox=function(){this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},n.prototype.getConnectedNodes=function(){this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments)},n.prototype.getEdges=function(){this.nodesHandler.getEdges.apply(this.nodesHandler,arguments)},n.prototype.startSimulation=function(){this.physics.startSimulation.apply(this.physics,arguments)},n.prototype.stopSimulation=function(){this.physics.stopSimulation.apply(this.physics,arguments)},n.prototype.stabilize=function(){this.physics.stabilize.apply(this.physics,arguments)},n.prototype.getSelection=function(){this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},n.prototype.getSelectedNodes=function(){this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},n.prototype.getSelectedEdges=function(){this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},n.prototype.getNodeAt=function(){this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments)},n.prototype.getEdgeAt=function(){this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments)},n.prototype.selectNodes=function(){this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},n.prototype.selectEdges=function(){this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},n.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments)},n.prototype.redraw=function(){this.renderer.redraw.apply(this.renderer,arguments)},n.prototype.getScale=function(){this.view.getScale.apply(this.view,arguments)},n.prototype.getPosition=function(){this.view.getPosition.apply(this.view,arguments)},n.prototype.fit=function(){this.view.fit.apply(this.view,arguments)},n.prototype.moveTo=function(){this.view.moveTo.apply(this.view,arguments)},n.prototype.focus=function(){this.view.focus.apply(this.view,arguments)},n.prototype.releaseNode=function(){this.view.releaseNode.apply(this.view,arguments)},t.exports=n},function(t,e,i){function o(t){this.images={},this.imageBroken={},this.callback=t}o.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var o=this;i=new Image,i.onload=function(){0===this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),o.callback&&(o.images[t]=i,o.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,o.callback&&o.callback(this)):o.imageBroken[t]===!0?(console.error("Could not load brokenImage:",e),delete this.src,o.callback&&o.callback(this)):(console.error("Could not load image:",t),this.src=e,o.imageBroken[t]=!0)},i.src=t}return i},t.exports=o},function(t,e,i){function o(t){return C=t,f()}function n(){E=0,S=C.charAt(0)}function s(){E++,S=C.charAt(E)}function r(){return C.charAt(E+1)}function a(t){return N.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=h(n.attr,t.node))),i=s.length-1;i>=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(I=O.NULL,P="";" "===S||" "===S||"\n"===S||"\r"===S;)s();do{var t=!1;if("#"===S){for(var e=E-1;" "===C.charAt(e)||" "===C.charAt(e);)e--;if("\n"===C.charAt(e)||""===C.charAt(e)){for(;""!=S&&"\n"!=S;)s();t=!0}}if("/"===S&&"/"===r()){for(;""!=S&&"\n"!=S;)s();t=!0}if("/"===S&&"*"===r()){for(;""!=S;){if("*"===S&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===S||" "===S||"\n"===S||"\r"===S;)s()}while(t);if(""===S)return void(I=O.DELIMITER);var i=S+r();if(T[i])return I=O.DELIMITER,P=i,s(),void s();if(T[S])return I=O.DELIMITER,P=S,void s();if(a(S)||"-"===S){for(P+=S,s();a(S);)P+=S,s();return"false"===P?P=!1:"true"===P?P=!0:isNaN(Number(P))||(P=Number(P)),void(I=O.IDENTIFIER)}if('"'===S){for(s();""!=S&&('"'!=S||'"'===S&&'"'===r());)P+=S,'"'===S&&s(),s();if('"'!=S)throw x('End of string " expected');return s(),void(I=O.IDENTIFIER)}for(I=O.UNKNOWN;""!=S;)P+=S,s();throw new SyntaxError('Syntax error in part "'+k(P,30)+'"')}function f(){var t={};if(n(),p(),"strict"===P&&(t.strict=!0,p()),("graph"===P||"digraph"===P)&&(t.type=P,p()),I===O.IDENTIFIER&&(t.id=P,p()),"{"!=P)throw x("Angle bracket { expected");if(p(),m(t),"}"!=P)throw x("Angle bracket } expected");if(p(),""!==P)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==P&&"}"!=P;)v(t),";"===P&&p()}function v(t){var e=g(t);if(e)return void w(t,e);var i=y(t);if(!i){if(I!=O.IDENTIFIER)throw x("Identifier expected");var o=P;if(p(),"="===P){if(p(),I!=O.IDENTIFIER)throw x("Identifier expected");t[o]=P,p()}else b(t,o)}}function g(t){var e=null;if("subgraph"===P&&(e={},e.type="subgraph",p(),I===O.IDENTIFIER&&(e.id=P,p())),"{"===P){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=P)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===P?(p(),t.node=_(),"node"):"edge"===P?(p(),t.edge=_(),"edge"):"graph"===P?(p(),t.graph=_(),"graph"):null}function b(t,e){var i={id:e},o=_();o&&(i.attr=o),l(t,i),w(t,e)}function w(t,e){for(;"->"===P||"--"===P;){var i,o=P;p();var n=g(t);if(n)i=n;else{if(I!=O.IDENTIFIER)throw x("Identifier or subgraph expected");i=P,l(t,{id:i}),p()}var s=_(),r=c(t,e,i,o,s);u(t,r),e=i}}function _(){for(var t=null;"["===P;){for(p(),t={};""!==P&&"]"!=P;){if(I!=O.IDENTIFIER)throw x("Attribute name expected");var e=P;if(p(),"="!=P)throw x("Equal sign = expected");if(p(),I!=O.IDENTIFIER)throw x("Attribute value expected");var i=P;d(t,e,i),p(),","==P&&p()}if("]"!=P)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(P,30)+'" (char '+E+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t){var e=o(t),i={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};h(e,t.attr),e.image&&(e.shape="image"),i.nodes.push(e)}),e.edges){var n=function(t){var e={from:t.from,to:t.to};return h(e,t.attr),e.arrows="->"===t.type?"to":void 0,e};e.edges.forEach(function(t){var e,o;e=t.from instanceof Object?t.from.nodes:{id:t.from},o=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=n(t);i.edges.push(e)}),M(e,o,function(e,o){var s=c(i,e.id,o.id,t.type,t.attr),r=n(s);i.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=n(t);i.edges.push(e)})})}return e.attr&&(i.options=e.attr),i}var O={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},C="",E=0,S="",P="",I=O.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=D},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!0},nodes:{fixed:!1,parseColor:!1}};void 0!==n&&(n.nodes.fixed=void 0!==e.fixed?n.fixed:!1,n.nodes.parseColor=void 0!==e.parseColor?n.parseColor:!1,n.edges.inheritColor=void 0!==e.inheritColor?n.inheritColor:!0);for(var s=t.edges,r=t.nodes,a=0;an&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){function o(t){return t?n(t):void 0}function n(t){for(var e in o.prototype)t[e]=o.prototype[e];return t}t.exports=o,o.prototype.on=o.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},o.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},o.prototype.off=o.prototype.removeListener=o.prototype.removeAllListeners=o.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;no;++o)i[o].apply(this,e)}return this},o.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},o.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){function o(){}var n=i(43),s=i(41),r=i(48),a=i(1),h=(i(3),i(4),i(17),i(32),i(35)),d=i(67),l=i(15),u=i(27);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("hiddenDates"in this.options&&l.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),this.configurationSystem){this.configurationSystem.setOptions(t.configure);var n=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurationSystem.setModuleOptions({global:n}),console.log(n)}this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,{time:i,id:e});return this.customTimes.push(n),this.components.push(n),this.redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(e.start,e.end,i)}},o.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var o=i.valueOf()-e.valueOf();0>=o&&(o=864e5),e=new Date(e.valueOf()-.05*o),i=new Date(i.valueOf()+.05*o)}return{start:e,end:i}},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTop0&&this._makeItem([]),this._makeHeader(o);var s=[o];this._handleObject(n,s)}i++}var r=document.createElement("div");r.className="vis-network-configuration button",r.innerHTML="generate options",r.onclick=function(){e._printOptions()},r.onmouseover=function(){r.className="vis-network-configuration button hover"},r.onmouseout=function(){r.className="vis-network-configuration button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-network-configuration vis-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(r),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?e-1:0),o=1;e>o;o++)i[o-1]=arguments[o];var n=document.createElement("div");n.className="vis-network-configuration item s"+t.length,i.forEach(function(t){n.appendChild(t)}),this.domElements.push(n)}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;s.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var h=document.createElement("input");h.className="vis-network-configuration rangeinput",h.value=a.value;var d=this;a.onchange=function(){h.value=this.value,d._update(Number(this.value),i)},a.oninput=function(){h.value=this.value};var l=this._makeLabel(i[i.length-1],i);this._makeItem(i,l,a,h)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-network-configuration text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=void 0===arguments[1]?[]:arguments[1];for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],n=h.copyAndExtendArray(e,i),s=this._getValue(n);if(o instanceof Array)this._handleArray(o,s,n);else if("string"==typeof o)this._makeTextInput(o,s,n);else if("boolean"==typeof o)this._makeCheckbox(o,s,n);else if(o instanceof Object){var r=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==i&&(r=!1),r===!0)if(void 0!==o.enabled){var a=h.copyAndExtendArray(n,"enabled"),d=this._getValue(a);if(d===!0){var l=this._makeLabel(i,n,!0);this._makeItem(n,l),this._handleObject(o,n)}else this._makeCheckbox(o,d,n)}else{var l=this._makeLabel(i,n,!0);this._makeItem(n,l),this._handleObject(o,n)}}else console.error("dont know how to handle",o,i,n)}}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[];for(var d in i){var l=t.getType(i[d]),u=void 0;if("object"===l&&n===!0){var c=t.findInOptions(e,i[d],s.copyAndExtendArray(o,d));r>c.distance&&(a=c.closestMatch,h=c.path,r=c.distance)}else u=t.levenshteinDistance(e,d),r>u&&(a=d,h=s.copyArray(o),r=u)}return{closestMatch:a,path:h,distance:r}}},{key:"printLocation",value:function(t,e){for(var i=void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;st[o].y?t[o].y:e,i=i0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o.prototype.draw=function(t,e,i){if(null!=t&&t.length>0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.catmullRom.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.catmullRom.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,M=0;k-1>M;M++)o=0==M?t[0]:t[M-1],n=t[M],s=t[M+1],r=k>M+2?t[M+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].y0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=nt[o].y?t[o].y:e,i=i0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i1?(this.stabilizationIterations=0,this.startedStabilization=!1,this._emitStabilized()):this.stabilizationIterations=0,this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;this.stabilizationIterations>1&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations})},0)}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsIndices",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedrawRequests"),this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(this._stabilizationBatch.bind(this),0)}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t=t&&i.push(n.id)}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t){var e=void 0===arguments[1]?!0:arguments[1];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var i=this.body.nodes[t],o=i.containedNodes,n=i.containedEdges;for(var s in o)if(o.hasOwnProperty(s)){var r=this.body.nodes[s];r=o[s],r.x=i.x,r.y=i.y,r.vx=i.vx,r.vy=i.vy,r.options.hidden=!1,r.togglePhysics(!0),delete this.clusteredNodes[s]}for(var a in n)if(n.hasOwnProperty(a)){var h=this.body.edges[a];h.options.hidden=!1,h.togglePhysics(!0)}for(var d=0;do;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedrawRequests===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,!1),0):window.requestAnimationFrame(this._redraw.bind(this,!1)))}},{key:"_redraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),this.body.emitter.emit("beforeDrawing",e),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),this.body.emitter.emit("afterDrawing",e),e.restore(),t===!0&&e.clearRect(0,0,i,o)}},{key:"_drawNodes",value:function(t){for(var e=void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.bottom&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.bottom&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_redraw",!0),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i.animation};this.moveTo(f)}},{key:"focus",value:function(t){var e=void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.body.view.translation),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getPosition",value:function(){return{x:this.body.view.translation.x,y:this.body.view.translation.y}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&t.changedPointers[0].ctrlKey;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.pageX,y:t.pageY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount();h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"onDragStart",value:function(t){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=l.extend({},this.body.view.translation),this.drag.nodeId=void 0,this.selectionHandler._generateClickEvent("dragStart",t,this.drag.pointer),void 0!==e&&this.options.dragNodes===!0){this.drag.nodeId=e.id,e.isSelected()===!1&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e));var i=this.selectionHandler.selectionObj.nodes;for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],s={id:n.id,node:n,x:n.x,y:n.y,xFixed:n.options.fixed.x,yFixed:n.options.fixed.y};n.options.fixed.x=!0,n.options.fixed.y=!0,this.drag.selection.push(s)}}}},{key:"onDrag",value:function(t){var e=this;if(this.drag.pinched!==!0){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center);this.selectionHandler._generateClickEvent("dragging",t,i);var o=this.drag.selection;if(o&&o.length&&this.options.dragNodes===!0)!function(){var t=i.x-e.drag.pointer.x,n=i.y-e.drag.pointer.y;o.forEach(function(i){var o=i.node;i.xFixed===!1&&(o.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(i.x)+t)),i.yFixed===!1&&(o.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(i.y)+n))}),e.body.emitter.emit("startSimulation")}();else if(this.options.dragView===!0){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var n=i.x-this.drag.pointer.x,s=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+n,y:this.drag.translation.y+s},this.body.emitter.emit("_redraw")}}}},{key:"onDragEnd",value:function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed}),this.body.emitter.emit("startSimulation")):this.body.emitter.emit("_requestRedraw"),this.selectionHandler._generateClickEvent("dragEnd",t,this.getPointer(t.center))}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(this.options.zoomView===!0){var i=this.body.view.scale;1e-5>t&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+"}):this.body.emitter.emit("zoom",{direction:"-"})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.pageX,y:t.pageY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.pageX,y:t.pageY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hoverEnabled===!0){for(var n in this.hoverObj.edges)this.hoverObj.edges.hasOwnProperty(n)&&(this.hoverObj.edges[n].hover=!1,delete this.hoverObj.edges[n]);var s=this.selectionHandler.getNodeAt(i);void 0===s&&(s=this.selectionHandler.getEdgeAt(i)),void 0!=s&&this.selectionHandler.hoverObject(s);for(var r in this.hoverObj.nodes)this.hoverObj.nodes.hasOwnProperty(r)&&(s instanceof Node&&s.id!=r||s instanceof Edge||void 0===s)&&(this.selectionHandler.blurObject(this.hoverObj.nodes[r]),delete this.hoverObj.nodes[r]);this.body.emitter.emit("_requestRedraw")}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value: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}},{key:"_selectionIsEmpty",value: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}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof options.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==options.physics.solver&&(this.optionsBackup.physics={solver:options.physics.solver}),t.physics.solver="hierarchicalRepulsion"):options.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth,dynamic:!0},t.edges.smooth={enabled:t.edges.smooth,dynamic:!1,type:e}):(this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!0},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!1,type:e}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially", -value:function(t){if(this.options.hierarchical.enabled!==!0)for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevel(0,e))}},{key:"_setLevel",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode&&(t.body.data.edges.remove(e.edges),t.body.data.nodes.remove(e.nodes),t.body.emitter.emit("startSimulation"))})}else this.body.data.edges.remove(i),this.body.data.nodes.remove(e),this.body.emitter.emit("startSimulation")}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,dynamic:!1,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="array",a="object",h="dom",d="function",l="undefined",u={configure:{enabled:{"boolean":n},filter:{"boolean":n,string:o,array:r},container:{dom:h},__type__:{object:a,"boolean":n,string:o,array:r}},edges:{arrows:{to:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},middle:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},from:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},__type__:{string:["from","to","middle"],object:a}},color:{color:{string:o},highlight:{string:o},hover:{string:o},inherit:{string:["from","to","both"],"boolean":n},opacity:{number:s},__type__:{object:a,string:o}},dashes:{"boolean":n,array:r},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},strokeWidth:{number:s},strokeColor:{string:o},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:a,string:o}},hidden:{"boolean":n},hoverWidth:{fn:d,number:s},label:{string:o,undef:l},length:{number:s,undef:l},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},selectionWidth:{fn:d,number:s},selfReferenceSize:{number:s},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},smooth:{enabled:{"boolean":n},dynamic:{"boolean":n},type:{string:o},roundness:{number:s},__type__:{object:a,"boolean":n}},title:{string:o,undef:l},width:{number:s},value:{number:s,undef:l},__type__:{object:a}},groups:{useDefaultGroups:{"boolean":n},__any__:"get from nodes, will be overwritten below",__type__:{object:a}},interaction:{dragNodes:{"boolean":n},dragView:{"boolean":n},hideEdgesOnDrag:{"boolean":n},hideNodesOnDrag:{"boolean":n},hoverEnabled:{"boolean":n},keyboard:{enabled:{"boolean":n},speed:{x:{number:s},y:{number:s},zoom:{number:s},__type__:{object:a}},bindToWindow:{"boolean":n},__type__:{object:a,"boolean":n}},multiselect:{"boolean":n},navigationButtons:{"boolean":n},selectable:{"boolean":n},selectConnectedEdges:{"boolean":n},tooltipDelay:{number:s},zoomView:{"boolean":n},__type__:{object:a}},layout:{randomSeed:{undef:l,number:s},hierarchical:{enabled:{"boolean":n},levelSeparation:{number:s},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:a,"boolean":n}},__type__:{object:a}},manipulation:{enabled:{"boolean":n},initiallyActive:{"boolean":n},addNode:{"boolean":n,fn:d},addEdge:{"boolean":n,fn:d},editNode:{fn:d},editEdge:{"boolean":n,fn:d},deleteNode:{"boolean":n,fn:d},deleteEdge:{"boolean":n,fn:d},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:a,"boolean":n}},nodes:{borderWidth:{number:s},borderWidthSelected:{number:s,undef:l},brokenImage:{string:o,undef:l},color:{border:{string:o},background:{string:o},highlight:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},hover:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},__type__:{object:a,string:o}},fixed:{x:{"boolean":n},y:{"boolean":n},__type__:{object:a,"boolean":n}},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},stroke:{number:s},strokeColor:{string:o},__type__:{object:a,string:o}},group:{string:o,number:s,undef:l},hidden:{"boolean":n},icon:{face:{string:o},code:{string:o},size:{number:s},color:{string:o},__type__:{object:a}},id:{string:o,number:s},image:{string:o,undef:l},label:{string:o,undef:l},level:{number:s,undef:l},mass:{number:s},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},size:{number:s},title:{string:o,undef:l},value:{number:s,undef:l},x:{number:s},y:{number:s},__type__:{object:a}},physics:{barnesHut:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},__type__:{object:a}},repulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},hierarchicalRepulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},maxVelocity:{number:s},minVelocity:{number:s},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion"]},stabilization:{enabled:{"boolean":n},iterations:{number:s},updateInterval:{number:s},onlyDynamicEdges:{"boolean":n},fit:{"boolean":n},__type__:{object:a,"boolean":n}},timestep:{number:s},__type__:{object:a,"boolean":n}},autoResize:{"boolean":n},clickToUse:{"boolean":n},locale:{string:o},locales:{__any__:{object:a},__type__:{object:a}},height:{string:o},width:{string:o},__type__:{object:a}};u.groups.__any__=u.nodes,u.manipulation.controlNodeStyle=u.nodes;var c={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[3,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[1,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[2,0,5,.1],physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[3,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,dynamic:!0,type:["continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{randomSeed:[0,0,500,1],hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hoverEnabled:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,tooltipDelay:[300,0,1e3,25], -zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,5,.005],damping:[.09,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,5,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,5,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","repulsion","hierarchicalRepulsion"],timestep:[.5,0,1,.05]},global:{locale:["en","nl"]}};e.allOptions=u,e.configureOptions=c},function(t,e,i){"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(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.bodyHammer=a(document&&document.body,{prevent_default:!1}),this.bodyHammer.on("tap",function(i){n(i.target,t)||e.deactivate()}),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(85),r=i(43),a=i(41),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.bodyHammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Ti.apply(null,arguments)}function i(t){Ti=t}function o(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function n(t){return"[object Array]"===Object.prototype.toString.call(t)}function s(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function r(t,e){var i,o=[];for(i=0;i0)for(i in Ei)o=Ei[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function p(t){c(this,t),this._d=new Date(+t._d),Si===!1&&(Si=!0,e.updateOffset(this),Si=!1)}function f(t){return t instanceof p||null!=t&&a(t,"_isAMomentObject")}function m(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function v(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&m(t[o])!==m(e[o]))&&r++;return r+s}function g(){}function y(t){return t?t.toLowerCase().replace("_","-"):t}function b(t){for(var e,i,o,n,s=0;s0;){if(o=w(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&v(n,i,!0)>=e-1)break;e--}s++}return null}function w(e){var i=null;if(!Pi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Ci._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),_(i)}catch(o){}return Pi[e]}function _(t,e){var i;return t&&(i="undefined"==typeof e?k(t):x(t,e),i&&(Ci=i)),Ci._abbr}function x(t,e){return null!==e?(e.abbr=t,Pi[t]||(Pi[t]=new g),Pi[t].set(e),_(t),Pi[t]):(delete Pi[t],null)}function k(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ci;if(!n(t)){if(e=w(t))return e;t=[t]}return b(t)}function M(t,e){var i=t.toLowerCase();Ii[i]=Ii[i+"s"]=Ii[e]=t}function D(t){return"string"==typeof t?Ii[t]||Ii[t.toLowerCase()]:void 0}function O(t){var e,i,o={};for(i in t)a(t,i)&&(e=D(i),e&&(o[e]=t[i]));return o}function T(t,i){return function(o){return null!=o?(E(this,t,o),e.updateOffset(this,i),this):C(this,t)}}function C(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function E(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function S(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=D(t),"function"==typeof this[t])return this[t](e);return this}function P(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Li[o[e]]?o[e]=Li[o[e]]:o[e]=N(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function z(t,e){return t.isValid()?(e=L(e,t.localeData()),zi[e]||(zi[e]=A(e)),zi[e](t)):t.localeData().invalidDate()}function L(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(Ai.lastIndex=0;o>=0&&Ai.test(t);)t=t.replace(Ai,i),Ai.lastIndex=0,o-=1;return t}function R(t,e,i){Ji[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return a(Ji,t)?Ji[t](e._strict,e._locale):new RegExp(B(t))}function B(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function j(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=m(t)}),i=0;io;o++){if(n=d([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function q(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),W(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function X(t){return null!=t?(q(this,t),e.updateOffset(this,!0),this):C(this,"Month")}function Z(){return W(this.year(),this.month())}function K(t){var e,i=t._a;return i&&-2===t._pf.overflow&&(e=i[to]<0||i[to]>11?to:i[eo]<1||i[eo]>W(i[$i],i[to])?eo:i[io]<0||i[io]>24||24===i[io]&&(0!==i[oo]||0!==i[no]||0!==i[so])?io:i[oo]<0||i[oo]>59?oo:i[no]<0||i[no]>59?no:i[so]<0||i[so]>999?so:-1,t._pf._overflowDayOfYear&&($i>e||e>eo)&&(e=eo),t._pf.overflow=e),t}function J(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function Q(t,e){var i=!0;return h(function(){return i&&(J(t),i=!1),e.apply(this,arguments)},e)}function $(t,e){ho[t]||(J(e),ho[t]=!0)}function tt(t){var e,i,o=t._i,n=lo.exec(o);if(n){for(t._pf.iso=!0,e=0,i=uo.length;i>e;e++)if(uo[e][1].exec(o)){t._f=uo[e][0]+(n[6]||" ");break}for(e=0,i=co.length;i>e;e++)if(co[e][1].exec(o)){t._f+=co[e][0];break}o.match(Xi)&&(t._f+="Z"),bt(t)}else t._isValid=!1}function et(t){var i=po.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(tt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function it(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function nt(t){return st(t)?366:365}function st(t){return t%4===0&&t%100!==0||t%400===0}function rt(){return st(this.year())}function at(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Ot(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function ht(t){return at(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function lt(){return this._week.doy}function ut(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ct(t){var e=at(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function pt(t,e,i,o,n){var s,r,a=ot(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:nt(t-1)+r}}function ft(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mt(t,e,i){return null!=t?t:null!=e?e:i}function vt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function gt(t){var e,i,o,n,s=[];if(!t._d){for(o=vt(t),t._w&&null==t._a[eo]&&null==t._a[to]&&yt(t),t._dayOfYear&&(n=mt(t._a[$i],o[$i]),t._dayOfYear>nt(n)&&(t._pf._overflowDayOfYear=!0),i=ot(n,0,t._dayOfYear),t._a[to]=i.getUTCMonth(),t._a[eo]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[io]&&0===t._a[oo]&&0===t._a[no]&&0===t._a[so]&&(t._nextDay=!0,t._a[io]=0),t._d=(t._useUTC?ot:it).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[io]=24)}}function yt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=mt(e.GG,t._a[$i],at(Ot(),1,4).year),o=mt(e.W,1),n=mt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=mt(e.gg,t._a[$i],at(Ot(),s,r).year),o=mt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=pt(i,o,n,r,s),t._a[$i]=a.year,t._dayOfYear=a.dayOfYear}function bt(t){if(t._f===e.ISO_8601)return void tt(t);t._a=[],t._pf.empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=L(t._f,t._locale).match(Ni)||[],i=0;i0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Li[s]?(o?t._pf.empty=!1:t._pf.unusedTokens.push(s),Y(s,o,t)):t._strict&&!o&&t._pf.unusedTokens.push(s);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[io]<=12&&(t._pf.bigHour=void 0),t._a[io]=wt(t._locale,t._a[io],t._meridiem),gt(t),K(t)}function wt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function _t(t){var e,i,n,s,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(NaN));for(s=0;sr)&&(n=r,i=e));h(t,i||e)}function xt(t){if(!t._d){var e=O(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],gt(t)}}function kt(t){var e,i=t._i,o=t._f;return t._locale=t._locale||k(t._l),null===i||void 0===o&&""===i?u({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),f(i)?new p(K(i)):(n(o)?_t(t):o?bt(t):Mt(t),e=new p(K(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Mt(t){var i=t._i;void 0===i?t._d=new Date:s(i)?t._d=new Date(+i):"string"==typeof i?et(t):n(i)?(t._a=r(i.slice(0),function(t){return parseInt(t,10)}),gt(t)):"object"==typeof i?xt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Dt(t,e,i,n,s){var r={};return"boolean"==typeof i&&(n=i,i=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=s,r._l=i,r._i=t,r._f=e,r._strict=n,r._pf=o(),kt(r)}function Ot(t,e,i,o){return Dt(t,e,i,o,!1)}function Tt(t,e){var i,o;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ot();for(i=e[0],o=1;ot&&(t=-t,i="-"),i+P(~~(t/60),2)+e+P(~~t%60,2)})}function Nt(t){var e=(t||"").match(Xi)||[],i=e[e.length-1]||[],o=(i+"").match(yo)||["-",0,0],n=+(60*o[1])+m(o[2]);return"+"===o[0]?n:-n}function At(t,i){var o,n;return i._isUTC?(o=i.clone(),n=(f(t)||s(t)?+t:+Ot(t))-+o,o._d.setTime(+o._d+n),e.updateOffset(o,!1),o):Ot(t).local()}function zt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Lt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Nt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=zt(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?Qt(this,qt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:zt(this)}function Rt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function Bt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(zt(this),"m")),this}function jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Nt(this._i)),this}function Ht(t){return t=t?Ot(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Yt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if(this._a){var t=this._isUTC?d(this._a):Ot(this._a);return this.isValid()&&v(this._a,t.toArray())>0}return!1}function Gt(){return!this._isUTC}function Ut(){return this._isUTC}function Vt(){return this._isUTC&&0===this._offset}function qt(t,e){var i,o,n,s=t,r=null;return Pt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(r=bo.exec(t))?(i="-"===r[1]?-1:1,s={y:0,d:m(r[eo])*i,h:m(r[io])*i,m:m(r[oo])*i,s:m(r[no])*i,ms:m(r[so])*i}):(r=wo.exec(t))?(i="-"===r[1]?-1:1,s={y:Xt(r[2],i),M:Xt(r[3],i),d:Xt(r[4],i),h:Xt(r[5],i),m:Xt(r[6],i),s:Xt(r[7],i),w:Xt(r[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Kt(Ot(s.from),Ot(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new St(s),Pt(t)&&a(t,"_locale")&&(o._locale=t._locale),o}function Xt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Zt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Kt(t,e){var i;return e=At(e,t),t.isBefore(e)?i=Zt(t,e):(i=Zt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Jt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||($(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=qt(i,o),Qt(this,n,t),this}}function Qt(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&E(t,"Date",C(t,"Date")+r*o),a&&q(t,C(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function $t(t){var e=t||Ot(),i=At(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse";return this.format(this.localeData().calendar(n,this,Ot(e)))}function te(){return new p(this)}function ee(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Ot(t),+this>+t):(i=f(t)?+t:+Ot(t),i<+this.clone().startOf(e))}function ie(t,e){var i;return e=D("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Ot(t),+t>+this):(i=f(t)?+t:+Ot(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function re(t,e,i){var o,n,s=At(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=D(e),"year"===e||"month"===e||"quarter"===e?(n=ae(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:se(n)}function ae(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function he(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Ot([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Le(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Pe(t,this.localeData()),this.add(t-e,"d")):e}function Re(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Fe(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Be(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function je(t,e){return e._meridiemParse}function He(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ye(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function We(t){I(0,[t,3],0,"millisecond")}function Ge(){return this._isUTC?"UTC":""}function Ue(){return this._isUTC?"Coordinated Universal Time":""}function Ve(t){return Ot(1e3*t)}function qe(){return Ot.apply(null,arguments).parseZone()}function Xe(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Ze(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}function Ke(){return this._invalidDate}function Je(t){return this._ordinal.replace("%d",t)}function Qe(t){return t}function $e(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ei(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ii(t,e,i,o){var n=k(),s=d().set(o,e);return n[i](s,t)}function oi(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ii(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=ii(t,s,i,n);return r}function ni(t,e){return oi(t,e,"months",12,"month")}function si(t,e){return oi(t,e,"monthsShort",12,"month")}function ri(t,e){return oi(t,e,"weekdays",7,"day")}function ai(t,e){return oi(t,e,"weekdaysShort",7,"day")}function hi(t,e){return oi(t,e,"weekdaysMin",7,"day")}function di(){var t=this._data;return this._milliseconds=Yo(this._milliseconds),this._days=Yo(this._days),this._months=Yo(this._months),t.milliseconds=Yo(t.milliseconds),t.seconds=Yo(t.seconds),t.minutes=Yo(t.minutes),t.hours=Yo(t.hours),t.months=Yo(t.months),t.years=Yo(t.years),this}function li(t,e,i,o){var n=qt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ui(t,e){return li(this,t,e,1)}function ci(t,e){return li(this,t,e,-1)}function pi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=se(o/1e3),r.seconds=t%60,e=se(t/60),r.minutes=e%60,i=se(e/60),r.hours=i%24,n+=se(i/24),a=se(fi(n)),n-=se(mi(a)),s+=se(n/30),n%=30,a+=se(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function fi(t){return 400*t/146097}function mi(t){return 146097*t/400}function vi(t){var e,i,o=this._milliseconds;if(t=D(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*fi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(mi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 24*e*60+o/6e4;case"second":return 24*e*60*60+o/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+o;default:throw new Error("Unknown unit "+t)}}function gi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*m(this._months/12)}function yi(t){return function(){return this.as(t)}}function bi(t){return t=D(t),this[t+"s"]()}function wi(t){return function(){return this._data[t]}}function _i(){return se(this.days()/7)}function xi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function ki(t,e,i){var o=qt(t).abs(),n=sn(o.as("s")),s=sn(o.as("m")),r=sn(o.as("h")),a=sn(o.as("d")),h=sn(o.as("M")),d=sn(o.as("y")),l=n0,l[4]=i,xi.apply(null,l)}function Mi(t,e){return void 0===rn[t]?!1:void 0===e?rn[t]:(rn[t]=e,!0)}function Di(t){var e=this.localeData(),i=ki(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Oi(){var t=an(this.years()),e=an(this.months()),i=an(this.days()),o=an(this.hours()),n=an(this.minutes()),s=an(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Ti,Ci,Ei=e.momentProperties=[],Si=!1,Pi={},Ii={},Ni=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Ai=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,zi={},Li={},Ri=/\d/,Fi=/\d\d/,Bi=/\d{3}/,ji=/\d{4}/,Hi=/[+-]?\d{6}/,Yi=/\d\d?/,Wi=/\d{1,3}/,Gi=/\d{1,4}/,Ui=/[+-]?\d{1,6}/,Vi=/\d+/,qi=/[+-]?\d+/,Xi=/Z|[+-]\d\d:?\d\d/gi,Zi=/[+-]?\d+(\.\d{1,3})?/,Ki=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ji={},Qi={},$i=0,to=1,eo=2,io=3,oo=4,no=5,so=6;I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),I("MMMM",0,0,function(t){return this.localeData().months(this,t)}),M("month","M"),R("M",Yi),R("MM",Yi,Fi),R("MMM",Ki),R("MMMM",Ki),j(["M","MM"],function(t,e){e[to]=m(t)-1}),j(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[to]=n:i._pf.invalidMonth=t});var ro="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ao="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ho={};e.suppressDeprecationWarnings=!1;var lo=/^\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)?)?$/,uo=[["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}/]],co=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],po=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=Q("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){ -t._d=new Date(t._i+(t._useUTC?" UTC":""))}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),M("year","y"),R("Y",qi),R("YY",Yi,Fi),R("YYYY",Gi,ji),R("YYYYY",Ui,Hi),R("YYYYYY",Ui,Hi),j(["YYYY","YYYYY","YYYYYY"],$i),j("YY",function(t,i){i[$i]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return m(t)+(m(t)>68?1900:2e3)};var fo=T("FullYear",!1);I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),R("w",Yi),R("ww",Yi,Fi),R("W",Yi),R("WW",Yi,Fi),H(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=m(t)});var mo={dow:0,doy:6};I("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),R("DDD",Wi),R("DDDD",Bi),j(["DDD","DDDD"],function(t,e,i){i._dayOfYear=m(t)}),e.ISO_8601=function(){};var vo=Q("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return this>t?this:t}),go=Q("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Ot.apply(null,arguments);return t>this?this:t});It("Z",":"),It("ZZ",""),R("Z",Xi),R("ZZ",Xi),j(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Nt(t)});var yo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var bo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,wo=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;qt.fn=St.prototype;var _o=Jt(1,"add"),xo=Jt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ko=Q("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Me("gggg","weekYear"),Me("ggggg","weekYear"),Me("GGGG","isoWeekYear"),Me("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),R("G",qi),R("g",qi),R("GG",Yi,Fi),R("gg",Yi,Fi),R("GGGG",Gi,ji),R("gggg",Gi,ji),R("GGGGG",Ui,Hi),R("ggggg",Ui,Hi),H(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=m(t)}),H(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),I("Q",0,0,"quarter"),M("quarter","Q"),R("Q",Ri),j("Q",function(t,e){e[to]=3*(m(t)-1)}),I("D",["DD",2],"Do","date"),M("date","D"),R("D",Yi),R("DD",Yi,Fi),R("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),j(["D","DD"],eo),j("Do",function(t,e){e[eo]=m(t.match(Yi)[0],10)});var Mo=T("Date",!0);I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),R("d",Yi),R("e",Yi),R("E",Yi),R("dd",Ki),R("ddd",Ki),R("dddd",Ki),H(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:i._pf.invalidWeekday=t}),H(["d","e","E"],function(t,e,i,o){e[o]=m(t)});var Do="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Oo="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),To="Su_Mo_Tu_We_Th_Fr_Sa".split("_");I("H",["HH",2],0,"hour"),I("h",["hh",2],0,function(){return this.hours()%12||12}),Be("a",!0),Be("A",!1),M("hour","h"),R("a",je),R("A",je),R("H",Yi),R("h",Yi),R("HH",Yi,Fi),R("hh",Yi,Fi),j(["H","HH"],io),j(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),j(["h","hh"],function(t,e,i){e[io]=m(t),i._pf.bigHour=!0});var Co=/[ap]\.?m?\.?/i,Eo=T("Hours",!0);I("m",["mm",2],0,"minute"),M("minute","m"),R("m",Yi),R("mm",Yi,Fi),j(["m","mm"],oo);var So=T("Minutes",!1);I("s",["ss",2],0,"second"),M("second","s"),R("s",Yi),R("ss",Yi,Fi),j(["s","ss"],no);var Po=T("Seconds",!1);I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),We("SSS"),We("SSSS"),M("millisecond","ms"),R("S",Wi,Ri),R("SS",Wi,Fi),R("SSS",Wi,Bi),R("SSSS",Vi),j(["S","SS","SSS","SSSS"],function(t,e){e[so]=m(1e3*("0."+t))});var Io=T("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var No=p.prototype;No.add=_o,No.calendar=$t,No.clone=te,No.diff=re,No.endOf=ve,No.format=le,No.from=ue,No.fromNow=ce,No.get=S,No.invalidAt=ke,No.isAfter=ee,No.isBefore=ie,No.isBetween=oe,No.isSame=ne,No.isValid=_e,No.lang=ko,No.locale=pe,No.localeData=fe,No.max=go,No.min=vo,No.parsingFlags=xe,No.set=S,No.startOf=me,No.subtract=xo,No.toArray=we,No.toDate=be,No.toISOString=de,No.toJSON=de,No.toString=he,No.unix=ye,No.valueOf=ge,No.year=fo,No.isLeapYear=rt,No.weekYear=Oe,No.isoWeekYear=Te,No.quarter=No.quarters=Se,No.month=X,No.daysInMonth=Z,No.week=No.weeks=ut,No.isoWeek=No.isoWeeks=ct,No.weeksInYear=Ee,No.isoWeeksInYear=Ce,No.date=Mo,No.day=No.days=Le,No.weekday=Re,No.isoWeekday=Fe,No.dayOfYear=ft,No.hour=No.hours=Eo,No.minute=No.minutes=So,No.second=No.seconds=Po,No.millisecond=No.milliseconds=Io,No.utcOffset=Lt,No.utc=Ft,No.local=Bt,No.parseZone=jt,No.hasAlignedHourOffset=Ht,No.isDST=Yt,No.isDSTShifted=Wt,No.isLocal=Gt,No.isUtcOffset=Ut,No.isUtc=Vt,No.isUTC=Vt,No.zoneAbbr=Ge,No.zoneName=Ue,No.dates=Q("dates accessor is deprecated. Use date instead.",Mo),No.months=Q("months accessor is deprecated. Use month instead",X),No.years=Q("years accessor is deprecated. Use year instead",fo),No.zone=Q("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Rt);var Ao=No,zo={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Lo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Ro="Invalid date",Fo="%d",Bo=/\d{1,2}/,jo={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"},Ho=g.prototype;Ho._calendar=zo,Ho.calendar=Xe,Ho._longDateFormat=Lo,Ho.longDateFormat=Ze,Ho._invalidDate=Ro,Ho.invalidDate=Ke,Ho._ordinal=Fo,Ho.ordinal=Je,Ho._ordinalParse=Bo,Ho.preparse=Qe,Ho.postformat=Qe,Ho._relativeTime=jo,Ho.relativeTime=$e,Ho.pastFuture=ti,Ho.set=ei,Ho.months=G,Ho._months=ro,Ho.monthsShort=U,Ho._monthsShort=ao,Ho.monthsParse=V,Ho.week=ht,Ho._week=mo,Ho.firstDayOfYear=lt,Ho.firstDayOfWeek=dt,Ho.weekdays=Ie,Ho._weekdays=Do,Ho.weekdaysMin=Ae,Ho._weekdaysMin=To,Ho.weekdaysShort=Ne,Ho._weekdaysShort=Oo,Ho.weekdaysParse=ze,Ho.isPM=He,Ho._meridiemParse=Co,Ho.meridiem=Ye,_("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===m(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=Q("moment.lang is deprecated. Use moment.locale instead.",_),e.langData=Q("moment.langData is deprecated. Use moment.localeData instead.",k);var Yo=Math.abs,Wo=yi("ms"),Go=yi("s"),Uo=yi("m"),Vo=yi("h"),qo=yi("d"),Xo=yi("w"),Zo=yi("M"),Ko=yi("y"),Jo=wi("milliseconds"),Qo=wi("seconds"),$o=wi("minutes"),tn=wi("hours"),en=wi("days"),on=wi("months"),nn=wi("years"),sn=Math.round,rn={s:45,m:45,h:22,d:26,M:11},an=Math.abs,hn=St.prototype;hn.abs=di,hn.add=ui,hn.subtract=ci,hn.as=vi,hn.asMilliseconds=Wo,hn.asSeconds=Go,hn.asMinutes=Uo,hn.asHours=Vo,hn.asDays=qo,hn.asWeeks=Xo,hn.asMonths=Zo,hn.asYears=Ko,hn.valueOf=gi,hn._bubble=pi,hn.get=bi,hn.milliseconds=Jo,hn.seconds=Qo,hn.minutes=$o,hn.hours=tn,hn.days=en,hn.weeks=_i,hn.months=on,hn.years=nn,hn.humanize=Di,hn.toISOString=Oi,hn.toString=Oi,hn.toJSON=Oi,hn.locale=pe,hn.localeData=fe,hn.toIsoString=Q("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Oi),hn.lang=ko,I("X",0,0,"unix"),I("x",0,0,"valueOf"),R("x",qi),R("X",Zi),j("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),j("x",function(t,e,i){i._d=new Date(m(t))}),e.version="2.10.2",i(Ot),e.fn=Ao,e.min=Ct,e.max=Et,e.utc=d,e.unix=Ve,e.months=ni,e.isDate=s,e.locale=_,e.invalid=u,e.duration=qt,e.isMoment=f,e.weekdays=ri,e.parseZone=qe,e.localeData=k,e.isDuration=Pt,e.monthsShort=si,e.weekdaysMin=hi,e.defineLocale=x,e.weekdaysShort=ai,e.normalizeUnits=D,e.relativeTimeThreshold=Mi;var dn=e;return dn})}).call(e,i(87)(t))},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null,e=!1;return function i(o,n){function s(t){return t.match(/[^ ]+/g)}function r(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0},e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer&&o.hammer._handlers[e.type];if(n)for(var s=0;s0?o._handlers[t]=i:(o._off(t,r),delete o._handlers[t]))}),o},o.emit=function(i,n){e||(t=n.target),o._emit(i,n)},o.destroy=function(){var t=o.element;delete t.hammer,o._handlers={},o._destroy()},o}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function D(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=A(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=z(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=F(a,h),I(i,e),e.offsetDirection=R(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Ct||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Tt||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=L(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=R(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function A(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function R(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:At:e>0?zt:Lt}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function B(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return B(e[1],e[0],Ht)-B(t[1],t[0],Ht)}function H(t,e){return F(e[0],e[1],Ht)/F(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,C.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=M(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},C.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Ct|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Ct)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,C,{handler:function(t){var e=Zt[t.type];if(e===Ct&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,C,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,C,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Dt;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=D(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Rt||r&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:At,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?zt:Lt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Ct)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Rt|Ft,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Rt|Ft)?e=t.velocity:i&Rt?e=t.velocityX:i&Ft&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["color","fixed","shadow"];if(R.selectiveNotDeepExtend(o,t,e),R.mergeOptions(t,e,"shadow"),void 0!==e.color&&null!==e.color){var n=R.parseColor(e.color);R.fillIfDefined(t.color,n)}else i===!0&&(t.color=void 0,delete t.color);void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y)))}}]),t}();e["default"]=F,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=o(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=o(p,2);i=f[0],h=f[1],t.font=(e?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.strokeWidth>0&&(t.lineWidth=this.options.font.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3],n=void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["id","font","from","hidden","hoverWidth","label","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(o,t,e,i),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"shadow"),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&(t.dashes=void 0,delete t.dashes),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")):i===!0&&(t.scaling=void 0,delete t.scaling),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var n=e.arrows.toLowerCase();-1!=n.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=n.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=n.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}else i===!0&&(t.arrows=void 0,delete t.arrows);if(void 0!==e.color&&null!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var s=!1;void 0!==e.color.color&&(t.color.color=e.color.color,s=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,s=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,s=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&s===!0&&(t.color.inherit=!1)}else i===!0&&(t.color=void 0,delete t.color)}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is;s++)t=e[i[s]],t.options.mass>0&&(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))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i,o,n;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):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)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1*Math.random(),e=t);var s=this.options.gravitationalConstant*n.mass*o.options.mass/(t*t*t),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i,o=e.length,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=-Number.MAX_VALUE,h=0;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};for(this._splitBranch(g.root),h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,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")}},{key:"_placeInRegion",value: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)}}},{key:"_splitBranch",value: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)}},{key:"_insertRegion",value:function(t,e){var i,o,n,s,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value: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()}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom}},{key:"configureKeyboardBindings",value:function(){void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",this.bindToRedraw.bind(this,"_moveUp"),"keydown"),this.keycharm.bind("down",this.bindToRedraw.bind(this,"_moveDown"),"keydown"),this.keycharm.bind("left",this.bindToRedraw.bind(this,"_moveLeft"),"keydown"),this.keycharm.bind("right",this.bindToRedraw.bind(this,"_moveRight"),"keydown"),this.keycharm.bind("=",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num+",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("[",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("]",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pageup",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pagedown",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("up",this.unbindFromRedraw.bind(this,"_moveUp"),"keyup"),this.keycharm.bind("down",this.unbindFromRedraw.bind(this,"_moveDown"),"keyup"),this.keycharm.bind("left",this.unbindFromRedraw.bind(this,"_moveLeft"),"keyup"),this.keycharm.bind("right",this.unbindFromRedraw.bind(this,"_moveRight"),"keyup"),this.keycharm.bind("=",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num+",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("[",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("]",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pageup",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pagedown",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.ythis.imageObj.height?(i=this.imageObj.width/this.imageObj.height,t=2*this.options.size*i||this.imageObj.width,e=2*this.options.size||this.imageObj.height):(i=this.imageObj.height/this.imageObj.width,t=2*this.options.size||this.imageObj.width,e=2*this.options.size*i||this.imageObj.height),this.width=t,this.height=e}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){ -var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t){var e=this.options.color;if(e.inherit!==!1){if("both"===e.inherit&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),o=void 0,n=void 0;return o=this.from.options.color.highlight.border,n=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(o=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),n=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?n=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(o=this.from.options.color.border),i.addColorStop(0,o),i.addColorStop(1,n),i}this.colorDirty===!0&&("to"===e.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,e.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,e.opacity)))}else this.colorDirty===!0&&(this.color.highlight=e.highlight,this.color.hover=e.hover,this.color.color=r.overrideOpacity(e.color,e.opacity));return this.colorDirty=!1,this.selected===!0?this.color.highlight:this.hover===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,n,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,n,s,r,a);else{var d=this._getCircleData(),l=o(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,n,s){t.strokeStyle=this.getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(n,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=o(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]}])}); +"use strict";!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(o){if(i[o])return i[o].exports;var n=i[o]={exports:{},id:o,loaded:!1};return t[o].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Queue=i(5),e.Graph3d=i(6),e.graph3d={Camera:i(7),Filter:i(8),Point2d:i(9),Point3d:i(10),Slider:i(11),StepNumber:i(12)},e.Timeline=i(13),e.Graph2d=i(14),e.timeline={DateUtil:i(15),DataStep:i(16),Range:i(17),stack:i(18),TimeStep:i(19),components:{items:{Item:i(20),BackgroundItem:i(21),BoxItem:i(22),PointItem:i(23),RangeItem:i(24)},Component:i(25),CurrentTime:i(26),CustomTime:i(27),DataAxis:i(28),GraphGroup:i(29),Group:i(30),BackgroundGroup:i(31),ItemSet:i(32),Legend:i(33),LineGraph:i(34),TimeAxis:i(35)}},e.Network=i(36),e.network={Images:i(37),dotparser:i(38),gephiParser:i(39)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(40),e.hammer=i(41),e.Hammer=i(41)},function(t,e,i){var o=i(40),n=i(42);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){for(;1==t.hasChildNodes();)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,i,o){if(e==t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)},e.isString=function(t){return t instanceof String||"string"==typeof t},e.isDate=function(t){if(t instanceof Date)return!0;if(e.isString(t)){var i=s.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return n.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!=typeof t[i]&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=void 0===arguments[2]?!1:arguments[2];for(var n in t)void 0!==i[n]&&("object"!=typeof i[n]?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"==typeof t[n]&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;ii;i++)if(t[i]!=e[i])return!1;return!0},e.convert=function(t,i){var n;if(void 0===t)return void 0;if(null===t)return null;if(!i)return t;if("string"!=typeof i&&!(i instanceof String))throw new Error("Type must be a string");switch(i){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(e.isNumber(t))return new Date(t);if(t instanceof Date)return new Date(t.valueOf());if(o.isMoment(t))return new Date(t.valueOf());if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])):o(t).toDate();throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"Moment":if(e.isNumber(t))return o(t);if(t instanceof Date)return o(t.valueOf());if(o.isMoment(t))return o(t);if(e.isString(t))return n=s.exec(t),o(n?Number(n[1]):t);throw new Error("Cannot convert object of type "+e.getType(t)+" to type Date");case"ISODate":if(e.isNumber(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(o.isMoment(t))return t.toDate().toISOString();if(e.isString(t))return n=s.exec(t),n?new Date(Number(n[1])).toISOString():new Date(t).toISOString();throw new Error("Cannot convert object of type "+e.getType(t)+" to type ISODate");case"ASPDate":if(e.isNumber(t))return"/Date("+t+")/";if(t instanceof Date)return"/Date("+t.valueOf()+")/";if(e.isString(t)){n=s.exec(t);var r;return r=n?new Date(Number(n[1])).valueOf():new Date(t).valueOf(),"/Date("+r+")/"}throw new Error("Cannot convert object of type "+e.getType(t)+" to type ASPDate");default:throw new Error('Unknown type "'+i+'"')}};var s=/^\/?Date\((\-?\d+)/i;e.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":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"==e?"Number":"boolean"==e?"Boolean":"string"==e?"String":void 0===e?"undefined":e},e.copyAndExtendArray=function(t,e){for(var i=[],o=0;oi;i++)e(t[i],i,t);else for(i in t)t.hasOwnProperty(i)&&e(t[i],i,t)},e.toArray=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.updateProperty=function(t,e,i){return t[e]!==i?(t[e]=i,!0):!1},e.addEventListener=function(t,e,i,o){t.addEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.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},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){if(-1!=t.indexOf("rgba"))return t;if(-1!=t.indexOf("rgb")){var o=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"}var o=e.hexToRGB(t);return null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")"},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(e.isValidHex(t)===!0){var n=e.hexToHSV(t),s={h:n.h,s:.45*n.s,v:Math.min(1,1.05*n.v)},r={h:n.h,s:Math.min(1,1.25*n.v),v:.6*n.v},a=e.HSVToHex(r.h,r.h,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t,r=t==o?3:i==o?1:5,a=60*(r-s/(n-o))/360,h=(n-o)/n,d=n;return{h:a,s:h,v:d}};var r={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return Object.keys(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=r.split(t.style.cssText),n=r.split(i),s=e.extend(o,n);t.style.cssText=r.join(s)},e.removeCssText=function(t,e){var i=r.split(t.style.cssText),o=r.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=r.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){var e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);return e},e.isValidRGB=function(t){t=t.replace(" ","");var e=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t);return e},e.isValidRGBA=function(t){t=t.replace(" ","");var e=/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t);return e},e.selectiveBridgeObject=function(t,i){if("object"==typeof i){for(var o=Object.create(i),n=0;n=r&&n>s;){var h=Math.floor((r+a)/2),d=t[h],l=void 0===o?d[i]:d[i][o],u=e(l);if(0==u)return h;-1==u?r=h+1:a=h-1,s++}return-1},e.binarySearchValue=function(t,e,i,o){for(var n,s,r,a,h=1e4,d=0,l=0,u=t.length-1;u>=l&&h>d;){if(a=Math.floor(.5*(u+l)),n=t[Math.max(0,a-1)][i],s=t[a][i],r=t[Math.min(t.length-1,a+1)][i],s==e)return a;if(e>n&&s>e)return"before"==o?Math.max(0,a-1):a;if(e>s&&r>e)return"before"==o?a:Math.min(t.length-1,a+1);e>s?l=a+1:u=a-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return.5>t?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return.5>t?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return.5>t?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return.5>t?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},function(t,e,i){e.prepareElements=function(t){for(var e in t)t.hasOwnProperty(e)&&(t[e].redundant=t[e].used,t[e].used=[])},e.cleanupElements=function(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e].redundant){for(var i=0;i0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.options.drawPoints.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.options.drawPoints.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.options.drawPoints.size),a.setAttributeNS(null,"y",i-.5*o.options.drawPoints.size),a.setAttributeNS(null,"width",o.options.drawPoints.size),a.setAttributeNS(null,"height",o.options.drawPoints.size)),void 0!==o.options.drawPoints.styles&&a.setAttributeNS(null,"style",o.group.options.drawPoints.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){0>n&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t,e){if(t&&!Array.isArray(t)&&(e=t,t=null),this._options=e||{},this._data={},this.length=0,this._fieldId=this._options.fieldId||"id",this._type={},this._options.type)for(var i in this._options.type)if(this._options.type.hasOwnProperty(i)){var o=this._options.type[i];"Date"==o||"ISODate"==o||"ASPDate"==o?this._type[i]="Date":this._type[i]=o}if(this._options.convert)throw new Error('Option "convert" is deprecated. Use "type" instead.');this._subscribers={},t&&this.add(t),this.setOptions(e)}var n=i(1),s=i(5);o.prototype.setOptions=function(t){t&&void 0!==t.queue&&(t.queue===!1?this._queue&&(this._queue.destroy(),delete this._queue):(this._queue||(this._queue=s.extend(this,{replace:["add","update","remove"]})),"object"==typeof t.queue&&this._queue.setOptions(t.queue)))},o.prototype.on=function(t,e){var i=this._subscribers[t];i||(i=[],this._subscribers[t]=i),i.push({callback:e})},o.prototype.subscribe=o.prototype.on,o.prototype.off=function(t,e){var i=this._subscribers[t];i&&(this._subscribers[t]=i.filter(function(t){return t.callback!=e}))},o.prototype.unsubscribe=o.prototype.off,o.prototype._trigger=function(t,e,i){if("*"==t)throw new Error("Cannot trigger event *");var o=[];t in this._subscribers&&(o=o.concat(this._subscribers[t])),"*"in this._subscribers&&(o=o.concat(this._subscribers["*"]));for(var n=0;ns;s++)i=n._addItem(t[s]),o.push(i);else{if(!(t instanceof Object))throw new Error("Unknown dataType");i=n._addItem(t),o.push(i)}return o.length&&this._trigger("add",{items:o},e),o},o.prototype.update=function(t,e){var i=[],o=[],n=[],s=this,r=s._fieldId,a=function(t){var e=t[r];s._data[e]?(e=s._updateItem(t),o.push(e),n.push(t)):(e=s._addItem(t),i.push(e))};if(Array.isArray(t))for(var h=0,d=t.length;d>h;h++)a(t[h]);else{if(!(t instanceof Object))throw new Error("Unknown dataType");a(t)}return i.length&&this._trigger("add",{items:i},e),o.length&&this._trigger("update",{items:o,data:n},e),i.concat(o)},o.prototype.get=function(t){var e,i,o,s=this,r=n.getType(arguments[0]);"String"==r||"Number"==r?(e=arguments[0],o=arguments[1]):"Array"==r?(i=arguments[0],o=arguments[1]):o=arguments[0];var a;if(o&&o.returnType){var h=["Array","Object"];a=-1==h.indexOf(o.returnType)?"Array":o.returnType}else a="Array";var d,l,u,c,p=o&&o.type||this._options.type,f=o&&o.filter,m=[];if(void 0!=e)d=s._getItem(e,p),f&&!f(d)&&(d=null);else if(void 0!=i)for(u=0,c=i.length;c>u;u++)d=s._getItem(i[u],p),(!f||f(d))&&m.push(d);else for(l in this._data)this._data.hasOwnProperty(l)&&(d=s._getItem(l,p),(!f||f(d))&&m.push(d));if(o&&o.order&&void 0==e&&this._sort(m,o.order),o&&o.fields){var v=o.fields;if(void 0!=e)d=this._filterFields(d,v);else for(u=0,c=m.length;c>u;u++)m[u]=this._filterFields(m[u],v)}if("Object"==a){var g={};for(u=0;ue;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=this._getItem(o,d),a(n)&&l.push(n[this._fieldId]));else if(h){s=[];for(o in r)r.hasOwnProperty(o)&&s.push(r[o]);for(this._sort(s,h),e=0,i=s.length;i>e;e++)l[e]=s[e][this._fieldId]}else for(o in r)r.hasOwnProperty(o)&&(n=r[o],l.push(n[this._fieldId]));return l},o.prototype.getDataSet=function(){return this},o.prototype.forEach=function(t,e){var i,o,n=e&&e.filter,s=e&&e.type||this._options.type,r=this._data;if(e&&e.order)for(var a=this.get(e),h=0,d=a.length;d>h;h++)i=a[h],o=i[this._fieldId],t(i,o);else for(o in r)r.hasOwnProperty(o)&&(i=this._getItem(o,s),(!n||n(i))&&t(i,o))},o.prototype.map=function(t,e){var i,o=e&&e.filter,n=e&&e.type||this._options.type,s=[],r=this._data;for(var a in r)r.hasOwnProperty(a)&&(i=this._getItem(a,n),(!o||o(i))&&s.push(t(i,a)));return e&&e.order&&this._sort(s,e.order),s},o.prototype._filterFields=function(t,e){if(!t)return t;var i={};if(Array.isArray(e))for(var o in t)t.hasOwnProperty(o)&&-1!=e.indexOf(o)&&(i[o]=t[o]);else for(var o in t)t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&(i[e[o]]=t[o]);return i},o.prototype._sort=function(t,e){if(n.isString(e)){var i=e;t.sort(function(t,e){var o=t[i],n=e[i];return o>n?1:n>o?-1:0})}else{if("function"!=typeof e)throw new TypeError("Order must be a function or a string");t.sort(e)}},o.prototype.remove=function(t,e){var i,o,n,s=[];if(Array.isArray(t))for(i=0,o=t.length;o>i;i++)n=this._remove(t[i]),null!=n&&s.push(n);else n=this._remove(t),null!=n&&s.push(n);return s.length&&this._trigger("remove",{items:s},e),s},o.prototype._remove=function(t){if(n.isNumber(t)||n.isString(t)){if(this._data[t])return delete this._data[t],this.length--,t}else if(t instanceof Object){var e=t[this._fieldId];if(e&&this._data[e])return delete this._data[e],this.length--,e}return null},o.prototype.clear=function(t){var e=Object.keys(this._data);return this._data={},this.length=0,this._trigger("remove",{items:e},t),e},o.prototype.max=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||r>o)&&(i=s,o=r)}return i},o.prototype.min=function(t){var e=this._data,i=null,o=null;for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],r=s[t];null!=r&&(!i||o>r)&&(i=s,o=r)}return i},o.prototype.distinct=function(t){var e,i=this._data,o=[],s=this._options.type&&this._options.type[t]||null,r=0;for(var a in i)if(i.hasOwnProperty(a)){var h=i[a],d=h[t],l=!1;for(e=0;r>e;e++)if(o[e]==d){l=!0;break}l||void 0===d||(o[r]=d,r++)}if(s)for(e=0;ei;i++)n=e[i],this._ids[n]=!0;this.length=e.length,this._trigger("add",{items:e}),this._data.on&&this._data.on("*",this.listener)}},o.prototype.refresh=function(){for(var t,e=this._data.getIds({filter:this._options&&this._options.filter}),i={},o=[],n=[],s=0;so;o++)s=a[o],r=this.get(s),r&&(this._ids[s]=!0,l.push(s));break;case"update":for(o=0,n=a.length;n>o;o++)s=a[o],r=this.get(s),r?this._ids[s]?(u.push(s),d.push(e.data[o])):(this._ids[s]=!0,l.push(s)):this._ids[s]&&(delete this._ids[s],c.push(s));break;case"remove":for(o=0,n=a.length;n>o;o++)s=a[o],this._ids[s]&&(delete this._ids[s],c.push(s))}this.length+=l.length-c.length,l.length&&this._trigger("add",{items:l},i),u.length&&this._trigger("update",{items:u,data:d},i),c.length&&this._trigger("remove",{items:c},i)}},o.prototype.on=s.prototype.on,o.prototype.off=s.prototype.off,o.prototype._trigger=s.prototype._trigger,o.prototype.subscribe=o.prototype.on,o.prototype.unsubscribe=o.prototype.off,t.exports=o},function(t,e,i){function o(t){this.delay=null,this.max=1/0,this._queue=[],this._timeout=null,this._extended=null,this.setOptions(t)}o.prototype.setOptions=function(t){t&&"undefined"!=typeof t.delay&&(this.delay=t.delay),t&&"undefined"!=typeof t.max&&(this.max=t.max),this._flushIfNeeded()},o.extend=function(t,e){var i=new o(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=function(){i.flush()};var n=[{name:"flush",original:void 0}];if(e&&e.replace)for(var s=0;sthis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.width="400px",this.height="400px",this.margin=10,this.defaultXCenter="55%",this.defaultYCenter="50%",this.xLabel="x",this.yLabel="y",this.zLabel="z";var n=function(t){return t};this.xValueLabel=n,this.yValueLabel=n,this.zValueLabel=n,this.filterLabel="time",this.legendLabel="value",this.style=o.STYLE.DOT,this.showPerspective=!0,this.showGrid=!0,this.keepAspectRatio=!0,this.showShadow=!1,this.showGrayBottom=!1,this.showTooltip=!1,this.verticalRatio=.5,this.animationInterval=1e3,this.animationPreload=!1,this.camera=new c,this.eye=new l(0,0,-1),this.dataTable=null,this.dataPoints=null,this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.colFilter=void 0,this.xMin=0,this.xStep=void 0,this.xMax=1,this.yMin=0,this.yStep=void 0,this.yMax=1,this.zMin=0,this.zStep=void 0,this.zMax=1,this.valueMin=0,this.valueMax=1,this.xBarWidth=1,this.yBarWidth=1,this.colorAxis="#4D4D4D",this.colorGrid="#D3D3D3",this.colorDot="#7DC1FF",this.colorDotBorder="#3267D2",this.create(),this.setOptions(i),e&&this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(69),a=i(3),h=i(4),d=i(1),l=i(10),u=i(9),c=i(7),p=i(8),f=i(11),m=i(12);r(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/(this.xMax-this.xMin),1/(this.yMax-this.yMin),1/(this.zMax-this.zMin)),this.keepAspectRatio&&(this.scale.x3&&(this.colFilter=3);else{if(this.style!==o.STYLE.DOTCOLOR&&this.style!==o.STYLE.DOTSIZE&&this.style!==o.STYLE.BARCOLOR&&this.style!==o.STYLE.BARSIZE)throw'Unknown style "'+this.style+'"';this.colX=0,this.colY=1,this.colZ=2,this.colValue=3,t.getNumberOfColumns()>4&&(this.colFilter=4)}},o.prototype.getNumberOfRows=function(t){return t.length},o.prototype.getNumberOfColumns=function(t){var e=0;for(var i in t[0])t[0].hasOwnProperty(i)&&e++;return e},o.prototype.getDistinctValues=function(t,e){for(var i=[],o=0;ot[o][e]&&(i.min=t[o][e]),i.maxt;t++){var f=(t-c)/(p-c),v=240*f,g=this._hsv2rgb(v,1,1);u.strokeStyle=g,u.beginPath(),u.moveTo(h,r+t),u.lineTo(a,r+t),u.stroke()}u.strokeStyle=this.colorAxis,u.strokeRect(h,r,i,s)}if(this.style===o.STYLE.DOTSIZE&&(u.strokeStyle=this.colorAxis,u.fillStyle=this.colorDot,u.beginPath(),u.moveTo(h,r),u.lineTo(a,r),u.lineTo(a-i+e,d),u.lineTo(h,d),u.closePath(),u.fill(),u.stroke()),this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.DOTSIZE){var y=5,b=new m(this.valueMin,this.valueMax,(this.valueMax-this.valueMin)/5,!0);for(b.start(),b.getCurrent()0?this.yMin:this.yMax,n=this._convert3Dto2D(new l(_,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.xValueLabel(i.getCurrent())+" ",n.x,n.y),i.next()}for(v.lineWidth=1,o=void 0===this.defaultYStep,i=new m(this.yMin,this.yMax,this.yStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,n=this._convert3Dto2D(new l(s,i.getCurrent(),this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top",n.y+=b):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(" "+this.yValueLabel(i.getCurrent())+" ",n.x,n.y),i.next();for(v.lineWidth=1,o=void 0===this.defaultZStep,i=new m(this.zMin,this.zMax,this.zStep,o),i.start(),i.getCurrent()0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax;!i.end();)t=this._convert3Dto2D(new l(s,r,i.getCurrent())),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(t.x-b,t.y),v.stroke(),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(this.zValueLabel(i.getCurrent())+" ",t.x-5,t.y),i.next();v.lineWidth=1,t=this._convert3Dto2D(new l(s,r,this.zMin)),e=this._convert3Dto2D(new l(s,r,this.zMax)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),v.lineWidth=1,c=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),c=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),p=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(c.x,c.y),v.lineTo(p.x,p.y),v.stroke(),v.lineWidth=1,t=this._convert3Dto2D(new l(this.xMin,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMin,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke(),t=this._convert3Dto2D(new l(this.xMax,this.yMin,this.zMin)),e=this._convert3Dto2D(new l(this.xMax,this.yMax,this.zMin)),v.strokeStyle=this.colorAxis,v.beginPath(),v.moveTo(t.x,t.y),v.lineTo(e.x,e.y),v.stroke();var x=this.xLabel;x.length>0&&(u=.1/this.scale.y,s=(this.xMin+this.xMax)/2,r=Math.cos(w)>0?this.yMin-u:this.yMax+u,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)>0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)<0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(x,n.x,n.y));var k=this.yLabel;k.length>0&&(d=.1/this.scale.x,s=Math.sin(w)>0?this.xMin-d:this.xMax+d,r=(this.yMin+this.yMax)/2,n=this._convert3Dto2D(new l(s,r,this.zMin)),Math.cos(2*w)<0?(v.textAlign="center",v.textBaseline="top"):Math.sin(2*w)>0?(v.textAlign="right",v.textBaseline="middle"):(v.textAlign="left",v.textBaseline="middle"),v.fillStyle=this.colorAxis,v.fillText(k,n.x,n.y));var M=this.zLabel;M.length>0&&(h=30,s=Math.cos(w)>0?this.xMin:this.xMax,r=Math.sin(w)<0?this.yMin:this.yMax,a=(this.zMin+this.zMax)/2,n=this._convert3Dto2D(new l(s,r,a)),v.textAlign="right",v.textBaseline="middle",v.fillStyle=this.colorAxis,v.fillText(M,n.x-h,n.y))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._redrawDataGrid=function(){var t,e,i,n,s,r,a,h,d,u,c,p,f,m=this.frame.canvas,v=m.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(s=0;s0}else r=!0;r?(f=(t.point.z+e.point.z+i.point.z+n.point.z)/4,u=240*(1-(f-this.zMin)*this.scale.z/this.verticalRatio),c=1,this.showShadow?(p=Math.min(1+k.x/M/2,1),a=this._hsv2rgb(u,c,p),h=a):(p=1,a=this._hsv2rgb(u,c,p),h=this.colorAxis)):(a="gray",h=this.colorAxis),d=.5,v.lineWidth=d,v.fillStyle=a,v.strokeStyle=h,v.beginPath(),v.moveTo(t.screen.x,t.screen.y),v.lineTo(e.screen.x,e.screen.y),v.lineTo(n.screen.x,n.screen.y),v.lineTo(i.screen.x,i.screen.y),v.closePath(),v.fill(),v.stroke()}}else for(s=0;sc&&(c=0);var p,f,m;this.style===o.STYLE.DOTCOLOR?(p=240*(1-(d.point.value-this.valueMin)*this.scale.value),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)):this.style===o.STYLE.DOTSIZE?(f=this.colorDot,m=this.colorDotBorder):(p=240*(1-(d.point.z-this.zMin)*this.scale.z/this.verticalRatio),f=this._hsv2rgb(p,1,1),m=this._hsv2rgb(p,1,.8)),i.lineWidth=1,i.strokeStyle=m,i.fillStyle=f,i.beginPath(),i.arc(d.screen.x,d.screen.y,c,0,2*Math.PI,!0),i.fill(),i.stroke()}}},o.prototype._redrawDataBar=function(){var t,e,i,n,s=this.frame.canvas,r=s.getContext("2d");if(!(void 0===this.dataPoints||this.dataPoints.length<=0)){for(t=0;t0&&(t=this.dataPoints[0],o.lineWidth=1,o.strokeStyle="blue",o.beginPath(),o.moveTo(t.screen.x,t.screen.y)),e=1;e0&&o.stroke()}},o.prototype._onMouseDown=function(t){if(t=t||window.event,this.leftButtonDown&&this._onMouseUp(t),this.leftButtonDown=t.which?1===t.which:1===t.button,this.leftButtonDown||this.touchDown){this.startMouseX=n(t),this.startMouseY=s(t),this.startStart=new Date(this.start),this.startEnd=new Date(this.end),this.startArmRotation=this.camera.getArmRotation(),this.frame.style.cursor="move";var e=this;this.onmousemove=function(t){e._onMouseMove(t)},this.onmouseup=function(t){e._onMouseUp(t)},d.addEventListener(document,"mousemove",e.onmousemove),d.addEventListener(document,"mouseup",e.onmouseup),d.preventDefault(t)}},o.prototype._onMouseMove=function(t){t=t||window.event;var e=parseFloat(n(t))-this.startMouseX,i=parseFloat(s(t))-this.startMouseY,o=this.startArmRotation.horizontal+e/200,r=this.startArmRotation.vertical+i/200,a=4,h=Math.sin(a/360*2*Math.PI);Math.abs(Math.sin(o))0?1:0>t?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=100,s=null,r=null,a=null,h=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){s=this.dataPoints[i];var d=s.surfaces;if(d)for(var l=d.length-1;l>=0;l--){var c=d[l],p=c.corners,f=[p[0].screen,p[1].screen,p[2].screen],m=[p[2].screen,p[3].screen,p[0].screen];if(this._insideTriangle(h,f)||this._insideTriangle(h,m))return s}}else for(i=0;ib)&&n>b&&(a=b,r=s)}}return r},o.prototype._showTooltip=function(t){var e,i,o;this.tooltip?(e=this.tooltip.dom.content,i=this.tooltip.dom.line,o=this.tooltip.dom.dot):(e=document.createElement("div"),e.style.position="absolute",e.style.padding="10px",e.style.border="1px solid #4d4d4d",e.style.color="#1a1a1a",e.style.background="rgba(255,255,255,0.7)",e.style.borderRadius="2px",e.style.boxShadow="5px 5px 10px rgba(128,128,128,0.5)",i=document.createElement("div"),i.style.position="absolute",i.style.height="40px",i.style.width="0",i.style.borderLeft="1px solid #4d4d4d",o=document.createElement("div"),o.style.position="absolute",o.style.height="0",o.style.width="0",o.style.border="5px solid #4d4d4d",o.style.borderRadius="5px",this.tooltip={dataPoint:null,dom:{content:e,line:i,dot:o}}),this._hideTooltip(),this.tooltip.dataPoint=t,"function"==typeof this.showTooltip?e.innerHTML=this.showTooltip(t.point):e.innerHTML="
x:"+t.point.x+"
y:"+t.point.y+"
z:"+t.point.z+"
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,a=o.offsetWidth,h=o.offsetHeight,d=t.screen.x-n/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-a/2+"px",o.style.top=t.screen.y-h/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},t.exports=o},function(t,e,i){function o(){this.armLocation=new n,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new n,this.cameraRotation=new n(.5*Math.PI,0,0),this.calculateCameraOrientation()}var n=i(10);o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=o},function(t,e,i){function o(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(4);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range"; + +return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(to&&(o=0),o>this.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,i=t/(this.values.length-1)*e,o=i+3;return o},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.setRange=function(t,e,i,o){this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||0>=t||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),0>=s&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(){this._current=this._start-this._start%this._step},o.prototype.next=function(){this._current+=this._step},o.prototype.end=function(){return this._current>this._end},t.exports=o},function(t,e,i){function o(t,e,i,h){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");if(!(Array.isArray(i)||i instanceof s||i instanceof r)&&i instanceof Object){var u=h;h=i,i=u}var f=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{getScale:function(){return f.timeAxis.step.scale},getStep:function(){return f.timeAxis.step.step},toScreen:f._toScreen.bind(f),toGlobalScreen:f._toGlobalScreen.bind(f),toTime:f._toTime.bind(f),toGlobalTime:f._toGlobalTime.bind(f)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.timeAxis2=null,this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.itemSet=new c(this.body),this.components.push(this.itemSet),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){f.emit("click",f.getEventProperties(t))}),this.on("doubletap",function(t){f.emit("doubleClick",f.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){f.emit("contextmenu",f.getEventProperties(t))},this.configurationSystem=new p(this,t,g),h&&this.setOptions(h),i&&this.setGroups(i),e?this.setItems(e):this._redraw()}var n=(i(69),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(32),p=i(44),f=i(45)["default"],m=i(45).printStyle,v=i(46).allOptions,g=i(46).configureOptions;o.prototype=new h,o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){var e=f.validate(t,v);if(e===!0&&console.log("%cErrors have been found in the supplied options object.",m),h.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var i=this.itemsData;i&&(this.setItems(null),this.setItems(i))}},o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){if(void 0==this.options.start||void 0==this.options.end)var o=this._getDataRange();var n=void 0!=this.options.start?this.options.start:o.start,a=void 0!=this.options.end?this.options.end:o.end;this.setWindow(n,a,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||n>e)&&(n=e),(null===s||i>s)&&(s=i)}),null!==n&&null!==s){var r=(n+s)/2,a=Math.max(this.range.end-this.range.start,1.1*(s-n)),h=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(r-a/2,r+a/2,h)}}},o.prototype.getItemRange=function(){var t=this.itemsData&&this.itemsData.getDataSet(),e=null,i=null;if(t){var o=t.min("start");e=o?n.convert(o.start,"Date").valueOf():null;var s=t.max("start");s&&(i=n.convert(s.start,"Date").valueOf());var r=t.max("end");r&&(i=null==i?n.convert(r.end,"Date").valueOf():Math.max(i,n.convert(r.end,"Date").valueOf()))}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this.itemSet.itemFromTarget(t),a=this.itemSet.groupFromTarget(t),h=u.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),c=this.body.util.getStep(),p=this._toTime(o),f=d?d(p,l,c):p,m=n.getTarget(t),v=null;return null!=r?v="item":null!=h?v="custom-time":n.hasParent(m,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&n.hasParent(m,this.timeAxis2.dom.foreground)?v="axis":n.hasParent(m,this.itemSet.dom.labelSet)?v="group-label":n.hasParent(m,this.currentTime.bar)?v="current-time":n.hasParent(m,this.dom.center)&&(v="background"),{event:t,item:r?r.id:null,group:a?a.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:s,time:p,snappedTime:f}},t.exports=o},function(t,e,i){function o(t,e,i,o){if(!(Array.isArray(i)||i instanceof s)&&i instanceof Object){var r=o;o=i,i=r}var h=this;if(this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},width:null,height:null,maxHeight:null,minHeight:null},this.options=n.deepExtend({},this.defaultOptions),this._create(t),this.components=[],this.body={dom:this.dom,domProps:this.props,emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this)},hiddenDates:[],util:{toScreen:h._toScreen.bind(h),toGlobalScreen:h._toGlobalScreen.bind(h),toTime:h._toTime.bind(h),toGlobalTime:h._toGlobalTime.bind(h)}},this.range=new a(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new d(this.body),this.components.push(this.timeAxis),this.currentTime=new l(this.body),this.components.push(this.currentTime),this.linegraph=new c(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){h.emit("click",h.getEventProperties(t))}),this.on("doubletap",function(t){h.emit("doubleClick",h.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){h.emit("contextmenu",h.getEventProperties(t))},o){var u=p.validate(o,m);u===!0&&console.log("%cErrors have been found in the supplied options object.",f),this.setOptions(o)}i&&this.setGroups(i),e?this.setItems(e):this._redraw()}{var n=(i(69),i(41),i(1)),s=i(3),r=i(4),a=i(17),h=i(43),d=i(35),l=i(26),u=i(27),c=i(34),p=(i(44),i(45)["default"]),f=i(45).printStyle,m=i(47).allOptions;i(47).configureOptions}o.prototype=new h,o.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof s||t instanceof r?t:new s(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.linegraph&&this.linegraph.setItems(e),i)if(void 0!=this.options.start||void 0!=this.options.end){var o=void 0!=this.options.start?this.options.start:null,n=void 0!=this.options.end?this.options.end:null;this.setWindow(o,n,{animation:!1})}else this.fit({animation:!1})},o.prototype.setGroups=function(t){var e;e=t?t instanceof s||t instanceof r?t:new s(t):null,this.groupsData=e,this.linegraph.setGroups(e)},o.prototype.getLegend=function(t,e,i){return void 0===e&&(e=15),void 0===i&&(i=15),void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].getLegend(e,i):"cannot find group:"+t},o.prototype.isGroupVisible=function(t){return void 0!==this.linegraph.groups[t]?this.linegraph.groups[t].visible&&(void 0===this.linegraph.options.groups.visibility[t]||1==this.linegraph.options.groups.visibility[t]):!1},o.prototype.getItemRange=function(){var t=null,e=null;for(var i in this.linegraph.groups)if(this.linegraph.groups.hasOwnProperty(i)&&1==this.linegraph.groups[i].visible)for(var o=0;or?r:t,e=null==e?r:r>e?r:e}return{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY,o=e-n.getAbsoluteLeft(this.dom.centerContainer),s=i-n.getAbsoluteTop(this.dom.centerContainer),r=this._toTime(o),a=u.customTimeFromTarget(t),h=n.getTarget(t),d=null;n.hasParent(h,this.timeAxis.dom.foreground)?d="axis":this.timeAxis2&&n.hasParent(h,this.timeAxis2.dom.foreground)?d="axis":n.hasParent(h,this.linegraph.yAxisLeft.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.yAxisRight.dom.frame)?d="data-axis":n.hasParent(h,this.linegraph.legendLeft.dom.frame)?d="legend":n.hasParent(h,this.linegraph.legendRight.dom.frame)?d="legend":null!=a?d="custom-time":n.hasParent(h,this.currentTime.bar)?d="current-time":n.hasParent(h,this.dom.center)&&(d="background");var l=[],c=this.linegraph.yAxisLeft,p=this.linegraph.yAxisRight;return c.hidden||l.push(c.screenToValue(s)),p.hidden||l.push(p.screenToValue(s)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:s,time:r,value:l}},t.exports=o},function(t,e,i){var o=i(40);e.convertHiddenOptions=function(t,e){if(t.hiddenDates=[],e&&1==Array.isArray(e)){for(var i=0;i=4*a){var c=0,p=s.clone();switch(i[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}for(;p>d;)switch(t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()}),i[h].repeat){case"daily":d.add(1,"days"),l.add(1,"days");break;case"weekly":d.add(1,"weeks"),l.add(1,"weeks");break;case"monthly":d.add(1,"months"),l.add(1,"months");break;case"yearly":d.add(1,"y"),l.add(1,"y");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[h].repeat)}t.hiddenDates.push({start:d.valueOf(),end:l.valueOf()})}}e.removeDuplicates(t);var v=e.isHidden(t.range.start,t.hiddenDates),g=e.isHidden(t.range.end,t.hiddenDates),y=t.range.start,b=t.range.end;1==v.hidden&&(y=1==t.range.startToFront?v.startDate-1:v.endDate+1),1==g.hidden&&(b=1==t.range.endToFront?g.startDate-1:g.endDate+1),(1==v.hidden||1==g.hidden)&&t.range._applyRange(y,b)}},e.removeDuplicates=function(t){for(var e=t.hiddenDates,i=[],o=0;o=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(var o=0;o=r&&a>n){i=!0;break}}if(1==i&&n=e&&i>r&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,n){return n=o(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,n)},e.getHiddenDurationBefore=function(t,e,i){var n=0;i=o(i).toDate().valueOf();for(var s=0;s=e.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?0>o?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&n>t)return{hidden:!0,startDate:o,endDate:n}}return{hidden:!1,startDate:o,endDate:n}}},function(t,e,i){function o(t,e,i,o,n,s,r){this.current=0,this.autoScale=!0,this.stepIndex=0,this.step=1,this.scale=1,this.formattingFunction=s,this.marginStart,this.marginEnd,this.deadSpace=0,this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.alignZeros=r,this.setRange(t,e,i,o,n)}o.prototype.setRange=function(t,e,i,o,n){this._start=void 0===n.min?t:n.min,this._end=void 0===n.max?e:n.max,this._start===this._end&&(this._start=void 0===n.min?this._start-.75:this._start,this._end=void 0===n.max?this._end+1:this._end),this.autoScale===!0&&this.setMinimumStep(i,o),this.setFirst(n)},o.prototype.setMinimumStep=function(t,e){var i=this._end-this._start,o=1.2*i,n=t*(o/e),s=Math.round(Math.log(o)/Math.LN10),r=-1,a=Math.pow(10,s),h=0;0>s&&(h=s);for(var d=!1,l=h;Math.abs(l)<=Math.abs(s);l++){a=Math.pow(10,l);for(var u=0;u=n){d=!0,r=u;break}}if(d===!0)break}this.stepIndex=r,this.scale=a,this.step=a*this.minorSteps[r]},o.prototype.setFirst=function(t){void 0===t&&(t={});var e=void 0===t.min?this._start-2*this.scale*this.minorSteps[this.stepIndex]:t.min,i=void 0===t.max?this._end+this.scale*this.minorSteps[this.stepIndex]:t.max;this.marginEnd=void 0===t.max?this.roundToMinor(i):t.max,this.marginStart=void 0===t.min?this.roundToMinor(e):t.min,this.alignZeros===!0&&(this.marginEnd-this.marginStart)%this.step!=0&&(this.marginEnd+=this.marginEnd%this.step),this.deadSpace=this.roundToMinor(i)-i+this.roundToMinor(e)-e,this.marginRange=this.marginEnd-this.marginStart,this.current=this.marginEnd},o.prototype.roundToMinor=function(t){var e=t-t%(this.scale*this.minorSteps[this.stepIndex]);return t%(this.scale*this.minorSteps[this.stepIndex])>.5*this.scale*this.minorSteps[this.stepIndex]?e+this.scale*this.minorSteps[this.stepIndex]:e},o.prototype.hasNext=function(){return this.current>=this.marginStart},o.prototype.next=function(){var t=this.current;this.current-=this.step,this.current===t&&(this.current=this._end)},o.prototype.previous=function(){this.current+=this.step,this.marginEnd+=this.step,this.marginRange=this.marginEnd-this.marginStart},o.prototype.getCurrent=function(){var t=Math.abs(this.current)t)for(var e=0;-t>e;e++)this.previous();else if(t>0)for(var e=0;t>e;e++)this.next()},t.exports=o},function(t,e,i){function o(t,e){var i=a().hours(0).minutes(0).seconds(0).milliseconds(0);this.start=i.clone().add(-3,"days").valueOf(),this.end=i.clone().add(4,"days").valueOf(),this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={start:null,end:null,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10},this.options=r.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.setOptions(e)}function n(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}function s(t,e){return{x:t.x-r.getAbsoluteLeft(e),y:t.y-r.getAbsoluteTop(e)}}var r=i(1),a=(i(48),i(40)),h=i(25),d=i(15);o.prototype=new h,o.prototype.setOptions=function(t){if(t){var e=["direction","min","max","zoomMin","zoomMax","moveable","zoomable","activate","hiddenDates"];r.selectiveExtend(e,this.options,t),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},o.prototype.setRange=function(t,e,i,o){o!==!0&&(o=!1);var n=void 0!=t?r.convert(t,"Date").valueOf():null,s=void 0!=e?r.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var a=this,h=this.start,l=this.end,u="object"==typeof i&&"duration"in i?i.duration:500,c="object"==typeof i&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",p=r.easingFunctions[c];if(!p)throw new Error("Unknown easing function "+JSON.stringify(c)+". Choose from: "+Object.keys(r.easingFunctions).join(", "));var f=(new Date).valueOf(),m=!1,v=function b(){if(!a.props.touch.dragging){var t=(new Date).valueOf(),e=t-f,i=p(e/u),r=e>u,c=r||null===n?n:h+(n-h)*i,v=r||null===s?s:l+(s-l)*i;g=a._applyRange(c,v),d.updateHiddenDates(a.body,a.options.hiddenDates),m=m||g,g&&a.body.emitter.emit("rangechange",{start:new Date(a.start),end:new Date(a.end),byUser:o}),r?m&&a.body.emitter.emit("rangechanged",{start:new Date(a.start),end:new Date(a.end),byUser:o}):a.animationTimer=setTimeout(b,20)}};return v()}var g=this._applyRange(n,s);if(d.updateHiddenDates(this.body,this.options.hiddenDates),g){var y={start:new Date(this.start),end:new Date(this.end),byUser:o};this.body.emitter.emit("rangechange",y),this.body.emitter.emit("rangechanged",y)}},o.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},o.prototype._applyRange=function(t,e){var i,o=null!=t?r.convert(t,"Date").valueOf():this.start,n=null!=e?r.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?r.convert(this.options.max,"Date").valueOf():null,a=null!=this.options.min?r.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(o>n&&(n=o),null!==a&&a>o&&(i=a-o,o+=i,n+=i,null!=s&&n>s&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=a&&a>o&&(o=a)),null!==this.options.zoomMin){var h=parseFloat(this.options.zoomMin);0>h&&(h=0),h>n-o&&(this.end-this.start===h&&o>this.start&&nd&&(d=0),n-o>d&&(this.end-this.start===d&&othis.end?(o=this.start,n=this.end):(i=n-o-d,o+=i/2,n-=i/2))}var l=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,l},o.prototype.getRange=function(){return{start:this.start,end:this.end}},o.prototype.conversion=function(t,e){return o.conversion(this.start,this.end,t,e)},o.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},o.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},o.prototype._onDrag=function(t){if(this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;n(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,s=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=s;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height,a=-i/r*o,h=this.props.touch.start+a,l=this.props.touch.end+a,u=d.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),c=d.snapAwayFromHidden(this.body.hiddenDates,l,this.previousDelta-i,!0);if(u!=h||c!=l)return this.deltaDifference+=i,this.props.touch.start=u,this.props.touch.end=c,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,l),this.body.emitter.emit("rangechange",{start:new Date(this.start),end:new Date(this.end),byUser:!0})}},o.prototype._onDragEnd=function(t){this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0}))},o.prototype._onMouseWheel=function(t){if(this.options.zoomable&&this.options.moveable){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),e){var i;i=0>e?1-e/5:1/(1+e/5);var o=s({x:t.clientX,y:t.clientY},this.body.dom.center),n=this._pointerToDate(o);this.zoom(i,n,e)}t.preventDefault()}},o.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0},o.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=s(t.center,this.body.dom.center));var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,i),r=o-n,a=i-n+(this.props.touch.start-(i-n))*e,h=i+r+(this.props.touch.end-(i+r))*e;this.startToFront=0>=1-e,this.endToFront=0>=e-1;var l=d.snapAwayFromHidden(this.body.hiddenDates,a,1-e,!0),u=d.snapAwayFromHidden(this.body.hiddenDates,h,e-1,!0);(l!=a||u!=h)&&(this.props.touch.start=l,this.props.touch.end=u,this.scaleOffset=1-t.scale,a=l,h=u),this.setRange(a,h,!1,!0),this.startToFront=!1,this.endToFront=!0}},o.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(n(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},o.prototype.zoom=function(t,e,i){null==e&&(e=(this.start+this.end)/2);var o=d.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=d.getHiddenDurationBefore(this.body.hiddenDates,this,e),s=o-n,r=e-n+(this.start-(e-n))*t,a=e+s+(this.end-(e+s))*t; + +this.startToFront=i>0?!1:!0,this.endToFront=-i>0?!1:!0;var h=d.snapAwayFromHidden(this.body.hiddenDates,r,i,!0),l=d.snapAwayFromHidden(this.body.hiddenDates,a,-i,!0);(h!=r||l!=a)&&(r=h,a=l),this.setRange(r,a,!1,!0),this.startToFront=!1,this.endToFront=!0},o.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},o.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i;this.setRange(o,n)},t.exports=o},function(t,e,i){var o=.001;e.orderByStart=function(t){t.sort(function(t,e){return t.data.start-e.data.start})},e.orderByEnd=function(t){t.sort(function(t,e){var i="end"in t.data?t.data.end:t.data.start,o="end"in e.data?e.data.end:e.data.start;return i-o})},e.stack=function(t,i,o){var n,s;if(o)for(n=0,s=t.length;s>n;n++)t[n].top=null;for(n=0,s=t.length;s>n;n++){var r=t[n];if(r.stack&&null===r.top){r.top=i.axis;do{for(var a=null,h=0,d=t.length;d>h;h++){var l=t[h];if(null!==l.top&&l!==r&&l.stack&&e.collision(r,l,i.item)){a=l;break}}null!=a&&(r.top=a.top+a.height+i.item.vertical)}while(a)}}},e.nostack=function(t,e,i){var o,n,s;for(o=0,n=t.length;n>o;o++)if(void 0!==t[o].data.subgroup){s=e.axis;for(var r in i)i.hasOwnProperty(r)&&1==i[r].visible&&i[r].indexe.left&&t.top-i.vertical+oe.top}},function(t,e,i){function o(t,e,i,n){this.current=new Date,this._start=new Date,this._end=new Date,this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,this.hiddenDates=n,void 0===n&&(this.hiddenDates=[]),this.format=o.FORMAT}var n=i(40),s=i(15),r=i(1);o.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",month:"YYYY",year:""}},o.prototype.setFormat=function(t){var e=r.deepExtend({},o.FORMAT);this.format=r.deepExtend(e,t)},o.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)},o.prototype.first=function(){this.current=new Date(this._start.valueOf()),this.roundToMinor()},o.prototype.roundToMinor=function(){switch(this.scale){case"year":this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case"month":this.current.setDate(1);case"day":case"weekday":this.current.setHours(0);case"hour":this.current.setMinutes(0);case"minute":this.current.setSeconds(0);case"second":this.current.setMilliseconds(0)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%this.step);break;case"hour":this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case"month":this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()-this.current.getFullYear()%this.step)}},o.prototype.hasNext=function(){return this.current.valueOf()<=this._end.valueOf()},o.prototype.next=function(){var t=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current=new Date(this.current.valueOf()+1e3*this.step);break;case"minute":this.current=new Date(this.current.valueOf()+1e3*this.step*60);break;case"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"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case"millisecond":this.current=new Date(this.current.valueOf()+this.step);break;case"second":this.current.setSeconds(this.current.getSeconds()+this.step);break;case"minute":this.current.setMinutes(this.current.getMinutes()+this.step);break;case"hour":this.current.setHours(this.current.getHours()+this.step);break;case"weekday":case"day":this.current.setDate(this.current.getDate()+this.step);break;case"month":this.current.setMonth(this.current.getMonth()+this.step);break;case"year":this.current.setFullYear(this.current.getFullYear()+this.step)}if(1!=this.step)switch(this.scale){case"millisecond":this.current.getMilliseconds()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){var e=31104e6,i=2592e6,o=864e5,n=36e5,s=6e4,r=1e3,a=1;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),3*i>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),5*o>t&&(this.scale="day",this.step=5),2*o>t&&(this.scale="day",this.step=2),o>t&&(this.scale="day",this.step=1),o/2>t&&(this.scale="weekday",this.step=1),4*n>t&&(this.scale="hour",this.step=4),n>t&&(this.scale="hour",this.step=1),15*s>t&&(this.scale="minute",this.step=15),10*s>t&&(this.scale="minute",this.step=10),5*s>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15*r>t&&(this.scale="second",this.step=15),10*r>t&&(this.scale="second",this.step=10),5*r>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200*a>t&&(this.scale="millisecond",this.step=200),100*a>t&&(this.scale="millisecond",this.step=100),50*a>t&&(this.scale="millisecond",this.step=50),10*a>t&&(this.scale="millisecond",this.step=10),5*a>t&&(this.scale="millisecond",this.step=5),a>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=new Date(t.valueOf());if("year"==e){var n=o.getFullYear()+Math.round(o.getMonth()/12);o.setFullYear(Math.round(n/i)*i),o.setMonth(0),o.setDate(0),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("month"==e)o.getDate()>15?(o.setDate(1),o.setMonth(o.getMonth()+1)):o.setDate(1),o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.setHours(24*Math.round(o.getHours()/24));break;default:o.setHours(12*Math.round(o.getHours()/12))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.setHours(12*Math.round(o.getHours()/12));break;default:o.setHours(6*Math.round(o.getHours()/6))}o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)}else if("hour"==e){switch(i){case 4:o.setMinutes(60*Math.round(o.getMinutes()/60));break;default:o.setMinutes(30*Math.round(o.getMinutes()/30))}o.setSeconds(0),o.setMilliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.setMinutes(5*Math.round(o.getMinutes()/5)),o.setSeconds(0);break;case 5:o.setSeconds(60*Math.round(o.getSeconds()/60));break;default:o.setSeconds(30*Math.round(o.getSeconds()/30))}o.setMilliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.setSeconds(5*Math.round(o.getSeconds()/5)),o.setMilliseconds(0);break;case 5:o.setMilliseconds(1e3*Math.round(o.getMilliseconds()/1e3));break;default:o.setMilliseconds(500*Math.round(o.getMilliseconds()/500))}else if("millisecond"==e){var s=i>5?i/2:1;o.setMilliseconds(Math.round(o.getMilliseconds()/s)*s)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.switchedYear=!1,this.scale){case"year":case"month":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.switchedMonth=!1,this.scale){case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.switchedDay=!1,this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}switch(this.scale){case"millisecond":return 0==this.current.getMilliseconds();case"second":return 0==this.current.getSeconds();case"minute":return 0==this.current.getHours()&&0==this.current.getMinutes();case"hour":return 0==this.current.getHours();case"weekday":case"day":return 1==this.current.getDate();case"month":return 0==this.current.getMonth();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){void 0==t&&(t=this.current);var e=this.format.minorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getLabelMajor=function(t){void 0==t&&(t=this.current);var e=this.format.majorLabels[this.scale];return e&&e.length>0?n(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" even":" odd"}function e(t){return t.isSame(new Date,"day")?" today":t.isSame(n().add(1,"day"),"day")?" tomorrow":t.isSame(n().add(-1,"day"),"day")?" yesterday":""}function i(t){return t.isSame(new Date,"week")?" current-week":""}function o(t){return t.isSame(new Date,"month")?" current-month":""}function s(t){return t.isSame(new Date,"year")?" current-year":""}var r=n(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return t(a.milliseconds()).trim();case"second":return t(a.seconds()).trim();case"minute":return t(a.minutes()).trim();case"hour":var d=a.hours();return 4==this.step&&(d=d+"-h"+(d+4)),"h"+d+e(a)+t(a.hours());case"weekday":return a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":var l=a.date(),u=a.format("MMMM").toLowerCase();return"day"+l+" "+u+o(a)+t(l-1);case"month":return a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var c=a.year();return"year"+c+s(a)+t(c);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.id=null,this.parent=null,this.data=t,this.dom=null,this.conversion=e||{},this.options=i||{},this.selected=!1,this.displayed=!1,this.dirty=!0,this.top=null,this.left=null,this.width=null,this.height=null}var n=i(41),s=i(1);o.prototype.stack=!0,o.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},o.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},o.prototype.isVisible=function(t){return!1},o.prototype.show=function(){return!1},o.prototype.hide=function(){return!1},o.prototype.redraw=function(){},o.prototype.repositionX=function(){},o.prototype.repositionY=function(){},o.prototype._repaintDeleteButton=function(t){if(this.selected&&this.options.editable.remove&&!this.dom.deleteButton){var e=this,i=document.createElement("div");i.className="vis-delete",i.title="Delete this item",new n(i).on("tap",function(t){e.parent.removeFromDataSet(e),t.stopPropagation()}),t.appendChild(i),this.dom.deleteButton=i}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},o.prototype._updateContents=function(t){var e;if(this.options.template){var i=this.parent.itemSet.itemsData.get(this.id);e=this.options.template(i)}else e=this.data.content;var o=this._contentToString(this.content)!==this._contentToString(e);if(o){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(void 0!=e)t.innerHTML=e;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.content=e}},o.prototype._updateTitle=function(t){null!=this.data.title?t.title=this.data.title||"":t.removeAttribute("vis-title")},o.prototype._updateDataAttributes=function(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(var i=0;it.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.background;if(!e)throw new Error("Cannot redraw item: parent has no background container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.content).overflow,this.props.content.width=this.dom.content.offsetWidth,this.height=0,this.dirty=!1}},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e="top"===this.options.orientation.item;this.dom.content.style.top=e?"":"0",this.dom.content.style.bottom=e?"0":"";var i;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups,r=n[o].index;if(1==e){i=this.parent.subgroups[o].height+t.item.vertical,i+=0==r?t.axis-.5*t.item.vertical:0;var a=this.parent.top;for(var h in n)n.hasOwnProperty(h)&&1==n[h].visible&&n[h].indexr&&(a+=l)}i=this.parent.subgroups[o].height+t.item.vertical,this.dom.box.style.top=this.parent.height-d+a+"px",this.dom.box.style.bottom=""}}else this.parent instanceof s?(i=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top=e?"0":"",this.dom.box.style.bottom=e?"":"0"):(i=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=i+"px"},t.exports=o},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}{var n=i(20);i(1)}o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=(t.end-t.start)/4;return this.data.start>t.start-e&&this.data.startt.start-e&&this.data.startt.start},o.prototype.redraw=function(){var t=this.dom;if(t||(this.dom={},t=this.dom,t.box=document.createElement("div"),t.frame=document.createElement("div"),t.frame.className="vis-item-overflow",t.box.appendChild(t.frame),t.content=document.createElement("div"),t.content.className="vis-item-content",t.frame.appendChild(t.content),t.box["timeline-item"]=this,this.dirty=!0),!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!t.box.parentNode){var e=this.parent.dom.foreground;if(!e)throw new Error("Cannot redraw item: parent has no foreground container element");e.appendChild(t.box)}if(this.displayed=!0,this.dirty){this._updateContents(this.dom.content),this._updateTitle(this.dom.box),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");t.box.className=this.baseClassName+i,this.overflow="hidden"!==window.getComputedStyle(t.frame).overflow,this.dom.content.style.maxWidth="none",this.props.content.width=this.dom.content.offsetWidth,this.height=this.dom.box.offsetHeight,this.dom.content.style.maxWidth="",this.dirty=!1}this._repaintDeleteButton(t.box),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end);(void 0===t||t===!0)&&(-o>n&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n,1);switch(this.overflow?(this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.dom.content.style.left="0";break;case"right":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:0>n?-n:0,this.dom.content.style.left=e+"px"}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;"top"==t?e.style.top=this.top+"px":e.style.top=this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,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)},o.prototype._repaintDragRight=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,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)},t.exports=o},function(t,e,i){function o(t,e){this.options=null,this.props=null}o.prototype.setOptions=function(t){t&&util.extend(this.options,t)},o.prototype.redraw=function(){return!1},o.prototype.destroy=function(){},o.prototype._isResized=function(){var t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={showCurrentTime:!0,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(25),r=i(40),a=i(49);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["showCurrentTime","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=new Date((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+r(e).format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;30>o&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={locales:h,locale:"en",id:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(25),a=i(40),h=i(49);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["locale","locales","id"],this.options,t)},o.prototype._create=function(){var t=document.createElement("div");t["custom-time"]=this,t.className="vis-custom-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;var e=document.createElement("div");e.style.position="relative",e.style.top="0px",e.style.left="-10px",e.style.height="100%",e.style.width="20px",t.appendChild(e),this.hammer=new n(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this))},o.prototype.destroy=function(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null},o.prototype.redraw=function(){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));var e=this.body.util.toScreen(this.customTime),i=this.options.locales[this.options.locale];i||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline.html#Localization"),this.warned=!0),i=this.options.locales.en);var o=i.time+": "+a(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss");return o=o.charAt(0).toUpperCase()+o.substring(1),this.bar.style.left=e+"px",this.bar.title=o,!1},o.prototype.hide=function(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)},o.prototype.setCustomTime=function(t){this.customTime=s.convert(t,"Date"),this.redraw()},o.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())},o.prototype._onDragStart=function(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()},o.prototype._onDrag=function(t){if(this.eventParams.dragging){var e=this.body.util.toScreen(this.eventParams.customTime)+t.deltaX,i=this.body.util.toTime(e);this.setCustomTime(i),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation()}},o.prototype._onDragEnd=function(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf())}),t.stopPropagation())},o.customTimeFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null},t.exports=o},function(t,e,i){function o(t,e,i,o){this.id=n.randomUUID(),this.body=t,this.defaultOptions={orientation:"left",showMinorLabels:!0,showMajorLabels:!0,icons:!0,majorLinesOffset:7,minorLinesOffset:4,labelOffsetX:10,labelOffsetY:2,iconWidth:20,width:"40px",visible:!0,alignZeros:!0,left:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}},right:{range:{min:void 0,max:void 0},format:function(t){return t},title:{text:void 0,style:void 0}}},this.linegraphOptions=o,this.linegraphSVG=i,this.props={},this.DOMelements={lines:{},labels:{},title:{}},this.dom={},this.range={start:0,end:0},this.options=n.extend({},this.defaultOptions),this.conversionFactor=1,this.setOptions(e),this.width=Number((""+this.options.width).replace("px","")),this.minWidth=this.width,this.height=this.linegraphSVG.offsetHeight,this.hidden=!1,this.stepPixels=25,this.zeroCrossing=-1,this.amountOfSteps=-1,this.lineOffset=0,this.master=!0,this.svgElements={}, +this.iconsRemoved=!1,this.groups={},this.amountOfGroups=0,this._create();var s=this;this.body.emitter.on("verticalDrag",function(){s.dom.lineContainer.style.top=s.body.domProps.scrollTop+"px"})}var n=i(1),s=i(2),r=i(25),a=i(16);o.prototype=new r,o.prototype.addGroup=function(t,e){this.groups.hasOwnProperty(t)||(this.groups[t]=e),this.amountOfGroups+=1},o.prototype.updateGroup=function(t,e){this.groups[t]=e},o.prototype.removeGroup=function(t){this.groups.hasOwnProperty(t)&&(delete this.groups[t],this.amountOfGroups-=1)},o.prototype.setOptions=function(t){if(t){var e=!1;this.options.orientation!=t.orientation&&void 0!==t.orientation&&(e=!0);var i=["orientation","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","width","visible","left","right","alignZeros"];n.selectiveExtend(i,this.options,t),this.minWidth=Number((""+this.options.width).replace("px","")),e===!0&&this.dom.frame&&(this.hide(),this.show())}},o.prototype._create=function(){this.dom.frame=document.createElement("div"),this.dom.frame.style.width=this.options.width,this.dom.frame.style.height=this.height,this.dom.lineContainer=document.createElement("div"),this.dom.lineContainer.style.width="100%",this.dom.lineContainer.style.height=this.height,this.dom.lineContainer.style.position="relative",this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="absolute",this.svg.style.top="0px",this.svg.style.height="100%",this.svg.style.width="100%",this.svg.style.display="block",this.dom.frame.appendChild(this.svg)},o.prototype._redrawGroupIcons=function(){s.prepareElements(this.svgElements);var t,e=this.options.iconWidth,i=15,o=4,n=o+.5*i;t="left"===this.options.orientation?o:this.width-e-o;var r=Object.keys(this.groups);r.sort(function(t,e){return e>t?-1:1});for(var a=0;a0&&(t=0),this.range.start=t,this.range.end=e},o.prototype.redraw=function(){var t=!1,e=0;this.dom.lineContainer.style.top=this.body.domProps.scrollTop+"px";for(var i in this.groups)this.groups.hasOwnProperty(i)&&(this.groups[i].visible!==!0||void 0!==this.linegraphOptions.visibility[i]&&this.linegraphOptions.visibility[i]!==!0||e++);if(0===this.amountOfGroups||0===e)this.hide();else{this.show(),this.height=Number(this.linegraphSVG.style.height.replace("px","")),this.dom.lineContainer.style.height=this.height+"px",this.width=this.options.visible===!0?Number((""+this.options.width).replace("px","")):0;var o=this.props,n=this.dom.frame;n.className="vis-data-axis",this._calculateCharSize();var s=this.options.orientation,r=this.options.showMinorLabels,a=this.options.showMajorLabels;o.minorLabelHeight=r?o.minorCharHeight:0,o.majorLabelHeight=a?o.majorCharHeight:0,o.minorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.minorLinesOffset,o.minorLineHeight=1,o.majorLineWidth=this.body.dom.backgroundHorizontal.offsetWidth-this.lineOffset-this.width+2*this.options.majorLinesOffset,o.majorLineHeight=1,"left"===s?(n.style.top="0",n.style.left="0",n.style.bottom="",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.left.width,this.props.height=this.body.domProps.left.height):(n.style.top="",n.style.bottom="0",n.style.left="0",n.style.width=this.width+"px",n.style.height=this.height+"px",this.props.width=this.body.domProps.right.width,this.props.height=this.body.domProps.right.height),t=this._redrawLabels(),t=this._isResized()||t,this.options.icons===!0?this._redrawGroupIcons():this._cleanupIcons(),this._redrawTitle(s)}return t},o.prototype._redrawLabels=function(){var t=!1;s.prepareElements(this.DOMelements.lines),s.prepareElements(this.DOMelements.labels);var e,i=this.options.orientation;if(this.master===!1){var o,n,r,h;-1!==this.zeroCrossing&&this.options.alignZeros===!0?this.range.end>0?(o=this.range.end/this.zeroCrossing,n=this.range.end-this.amountOfSteps*o,r=this.range.end):(o=-1*this.range.start/(this.amountOfSteps-this.zeroCrossing),n=this.range.start,r=this.range.start+o*this.amountOfSteps):(n=this.range.start,r=this.range.end),h=this.stepPixels}else h=this.props.majorCharHeight,n=this.range.start,r=this.range.end;if(this.step=e=new a(n,r,h,this.dom.frame.offsetHeight,this.options[this.options.orientation].range,this.options[this.options.orientation].format,this.master===!1&&this.options.alignZeros),this.master===!0)this.stepPixels=this.dom.frame.offsetHeight/e.marginRange*e.step,this.amountOfSteps=Math.ceil(this.dom.frame.offsetHeight/this.stepPixels);else if(this.options.alignZeros===!0&&-1!==this.zeroCrossing){var d=(e.current-this.zeroCrossing*e.step)/e.step;this.step.shift(d)}this.valueAtBottom=e.marginEnd,this.maxLabelSize=0;for(var l=0,u=0,c=!1;u0&&u!==this.amountOfSteps&&((this.options.showMinorLabels&&c===!1||this.master===!1&&this.options.showMinorLabels===!0)&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-minor",this.props.minorCharHeight),c&&this.options.showMajorLabels&&this.master===!0||this.options.showMinorLabels===!1&&this.master===!1&&c===!0?(l>=0&&this._redrawLabel(l-2,e.getCurrent(),i,"vis-y-axis vis-major",this.props.majorCharHeight),this._redrawLine(l,i,"vis-grid vis-horizontal vis-major",this.options.majorLinesOffset,this.props.majorLineWidth)):this._redrawLine(l,i,"vis-grid vis-horizontal vis-minor",this.options.minorLinesOffset,this.props.minorLineWidth)),this.master===!0&&0===e.current&&(this.zeroCrossing=u),e.next(),u+=1;this.master===!0&&0===e.current&&(this.zeroCrossing=u),this.conversionFactor=this.stepPixels/e.step;var p=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(p=this.props.titleCharHeight);var f=this.options.icons===!0?Math.max(this.options.iconWidth,p)+this.options.labelOffsetX+15:p+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-f&&this.options.visible===!0?(this.width=this.maxLabelSize+f,this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+f),this.options.width=this.width+"px",s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),this.redraw(),t=!0):(s.cleanupElements(this.DOMelements.lines),s.cleanupElements(this.DOMelements.labels),t=!1),t},o.prototype.convertValue=function(t){var e=this.valueAtBottom-t,i=e*this.conversionFactor;return i},o.prototype.screenToValue=function(t){return this.valueAtBottom-t/this.conversionFactor},o.prototype._redrawLabel=function(t,e,i,o,n){var r=s.getDOMElement("div",this.DOMelements.labels,this.dom.frame);r.className=o,r.innerHTML=e,"left"===i?(r.style.left="-"+this.options.labelOffsetX+"px",r.style.textAlign="right"):(r.style.right="-"+this.options.labelOffsetX+"px",r.style.textAlign="left"),r.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var a=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSizec;c++){var f=this.visibleItems[c];f.repositionY(e)}return o},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;this.resetSubgroups();var o=this;if(i.length>0){var s=i[0].top,r=i[0].top+i[0].height;if(n.forEach(i,function(t){s=Math.min(s,t.top),r=Math.max(r,t.top+t.height),void 0!==t.data.subgroup&&(o.subgroups[t.data.subgroup].height=Math.max(o.subgroups[t.data.subgroup].height,t.height),o.subgroups[t.data.subgroup].visible=!0)}),s>t.axis){var a=s-t.axis;r-=a,n.forEach(i,function(t){t.top-=a})}e=r+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),void 0!==t.data.subgroup&&(void 0===this.subgroups[t.data.subgroup]&&(this.subgroups[t.data.subgroup]={height:0,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t=[];if("string"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(var e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(var i=0;it?-1:l>=t?0:1};if(e.length>0)for(s=0;sl}),1==this.checkRangedItems)for(this.checkRangedItems=!1,s=0;sl})}for(s=0;s=0&&(s=e[r],!n(s));r--)void 0===o[s.id]&&(o[s.id]=!0,i.push(s));for(r=t+1;rn;n++){var r=this.visibleItems[n];r.repositionY(e)}return o},o.prototype.show=function(){this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background)},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={type:null,orientation:{item:"bottom"},align:"auto",stack:!0,groupOrder:null,selectable:!0,multiselect:!1,editable:{updateTime:!1,updateGroup:!1,add:!1,remove:!1},snap:h.snap,onAdd:function(t,e){e(t)},onUpdate:function(t,e){e(t)},onMove:function(t,e){e(t)},onRemove:function(t,e){e(t)},onMoving:function(t,e){e(t)},margin:{item:{horizontal:10,vertical:10},axis:20}},this.options=s.extend({},this.defaultOptions),this.itemOptions={type:{start:"Date",end:"Date"}},this.conversion={toScreen:t.util.toScreen,toTime:t.util.toTime},this.dom={},this.props={},this.hammer=null;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e,o){i._onAdd(e.items)},update:function(t,e,o){i._onUpdate(e.items)},remove:function(t,e,o){i._onRemove(e.items)}},this.groupListeners={add:function(t,e,o){i._onAddGroups(e.items)},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.stackDirty=!0,this.touchParams={},this._create(),this.setOptions(e)}var n=i(41),s=i(1),r=i(3),a=i(4),h=i(19),d=i(25),l=i(30),u=i(31),c=i(22),p=i(23),f=i(24),m=i(21),v="__ungrouped__",g="__background__";o.prototype=new d,o.types={background:m,box:c,range:f,point:p},o.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var s=document.createElement("div");s.className="vis-labelset",this.dom.labelSet=s,this._updateUngrouped();var r=new u(g,null,this);r.show(),this.groups[g]=r,this.hammer=new n(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.show()},o.prototype.setOptions=function(t){if(t){var e=["type","align","order","stack","selectable","multiselect","groupOrder","dataAttributes","template","hide","snap"];s.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"==typeof t.orientation&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"==typeof t.margin&&(s.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"==typeof t.margin.item&&s.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable):"object"==typeof t.editable&&s.selectiveExtend(["updateTime","updateGroup","add","remove"],this.options.editable,t.editable));var i=function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this);["onAdd","onUpdate","onRemove","onMove","onMoving"].forEach(i),this.markDirty()}},o.prototype.markDirty=function(t){this.groupIds=[],this.stackDirty=!0,t&&t.refreshItems&&s.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},o.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},o.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},o.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||this.body.dom.left.appendChild(this.dom.labelSet)},o.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;i>e;e++)o=this.selection[e],n=this.items[o],n&&n.unselect();for(this.selection=[],e=0,i=t.length;i>e;e++)o=t[e],n=this.items[o],n&&(this.selection.push(o),n.select())},o.prototype.getSelection=function(){return this.selection.concat([])},o.prototype.getVisibleItems=function(){var t=this.body.range.getRange(),e=this.body.util.toScreen(t.start),i=this.body.util.toScreen(t.end),o=[];for(var n in this.groups)if(this.groups.hasOwnProperty(n))for(var s=this.groups[n],r=s.visibleItems,a=0;ae&&o.push(h.id)}return o},o.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;o>i;i++)if(e[i]==t){e.splice(i,1);break}},o.prototype.redraw=function(){var t=this.options.margin,e=this.body.range,i=s.option.asSize,o=this.options,n=o.orientation.item,r=!1,a=this.dom.frame,h=o.editable.updateTime||o.editable.updateGroup;this.props.top=this.body.domProps.top.height+this.body.domProps.border.top,this.props.left=this.body.domProps.left.width+this.body.domProps.border.left,a.className="vis-itemset"+(h?" vis-editable":""),r=this._orderGroups()||r;var d=e.end-e.start,l=d!=this.lastVisibleInterval||this.props.width!=this.props.lastWidth;l&&(this.stackDirty=!0),this.lastVisibleInterval=d,this.props.lastWidth=this.props.width;var u=this.stackDirty,c=this._firstGroup(),p={item:t.item,axis:t.axis},f={item:t.item,axis:t.item.vertical/2},m=0,v=t.axis+t.item.vertical;return this.groups[g].redraw(e,f,u),s.forEach(this.groups,function(t){var i=t==c?p:f,o=t.redraw(e,i,u);r=o||r,m+=t.height}),m=Math.max(m,v),this.stackDirty=!1,a.style.height=i(m),this.props.width=a.offsetWidth,this.props.height=m,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.dom.axis.style.left="0",r=this._isResized()||r},o.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t],i=this.groups[e]||this.groups[v];return i||null},o.prototype._updateUngrouped=function(){{var t,e,i=this.groups[v];this.groups[g]}if(this.groupsData){if(i){i.hide(),delete this.groups[v];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){var s=null,r=null;i=new l(s,r,this),this.groups[v]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},o.prototype.getLabelSet=function(){return this.dom.labelSet},o.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(s.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;s.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}},o.prototype.getItems=function(){return this.itemsData},o.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(s.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.id;s.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,o)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("change",{queue:!0})},o.prototype.getGroups=function(){return this.groupsData},o.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},o.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},o.prototype._getGroupId=function(t){var e=this._getType(t);return"background"==e&&void 0==t.group?g:this.groupsData?t.group:v},o.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i=e.itemsData.get(t,e.itemOptions),n=e.items[t],s=e._getType(i),r=o.types[s];if(n&&(r&&n instanceof r?e._updateItem(n,i):(e._removeItem(n),n=null)),!n){if(!r)throw new TypeError("rangeoverflow"==s?'Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}':'Unknown item type "'+s+'"');n=new r(i,e.conversion,e.options),n.id=t,e._addItem(n)}}),this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0})},o.prototype._onAdd=o.prototype._onUpdate,o.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.stackDirty=!0,this.body.emitter.emit("change",{queue:!0}))},o.prototype._order=function(){s.forEach(this.groups,function(t){t.order()})},o.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},o.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==v||t==g)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=Object.create(e.options);s.extend(n,{height:null}),o=new l(t,i,e),e.groups[t]=o;for(var r in e.items)if(e.items.hasOwnProperty(r)){var a=e.items[r];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("change",{queue:!0})},o.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("change",{queue:!0})},o.prototype._orderGroups=function(){ +if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder}),e=!s.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},o.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i&&i.add(t)},o.prototype._updateItem=function(t,e){var i=t.data.group,o=t.data.subgroup;if(t.setData(e),i!=t.data.group||o!=t.data.subgroup){var n=this.groups[i];n&&n.remove(t);var s=this._getGroupId(t.data),r=this.groups[s];r&&r.add(t)}},o.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},o.prototype._constructByEndArray=function(t){for(var e=[],i=0;i0||o.length>0)&&this.body.emitter.emit("select",{items:r})}},o.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null,o=this.itemFromTarget(t);if(o){var n=e.itemsData.get(o.id);this.options.onUpdate(n,function(t){t&&e.itemsData.getDataSet().update(t)})}else{var r=s.getAbsoluteLeft(this.dom.frame),a=t.center.x-r,h=this.body.util.toTime(a),d=this.body.util.getScale(),l=this.body.util.getStep(),u={start:i?i(h,d,l):h,content:"new item"};if("range"===this.options.type){var c=this.body.util.toTime(a+this.props.width/5);u.end=i?i(c,d,l):c}u[this.itemsData._fieldId]=s.randomUUID();var p=this.groupFromTarget(t);p&&(u.group=p.groupId),this.options.onAdd(u,function(t){t&&e.itemsData.getDataSet().add(t)})}}},o.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],n=t.srcEvent&&t.srcEvent.shiftKey||!1;if(n&&this.options.multiselect){i.push(e.id);var s=o._getItemRange(this.itemsData.get(i,this.itemOptions));i=[];for(var r in this.items)if(this.items.hasOwnProperty(r)){var a=this.items[r],h=a.data.start,d=void 0!==a.data.end?a.data.end:h;h>=s.min&&d<=s.max&&!(a instanceof m)&&i.push(a.id)}}else{var l=i.indexOf(e.id);-1==l?i.push(e.id):i.splice(l,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection()})}}},o._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},o.prototype.itemFromTarget=function(t){for(var e=t.target;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},o.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ia&&ea)return n}else if(0===i&&et?-1:1});for(var i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=Object.keys(this.groups);t.sort(function(t,e){return e>t?-1:1}),s.prepareElements(this.svgElements);var e=window.getComputedStyle(this.dom.frame).paddingTop,i=Number(e.replace("px","")),o=i,n=this.options.iconSize,r=.75*this.options.iconSize,a=i+.5*r+3;this.svg.style.width=n+5+i+"px";for(var h=0;h0){var d=this.body.util.toGlobalTime(-this.body.domProps.root.width),l=this.body.util.toGlobalTime(2*this.body.domProps.root.width),u={};for(this._getRelevantData(a,u,d,l),this._applySampling(a,u),e=0;ep&&console.log("WARNING: there may be an infinite loop in the _updateGraph emitter cycle."),this.COUNTER=0,this.abortedGraphUpdate=!1,e=0;e0)for(r=0;ro){d.push(h);break}d.push(h)}}else for(a=0;ai&&h.x0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=[],l=0;r>l;l+=s)d.push(n[l]);e[t[o]]=d}}},o.prototype._getYRanges=function(t,e,i){var o,n,s,r,a=[],h=[];if(t.length>0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0?"left"==r.yAxisOrientation?a=a.concat(n.getData(o)):h=h.concat(n.getData(o)):i[t[s]]=n.getYRange(o,t[s]));c.getStackedYRange(a,i,t,"__barStackLeft","left"),c.getStackedYRange(h,i,t,"__barStackRight","right"),p.getStackedYRange(a,i,t,"__lineStackLeft","left"),p.getStackedYRange(h,i,t,"__lineStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=o>d?o:d):(r=!0,h=h>i?i:h,l=o>l?o:l));1==s&&this.yAxisLeft.setRange(a,d),1==r&&this.yAxisRight.setRange(h,l)}n=this._toggleAxisVisiblity(s,this.yAxisLeft)||n,n=this._toggleAxisVisiblity(r,this.yAxisRight)||n,1==r&&1==s?(this.yAxisLeft.drawIcons=!0,this.yAxisRight.drawIcons=!0):(this.yAxisLeft.drawIcons=!1,this.yAxisRight.drawIcons=!1),this.yAxisRight.master=!s,0==this.yAxisRight.master?(1==r?this.yAxisLeft.lineOffset=this.yAxisRight.width:this.yAxisLeft.lineOffset=0,n=this.yAxisLeft.redraw()||n,this.yAxisRight.stepPixels=this.yAxisLeft.stepPixels,this.yAxisRight.zeroCrossing=this.yAxisLeft.zeroCrossing,this.yAxisRight.amountOfSteps=this.yAxisLeft.amountOfSteps,n=this.yAxisRight.redraw()||n):n=this.yAxisRight.redraw()||n;for(var p=["__barStackLeft","__barStackRight","__lineStackLeft","__lineStackRight"],u=0;uy;)y++,l=h.getCurrent(),u=h.isMajor(),p=h.getClassName(),m=f,f=this.body.util.toScreen(l),v=f-m,c&&(c.style.width=v+"px"),this.options.showMinorLabels&&this._repaintMinorText(f,h.getLabelMinor(),t,p),u&&this.options.showMajorLabels?(f>0&&(void 0==g&&(g=f),this._repaintMajorText(f,h.getLabelMajor(),t,p)),c=this._repaintMajorLine(f,t,p)):c=this._repaintMinorLine(f,t,p),h.next();if(this.options.showMajorLabels){var b=this.body.util.toTime(0),w=h.getLabelMajor(b),_=w.length*(this.props.majorCharWidth||10)+10;(void 0==g||g>_)&&this._repaintMajorText(0,w,t,p)}n.forEach(this.dom.redundant,function(t){for(;t.length;){var e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}})},o.prototype._repaintMinorText=function(t,e,i,o){var n=this.dom.redundant.minorTexts.shift();if(!n){var s=document.createTextNode("");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.minorTexts.push(n),n.childNodes[0].nodeValue=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",n.style.left=t+"px",n.className="vis-text vis-minor "+o},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createTextNode(e);n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}this.dom.majorTexts.push(n),n.childNodes[0].nodeValue=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",n.style.left=t+"px"},o.prototype._repaintMinorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top=n.majorLabelHeight+"px":o.style.top=this.body.domProps.top.height+"px",o.style.height=n.minorLineHeight+"px",o.style.left=t-n.minorLineWidth/2+"px",o.className="vis-grid vis-vertical vis-minor "+i,o},o.prototype._repaintMajorLine=function(t,e,i){var o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);var n=this.props;return"top"==e?o.style.top="0":o.style.top=this.body.domProps.top.height+"px",o.style.left=t-n.majorLineWidth/2+"px",o.style.height=n.majorLineHeight+"px",o.className="vis-grid vis-vertical vis-major "+i,o},o.prototype._calculateCharSize=function(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{ +"default":t}}function n(t,e,i){var o=this;if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:j,clickToUse:!1},A.extend(this.options,this.defaultOptions),this.body={nodes:{},nodeIndices:[],edges:{},edgeIndices:[],data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},container:t,view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new F(function(){return o.body.emitter.emit("_requestRedraw")}),this.groups=new r["default"],this.canvas=new y["default"](this.body),this.selectionHandler=new M["default"](this.body,this.canvas),this.interactionHandler=new x["default"](this.body,this.canvas,this.selectionHandler),this.view=new w["default"](this.body,this.canvas),this.renderer=new v["default"](this.body,this.canvas),this.physics=new c["default"](this.body),this.layoutEngine=new D["default"](this.body),this.clustering=new f["default"](this.body),this.manipulation=new C["default"](this.body,this.canvas,this.selectionHandler),this.nodesHandler=new h["default"](this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new l["default"](this.body,this.images,this.groups),this.canvas._create(),this.configurationSystem=new S["default"](this,this.body.container,N.configureOptions,this.canvas.pixelRatio),this.setOptions(i),this.setData(e)}var s=i(53),r=o(s),a=i(54),h=o(a),d=i(55),l=o(d),u=i(56),c=o(u),p=i(57),f=o(p),m=i(58),v=o(m),g=i(59),y=o(g),b=i(60),w=o(b),_=i(61),x=o(_),k=i(62),M=o(k),O=i(63),D=o(O),T=i(64),C=o(T),E=i(44),S=o(E),P=i(45),I=o(P),N=i(65);i(66);var z=i(69),A=(i(41),i(1)),L=(i(3),i(4),i(38)),B=i(39),F=i(37),R=i(67),j=i(68);z(n.prototype),n.prototype.setOptions=function(t){if(void 0!==t){var e=I["default"].validate(t,N.allOptions);e===!0&&console.log("%cErrors have been found in the supplied options object.",P.printStyle);var i=["locale","locales","clickToUse"];if(A.selectiveDeepExtend(i,this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),this.configurationSystem.setOptions(t.configure),this.configurationSystem.options.enabled===!0){var o={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};A.deepExtend(o.nodes,this.nodesHandler.options),A.deepExtend(o.edges,this.edgesHandler.options),A.deepExtend(o.layout,this.layoutEngine.options),A.deepExtend(o.interaction,this.selectionHandler.options),A.deepExtend(o.interaction,this.renderer.options),A.deepExtend(o.interaction,this.interactionHandler.options),A.deepExtend(o.manipulation,this.manipulation.options),A.deepExtend(o.physics,this.physics.options),A.deepExtend(o.global,this.canvas.options),A.deepExtend(o.global,this.options),this.configurationSystem.setModuleOptions(o)}void 0!==t.clickToUse?t.clickToUse===!0?void 0===this.activator&&(this.activator=new R(this.frame),this.activator.on("change",this._createKeyBinds.bind(this))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},n.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&t[i].options.hidden===!1&&this.body.nodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.hidden===!1&&this.body.edgeIndices.push(o)},n.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t._updateVisibleIndices(),t.physics.updatePhysicsIndices(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation")})},n.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),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){console.log("The dot property has been depricated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=L.DOTToGraph(t.dot);return void this.setData(e)}if(t&&t.gephi){console.log("The gephi property has been depricated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=B.parseGephi(t.gephi);return void this.setData(i)}this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("initPhysics")},n.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurationSystem,delete this.images,delete this.body.emitter.emit,delete this.body.emitter.on,delete this.body.emitter.off,delete this.body.emitter.once,delete this.body.emitter;for(var t in this.body.nodes)delete this.body.nodes[t];for(var e in this.body.edges)delete this.body.edges[e];A.recursiveDOMDelete(this.body.container)},n.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.setSize=function(){this.canvas.setSize.apply(this.canvas,arguments)},n.prototype.canvasToDOM=function(){this.canvas.canvasToDOM.apply(this.canvas,arguments)},n.prototype.DOMtoCanvas=function(){this.canvas.setSize.DOMtoCanvas(this.canvas,arguments)},n.prototype.findNode=function(){this.clustering.findNode.apply(this.clustering,arguments)},n.prototype.isCluster=function(){this.clustering.isCluster.apply(this.clustering,arguments)},n.prototype.openCluster=function(){this.clustering.openCluster.apply(this.clustering,arguments)},n.prototype.cluster=function(){this.clustering.cluster.apply(this.clustering,arguments)},n.prototype.clusterByConnection=function(){this.clustering.clusterByConnection.apply(this.clustering,arguments)},n.prototype.clusterByHubsize=function(){this.clustering.clusterByHubsize.apply(this.clustering,arguments)},n.prototype.clusterOutliers=function(){this.clustering.clusterOutliers.apply(this.clustering,arguments)},n.prototype.getSeed=function(){this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},n.prototype.enableEditMode=function(){this.manipulation.enableEditMode.apply(this.manipulation,arguments)},n.prototype.disableEditMode=function(){this.manipulation.disableEditMode.apply(this.manipulation,arguments)},n.prototype.addNodeMode=function(){this.manipulation.addNodeMode.apply(this.manipulation,arguments)},n.prototype.editNodeMode=function(){this.manipulation.editNodeMode.apply(this.manipulation,arguments)},n.prototype.addEdgeMode=function(){this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},n.prototype.editEdgeMode=function(){this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},n.prototype.deleteSelected=function(){this.manipulation.deleteSelected.apply(this.manipulation,arguments)},n.prototype.getPositions=function(){this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},n.prototype.storePositions=function(){this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},n.prototype.getBoundingBox=function(){this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},n.prototype.getConnectedNodes=function(){this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments)},n.prototype.getEdges=function(){this.nodesHandler.getEdges.apply(this.nodesHandler,arguments)},n.prototype.startSimulation=function(){this.physics.startSimulation.apply(this.physics,arguments)},n.prototype.stopSimulation=function(){this.physics.stopSimulation.apply(this.physics,arguments)},n.prototype.stabilize=function(){this.physics.stabilize.apply(this.physics,arguments)},n.prototype.getSelection=function(){this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},n.prototype.getSelectedNodes=function(){this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},n.prototype.getSelectedEdges=function(){this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},n.prototype.getNodeAt=function(){this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments)},n.prototype.getEdgeAt=function(){this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments)},n.prototype.selectNodes=function(){this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},n.prototype.selectEdges=function(){this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},n.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments)},n.prototype.redraw=function(){this.renderer.redraw.apply(this.renderer,arguments)},n.prototype.getScale=function(){this.view.getScale.apply(this.view,arguments)},n.prototype.getPosition=function(){this.view.getPosition.apply(this.view,arguments)},n.prototype.fit=function(){this.view.fit.apply(this.view,arguments)},n.prototype.moveTo=function(){this.view.moveTo.apply(this.view,arguments)},n.prototype.focus=function(){this.view.focus.apply(this.view,arguments)},n.prototype.releaseNode=function(){this.view.releaseNode.apply(this.view,arguments)},t.exports=n},function(t,e,i){function o(t){this.images={},this.imageBroken={},this.callback=t}o.prototype.load=function(t,e){var i=this.images[t];if(void 0===i){var o=this;i=new Image,i.onload=function(){0===this.width&&(document.body.appendChild(this),this.width=this.offsetWidth,this.height=this.offsetHeight,document.body.removeChild(this)),o.callback&&(o.images[t]=i,o.callback(this))},i.onerror=function(){void 0===e?(console.error("Could not load image:",t),delete this.src,o.callback&&o.callback(this)):o.imageBroken[t]===!0?(console.error("Could not load brokenImage:",e),delete this.src,o.callback&&o.callback(this)):(console.error("Could not load image:",t),this.src=e,o.imageBroken[t]=!0)},i.src=t}return i},t.exports=o},function(t,e,i){function o(t){return C=t,f()}function n(){E=0,S=C.charAt(0)}function s(){E++,S=C.charAt(E)}function r(){return C.charAt(E+1)}function a(t){return N.test(t)}function h(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function d(t,e,i){for(var o=e.split("."),n=t;o.length;){var s=o.shift();o.length?(n[s]||(n[s]={}),n=n[s]):n[s]=i}}function l(t,e){for(var i,o,n=null,s=[t],r=t;r.parent;)s.push(r.parent),r=r.parent;if(r.nodes)for(i=0,o=r.nodes.length;o>i;i++)if(e.id===r.nodes[i].id){n=r.nodes[i];break}for(n||(n={id:e.id},t.node&&(n.attr=h(n.attr,t.node))),i=s.length-1;i>=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(I=D.NULL,P="";" "===S||" "===S||"\n"===S||"\r"===S;)s();do{var t=!1;if("#"===S){for(var e=E-1;" "===C.charAt(e)||" "===C.charAt(e);)e--;if("\n"===C.charAt(e)||""===C.charAt(e)){for(;""!=S&&"\n"!=S;)s();t=!0}}if("/"===S&&"/"===r()){for(;""!=S&&"\n"!=S;)s();t=!0}if("/"===S&&"*"===r()){for(;""!=S;){if("*"===S&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===S||" "===S||"\n"===S||"\r"===S;)s()}while(t);if(""===S)return void(I=D.DELIMITER);var i=S+r();if(T[i])return I=D.DELIMITER,P=i,s(),void s();if(T[S])return I=D.DELIMITER,P=S,void s();if(a(S)||"-"===S){for(P+=S,s();a(S);)P+=S,s();return"false"===P?P=!1:"true"===P?P=!0:isNaN(Number(P))||(P=Number(P)),void(I=D.IDENTIFIER)}if('"'===S){for(s();""!=S&&('"'!=S||'"'===S&&'"'===r());)P+=S,'"'===S&&s(),s();if('"'!=S)throw x('End of string " expected');return s(),void(I=D.IDENTIFIER)}for(I=D.UNKNOWN;""!=S;)P+=S,s();throw new SyntaxError('Syntax error in part "'+k(P,30)+'"')}function f(){var t={};if(n(),p(),"strict"===P&&(t.strict=!0,p()),("graph"===P||"digraph"===P)&&(t.type=P,p()),I===D.IDENTIFIER&&(t.id=P,p()),"{"!=P)throw x("Angle bracket { expected");if(p(),m(t),"}"!=P)throw x("Angle bracket } expected");if(p(),""!==P)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==P&&"}"!=P;)v(t),";"===P&&p()}function v(t){var e=g(t);if(e)return void w(t,e);var i=y(t);if(!i){if(I!=D.IDENTIFIER)throw x("Identifier expected");var o=P;if(p(),"="===P){if(p(),I!=D.IDENTIFIER)throw x("Identifier expected");t[o]=P,p()}else b(t,o)}}function g(t){var e=null;if("subgraph"===P&&(e={},e.type="subgraph",p(),I===D.IDENTIFIER&&(e.id=P,p())),"{"===P){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=P)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===P?(p(),t.node=_(),"node"):"edge"===P?(p(),t.edge=_(),"edge"):"graph"===P?(p(),t.graph=_(),"graph"):null}function b(t,e){var i={id:e},o=_();o&&(i.attr=o),l(t,i),w(t,e)}function w(t,e){for(;"->"===P||"--"===P;){var i,o=P;p();var n=g(t);if(n)i=n;else{if(I!=D.IDENTIFIER)throw x("Identifier or subgraph expected");i=P,l(t,{id:i}),p()}var s=_(),r=c(t,e,i,o,s);u(t,r),e=i}}function _(){for(var t=null;"["===P;){for(p(),t={};""!==P&&"]"!=P;){if(I!=D.IDENTIFIER)throw x("Attribute name expected");var e=P;if(p(),"="!=P)throw x("Equal sign = expected");if(p(),I!=D.IDENTIFIER)throw x("Attribute value expected");var i=P;d(t,e,i),p(),","==P&&p()}if("]"!=P)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(P,30)+'" (char '+E+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function M(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function O(t){var e=o(t),i={nodes:[],edges:[],options:{}};if(e.nodes&&e.nodes.forEach(function(t){var e={id:t.id,label:String(t.label||t.id)};h(e,t.attr),e.image&&(e.shape="image"),i.nodes.push(e)}),e.edges){var n=function(t){var e={from:t.from,to:t.to};return h(e,t.attr),e.arrows="->"===t.type?"to":void 0,e};e.edges.forEach(function(t){var e,o;e=t.from instanceof Object?t.from.nodes:{id:t.from},o=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=n(t);i.edges.push(e)}),M(e,o,function(e,o){var s=c(i,e.id,o.id,t.type,t.attr),r=n(s);i.edges.push(r)}),t.to instanceof Object&&t.to.edges&&t.to.edges.forEach(function(t){var e=n(t);i.edges.push(e)})})}return e.attr&&(i.options=e.attr),i}var D={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},T={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},C="",E=0,S="",P="",I=D.NULL,N=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=O},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==n&&(n.nodes.fixed=void 0!==e.fixed?n.fixed:!0,n.nodes.parseColor=void 0!==e.parseColor?n.parseColor:!1,n.edges.inheritColor=void 0!==e.inheritColor?n.inheritColor:!1);for(var s=t.edges,r=t.nodes,a=0;an&&(e[o+n++]=u[t])});16>n;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(0>d&&void 0===t.clockseq&&(r=r+1&16383),(0>d||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;6>p;p++)s[n+p]=c[p];return e?e:o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;16>a;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;256>c;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,function(){return this}())},function(t,e,i){function o(){}var n=i(69),s=i(41),r=i(48),a=i(1),h=(i(3),i(4),i(17),i(32),i(35)),d=i(67),l=i(15),u=i(27);n(o.prototype),o.prototype._create=function(t){function e(t){i.isActive()&&i.emit("mousewheel",t)}this.dom={},this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.on("rangechange",this.redraw.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("pan",this._onDrag.bind(this));var i=this;this.on("change",function(t){t&&1==t.queue?i._redrawTimer||(i._redrawTimer=setTimeout(function(){i._redrawTimer=null,i._redraw()},0)):i._redraw()}),this.hammer=new s(this.dom.root),this.hammer.get("pinch").set({enable:!0}),this.listeners={};var o=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];if(o.forEach(function(t){var e=function(e){i.isActive()&&i.emit(t,e)};i.hammer.on(t,e),i.listeners[t]=e}),r.onTouch(this.hammer,function(t){i.emit("touch",t)}.bind(this)),r.onRelease(this.hammer,function(t){i.emit("release",t)}.bind(this)),this.dom.root.addEventListener("mousewheel",e),this.dom.root.addEventListener("DOMMouseScroll",e),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.customTimes=[],this.touch={},this.redrawCount=0,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},o.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates"];if(a.selectiveExtend(e,this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new h(this.body);i.setOptions=function(t){var e=t?a.extend({},t):{};e.orientation="top",h.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("hiddenDates"in this.options&&l.convertHiddenOptions(this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new d(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),this.configurationSystem){this.configurationSystem.setOptions(t.configure);var n=a.deepExtend({},this.options);this.components.forEach(function(t){a.deepExtend(n,t.options)}),this.configurationSystem.setModuleOptions({global:n}),console.log(n)}this._redraw()},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},o.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+JSON.stringify(e));i.length>0&&i[0].setCustomTime(t)},o.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));return e[0].getCustomTime()},o.prototype.addCustomTime=function(t,e){var i=void 0!==t?a.convert(t,"Date").valueOf():new Date,o=this.customTimes.some(function(t){return t.options.id===e});if(o)throw new Error("A custom time with id "+JSON.stringify(e)+" already exists");var n=new u(this.body,{time:i,id:e});return this.customTimes.push(n),this.components.push(n),this.redraw(),e},o.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+JSON.stringify(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},o.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},o.prototype.fit=function(t){var e=this._getDataRange();if(null!==e.start||null!==e.end){var i=t&&void 0!==t.animation?t.animation:!0;this.range.setRange(e.start,e.end,i)}},o.prototype._getDataRange=function(){var t=this.getItemRange(),e=t.min,i=t.max;if(null!=e&&null!=i){var o=i.valueOf()-e.valueOf();0>=o&&(o=864e5),e=new Date(e.valueOf()-.05*o),i=new Date(i.valueOf()+.05*o)}return{start:e,end:i}},o.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0!==n.animation?n.animation:!0,this.range.setRange(n.start,n.end,o)}else o=i&&void 0!==i.animation?i.animation:!0,this.range.setRange(t,e,o)},o.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=a.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=e&&void 0!==e.animation?e.animation:!0;this.range.setRange(n,s,r)},o.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},o.prototype.redraw=function(){this._redraw()},o.prototype._redraw=function(){var t=!1,e=this.options,i=this.props,o=this.dom;if(o){l.updateHiddenDates(this.body,this.options.hiddenDates),"top"==e.orientation?(a.addClassName(o.root,"vis-top"),a.removeClassName(o.root,"vis-bottom")):(a.removeClassName(o.root,"vis-top"),a.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=a.option.asSize(e.maxHeight,""),o.root.style.minHeight=a.option.asSize(e.minHeight,""),o.root.style.width=a.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top;var n=o.root.offsetHeight-o.root.clientHeight,s=o.root.offsetWidth-o.root.clientWidth;0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(s=n),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var r=Math.max(i.left.height,i.center.height,i.right.height),h=i.top.height+r+i.bottom.height+n+i.border.top+i.border.bottom;o.root.style.height=a.option.asSize(e.height,h+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-n;var d=i.root.height-i.top.height-i.bottom.height-n;i.centerContainer.height=d,i.leftContainer.height=d,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-s,i.left.width=o.leftContainer.clientWidth||-i.border.left,i.leftContainer.width=i.left.width,i.right.width=o.rightContainer.clientWidth||-i.border.right,i.rightContainer.width=i.right.width;var u=i.root.width-i.left.width-i.right.width-s;i.center.width=u,i.centerContainer.width=u,i.top.width=u,i.bottom.width=u,o.background.style.height=i.background.height+"px",o.backgroundVertical.style.height=i.background.height+"px",o.backgroundHorizontal.style.height=i.centerContainer.height+"px",o.centerContainer.style.height=i.centerContainer.height+"px",o.leftContainer.style.height=i.leftContainer.height+"px",o.rightContainer.style.height=i.rightContainer.height+"px",o.background.style.width=i.background.width+"px",o.backgroundVertical.style.width=i.centerContainer.width+"px",o.backgroundHorizontal.style.width=i.background.width+"px",o.centerContainer.style.width=i.center.width+"px",o.top.style.width=i.top.width+"px",o.bottom.style.width=i.bottom.width+"px",o.background.style.left="0",o.background.style.top="0",o.backgroundVertical.style.left=i.left.width+i.border.left+"px",o.backgroundVertical.style.top="0",o.backgroundHorizontal.style.left="0",o.backgroundHorizontal.style.top=i.top.height+"px",o.centerContainer.style.left=i.left.width+"px",o.centerContainer.style.top=i.top.height+"px",o.leftContainer.style.left="0",o.leftContainer.style.top=i.top.height+"px",o.rightContainer.style.left=i.left.width+i.center.width+"px",o.rightContainer.style.top=i.top.height+"px",o.top.style.left=i.left.width+"px",o.top.style.top="0",o.bottom.style.left=i.left.width+"px",o.bottom.style.top=i.top.height+i.centerContainer.height+"px",this._updateScrollTop();var c=this.props.scrollTop;"top"!=e.orientation.item&&(c+=Math.max(this.props.centerContainer.height-this.props.center.height-this.props.border.top-this.props.border.bottom,0)),o.center.style.left="0",o.center.style.top=c+"px",o.left.style.left="0",o.left.style.top=c+"px",o.right.style.left="0",o.right.style.top=c+"px";var p=0==this.props.scrollTop?"hidden":"",f=this.props.scrollTop==this.props.scrollTopMin?"hidden":"";if(o.shadowTop.style.visibility=p,o.shadowBottom.style.visibility=f,o.shadowTopLeft.style.visibility=p,o.shadowBottomLeft.style.visibility=f,o.shadowTopRight.style.visibility=p,o.shadowBottomRight.style.visibility=f,this.components.forEach(function(e){t=e.redraw()||t}),t){var m=3;this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTop0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);var s=document.createElement("div");s.className="vis-network-configuration button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-network-configuration button hover"},s.onmouseout=function(){s.className="vis-network-configuration button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-network-configuration vis-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s),this._push(),this.colorPicker.insertTo(this.container)}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-network-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;i>n;n++)o[n-1]=arguments[n];this.allowCreation===!0&&!function(){var i=document.createElement("div");i.className="vis-network-configuration item s"+t.length,o.forEach(function(t){i.appendChild(t)}),e.domElements.push(i)}()}},{key:"_makeHeader",value:function(t){var e=document.createElement("div");e.className="vis-network-configuration header",e.innerHTML=t,this._makeItem([],e)}},{key:"_makeLabel",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=document.createElement("div");return o.className="vis-network-configuration label s"+e.length,i===!0?o.innerHTML=""+t+":":o.innerHTML=t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-network-configuration select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;s.1*e&&(a.min=e/10),2*e>s&&1!==s&&(a.max=2*e),a.value=e):a.value=o;var h=document.createElement("input");h.className="vis-network-configuration rangeinput",h.value=a.value;var d=this;a.onchange=function(){h.value=this.value,d._update(Number(this.value),i)},a.oninput=function(){h.value=this.value};var l=this._makeLabel(i[i.length-1],i);this._makeItem(i,l,a,h)}},{key:"_makeCheckbox",value:function(t,e,i){var o=document.createElement("input");o.type="checkbox",o.className="vis-network-configuration checkbox",o.checked=t,void 0!==e&&(o.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var n=this;o.onchange=function(){n._update(this.checked,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeTextInput",value:function(t,e,i){var o=document.createElement("input");o.type="text",o.className="vis-network-configuration text",o.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var n=this;o.onchange=function(){n._update(this.value,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}},{key:"_makeColorField",value:function(t,e,i){var o=this,n=t[1],s=document.createElement("div");e=void 0===e?n:e,"none"!==e?(s.className="vis-network-configuration colorBlock",s.style.backgroundColor=e):s.className="vis-network-configuration colorBlock none",e=void 0===e?n:e,s.onclick=function(){o._showColorPicker(e,s,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,s)}},{key:"_showColorPicker",value:function(t,e,i){var o=this,n=e.getBoundingClientRect(),s=document.body.getBoundingClientRect(),r=n.left+n.width+5,a=n.top-s.top+.5*n.height;this.colorPicker.show(r,a),this.colorPicker.setColor(t),this.colorPicker.setCallback(function(t){var n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,o._update(n,i)})}},{key:"_handleObject",value:function(t){var e=void 0===arguments[1]?[]:arguments[1],i=!1,o=this.options.filter,n=!1;for(var s in t)if(t.hasOwnProperty(s)&&(i=!1,"function"==typeof o&&(i=o(s,e)),i!==!1)){n=!0;var r=t[s],a=h.copyAndExtendArray(e,s),d=this._getValue(a);if(r instanceof Array)this._handleArray(r,d,a);else if("string"==typeof r)this._makeTextInput(r,d,a);else if("boolean"==typeof r)this._makeCheckbox(r,d,a);else if(r instanceof Object){var l=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==s&&(l=!1),l===!0)if(void 0!==r.enabled){var u=h.copyAndExtendArray(a,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(s,a,!0);this._makeItem(a,p),n=this._handleObject(r,a)||n}else this._makeCheckbox(r,c,a)}else{var p=this._makeLabel(s,a,!0);this._makeItem(a,p),n=this._handleObject(r,a)||n}}else console.error("dont know how to handle",r,s,a)}return n}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=void 0===arguments[2]?{}:arguments[2],o=i;t="true"===t?!0:t,t="false"===t?!1:t;for(var n=0;nvar options = "+JSON.stringify(t,null,2)+""}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;is.distance?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""),h):n.distance<=d?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),h):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print(Object.keys(i))+t.printLocation(o,e),h),r=!0}},{key:"findInOptions",value:function(e,i,o){var n=void 0===arguments[3]?!1:arguments[3],r=1e9,a="",h=[];for(var d in i){var l=t.getType(i[d]),u=void 0;if("object"===l&&n===!0){var c=t.findInOptions(e,i[d],s.copyAndExtendArray(o,d));r>c.distance&&(a=c.closestMatch,h=c.path,r=c.distance)}else u=t.levenshteinDistance(e,d),r>u&&(a=d,h=s.copyArray(o),r=u)}return{closestMatch:a,path:h,distance:r}}},{key:"printLocation",value:function(t,e){for(var i=void 0===arguments[2]?"Problem value found at: \n":arguments[2],o="\n\n"+i+"options = {\n",n=0;ns;s++)o+=" ";o+=t[n]+": {\n"}for(var s=0;st[o].y?t[o].y:e,i=i0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o.prototype.draw=function(t,e,i){if(null!=t&&t.length>0){var r,a,h=Number(i.svg.style.height.replace("px",""));if(r=n.getSVGElement("path",i.svgElements,i.svg),r.setAttributeNS(null,"class",e.className),void 0!==e.style&&r.setAttributeNS(null,"style",e.style),a=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t),1==e.options.shaded.enabled){var d,l=n.getSVGElement("path",i.svgElements,i.svg);d="top"==e.options.shaded.orientation?"M"+t[0].x+",0 "+a+"L"+t[t.length-1].x+",0":"M"+t[0].x+","+h+" "+a+"L"+t[t.length-1].x+","+h,l.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&l.setAttributeNS(null,"style",e.options.shaded.style),l.setAttributeNS(null,"d",d)}r.setAttributeNS(null,"d","M"+a),1==e.options.drawPoints.enabled&&s.draw(t,e,i)}},o._catmullRomUniform=function(t){for(var e,i,o,n,s,r,a=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",h=1/6,d=t.length,l=0;d-1>l;l++)e=0==l?t[0]:t[l-1],i=t[l],o=t[l+1],n=d>l+2?t[l+2]:o,s={x:(-e.x+6*i.x+o.x)*h,y:(-e.y+6*i.y+o.y)*h},r={x:(i.x+6*o.x-n.x)*h,y:(i.y+6*o.y-n.y)*h},a+="C"+s.x+","+s.y+" "+r.x+","+r.y+" "+o.x+","+o.y+" ";return a},o._catmullRom=function(t,e){var i=e.options.interpolation.alpha;if(0==i||void 0===i)return this._catmullRomUniform(t);for(var o,n,s,r,a,h,d,l,u,c,p,f,m,v,g,y,b,w,_,x=Math.round(t[0].x)+","+Math.round(t[0].y)+" ",k=t.length,M=0;k-1>M;M++)o=0==M?t[0]:t[M-1],n=t[M],s=t[M+1],r=k>M+2?t[M+2]:s,d=Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),l=Math.sqrt(Math.pow(n.x-s.x,2)+Math.pow(n.y-s.y,2)),u=Math.sqrt(Math.pow(s.x-r.x,2)+Math.pow(s.y-r.y,2)),v=Math.pow(u,i),y=Math.pow(u,2*i),g=Math.pow(l,i),b=Math.pow(l,2*i),_=Math.pow(d,i),w=Math.pow(d,2*i),c=2*w+3*_*g+b,p=2*y+3*v*g+b,f=3*_*(_+g),f>0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={x:(-b*o.x+c*n.x+w*s.x)*f,y:(-b*o.y+c*n.y+w*s.y)*f},h={x:(y*n.x+p*s.x-b*r.x)*m,y:(y*n.y+p*s.y-b*r.y)*m},0==a.x&&0==a.y&&(a=n),0==h.x&&0==h.y&&(h=s),x+="C"+a.x+","+a.y+" "+h.x+","+h.y+" "+s.x+","+s.y+" ";return x},o._linear=function(t){for(var e="",i=0;it[o].y?t[o].y:e,i=i0&&(r=Math.min(r,Math.abs(c[l-1].x-a))),h=o._getSafeDrawData(r,d,m);else{var g=l+(p[a].amount-p[a].resolved),y=l-(p[a].resolved+1);g0&&(r=Math.min(r,Math.abs(c[y].x-a))),h=o._getSafeDrawData(r,d,m),p[a].resolved+=1,d.options.stack===!0?c[l].y0&&(i=Math.min(i,Math.abs(e[o-1].x-e[o].x))),0===i&&(void 0===t[e[o].x]&&(t[e[o].x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=i>t?i:t,n=0,"left"===e.options.barChart.align?n-=.5*t:"right"===e.options.barChart.align&&(n+=.5*t)):(o=e.options.barChart.width,n=0,"left"===e.options.barChart.align?n-=.5*e.options.barChart.width:"right"===e.options.barChart.align&&(n+=.5*e.options.barChart.width)),{width:o,offset:n}},o.getStackedYRange=function(t,e,i,n,s){if(t.length>0){t.sort(function(t,e){return t.x===e.x?t.groupIde[s].y?e[s].y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=nt[o].y?t[o].y:e,i=i0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var i=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[i],this.groups[t]=e}return e}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i1?(this.stabilizationIterations=0,this.startedStabilization=!1,this._emitStabilized()):this.stabilizationIterations=0,this.stopSimulation())}},{key:"_emitStabilized",value:function(){var t=this;this.stabilizationIterations>1&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:t.stabilizationIterations})},0)}},{key:"physicsTick",value:function(){this.stabilized===!1&&(this.calculateForces(),this.stabilized=this.moveNodes(),this.stabilized===!0?this.revert():this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilizationIterations++)}},{key:"updatePhysicsIndices",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)t.hasOwnProperty(i)&&t[i].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(i);for(var o in e)e.hasOwnProperty(o)&&e[o].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(o);for(var n=0;na&&o===!0,t=!0}return t===!0?n>.5*this.options.maxVelocity?!1:o:!0}},{key:"_performStep",value:function(t,e){var i=this.body.nodes[t],o=this.options.timestep,n=this.physicsBody.forces,s=this.physicsBody.velocities;if(this.previousStates[t]={x:i.x,y:i.y,vx:s[t].x,vy:s[t].y},i.options.fixed.x===!1){var r=this.modelOptions.damping*s[t].x,a=(n[t].x-r)/i.options.mass;s[t].x+=a*o,s[t].x=Math.abs(s[t].x)>e?s[t].x>0?e:-e:s[t].x,i.x+=s[t].x*o}else n[t].x=0,s[t].x=0;if(i.options.fixed.y===!1){var h=this.modelOptions.damping*s[t].y,d=(n[t].y-h)/i.options.mass;s[t].y+=d*o,s[t].y=Math.abs(s[t].y)>e?s[t].y>0?e:-e:s[t].y,i.y+=s[t].y*o}else n[t].y=0,s[t].y=0;var l=Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2));return l}},{key:"calculateForces",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve()}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&t[e].x&&t[e].y&&(this.freezeCache[e]={x:t[e].options.fixed.x,y:t[e].options.fixed.y},t[e].options.fixed.x=!0,t[e].options.fixed.y=!0)}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=void 0===arguments[0]?this.options.stabilization.iterations:arguments[0];"number"!=typeof t&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),t=this.options.stabilization.iterations),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedrawRequests"),this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,this.targetIterations=t,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(this._stabilizationBatch.bind(this),0)}},{key:"_stabilizationBatch",value:function(){for(var t=0;this.stabilized===!1&&t=t&&i.push(n.id)}for(var o=0;oo?r.x:o,n=r.ys?r.y:s;return{x:.5*(i+o),y:.5*(n+s)}}},{key:"openCluster",value:function(t){var e=void 0===arguments[1]?!0:arguments[1];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");if(void 0===this.body.nodes[t])throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(void 0===this.body.nodes[t].containedNodes)return void console.log("The node:"+t+" is not a cluster.");var i=this.body.nodes[t],o=i.containedNodes,n=i.containedEdges;for(var s in o)if(o.hasOwnProperty(s)){var r=this.body.nodes[s];r=o[s],r.x=i.x,r.y=i.y,r.vx=i.vx,r.vy=i.vy,r.options.hidden=!1,r.togglePhysics(!0),delete this.clusteredNodes[s]}for(var a in n)if(n.hasOwnProperty(a)){var h=this.body.edges[a];h.options.hidden=!1,h.togglePhysics(!0)}for(var d=0;do;)e.push(this.clusteredNodes[t].node),t=this.clusteredNodes[t].clusterId,o++;return e.push(this.body.nodes[t]),e}},{key:"_getConnectedId",value:function(t,e){return t.toId!=e?t.toId:t.fromId!=e?t.fromId:t.fromId}},{key:"_getHubSize",value:function(){for(var t=0,e=0,i=0,o=0,n=0;no&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}}]),t}();e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.renderingActive=!1,t.requiresTimeout===!0?clearTimeout(t.renderTimer):cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];s.selectiveDeepExtend(e,this.options,t)}}},{key:"_startRendering",value:function(){this.renderingActive===!0&&void 0===this.renderTimer&&(this.requiresTimeout===!0?this.renderTimer=window.setTimeout(this._renderStep.bind(this),this.simulationInterval):this.renderTimer=window.requestAnimationFrame(this._renderStep.bind(this)))}},{key:"_renderStep",value:function(){this.renderingActive===!0&&(this.renderTimer=void 0,this.requiresTimeout===!0&&this._startRendering(),this._redraw(),this.requiresTimeout===!1&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedrawRequests===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(this._redraw.bind(this,!1),0):window.requestAnimationFrame(this._redraw.bind(this,!1)))}},{key:"_redraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;var e=this.canvas.frame.canvas.getContext("2d");(0===this.canvas.frame.canvas.width||0===this.canvas.frame.canvas.height)&&this.canvas.setSize(),void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;e.clearRect(0,0,i,o),this.body.emitter.emit("beforeDrawing",e),e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),t===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&this._drawEdges(e),(this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1)&&this._drawNodes(e,t),this.controlNodesActive===!0&&this._drawControlNodes(e),this.body.emitter.emit("afterDrawing",e),e.restore(),t===!0&&e.clearRect(0,0,i,o)}},{key:"_drawNodes",value:function(t){for(var e=void 0===arguments[1]?!1:arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=20,a=this.canvas.DOMtoCanvas({x:-r,y:-r}),h=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),d={top:a.y,left:a.x,bottom:h.y,right:h.x},l=0;l0)for(var r=0;rt.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),ot.shape.boundingBox.left&&(n=t.shape.boundingBox.left),st.shape.boundingBox.top&&(i=t.shape.boundingBox.top),o.5*this.body.nodeIndices.length)return void this.fit(i,!1);t=this._getRange(i.nodes);var a=this.body.nodeIndices.length;e=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);e*=h}else{this.body.emitter.emit("_redraw",!0),t=this._getRange(i.nodes);var d=1.1*Math.abs(t.maxX-t.minX),l=1.1*Math.abs(t.maxY-t.minY),u=this.canvas.frame.canvas.clientWidth/d,c=this.canvas.frame.canvas.clientHeight/l;e=c>=u?u:c}e>1?e=1:0===e&&(e=1);var p=this._findCenter(t),f={position:p,scale:e,animation:i.animation};this.moveTo(f)}},{key:"focus",value:function(t){var e=void 0===arguments[1]?{}:arguments[1];if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){return void 0===t?void(t={}):(void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.body.view.translation),void 0===t.animation&&(t.animation={duration:0}),t.animation===!1&&(t.animation={duration:0}),t.animation===!0&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),void this.animateView(t))}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),t.locked===!0&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=void 0===arguments[0]?!1:arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=s.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getPosition",value:function(){return{x:this.body.view.translation.x,y:this.body.view.translation.y}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&t.changedPointers[0].ctrlKey;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.pageX,y:t.pageY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=this.selectionHandler._getSelectedEdgeCount(),n=this.selectionHandler._getSelectedNodeCount(),s=this.selectionHandler.getSelection(),r=void 0;r=i===!0?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var a=this.selectionHandler._getSelectedEdgeCount(),h=this.selectionHandler._getSelectedNodeCount();h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0):0>h-n&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):0>a-o&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"onDragStart",value:function(t){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=l.extend({},this.body.view.translation),this.drag.nodeId=void 0,this.selectionHandler._generateClickEvent("dragStart",t,this.drag.pointer),void 0!==e&&this.options.dragNodes===!0){this.drag.nodeId=e.id,e.isSelected()===!1&&(this.selectionHandler.unselectAll(),this.selectionHandler.selectObject(e));var i=this.selectionHandler.selectionObj.nodes;for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],s={id:n.id,node:n,x:n.x,y:n.y,xFixed:n.options.fixed.x,yFixed:n.options.fixed.y};n.options.fixed.x=!0,n.options.fixed.y=!0,this.drag.selection.push(s)}}}},{key:"onDrag",value:function(t){var e=this;if(this.drag.pinched!==!0){this.body.emitter.emit("unlockNode");var i=this.getPointer(t.center);this.selectionHandler._generateClickEvent("dragging",t,i);var o=this.drag.selection;if(o&&o.length&&this.options.dragNodes===!0)!function(){var t=i.x-e.drag.pointer.x,n=i.y-e.drag.pointer.y;o.forEach(function(i){var o=i.node;i.xFixed===!1&&(o.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(i.x)+t)),i.yFixed===!1&&(o.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(i.y)+n))}),e.body.emitter.emit("startSimulation")}();else if(this.options.dragView===!0){if(void 0===this.drag.pointer)return void this._handleDragStart(t);var n=i.x-this.drag.pointer.x,s=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+n,y:this.drag.translation.y+s},this.body.emitter.emit("_redraw")}}}},{key:"onDragEnd",value:function(t){this.drag.dragging=!1;var e=this.drag.selection;e&&e.length?(e.forEach(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed}),this.body.emitter.emit("startSimulation")):this.body.emitter.emit("_requestRedraw"),this.selectionHandler._generateClickEvent("dragEnd",t,this.getPointer(t.center))}},{key:"onPinch",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:"zoom",value:function(t,e){if(this.options.zoomView===!0){var i=this.body.view.scale;1e-5>t&&(t=1e-5),t>10&&(t=10);var o=void 0;void 0!==this.drag&&this.drag.dragging===!0&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),t>i?this.body.emitter.emit("zoom",{direction:"+"}):this.body.emitter.emit("zoom",{direction:"-"})}}},{key:"onMouseWheel",value:function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),0!==e){var i=this.body.view.scale,o=e/10;0>e&&(o/=1-o),i*=1+o;var n=this.getPointer({x:t.pageX,y:t.pageY});this.zoom(i,n)}t.preventDefault()}},{key:"onMouseMove",value:function(t){var e=this,i=this.getPointer({x:t.pageX,y:t.pageY}),o=!1;if(void 0!==this.popup&&(this.popup.hidden===!1&&this._checkHidePopup(i),this.popup.hidden===!1&&(o=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),o===!1&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=setTimeout(function(){return e._checkShowPopup(i)},this.options.tooltipDelay))),this.options.hover===!0){var n=this.selectionHandler.getNodeAt(i);void 0===n&&(n=this.selectionHandler.getEdgeAt(i)),this.selectionHandler.hoverObject(n)}}},{key:"_checkShowPopup",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),o={left:e,top:i,right:e,bottom:i},n=void 0===this.popupObj?void 0:this.popupObj.id,s=!1,r="node";if(void 0===this.popupObj){for(var a=this.body.nodeIndices,h=this.body.nodes,l=void 0,u=[],c=0;c0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],c=0;c0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new d["default"](this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e),i===!0)){var o=this.selectionHandler.getNodeAt(t);i=o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));i===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e["default"]=u,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0?e===!0?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o0?e===!0?this.body.edges[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_addToSelection",value:function(t){t instanceof s?this.selectionObj.nodes[t.id]=t:this.selectionObj.edges[t.id]=t}},{key:"_addToHover",value:function(t){t instanceof s?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:"_removeFromSelection",value:function(t){t instanceof s?delete this.selectionObj.nodes[t.id]:delete this.selectionObj.edges[t.id]}},{key:"unselectAll",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].unselect();for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&this.selectionObj.edges[e].unselect();this.selectionObj={nodes:{},edges:{}}}},{key:"_getSelectedNodeCount",value:function(){var t=0;for(var e in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedNode",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t))return this.selectionObj.nodes[t];return void 0}},{key:"_getSelectedEdge",value:function(){for(var t in this.selectionObj.edges)if(this.selectionObj.edges.hasOwnProperty(t))return this.selectionObj.edges[t];return void 0}},{key:"_getSelectedEdgeCount",value:function(){var t=0;for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(t+=1);return t}},{key:"_getSelectedObjectCount",value: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}},{key:"_selectionIsEmpty",value: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}},{key:"_clusterInSelection",value:function(){for(var t in this.selectionObj.nodes)if(this.selectionObj.nodes.hasOwnProperty(t)&&this.selectionObj.nodes[t].clusterSize>1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptions(e);if(i===!0)return this.body.emitter.emit("refresh"),s.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptions",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={solver:"hierarchicalRepulsion"},this.optionsBackup.physics={solver:"barnesHut"}):"object"==typeof options.physics?(this.optionsBackup.physics={solver:"barnesHut"},void 0!==options.physics.solver&&(this.optionsBackup.physics={solver:options.physics.solver}),t.physics.solver="hierarchicalRepulsion"):options.physics!==!1&&(this.optionsBackup.physics={solver:"barnesHut"},t.physics.solver="hierarchicalRepulsion");var e="horizontal";("RL"===this.options.hierarchical.direction||"LR"===this.options.hierarchical.direction)&&(e="vertical"),void 0===t.edges?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:!0,dynamic:!0},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth,dynamic:!0},t.edges.smooth={enabled:t.edges.smooth,dynamic:!1,type:e}):(this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!0},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled?!0:t.edges.smooth.enabled,dynamic:!1,type:e}),this.body.emitter.emit("_forceDisableDynamicCurves",e)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(this.options.hierarchical.enabled!==!0)for(var e=0;e0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.nodeSpacing=100;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):o=!0);if(o===!0&&i===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");o===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():("directed"===this.options.hierarchical.sortMethod,0||this._determineLevelsDirected()));var n=this._getDistribution();this._placeNodesByHierarchy(n)}}},{key:"_placeNodesByHierarchy",value:function(t){var e=void 0,i=void 0;this.positionedNodes={};for(var o in t)if(t.hasOwnProperty(o))for(e in t[o].nodes)t[o].nodes.hasOwnProperty(e)&&(i=t[o].nodes[e],"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===i.x&&(i.x=t[o].distance),t[o].distance=i.x+this.nodeSpacing):(void 0===i.y&&(i.y=t[o].distance),t[o].distance=i.y+this.nodeSpacing),this.positionedNodes[e]=!0,this._placeBranchNodes(i.edges,i.id,t,o))}},{key:"_getDistribution",value:function(){var t={},e=void 0,i=void 0;for(e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){i=this.body.nodes[e];var o=void 0===this.hierarchicalLevels[e]?0:this.hierarchicalLevels[e];"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(i.y=this.options.hierarchical.levelSeparation*o,i.options.fixed.y=!0):(i.x=this.options.hierarchical.levelSeparation*o,i.options.fixed.x=!0),void 0===t[o]&&(t[o]={amount:0,nodes:{},distance:0}),t[o].amount+=1,t[o].nodes[e]=i}return t}},{key:"_getHubSize",value:function(){var t=0;for(var e in this.body.nodes)if(this.body.nodes.hasOwnProperty(e)){var i=this.body.nodes[e];void 0===this.hierarchicalLevels[e]&&(t=i.edges.length0&&(i=this._getHubSize(),0!==i);)for(t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&(e=this.body.nodes[t],e.edges.length===i&&this._setLevel(0,e))}},{key:"_setLevel",value:function(t,e){if(void 0===this.hierarchicalLevels[e.id]){var i=void 0;this.hierarchicalLevels[e.id]=t;for(var o=0;oo&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?(void 0===s.x&&(s.x=Math.max(i[a].distance,r.x)),i[a].distance=s.x+this.nodeSpacing,this.positionedNodes[s.id]=!0):(void 0===s.y&&(s.y=Math.max(i[a].distance,r.y)),i[a].distance=s.y+this.nodeSpacing),this.positionedNodes[s.id]=!0,s.edges.length>1&&this._placeBranchNodes(s.edges,s.id,i,a))}}}]),t}();e["default"]=r,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode&&(t.body.data.edges.remove(e.edges),t.body.data.nodes.remove(e.nodes),t.body.emitter.emit("startSimulation"))})}else this.body.data.edges.remove(i),this.body.data.nodes.remove(e),this.body.emitter.emit("startSimulation")}},{key:"_setup",value:function(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=s.deepExtend({},this.options.controlNodeStyle);return i.id="targetNode"+s.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e,this.body.functions.createNode(i)}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},s.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,this.guiEnabled===!0&&(s.recursiveDOMDelete(this.editModeDiv),s.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=s.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(i.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+s.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,dynamic:!1,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_performAddNode",value:function(t){var e=this,i={id:s.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e};if("function"==typeof this.options.editEdge){if(2!==this.options.editEdge.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editEdge(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw")):(i.body.data.edges.update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r="array",a="object",h="dom",d="function",l="undefined",u={configure:{enabled:{"boolean":n},filter:{"boolean":n,string:o,array:r,fn:d},container:{dom:h},__type__:{object:a,"boolean":n,string:o,array:r,fn:d}},edges:{arrows:{to:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},middle:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},from:{enabled:{"boolean":n},scaleFactor:{number:s},__type__:{object:a,"boolean":n}},__type__:{string:["from","to","middle"],object:a}},color:{color:{string:o},highlight:{string:o},hover:{string:o},inherit:{string:["from","to","both"],"boolean":n},opacity:{number:s},__type__:{object:a,string:o}},dashes:{"boolean":n,array:r},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},strokeWidth:{number:s},strokeColor:{string:o},align:{string:["horizontal","top","middle","bottom"]},__type__:{object:a,string:o}},hidden:{"boolean":n},hoverWidth:{fn:d,number:s},label:{string:o,undef:l},length:{number:s,undef:l},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},selectionWidth:{fn:d,number:s},selfReferenceSize:{number:s},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},smooth:{enabled:{"boolean":n},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"]},roundness:{number:s},__type__:{object:a,"boolean":n}},title:{string:o,undef:l},width:{number:s},value:{number:s,undef:l},__type__:{object:a}},groups:{useDefaultGroups:{"boolean":n}, +__any__:"get from nodes, will be overwritten below",__type__:{object:a}},interaction:{dragNodes:{"boolean":n},dragView:{"boolean":n},hideEdgesOnDrag:{"boolean":n},hideNodesOnDrag:{"boolean":n},hover:{"boolean":n},keyboard:{enabled:{"boolean":n},speed:{x:{number:s},y:{number:s},zoom:{number:s},__type__:{object:a}},bindToWindow:{"boolean":n},__type__:{object:a,"boolean":n}},multiselect:{"boolean":n},navigationButtons:{"boolean":n},selectable:{"boolean":n},selectConnectedEdges:{"boolean":n},tooltipDelay:{number:s},zoomView:{"boolean":n},__type__:{object:a}},layout:{randomSeed:{undef:l,number:s},hierarchical:{enabled:{"boolean":n},levelSeparation:{number:s},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:a,"boolean":n}},__type__:{object:a}},manipulation:{enabled:{"boolean":n},initiallyActive:{"boolean":n},addNode:{"boolean":n,fn:d},addEdge:{"boolean":n,fn:d},editNode:{fn:d},editEdge:{"boolean":n,fn:d},deleteNode:{"boolean":n,fn:d},deleteEdge:{"boolean":n,fn:d},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:a,"boolean":n}},nodes:{borderWidth:{number:s},borderWidthSelected:{number:s,undef:l},brokenImage:{string:o,undef:l},color:{border:{string:o},background:{string:o},highlight:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},hover:{border:{string:o},background:{string:o},__type__:{object:a,string:o}},__type__:{object:a,string:o}},fixed:{x:{"boolean":n},y:{"boolean":n},__type__:{object:a,"boolean":n}},font:{color:{string:o},size:{number:s},face:{string:o},background:{string:o},stroke:{number:s},strokeColor:{string:o},__type__:{object:a,string:o}},group:{string:o,number:s,undef:l},hidden:{"boolean":n},icon:{face:{string:o},code:{string:o},size:{number:s},color:{string:o},__type__:{object:a}},id:{string:o,number:s},image:{string:o,undef:l},label:{string:o,undef:l},level:{number:s,undef:l},mass:{number:s},physics:{"boolean":n},scaling:{min:{number:s},max:{number:s},label:{enabled:{"boolean":n},min:{number:s},max:{number:s},maxVisible:{number:s},drawThreshold:{number:s},__type__:{object:a,"boolean":n}},customScalingFunction:{fn:d},__type__:{object:a}},shadow:{enabled:{"boolean":n},size:{number:s},x:{number:s},y:{number:s},__type__:{object:a,"boolean":n}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},size:{number:s},title:{string:o,undef:l},value:{number:s,undef:l},x:{number:s},y:{number:s},__type__:{object:a}},physics:{barnesHut:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},__type__:{object:a}},forceAtlas2Based:{gravitationalConstant:{number:s},centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},damping:{number:s},__type__:{object:a}},repulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},hierarchicalRepulsion:{centralGravity:{number:s},springLength:{number:s},springConstant:{number:s},nodeDistance:{number:s},damping:{number:s},__type__:{object:a}},maxVelocity:{number:s},minVelocity:{number:s},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{"boolean":n},iterations:{number:s},updateInterval:{number:s},onlyDynamicEdges:{"boolean":n},fit:{"boolean":n},__type__:{object:a,"boolean":n}},timestep:{number:s},__type__:{object:a,"boolean":n}},autoResize:{"boolean":n},clickToUse:{"boolean":n},locale:{string:o},locales:{__any__:{object:a},__type__:{object:a}},height:{string:o},width:{string:o},__type__:{object:a}};u.groups.__any__=u.nodes,u.manipulation.controlNodeStyle=u.nodes;var c={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[3,0,20,1]}},shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown"],size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05]},middle:{enabled:!1,scaleFactor:[1,0,3,.05]},from:{enabled:!1,scaleFactor:[1,0,3,.05]}},color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[1,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[2,0,5,.1],physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[3,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{randomSeed:[0,0,500,1],hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,5,.005],damping:[.09,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-800,-3e3,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,5,.005],damping:[.4,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,5,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,5,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,0,1,.05]},global:{locale:["en","nl"]}};e.allOptions=u,e.configureOptions=c},function(t,e,i){"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(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;10>o;o++){var n=o%2===0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;0>i-2*n&&(n=i/2),0>o-2*n&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1)},CanvasRenderingContext2D.prototype.ellipse=function(t,e,i,o){var n=.5522848,s=i/2*n,r=o/2*n,a=t+i,h=e+o,d=t+i/2,l=e+o/2;this.beginPath(),this.moveTo(t,l),this.bezierCurveTo(t,l-r,d-s,e,d,e),this.bezierCurveTo(d+s,e,a,l-r,a,l),this.bezierCurveTo(a,l+r,d+s,h,d,h),this.bezierCurveTo(d-s,h,t,l+r,t,l)},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=1/3,s=i,r=o*n,a=.5522848,h=s/2*a,d=r/2*a,l=t+s,u=e+r,c=t+s/2,p=e+r/2,f=e+(o-r/2),m=e+o;this.beginPath(),this.moveTo(l,p),this.bezierCurveTo(l,p+d,c+h,u,c,u),this.bezierCurveTo(c-h,u,t,p+d,t,p),this.bezierCurveTo(t,p-d,c-h,e,c,e),this.bezierCurveTo(c+h,e,l,p-d,l,p),this.lineTo(l,f),this.bezierCurveTo(l,f+d,c+h,m,c,m),this.bezierCurveTo(c-h,m,t,f+d,t,f),this.lineTo(t,p)},CanvasRenderingContext2D.prototype.arrow=function(t,e,i,o){var n=t-o*Math.cos(i),s=e-o*Math.sin(i),r=t-.9*o*Math.cos(i),a=e-.9*o*Math.sin(i),h=n+o/3*Math.cos(i+.5*Math.PI),d=s+o/3*Math.sin(i+.5*Math.PI),l=n+o/3*Math.cos(i-.5*Math.PI),u=s+o/3*Math.sin(i-.5*Math.PI);this.beginPath(),this.moveTo(t,e),this.lineTo(h,d),this.lineTo(r,a),this.lineTo(l,u),this.closePath()},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=0>r?-c:c,t+=c,e+=h*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u})},function(t,e,i){function o(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=a(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this,i=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];i.forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),this.bodyHammer=a(document&&document.body,{prevent_default:!1}),this.bodyHammer.on("tap",function(i){n(i.target,t)||e.deactivate()}),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=s(),this.escListener=this.deactivate.bind(this)}function n(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}var s=i(88),r=i(69),a=i(41),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.hammer=null,this.bodyHammer=null},o.prototype.activate=function(){o.current&&o.current.deactivate(),o.current=this,this.active=!0,this.dom.overlay.style.display="none",h.addClassName(this.dom.container,"vis-active"),this.emit("change"),this.emit("activate"),this.keycharm.bind("esc",this.escListener)},o.prototype.deactivate=function(){this.active=!1,this.dom.overlay.style.display="",h.removeClassName(this.dom.container,"vis-active"),this.keycharm.unbind("esc",this.escListener),this.emit("change"),this.emit("deactivate")},o.prototype._onTapOverlay=function(t){this.activate(),t.stopPropagation()},t.exports=o},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl},function(t,e,i){function o(t){return t?n(t):void 0}function n(t){for(var e in o.prototype)t[e]=o.prototype[e];return t}t.exports=o,o.prototype.on=o.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},o.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},o.prototype.off=o.prototype.removeListener=o.prototype.removeAllListeners=o.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;no;++o)i[o].apply(this,e)}return this},o.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[t]||[]},o.prototype.hasListeners=function(t){return!!this.listeners(t).length}},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return Ti.apply(null,arguments)}function i(t){Ti=t}function o(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function n(t){return"[object Array]"===Object.prototype.toString.call(t)}function s(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function r(t,e){var i,o=[];for(i=0;i0)for(i in Ei)o=Ei[i],n=e[o],"undefined"!=typeof n&&(t[o]=n);return t}function p(t){c(this,t),this._d=new Date(+t._d),Si===!1&&(Si=!0,e.updateOffset(this),Si=!1)}function f(t){return t instanceof p||null!=t&&a(t,"_isAMomentObject")}function m(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=e>=0?Math.floor(e):Math.ceil(e)),i}function v(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;n>o;o++)(i&&t[o]!==e[o]||!i&&m(t[o])!==m(e[o]))&&r++;return r+s}function g(){}function y(t){return t?t.toLowerCase().replace("_","-"):t}function b(t){for(var e,i,o,n,s=0;s0;){if(o=w(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&v(n,i,!0)>=e-1)break;e--}s++}return null}function w(e){var i=null;if(!Pi[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Ci._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),_(i)}catch(o){}return Pi[e]}function _(t,e){var i;return t&&(i="undefined"==typeof e?k(t):x(t,e),i&&(Ci=i)),Ci._abbr}function x(t,e){return null!==e?(e.abbr=t,Pi[t]||(Pi[t]=new g),Pi[t].set(e),_(t),Pi[t]):(delete Pi[t],null)}function k(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Ci;if(!n(t)){if(e=w(t))return e;t=[t]}return b(t)}function M(t,e){var i=t.toLowerCase();Ii[i]=Ii[i+"s"]=Ii[e]=t}function O(t){return"string"==typeof t?Ii[t]||Ii[t.toLowerCase()]:void 0}function D(t){var e,i,o={};for(i in t)a(t,i)&&(e=O(i),e&&(o[e]=t[i]));return o}function T(t,i){return function(o){return null!=o?(E(this,t,o),e.updateOffset(this,i),this):C(this,t)}}function C(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function E(t,e,i){return t._d["set"+(t._isUTC?"UTC":"")+e](i)}function S(t,e){var i;if("object"==typeof t)for(i in t)this.set(i,t[i]);else if(t=O(t),"function"==typeof this[t])return this[t](e);return this}function P(t,e,i){for(var o=""+Math.abs(t),n=t>=0;o.lengthe;e++)Li[o[e]]?o[e]=Li[o[e]]:o[e]=N(o[e]);return function(n){var s="";for(e=0;i>e;e++)s+=o[e]instanceof Function?o[e].call(n,t):o[e];return s}}function A(t,e){return t.isValid()?(e=L(e,t.localeData()),Ai[e]||(Ai[e]=z(e)),Ai[e](t)):t.localeData().invalidDate()}function L(t,e){function i(t){return e.longDateFormat(t)||t}var o=5;for(zi.lastIndex=0;o>=0&&zi.test(t);)t=t.replace(zi,i),zi.lastIndex=0,o-=1;return t}function B(t,e,i){Ji[t]="function"==typeof e?e:function(t){return t&&i?i:e}}function F(t,e){return a(Ji,t)?Ji[t](e._strict,e._locale):new RegExp(R(t))}function R(t){return t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function j(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(o=function(t,i){i[e]=m(t)}),i=0;io;o++){if(n=d([2e3,o]),i&&!this._longMonthsParse[o]&&(this._longMonthsParse[o]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[o]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),i||this._monthsParse[o]||(s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[o]=new RegExp(s.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[o].test(t))return o;if(i&&"MMM"===e&&this._shortMonthsParse[o].test(t))return o;if(!i&&this._monthsParse[o].test(t))return o}}function q(t,e){var i;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(i=Math.min(t.date(),W(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,i),t)}function X(t){return null!=t?(q(this,t),e.updateOffset(this,!0),this):C(this,"Month")}function Z(){return W(this.year(),this.month())}function K(t){var e,i=t._a;return i&&-2===t._pf.overflow&&(e=i[to]<0||i[to]>11?to:i[eo]<1||i[eo]>W(i[$i],i[to])?eo:i[io]<0||i[io]>24||24===i[io]&&(0!==i[oo]||0!==i[no]||0!==i[so])?io:i[oo]<0||i[oo]>59?oo:i[no]<0||i[no]>59?no:i[so]<0||i[so]>999?so:-1,t._pf._overflowDayOfYear&&($i>e||e>eo)&&(e=eo),t._pf.overflow=e),t}function J(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function Q(t,e){var i=!0;return h(function(){return i&&(J(t),i=!1),e.apply(this,arguments)},e)}function $(t,e){ho[t]||(J(e),ho[t]=!0)}function tt(t){var e,i,o=t._i,n=lo.exec(o);if(n){for(t._pf.iso=!0,e=0,i=uo.length;i>e;e++)if(uo[e][1].exec(o)){t._f=uo[e][0]+(n[6]||" ");break}for(e=0,i=co.length;i>e;e++)if(co[e][1].exec(o)){t._f+=co[e][0];break}o.match(Xi)&&(t._f+="Z"),bt(t)}else t._isValid=!1}function et(t){var i=po.exec(t._i);return null!==i?void(t._d=new Date(+i[1])):(tt(t),void(t._isValid===!1&&(delete t._isValid,e.createFromInputFallback(t))))}function it(t,e,i,o,n,s,r){var a=new Date(t,e,i,o,n,s,r);return 1970>t&&a.setFullYear(t),a}function ot(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function nt(t){return st(t)?366:365}function st(t){return t%4===0&&t%100!==0||t%400===0}function rt(){return st(this.year())}function at(t,e,i){var o,n=i-e,s=i-t.day();return s>n&&(s-=7),n-7>s&&(s+=7),o=Dt(t).add(s,"d"),{week:Math.ceil(o.dayOfYear()/7),year:o.year()}}function ht(t){return at(t,this._week.dow,this._week.doy).week}function dt(){return this._week.dow}function lt(){return this._week.doy}function ut(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function ct(t){var e=at(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function pt(t,e,i,o,n){var s,r,a=ot(t,0,1).getUTCDay();return a=0===a?7:a,i=null!=i?i:n,s=n-a+(a>o?7:0)-(n>a?7:0),r=7*(e-1)+(i-n)+s+1,{year:r>0?t:t-1,dayOfYear:r>0?r:nt(t-1)+r}}function ft(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function mt(t,e,i){return null!=t?t:null!=e?e:i}function vt(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function gt(t){var e,i,o,n,s=[];if(!t._d){for(o=vt(t),t._w&&null==t._a[eo]&&null==t._a[to]&&yt(t),t._dayOfYear&&(n=mt(t._a[$i],o[$i]),t._dayOfYear>nt(n)&&(t._pf._overflowDayOfYear=!0),i=ot(n,0,t._dayOfYear),t._a[to]=i.getUTCMonth(),t._a[eo]=i.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[io]&&0===t._a[oo]&&0===t._a[no]&&0===t._a[so]&&(t._nextDay=!0,t._a[io]=0),t._d=(t._useUTC?ot:it).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[io]=24)}}function yt(t){var e,i,o,n,s,r,a;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,r=4,i=mt(e.GG,t._a[$i],at(Dt(),1,4).year),o=mt(e.W,1),n=mt(e.E,1)):(s=t._locale._week.dow,r=t._locale._week.doy,i=mt(e.gg,t._a[$i],at(Dt(),s,r).year),o=mt(e.w,1),null!=e.d?(n=e.d,s>n&&++o):n=null!=e.e?e.e+s:s),a=pt(i,o,n,r,s),t._a[$i]=a.year,t._dayOfYear=a.dayOfYear}function bt(t){if(t._f===e.ISO_8601)return void tt(t);t._a=[],t._pf.empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=L(t._f,t._locale).match(Ni)||[],i=0;i0&&t._pf.unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Li[s]?(o?t._pf.empty=!1:t._pf.unusedTokens.push(s),Y(s,o,t)):t._strict&&!o&&t._pf.unusedTokens.push(s);t._pf.charsLeftOver=h-d,a.length>0&&t._pf.unusedInput.push(a),t._pf.bigHour===!0&&t._a[io]<=12&&(t._pf.bigHour=void 0),t._a[io]=wt(t._locale,t._a[io],t._meridiem),gt(t),K(t)}function wt(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&12>e&&(e+=12),o||12!==e||(e=0),e):e}function _t(t){var e,i,n,s,r;if(0===t._f.length)return t._pf.invalidFormat=!0,void(t._d=new Date(0/0));for(s=0;sr)&&(n=r,i=e));h(t,i||e)}function xt(t){if(!t._d){var e=D(t._i);t._a=[e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],gt(t)}}function kt(t){var e,i=t._i,o=t._f;return t._locale=t._locale||k(t._l),null===i||void 0===o&&""===i?u({nullInput:!0}):("string"==typeof i&&(t._i=i=t._locale.preparse(i)),f(i)?new p(K(i)):(n(o)?_t(t):o?bt(t):Mt(t),e=new p(K(t)),e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e))}function Mt(t){var i=t._i;void 0===i?t._d=new Date:s(i)?t._d=new Date(+i):"string"==typeof i?et(t):n(i)?(t._a=r(i.slice(0),function(t){return parseInt(t,10)}),gt(t)):"object"==typeof i?xt(t):"number"==typeof i?t._d=new Date(i):e.createFromInputFallback(t)}function Ot(t,e,i,n,s){var r={};return"boolean"==typeof i&&(n=i,i=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=s,r._l=i,r._i=t,r._f=e,r._strict=n,r._pf=o(),kt(r)}function Dt(t,e,i,o){return Ot(t,e,i,o,!1)}function Tt(t,e){var i,o;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Dt();for(i=e[0],o=1;ot&&(t=-t,i="-"),i+P(~~(t/60),2)+e+P(~~t%60,2)})}function Nt(t){var e=(t||"").match(Xi)||[],i=e[e.length-1]||[],o=(i+"").match(yo)||["-",0,0],n=+(60*o[1])+m(o[2]);return"+"===o[0]?n:-n}function zt(t,i){var o,n;return i._isUTC?(o=i.clone(),n=(f(t)||s(t)?+t:+Dt(t))-+o,o._d.setTime(+o._d+n),e.updateOffset(o,!1),o):Dt(t).local()}function At(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Lt(t,i){var o,n=this._offset||0;return null!=t?("string"==typeof t&&(t=Nt(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&i&&(o=At(this)),this._offset=t,this._isUTC=!0,null!=o&&this.add(o,"m"),n!==t&&(!i||this._changeInProgress?Qt(this,qt(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:At(this)}function Bt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Ft(t){return this.utcOffset(0,t)}function Rt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(At(this),"m")),this}function jt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Nt(this._i)),this}function Ht(t){return t=t?Dt(t).utcOffset():0,(this.utcOffset()-t)%60===0}function Yt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if(this._a){var t=this._isUTC?d(this._a):Dt(this._a);return this.isValid()&&v(this._a,t.toArray())>0}return!1}function Gt(){return!this._isUTC}function Ut(){return this._isUTC}function Vt(){return this._isUTC&&0===this._offset}function qt(t,e){var i,o,n,s=t,r=null;return Pt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(r=bo.exec(t))?(i="-"===r[1]?-1:1,s={y:0,d:m(r[eo])*i,h:m(r[io])*i,m:m(r[oo])*i,s:m(r[no])*i,ms:m(r[so])*i}):(r=wo.exec(t))?(i="-"===r[1]?-1:1,s={y:Xt(r[2],i),M:Xt(r[3],i),d:Xt(r[4],i),h:Xt(r[5],i),m:Xt(r[6],i),s:Xt(r[7],i),w:Xt(r[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Kt(Dt(s.from),Dt(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new St(s),Pt(t)&&a(t,"_locale")&&(o._locale=t._locale),o}function Xt(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Zt(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Kt(t,e){var i;return e=zt(e,t),t.isBefore(e)?i=Zt(t,e):(i=Zt(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i}function Jt(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||($(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=qt(i,o),Qt(this,n,t),this}}function Qt(t,i,o,n){var s=i._milliseconds,r=i._days,a=i._months;n=null==n?!0:n,s&&t._d.setTime(+t._d+s*o),r&&E(t,"Date",C(t,"Date")+r*o),a&&q(t,C(t,"Month")+a*o),n&&e.updateOffset(t,r||a)}function $t(t){var e=t||Dt(),i=zt(e,this).startOf("day"),o=this.diff(i,"days",!0),n=-6>o?"sameElse":-1>o?"lastWeek":0>o?"lastDay":1>o?"sameDay":2>o?"nextDay":7>o?"nextWeek":"sameElse";return this.format(this.localeData().calendar(n,this,Dt(e)))}function te(){return new p(this)}function ee(t,e){var i;return e=O("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Dt(t),+this>+t):(i=f(t)?+t:+Dt(t),i<+this.clone().startOf(e))}function ie(t,e){var i;return e=O("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=f(t)?t:Dt(t),+t>+this):(i=f(t)?+t:+Dt(t),+this.clone().endOf(e)t?Math.ceil(t):Math.floor(t)}function re(t,e,i){var o,n,s=zt(t,this),r=6e4*(s.utcOffset()-this.utcOffset());return e=O(e),"year"===e||"month"===e||"quarter"===e?(n=ae(this,s),"quarter"===e?n/=3:"year"===e&&(n/=12)):(o=this-s,n="second"===e?o/1e3:"minute"===e?o/6e4:"hour"===e?o/36e5:"day"===e?(o-r)/864e5:"week"===e?(o-r)/6048e5:o),i?n:se(n)}function ae(t,e){var i,o,n=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(n,"months");return 0>e-s?(i=t.clone().add(n-1,"months"),o=(e-s)/(s-i)):(i=t.clone().add(n+1,"months"),o=(e-s)/(i-s)),-(n+o)}function he(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function de(){var t=this.clone().utc();return 0e;e++)if(this._weekdaysParse[e]||(i=Dt([2e3,1]).day(e),o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[e]=new RegExp(o.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e}function Le(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Pe(t,this.localeData()),this.add(t-e,"d")):e}function Be(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Fe(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)}function Re(t,e){I(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function je(t,e){return e._meridiemParse}function He(t){return"p"===(t+"").toLowerCase().charAt(0)}function Ye(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function We(t){I(0,[t,3],0,"millisecond")}function Ge(){return this._isUTC?"UTC":""}function Ue(){return this._isUTC?"Coordinated Universal Time":""}function Ve(t){return Dt(1e3*t)}function qe(){return Dt.apply(null,arguments).parseZone()}function Xe(t,e,i){var o=this._calendar[t];return"function"==typeof o?o.call(e,i):o}function Ze(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}function Ke(){return this._invalidDate}function Je(t){return this._ordinal.replace("%d",t)}function Qe(t){return t}function $e(t,e,i,o){var n=this._relativeTime[i];return"function"==typeof n?n(t,e,i,o):n.replace(/%d/i,t)}function ti(t,e){var i=this._relativeTime[t>0?"future":"past"];return"function"==typeof i?i(e):i.replace(/%s/i,e)}function ei(t){var e,i;for(i in t)e=t[i],"function"==typeof e?this[i]=e:this["_"+i]=e;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function ii(t,e,i,o){var n=k(),s=d().set(o,e);return n[i](s,t)}function oi(t,e,i,o,n){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return ii(t,e,i,n);var s,r=[];for(s=0;o>s;s++)r[s]=ii(t,s,i,n);return r}function ni(t,e){return oi(t,e,"months",12,"month")}function si(t,e){return oi(t,e,"monthsShort",12,"month")}function ri(t,e){return oi(t,e,"weekdays",7,"day")}function ai(t,e){return oi(t,e,"weekdaysShort",7,"day")}function hi(t,e){return oi(t,e,"weekdaysMin",7,"day")}function di(){var t=this._data;return this._milliseconds=Yo(this._milliseconds),this._days=Yo(this._days),this._months=Yo(this._months),t.milliseconds=Yo(t.milliseconds),t.seconds=Yo(t.seconds),t.minutes=Yo(t.minutes),t.hours=Yo(t.hours),t.months=Yo(t.months),t.years=Yo(t.years),this}function li(t,e,i,o){var n=qt(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ui(t,e){return li(this,t,e,1)}function ci(t,e){return li(this,t,e,-1)}function pi(){var t,e,i,o=this._milliseconds,n=this._days,s=this._months,r=this._data,a=0;return r.milliseconds=o%1e3,t=se(o/1e3),r.seconds=t%60,e=se(t/60),r.minutes=e%60,i=se(e/60),r.hours=i%24,n+=se(i/24),a=se(fi(n)),n-=se(mi(a)),s+=se(n/30),n%=30,a+=se(s/12),s%=12,r.days=n,r.months=s,r.years=a,this}function fi(t){return 400*t/146097}function mi(t){return 146097*t/400}function vi(t){var e,i,o=this._milliseconds;if(t=O(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+12*fi(e),"month"===t?i:i/12;switch(e=this._days+Math.round(mi(this._months/12)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 24*e*60+o/6e4;case"second":return 24*e*60*60+o/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+o;default:throw new Error("Unknown unit "+t)}}function gi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*m(this._months/12)}function yi(t){return function(){return this.as(t)}}function bi(t){return t=O(t),this[t+"s"]()}function wi(t){return function(){return this._data[t]}}function _i(){return se(this.days()/7)}function xi(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function ki(t,e,i){var o=qt(t).abs(),n=sn(o.as("s")),s=sn(o.as("m")),r=sn(o.as("h")),a=sn(o.as("d")),h=sn(o.as("M")),d=sn(o.as("y")),l=n0,l[4]=i,xi.apply(null,l)}function Mi(t,e){return void 0===rn[t]?!1:void 0===e?rn[t]:(rn[t]=e,!0)}function Oi(t){var e=this.localeData(),i=ki(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Di(){var t=an(this.years()),e=an(this.months()),i=an(this.days()),o=an(this.hours()),n=an(this.minutes()),s=an(this.seconds()+this.milliseconds()/1e3),r=this.asSeconds();return r?(0>r?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(i?i+"D":"")+(o||n||s?"T":"")+(o?o+"H":"")+(n?n+"M":"")+(s?s+"S":""):"P0D"}var Ti,Ci,Ei=e.momentProperties=[],Si=!1,Pi={},Ii={},Ni=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,zi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ai={},Li={},Bi=/\d/,Fi=/\d\d/,Ri=/\d{3}/,ji=/\d{4}/,Hi=/[+-]?\d{6}/,Yi=/\d\d?/,Wi=/\d{1,3}/,Gi=/\d{1,4}/,Ui=/[+-]?\d{1,6}/,Vi=/\d+/,qi=/[+-]?\d+/,Xi=/Z|[+-]\d\d:?\d\d/gi,Zi=/[+-]?\d+(\.\d{1,3})?/,Ki=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ji={},Qi={},$i=0,to=1,eo=2,io=3,oo=4,no=5,so=6;I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),I("MMMM",0,0,function(t){return this.localeData().months(this,t)}),M("month","M"),B("M",Yi),B("MM",Yi,Fi),B("MMM",Ki),B("MMMM",Ki),j(["M","MM"],function(t,e){e[to]=m(t)-1}),j(["MMM","MMMM"],function(t,e,i,o){var n=i._locale.monthsParse(t,o,i._strict);null!=n?e[to]=n:i._pf.invalidMonth=t});var ro="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ao="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ho={};e.suppressDeprecationWarnings=!1;var lo=/^\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)?)?$/,uo=[["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}/]],co=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],po=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=Q("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),M("year","y"),B("Y",qi),B("YY",Yi,Fi),B("YYYY",Gi,ji),B("YYYYY",Ui,Hi),B("YYYYYY",Ui,Hi),j(["YYYY","YYYYY","YYYYYY"],$i),j("YY",function(t,i){i[$i]=e.parseTwoDigitYear(t)}),e.parseTwoDigitYear=function(t){return m(t)+(m(t)>68?1900:2e3)};var fo=T("FullYear",!1);I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),B("w",Yi),B("ww",Yi,Fi),B("W",Yi),B("WW",Yi,Fi),H(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=m(t)});var mo={dow:0,doy:6};I("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),B("DDD",Wi),B("DDDD",Ri),j(["DDD","DDDD"],function(t,e,i){i._dayOfYear=m(t)}),e.ISO_8601=function(){};var vo=Q("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Dt.apply(null,arguments);return this>t?this:t}),go=Q("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Dt.apply(null,arguments);return t>this?this:t});It("Z",":"),It("ZZ",""),B("Z",Xi),B("ZZ",Xi),j(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Nt(t)});var yo=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var bo=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,wo=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;qt.fn=St.prototype;var _o=Jt(1,"add"),xo=Jt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var ko=Q("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Me("gggg","weekYear"),Me("ggggg","weekYear"),Me("GGGG","isoWeekYear"),Me("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),B("G",qi),B("g",qi),B("GG",Yi,Fi),B("gg",Yi,Fi),B("GGGG",Gi,ji),B("gggg",Gi,ji),B("GGGGG",Ui,Hi),B("ggggg",Ui,Hi),H(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=m(t)}),H(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),I("Q",0,0,"quarter"),M("quarter","Q"),B("Q",Bi),j("Q",function(t,e){e[to]=3*(m(t)-1)}),I("D",["DD",2],"Do","date"),M("date","D"),B("D",Yi),B("DD",Yi,Fi),B("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),j(["D","DD"],eo),j("Do",function(t,e){e[eo]=m(t.match(Yi)[0],10)});var Mo=T("Date",!0);I("d",0,"do","day"),I("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),I("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),I("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),B("d",Yi),B("e",Yi),B("E",Yi),B("dd",Ki),B("ddd",Ki),B("dddd",Ki),H(["dd","ddd","dddd"],function(t,e,i){var o=i._locale.weekdaysParse(t);null!=o?e.d=o:i._pf.invalidWeekday=t}),H(["d","e","E"],function(t,e,i,o){e[o]=m(t)});var Oo="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Do="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),To="Su_Mo_Tu_We_Th_Fr_Sa".split("_");I("H",["HH",2],0,"hour"),I("h",["hh",2],0,function(){return this.hours()%12||12}),Re("a",!0),Re("A",!1),M("hour","h"),B("a",je),B("A",je),B("H",Yi),B("h",Yi),B("HH",Yi,Fi),B("hh",Yi,Fi),j(["H","HH"],io),j(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),j(["h","hh"],function(t,e,i){e[io]=m(t),i._pf.bigHour=!0});var Co=/[ap]\.?m?\.?/i,Eo=T("Hours",!0);I("m",["mm",2],0,"minute"),M("minute","m"),B("m",Yi),B("mm",Yi,Fi),j(["m","mm"],oo);var So=T("Minutes",!1);I("s",["ss",2],0,"second"),M("second","s"),B("s",Yi),B("ss",Yi,Fi),j(["s","ss"],no);var Po=T("Seconds",!1);I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),We("SSS"),We("SSSS"),M("millisecond","ms"),B("S",Wi,Bi),B("SS",Wi,Fi),B("SSS",Wi,Ri),B("SSSS",Vi),j(["S","SS","SSS","SSSS"],function(t,e){e[so]=m(1e3*("0."+t))});var Io=T("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var No=p.prototype;No.add=_o,No.calendar=$t,No.clone=te,No.diff=re,No.endOf=ve,No.format=le,No.from=ue,No.fromNow=ce,No.get=S,No.invalidAt=ke,No.isAfter=ee,No.isBefore=ie,No.isBetween=oe,No.isSame=ne,No.isValid=_e,No.lang=ko,No.locale=pe,No.localeData=fe,No.max=go,No.min=vo,No.parsingFlags=xe,No.set=S,No.startOf=me,No.subtract=xo,No.toArray=we,No.toDate=be,No.toISOString=de,No.toJSON=de,No.toString=he,No.unix=ye,No.valueOf=ge,No.year=fo,No.isLeapYear=rt,No.weekYear=De,No.isoWeekYear=Te,No.quarter=No.quarters=Se,No.month=X,No.daysInMonth=Z,No.week=No.weeks=ut,No.isoWeek=No.isoWeeks=ct,No.weeksInYear=Ee,No.isoWeeksInYear=Ce,No.date=Mo,No.day=No.days=Le,No.weekday=Be,No.isoWeekday=Fe,No.dayOfYear=ft,No.hour=No.hours=Eo,No.minute=No.minutes=So,No.second=No.seconds=Po,No.millisecond=No.milliseconds=Io,No.utcOffset=Lt,No.utc=Ft,No.local=Rt,No.parseZone=jt,No.hasAlignedHourOffset=Ht,No.isDST=Yt,No.isDSTShifted=Wt,No.isLocal=Gt,No.isUtcOffset=Ut,No.isUtc=Vt,No.isUTC=Vt,No.zoneAbbr=Ge,No.zoneName=Ue,No.dates=Q("dates accessor is deprecated. Use date instead.",Mo),No.months=Q("months accessor is deprecated. Use month instead",X),No.years=Q("years accessor is deprecated. Use year instead",fo),No.zone=Q("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Bt);var zo=No,Ao={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Lo={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Bo="Invalid date",Fo="%d",Ro=/\d{1,2}/,jo={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"},Ho=g.prototype;Ho._calendar=Ao,Ho.calendar=Xe,Ho._longDateFormat=Lo,Ho.longDateFormat=Ze,Ho._invalidDate=Bo,Ho.invalidDate=Ke,Ho._ordinal=Fo,Ho.ordinal=Je,Ho._ordinalParse=Ro,Ho.preparse=Qe,Ho.postformat=Qe,Ho._relativeTime=jo,Ho.relativeTime=$e,Ho.pastFuture=ti,Ho.set=ei,Ho.months=G,Ho._months=ro,Ho.monthsShort=U,Ho._monthsShort=ao,Ho.monthsParse=V,Ho.week=ht,Ho._week=mo,Ho.firstDayOfYear=lt,Ho.firstDayOfWeek=dt,Ho.weekdays=Ie,Ho._weekdays=Oo,Ho.weekdaysMin=ze,Ho._weekdaysMin=To,Ho.weekdaysShort=Ne,Ho._weekdaysShort=Do,Ho.weekdaysParse=Ae,Ho.isPM=He,Ho._meridiemParse=Co,Ho.meridiem=Ye,_("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===m(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=Q("moment.lang is deprecated. Use moment.locale instead.",_),e.langData=Q("moment.langData is deprecated. Use moment.localeData instead.",k);var Yo=Math.abs,Wo=yi("ms"),Go=yi("s"),Uo=yi("m"),Vo=yi("h"),qo=yi("d"),Xo=yi("w"),Zo=yi("M"),Ko=yi("y"),Jo=wi("milliseconds"),Qo=wi("seconds"),$o=wi("minutes"),tn=wi("hours"),en=wi("days"),on=wi("months"),nn=wi("years"),sn=Math.round,rn={s:45,m:45,h:22,d:26,M:11},an=Math.abs,hn=St.prototype;hn.abs=di,hn.add=ui,hn.subtract=ci,hn.as=vi,hn.asMilliseconds=Wo,hn.asSeconds=Go,hn.asMinutes=Uo,hn.asHours=Vo,hn.asDays=qo,hn.asWeeks=Xo,hn.asMonths=Zo,hn.asYears=Ko,hn.valueOf=gi,hn._bubble=pi,hn.get=bi,hn.milliseconds=Jo,hn.seconds=Qo,hn.minutes=$o,hn.hours=tn,hn.days=en,hn.weeks=_i,hn.months=on,hn.years=nn,hn.humanize=Oi,hn.toISOString=Di,hn.toString=Di,hn.toJSON=Di,hn.locale=pe,hn.localeData=fe,hn.toIsoString=Q("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Di),hn.lang=ko,I("X",0,0,"unix"),I("x",0,0,"valueOf"),B("x",qi),B("X",Zi),j("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),j("x",function(t,e,i){i._d=new Date(m(t))}),e.version="2.10.2",i(Dt),e.fn=zo,e.min=Ct,e.max=Et,e.utc=d,e.unix=Ve,e.months=ni,e.isDate=s,e.locale=_,e.invalid=u,e.duration=qt,e.isMoment=f,e.weekdays=ri,e.parseZone=qe,e.localeData=k,e.isDuration=Pt,e.monthsShort=si,e.weekdaysMin=hi,e.defineLocale=x,e.weekdaysShort=ai,e.normalizeUnits=O,e.relativeTimeThreshold=Mi;var dn=e;return dn})}).call(e,i(107)(t))},function(t,e,i){var o,n,s;!function(i){n=[],o=i,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(function(){var t=null,e=!1;return function i(o,n){function s(t){return t.match(/[^ ]+/g)}function r(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0},e.firstTarget=t;for(var o=t;o&&!i;){var n=o.hammer&&o.hammer._handlers[e.type];if(n)for(var s=0;s0?o._handlers[t]=i:(o._off(t,r),delete o._handlers[t]))}),o},o.emit=function(i,n){e||(t=n.target),o._emit(i,n)},o.destroy=function(){var t=o.element;delete t.hammer,o._handlers={},o._destroy()},o}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(f(t,i),e)}function d(t,e,i){return Array.isArray(t)?(l(t,i[e],i),!0):!1}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o-1}function _(t){return t.trim().split(/\s+/g)}function x(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function O(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=z(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=A(o);e.timeStamp=gt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=R(a,h),e.distance=F(a,h),I(i,e),e.offsetDirection=B(e.deltaX,e.deltaY),e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,N(i,e);var d=t.element;b(e.srcEvent.target,d)&&(d=e.srcEvent.target),e.target=d}function I(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};(e.eventType===Ct||s.eventType===St)&&(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function N(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Pt&&(h>Tt||r.velocity===a)){var d=r.deltaX-e.deltaX,l=r.deltaY-e.deltaY,u=L(h,d,l);o=u.x,n=u.y,i=vt(u.x)>vt(u.y)?u.x:u.y,s=B(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function z(t){for(var e=[],i=0;in;)i+=t[n].clientX,o+=t[n].clientY,n++;return{x:mt(i/e),y:mt(o/e)}}function L(t,e,i){return{x:e/t||0,y:i/t||0}}function B(t,e){return t===e?It:vt(t)>=vt(e)?t>0?Nt:zt:e>0?At:Lt}function F(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function R(t,e,i){i||(i=jt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function j(t,e){return R(e[1],e[0],Ht)-R(t[1],t[0],Ht)}function H(t,e){return F(e[0],e[1],Ht)/F(t[0],t[1],Ht)}function Y(){this.evEl=Wt,this.evWin=Gt,this.allow=!0,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=qt,this.evWin=Xt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function G(){this.evTarget=Kt,this.evWin=Jt,this.started=!1,C.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(St|Pt)&&(i=M(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=$t,this.targetIds={},C.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(Ct|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return b(t.target,h)}),e===Ct)for(n=0;na&&(e.push(t),a=e.length-1):n&(St|Pt)&&(i=!0),0>a||(e[a]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var Zt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},Kt="touchstart",Jt="touchstart touchmove touchend touchcancel";p(G,C,{handler:function(t){var e=Zt[t.type];if(e===Ct&&(this.started=!0),this.started){var i=U.call(this,t,e);e&(St|Pt)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}});var Qt={touchstart:Ct,touchmove:Et,touchend:St,touchcancel:Pt},$t="touchstart touchmove touchend touchcancel";p(V,C,{handler:function(t){var e=Qt[t.type],i=q.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:kt,srcEvent:t})}}),p(X,C,{handler:function(t,e,i){var o=i.pointerType==kt,n=i.pointerType==Ot;if(o)this.mouse.allow=!1;else if(n&&!this.mouse.allow)return;e&(St|Pt)&&(this.mouse.allow=!0),this.callback(t,e,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var te=O(pt.style,"touchAction"),ee=te!==a,ie="compute",oe="auto",ne="manipulation",se="none",re="pan-x",ae="pan-y";Z.prototype={set:function(t){t==ie&&(t=this.compute()),ee&&(this.manager.element.style[te]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return l(this.manager.recognizers,function(e){m(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),K(t.join(" "))},preventDefaults:function(t){if(!ee){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)return void e.preventDefault();var o=this.actions,n=w(o,se),s=w(o,ae),r=w(o,re);return n||s&&i&Bt||r&&i&Ft?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var he=1,de=2,le=4,ue=8,ce=ue,pe=16,fe=32;J.prototype={defaults:{},set:function(t){return u(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return t=tt(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)?this:(t=tt(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return t=tt(t,this),-1===x(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=tt(t,this);var e=x(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(i.options.event+(e?Q(o):""),t)}var i=this,o=this.state;ue>o&&e(!0),e(),o>=ue&&e(!0)},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=fe)},canEmit:function(){for(var t=0;ts?Nt:zt,i=s!=this.pX,o=Math.abs(t.deltaX)):(n=0===r?It:0>r?At:Lt,i=r!=this.pY,o=Math.abs(t.deltaY))),t.direction=n,i&&o>e.threshold&&n&e.direction},attrTest:function(t){return et.prototype.attrTest.call(this,t)&&(this.state&de||!(this.state&de)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this._super.emit.call(this,t)}}),p(ot,et,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&de)},emit:function(t){if(this._super.emit.call(this,t),1!==t.scale){var e=t.scale<1?"in":"out";this.manager.emit(this.options.event+e,t)}}}),p(nt,J,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[oe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(St|Pt)&&!n)this.reset();else if(t.eventType&Ct)this.reset(),this._timer=h(function(){this.state=ce,this.tryEmit()},e.time,this);else if(t.eventType&St)return ce;return fe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ce&&(t&&t.eventType&St?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),p(st,et,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[se]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&de)}}),p(rt,et,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Bt|Ft,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Ft)?e=t.velocity:i&Bt?e=t.velocityX:i&Ft&&(e=t.velocityY),this._super.attrTest.call(this,t)&&i&t.direction&&t.distance>this.options.threshold&&vt(e)>this.options.velocity&&t.eventType&St},emit:function(t){var e=$(t.direction);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(at,J,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ne]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances;s++)for(r=0;rp?p+1:p;var f=l/this.r,m=a.RGBToHSV(this.color.r,this.color.g,this.color.b);m.h=p,m.s=f;var v=a.HSVToRGB(m.h,m.s,m.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;it.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["color","fixed","shadow"];if(B.selectiveNotDeepExtend(o,t,e),B.mergeOptions(t,e,"shadow"),void 0!==e.color&&null!==e.color){var n=B.parseColor(e.color);B.fillIfDefined(t.color,n)}else i===!0&&(t.color=void 0,delete t.color);void 0!==e.fixed&&null!==e.fixed&&("boolean"==typeof e.fixed?(t.fixed.x=e.fixed,t.fixed.y=e.fixed):(void 0!==e.fixed.x&&"boolean"==typeof e.fixed.x&&(t.fixed.x=e.fixed.x),void 0!==e.fixed.y&&"boolean"==typeof e.fixed.y&&(t.fixed.y=e.fixed.y)))}}]),t}();e["default"]=F,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=this.options.scaling.label.maxVisible&&(r=Number(this.options.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,d=this._getColor(a),l=o(d,2),u=l[0],c=l[1],p=this._setAlignment(t,i,h,s),f=o(p,2);i=f[0],h=f[1],t.font=(e?"bold ":"")+r+"px "+this.options.font.face,t.fillStyle=u,t.textAlign="center",this.options.font.strokeWidth>0&&(t.lineWidth=this.options.font.strokeWidth,t.strokeStyle=c,t.lineJoin="round");for(var m=0;m0&&t.strokeText(this.lines[m],i,h),t.fillText(this.lines[m],i,h),h+=r}},{key:"_setAlignment",value:function(t,e,i,o){if("horizontal"!==this.options.font.align){e=0,i=0;var n=2;"top"===this.options.font.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.options.font.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t){var e=this.options.font.color||"#000000",i=this.options.font.strokeColor||"#ffffff";if(t<=this.options.scaling.label.drawThreshold){var o=Math.max(0,Math.min(1,1-(this.options.scaling.label.drawThreshold-t)));e=r.overrideOpacity(e,o),i=r.overrideOpacity(i,o)}return[e,i]}},{key:"getTextSize",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],i={width:this._processLabel(t,e),height:this.options.font.size*this.lineCount,lineCount:this.lineCount};return i}},{key:"calculateLabelSize",value:function(t,e){var i=void 0===arguments[2]?0:arguments[2],o=void 0===arguments[3]?0:arguments[3],n=void 0===arguments[4]?"middle":arguments[4];this.labelDirty===!0&&(this.size.width=this._processLabel(t,e)),this.size.height=this.options.font.size*this.lineCount,this.size.left=i-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.options.font.size,"hanging"===n&&(this.size.top+=.5*this.options.font.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"_processLabel",value:function(t,e){var i=0,o=[""],n=0;if(void 0!==this.options.label){o=String(this.options.label).split("\n"),n=o.length,t.font=(e?"bold ":"")+this.options.font.size+"px "+this.options.font.face,i=t.measureText(o[0]).width;for(var s=1;n>s;s++){var r=t.measureText(o[s]).width;i=r>i?r:i}}return this.lines=o,this.lineCount=n,i}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2];if("string"==typeof e.font){var o=e.font.split(" ");t.size=o[0].replace("px",""),t.face=o[1],t.color=o[2]}else"object"==typeof e.font&&r.fillIfDefined(t,e.font,i);t.size=Number(t.size)}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;o>s;s++)t=e[i[s]],t.options.mass>0&&(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))}}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):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)):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1*Math.random(),e=t);var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;o>h;h++){var d=t[e[h]].x,l=t[e[h]].y;t[e[h]].options.mass>0&&(n>d&&(n=d),d>r&&(r=d),s>l&&(s=l),l>a&&(a=l))}var u=Math.abs(r-n)-Math.abs(a-s);u>0?(s-=.5*u,a+=.5*u):(n+=.5*u,r-=.5*u);var c=1e-5,p=Math.max(c,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var h=0;o>h;h++)i=t[e[h]],i.options.mass>0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.mass+e.options.mass,o=1/i;t.centerOfMass.x=t.centerOfMass.x*t.mass+e.x*e.options.mass,t.centerOfMass.x*=o,t.centerOfMass.y=t.centerOfMass.y*t.mass+e.y*e.options.mass,t.centerOfMass.y*=o,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")}},{key:"_placeInRegion",value: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)}}},{key:"_splitBranch", +value: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)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value: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()}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii&&(s=.5*u>i?1:c*i+p,s/=i,o=t*s,n=e*s,l[r.id].x-=o,l[r.id].y-=n,l[a.id].x+=o,l[a.id].y+=n)}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ii?-Math.pow(f*i,2)+Math.pow(f*p,2):0,0===i?i=.01:s/=i,o=t*s,n=e*s,c[r.id].x-=o,c[r.id].y-=n,c[a.id].x+=o,c[a.id].y+=n}}}]),t}();e["default"]=s,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;ii.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,s.x,s.y,n)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=10,i=this.from.x,o=this.from.y,n=this.to.x,s=this.to.y,r=t.left,a=t.top,h=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return e>h}return!1}},{key:"_rotateForLabelAlignment",value:function(t){var e=this.from.y-this.to.y,i=this.from.x-this.to.x,o=Math.atan2(e,i);(-1>o&&0>i||o>0&&0>i)&&(o+=Math.PI),t.rotate(o)}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}}],[{key:"parseOptions",value:function(t,e){var i=void 0===arguments[2]?!1:arguments[2],o=["id","font","from","hidden","hoverWidth","label","length","line","opacity","physics","selectionWidth","selfReferenceSize","to","title","value","width"];if(f.selectiveDeepExtend(o,t,e,i),f.mergeOptions(t,e,"smooth"),f.mergeOptions(t,e,"shadow"),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&(t.dashes=void 0,delete t.dashes),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label")):i===!0&&(t.scaling=void 0,delete t.scaling),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var n=e.arrows.toLowerCase();-1!=n.indexOf("to")&&(t.arrows.to.enabled=!0),-1!=n.indexOf("middle")&&(t.arrows.middle.enabled=!0),-1!=n.indexOf("from")&&(t.arrows.from.enabled=!0)}else{if("object"!=typeof e.arrows)throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+JSON.stringify(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to"),f.mergeOptions(t.arrows,e.arrows,"middle"),f.mergeOptions(t.arrows,e.arrows,"from")}else i===!0&&(t.arrows=void 0,delete t.arrows);if(void 0!==e.color&&null!==e.color)if(f.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var s=!1;void 0!==e.color.color&&(t.color.color=e.color.color,s=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,s=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,s=!0),void 0!==e.color.inherit&&(t.color.inherit=e.color.inherit),void 0!==e.color.opacity&&(t.color.opacity=Math.min(1,Math.max(0,e.color.opacity))),void 0===e.color.inherit&&s===!0&&(t.color.inherit=!1)}else i===!0&&(t.color=void 0,delete t.color)}}]),t}();e["default"]=m,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(t,e,i){for(var o=!0;o;){a=d=h=void 0,o=!1;var n=t,s=e,r=i,a=Object.getOwnPropertyDescriptor(n,s);if(void 0!==a){if("value"in a)return a.value;var h=a.get;return void 0===h?void 0:h.call(r)}var d=Object.getPrototypeOf(n);if(null===d)return void 0;t=d,e=s,i=r,o=!0}},a=i(74),h=o(a),d=function(t){function e(t,i,o,s,a){n(this,e),r(Object.getPrototypeOf(e.prototype),"constructor",this).call(this,t,i,o,s,a),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}return s(e,t),e}(h["default"]);e["default"]=d,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){this.body.view.scale*=1+this.options.keyboard.speed.zoom}},{key:"_zoomOut",value:function(){this.body.view.scale/=1+this.options.keyboard.speed.zoom}},{key:"configureKeyboardBindings",value:function(){void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=a({container:window,preventDefault:!0}):this.keycharm=a({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",this.bindToRedraw.bind(this,"_moveUp"),"keydown"),this.keycharm.bind("down",this.bindToRedraw.bind(this,"_moveDown"),"keydown"),this.keycharm.bind("left",this.bindToRedraw.bind(this,"_moveLeft"),"keydown"),this.keycharm.bind("right",this.bindToRedraw.bind(this,"_moveRight"),"keydown"),this.keycharm.bind("=",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num+",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("num-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("-",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("[",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("]",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pageup",this.bindToRedraw.bind(this,"_zoomIn"),"keydown"),this.keycharm.bind("pagedown",this.bindToRedraw.bind(this,"_zoomOut"),"keydown"),this.keycharm.bind("up",this.unbindFromRedraw.bind(this,"_moveUp"),"keyup"),this.keycharm.bind("down",this.unbindFromRedraw.bind(this,"_moveDown"),"keyup"),this.keycharm.bind("left",this.unbindFromRedraw.bind(this,"_moveLeft"),"keyup"),this.keycharm.bind("right",this.unbindFromRedraw.bind(this,"_moveRight"),"keyup"),this.keycharm.bind("=",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num+",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("num-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("-",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("[",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup"),this.keycharm.bind("]",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pageup",this.unbindFromRedraw.bind(this,"_zoomIn"),"keyup"),this.keycharm.bind("pagedown",this.unbindFromRedraw.bind(this,"_zoomOut"),"keyup")))}}]),t}();e["default"]=h,t.exports=e["default"]},function(t,e,i){function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;io&&(s=o-e-this.padding),sn&&(r=n-i-this.padding),r=e;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;90>=e;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;9>=e;e++)r[""+e]={code:48+e,shift:!1};for(e=1;12>=e;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;9>=e;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r["delete"]={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s)),"discrete"===o&&(t=i*s>n?this.from.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xthis.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n)),"discrete"===o&&(e=i*n>s?this.from.y:e));else if("straightCross"===o)Math.abs(this.from.x-this.to.x)Math.abs(this.from.y-this.to.y)&&(t=this.from.xthis.to.y?this.from.xthis.to.x&&(t=this.from.x-i*s,e=this.from.y-i*s,t=this.to.x>t?this.to.x:t):this.from.ythis.to.x&&(t=this.from.x-i*s,e=this.from.y+i*s,t=this.to.x>t?this.to.x:t)):Math.abs(this.from.x-this.to.x)>Math.abs(this.from.y-this.to.y)&&(this.from.y>this.to.y?this.from.xe?this.to.y:e):this.from.x>this.to.x&&(t=this.from.x-i*n,e=this.from.y-i*n,e=this.to.y>e?this.to.y:e):this.from.ythis.to.x&&(t=this.from.x-i*n,e=this.from.y+i*n,e=this.to.ythis.imageObj.height?(i=this.imageObj.width/this.imageObj.height,t=2*this.options.size*i||this.imageObj.width,e=2*this.options.size||this.imageObj.height):(i=this.imageObj.height/this.imageObj.width,t=2*this.options.size||this.imageObj.width,e=2*this.options.size*i||this.imageObj.height),this.width=t,this.height=e}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth;t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.lineWidth=o?a:r,t.lineWidth*=this.networkScaleInv,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.circle(e,i,s),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}},{key:"_drawImageAtPosition",value:function(t){0!=this.imageObj.width&&(t.globalAlpha=1,this.enableShadow(t),t.drawImage(this.imageObj,this.left,this.top,this.width,this.height),this.disableShadow(t))}},{key:"_drawImageLabel",value:function(t,e,i,o){var n,s=0;if(void 0!==this.height){s=.5*this.height;var r=this.labelModule.getTextSize(t);r.lineCount>=1&&(s+=r.height/2)}n=i+s,this.options.label&&(this.labelOffset=s),this.labelModule.draw(t,e,n,o,"hanging")}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var i=0;i=l&&h>d;){var m=.5*(l+u);if(i=this.getPoint(m,a),o=Math.atan2(p.y-i.y,p.x-i.x),n=p.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-p.x,2)+Math.pow(i.y-p.y,2)),r=n-s,Math.abs(r)r?f===!1?l=m:u=m:f===!1?u=m:l=m,d++}return i.t=m,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=void 0,h=void 0;a=r.x,h=r.y;var d=1e9,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=t,v=e;for(u=1;10>u;u++)c=.1*u,p=Math.pow(1-c,2)*t+2*c*(1-c)*a+Math.pow(c,2)*i,f=Math.pow(1-c,2)*e+2*c*(1-c)*h+Math.pow(c,2)*o,u>0&&(l=this._getDistanceToLine(m,v,p,f,n,s),d=d>l?l:d),m=p,v=f;return d}}]),e}(d["default"]);e["default"]=l,t.exports=e["default"]},function(t,e,i){function o(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){var i=[],o=!0,n=!1,s=void 0;try{for(var r,a=t[Symbol.iterator]();!(o=(r=a.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(h){n=!0,s=h}finally{try{!o&&a["return"]&&a["return"]()}finally{if(n)throw s}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;io.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=10,d=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,p=void 0,f=void 0,m=void 0,v=.05,g=.5*(s+r);r>=s&&h>d&&(g=.5*(s+r),u=this._pointOnCircle(o,n,l,g),c=Math.atan2(t.y-u.y,t.x-u.x),p=t.distanceToBorder(e,c),f=Math.sqrt(Math.pow(u.x-t.x,2)+Math.pow(u.y-t.y,2)),m=p-f,!(Math.abs(m)0?a>0?s=g:r=g:a>0?r=g:s=g,d++;return u.t=g,u}},{key:"getLineWidth",value:function(t,e){return t===!0?Math.max(this.selectionWidth,.3/this.body.view.scale):e===!0?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t){var e=this.options.color;if(e.inherit!==!1){if("both"===e.inherit&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),o=void 0,n=void 0;return o=this.from.options.color.highlight.border,n=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(o=r.overrideOpacity(this.from.options.color.border,this.options.color.opacity),n=r.overrideOpacity(this.to.options.color.border,this.options.color.opacity)):this.from.selected===!0&&this.to.selected===!1?n=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(o=this.from.options.color.border),i.addColorStop(0,o),i.addColorStop(1,n),i}this.colorDirty===!0&&("to"===e.inherit?(this.color.highlight=this.to.options.color.highlight.border,this.color.hover=this.to.options.color.hover.border,this.color.color=r.overrideOpacity(this.to.options.color.border,e.opacity)):(this.color.highlight=this.from.options.color.highlight.border,this.color.hover=this.from.options.color.hover.border,this.color.color=r.overrideOpacity(this.from.options.color.border,e.opacity)))}else this.colorDirty===!0&&(this.color.highlight=e.highlight,this.color.hover=e.hover,this.color.color=r.overrideOpacity(e.color,e.opacity));return this.colorDirty=!1,this.selected===!0?this.color.highlight:this.hover===!0?this.color.hover:this.color.color}},{key:"_circle",value:function(t,e,i,o){this.enableShadow(t),t.beginPath(),t.arc(e,i,o,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t)}},{key:"getDistanceToEdge",value:function(t,e,i,n,s,r,a){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,n,s,r,a);else{var d=this._getCircleData(),l=o(d,3),u=l[0],c=l[1],p=l[2],f=u-s,m=c-r;h=Math.abs(Math.sqrt(f*f+m*m)-p)}return this.labelModule.size.lefts&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:0>d&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"drawArrowHead",value:function(t,e,i,n,s){t.strokeStyle=this.getColor(t),t.fillStyle=t.strokeStyle,t.lineWidth=this.getLineWidth(n,s);var r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0;if("from"===e?(d=this.from,l=this.to,u=.1,c=this.options.arrows.from.scaleFactor):"to"===e?(d=this.to,l=this.from,u=-.1,c=this.options.arrows.to.scaleFactor):(d=this.to,l=this.from,c=this.options.arrows.middle.scaleFactor),d!=l){if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var p=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);r=Math.atan2(h.y-p.y,h.x-p.x)}else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else r=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.6,i);a=(10+5*this.options.width)*c,t.arrow(h.x,h.y,r,a),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}else{var f=void 0,m=void 0,v=this._getCircleData(t),g=o(v,3),y=g[0],b=g[1],w=g[2];"from"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),f=-2*m.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(m=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),f=-2*m.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(m=this._pointOnCircle(y,b,w,.175),f=3.9269908169872414);var _=(10+5*this.options.width)*c;t.arrow(m.x,m.y,f,_),this.enableShadow(t),t.fill(),this.disableShadow(t),t.stroke()}}},{key:"enableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0.5)",t.shadowBlur=this.options.shadow.size,t.shadowOffsetX=this.options.shadow.x,t.shadowOffsetY=this.options.shadow.y)}},{key:"disableShadow",value:function(t){this.options.shadow.enabled===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e["default"]=a,t.exports=e["default"]}])}); //# sourceMappingURL=vis.map diff --git a/lib/timeline/Graph2d.js b/lib/timeline/Graph2d.js index 23b65791..32ee27a1 100644 --- a/lib/timeline/Graph2d.js +++ b/lib/timeline/Graph2d.js @@ -266,10 +266,10 @@ Graph2d.prototype.getItemRange = function() { * The event happened, whether clicked on an item, etc. */ Graph2d.prototype.getEventProperties = function (event) { - var pageX = event.center ? event.center.x : event.pageX; - var pageY = event.center ? event.center.y : event.pageY; - var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); - var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + var clientX = event.center ? event.center.x : event.clientX; + var clientY = event.center ? event.center.y : event.clientY; + var x = clientX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = clientY - util.getAbsoluteTop(this.dom.centerContainer); var time = this._toTime(x); var customTime = CustomTime.customTimeFromTarget(event); @@ -299,8 +299,8 @@ Graph2d.prototype.getEventProperties = function (event) { return { event: event, what: what, - pageX: pageX, - pageY: pageY, + pageX: event.srcEvent ? event.srcEvent.pageX : event.pageX, + pageY: event.srcEvent ? event.srcEvent.pageY : event.pageY, x: x, y: y, time: time, diff --git a/lib/timeline/Range.js b/lib/timeline/Range.js index 69e2ac87..2fc5ef73 100644 --- a/lib/timeline/Range.js +++ b/lib/timeline/Range.js @@ -491,7 +491,7 @@ Range.prototype._onMouseWheel = function(event) { } // calculate center, the date to zoom around - var pointer = getPointer({x: event.pageX, y: event.pageY}, this.body.dom.center); + var pointer = getPointer({x: event.clientX, y: event.clientY}, this.body.dom.center); var pointerDate = this._pointerToDate(pointer); this.zoom(scale, pointerDate, delta); diff --git a/lib/timeline/Timeline.js b/lib/timeline/Timeline.js index 905226b4..a8e56307 100644 --- a/lib/timeline/Timeline.js +++ b/lib/timeline/Timeline.js @@ -389,10 +389,10 @@ Timeline.prototype.getItemRange = function() { * The event happened, whether clicked on an item, etc. */ Timeline.prototype.getEventProperties = function (event) { - var pageX = event.center ? event.center.x : event.pageX; - var pageY = event.center ? event.center.y : event.pageY; - var x = pageX - util.getAbsoluteLeft(this.dom.centerContainer); - var y = pageY - util.getAbsoluteTop(this.dom.centerContainer); + var clientX = event.center ? event.center.x : event.clientX; + var clientY = event.center ? event.center.y : event.clientY; + var x = clientX - util.getAbsoluteLeft(this.dom.centerContainer); + var y = clientY - util.getAbsoluteTop(this.dom.centerContainer); var item = this.itemSet.itemFromTarget(event); var group = this.itemSet.groupFromTarget(event); @@ -419,8 +419,8 @@ Timeline.prototype.getEventProperties = function (event) { item: item ? item.id : null, group: group ? group.groupId : null, what: what, - pageX: pageX, - pageY: pageY, + pageX: event.srcEvent ? event.srcEvent.pageX : event.pageX, + pageY: event.srcEvent ? event.srcEvent.pageY : event.pageY, x: x, y: y, time: time, diff --git a/lib/timeline/component/ItemSet.js b/lib/timeline/component/ItemSet.js index 0480786d..2395cb9a 100644 --- a/lib/timeline/component/ItemSet.js +++ b/lib/timeline/component/ItemSet.js @@ -1585,23 +1585,23 @@ ItemSet.prototype.itemFromTarget = function(event) { * @return {Group | null} group */ ItemSet.prototype.groupFromTarget = function(event) { - var pageY = event.center ? event.center.y : event.pageY; + var clientY = event.center ? event.center.y : event.clientY; for (var i = 0; i < this.groupIds.length; i++) { var groupId = this.groupIds[i]; var group = this.groups[groupId]; var foreground = group.dom.foreground; var top = util.getAbsoluteTop(foreground); - if (pageY > top && pageY < top + foreground.offsetHeight) { + if (clientY > top && clientY < top + foreground.offsetHeight) { return group; } if (this.options.orientation.item === 'top') { - if (i === this.groupIds.length - 1 && pageY > top) { + if (i === this.groupIds.length - 1 && clientY > top) { return group; } } else { - if (i === 0 && pageY < top + foreground.offset) { + if (i === 0 && clientY < top + foreground.offset) { return group; } } diff --git a/test/timeline_groups.html b/test/timeline_groups.html index c6592c54..e4661fec 100644 --- a/test/timeline_groups.html +++ b/test/timeline_groups.html @@ -28,6 +28,8 @@ + + @@ -52,6 +54,7 @@
+