From c18d8a18c09f98153c1c9a46ff35c71f2299b053 Mon Sep 17 00:00:00 2001 From: Alexander Wunschik Date: Sat, 18 Mar 2017 15:37:20 +0100 Subject: [PATCH] generated dist files for v4.19.0 --- dist/vis-graph3d.min.js | 18 +- dist/vis-network.min.css | 2 +- dist/vis-network.min.js | 34 +- dist/vis-timeline-graph2d.min.css | 2 +- dist/vis-timeline-graph2d.min.js | 30 +- dist/vis.css | 5 + dist/vis.js | 2494 +++++++++++++++-------------- dist/vis.map | 2 +- dist/vis.min.css | 2 +- dist/vis.min.js | 48 +- 10 files changed, 1409 insertions(+), 1228 deletions(-) diff --git a/dist/vis-graph3d.min.js b/dist/vis-graph3d.min.js index cd4c0aa9..ffe77e41 100644 --- a/dist/vis-graph3d.min.js +++ b/dist/vis-graph3d.min.js @@ -4,11 +4,11 @@ * * A dynamic, browser-based visualization library. * - * @version 4.18.1 - * @date 2017-01-29 + * @version 4.19.0 + * @date 2017-03-18 * * @license - * Copyright (C) 2011-2016 Almende B.V, http://almende.com + * Copyright (C) 2011-2017 Almende B.V, http://almende.com * * Vis.js is dual licensed under both * @@ -22,13 +22,13 @@ * * 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(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){e.util=n(1),e.DOMutil=n(89),e.DataSet=n(90),e.DataView=n(92),e.Queue=n(91),e.Graph3d=n(93),e.graph3d={Camera:n(97),Filter:n(102),Point2d:n(96),Point3d:n(95),Slider:n(103),StepNumber:n(104)},e.moment=n(84),e.Hammer=n(107),e.keycharm=n(110)},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}var r=n(2),o=i(r),s=n(55),a=i(s),h=n(58),u=i(h),l=n(62),c=i(l),f=n(82),d=i(f),p=n(84),m=n(88);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.elementsCensor=function(t){if(t){var e=function(t,e){return e instanceof Element?"DOM Element":e};return JSON.parse((0,d.default)(t,e))}},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,n,i){if(e==t)return.5;var r=1/(e-t);return Math.max(0,(i-t)*r)},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 n=v.exec(t);if(n)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return m.v4()},e.assignAllKeys=function(t,e){for(var n in t)t.hasOwnProperty(n)&&"object"!==(0,c.default)(t[n])&&(t[n]=e)},e.fillIfDefined=function(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var r in t)void 0!==n[r]&&("object"!==(0,c.default)(n[r])?void 0!==n[r]&&null!==n[r]||void 0===t[r]||i!==!0?t[r]=n[r]:delete t[r]:"object"===(0,c.default)(t[r])&&e.fillIfDefined(t[r],n[r],i))},e.protoExtend=function(t,e){for(var n=1;n3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o=2;o3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o in i)if(i.hasOwnProperty(o)&&t.indexOf(o)==-1)if(i[o]&&i[o].constructor===Object)void 0===n[o]&&(n[o]={}),n[o].constructor===Object?e.deepExtend(n[o],i[o]):null===i[o]&&void 0!==n[o]&&r===!0?delete n[o]:n[o]=i[o];else if(Array.isArray(i[o])){n[o]=[];for(var s=0;s=0&&(e="DOMMouseScroll"),t.addEventListener(e,n,i)):t.attachEvent("on"+e,n)},e.removeEventListener=function(t,e,n,i){t.removeEventListener?(void 0===i&&(i=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,n,i)):t.detachEvent("on"+e,n)},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 n=t;n;){if(n===e)return!0;n=n.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,n){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":n||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,n,i){return e+e+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null},e.overrideOpacity=function(t,n){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var i=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+n+")"}var i=e.hexToRGB(t);return null==i?t:"rgba("+i.r+","+i.g+","+i.b+","+n+")"},e.RGBToHex=function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},e.parseColor=function(t){var n;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var i=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(i[0],i[1],i[2])}if(e.isValidHex(t)===!0){var r=e.hexToHSV(t),o={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},s={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},a=e.HSVToHex(s.h,s.s,s.v),h=e.HSVToHex(o.h,o.s,o.v);n={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else n={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else n={},n.background=t.background||void 0,n.border=t.border||void 0,e.isString(t.highlight)?n.highlight={border:t.highlight,background:t.highlight}:(n.highlight={},n.highlight.background=t.highlight&&t.highlight.background||void 0,n.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?n.hover={border:t.hover,background:t.hover}:(n.hover={},n.hover.background=t.hover&&t.hover.background||void 0,n.hover.border=t.hover&&t.hover.border||void 0);return n},e.RGBToHSV=function(t,e,n){t/=255,e/=255,n/=255;var i=Math.min(t,Math.min(e,n)),r=Math.max(t,Math.max(e,n));if(i==r)return{h:0,s:0,v:i};var o=t==i?e-n:n==i?t-e:n-t,s=t==i?3:n==i?1:5,a=60*(s-o/(r-i))/360,h=(r-i)/r,u=r;return{h:a,s:h,v:u}};var y={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var n=t.split(":"),i=n[0].trim(),r=n[1].trim();e[i]=r}}),e},join:function(t){return(0,u.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,n){var i=y.split(t.style.cssText),r=y.split(n),o=e.extend(i,r);t.style.cssText=y.join(o)},e.removeCssText=function(t,e){var n=y.split(t.style.cssText),i=y.split(e);for(var r in i)i.hasOwnProperty(r)&&delete n[r];t.style.cssText=y.join(n)},e.HSVToRGB=function(t,e,n){var i,r,o,s=Math.floor(6*t),a=6*t-s,h=n*(1-e),u=n*(1-a*e),l=n*(1-(1-a)*e);switch(s%6){case 0:i=n,r=l,o=h;break;case 1:i=u,r=n,o=h;break;case 2:i=h,r=n,o=l;break;case 3:i=h,r=u,o=n;break;case 4:i=l,r=h,o=n;break;case 5:i=n,r=h,o=u}return{r:Math.floor(255*i),g:Math.floor(255*r),b:Math.floor(255*o)}},e.HSVToHex=function(t,n,i){var r=e.HSVToRGB(t,n,i);return e.RGBToHex(r.r,r.g,r.b)},e.hexToHSV=function(t){var n=e.hexToRGB(t);return e.RGBToHSV(n.r,n.g,n.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,n){if("object"==("undefined"==typeof n?"undefined":(0,c.default)(n))){for(var i=(0,a.default)(n),r=0;r0&&e(i,t[r-1])<0;r--)t[r]=t[r-1];t[r]=i}return t},e.mergeOptions=function(t,e,n){var i=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[n])t[n]=(0,a.default)(i[n]);else if(void 0!==e[n])if("boolean"==typeof e[n])t[n].enabled=e[n];else{void 0===e[n].enabled&&(t[n].enabled=!0);for(var r in e[n])e[n].hasOwnProperty(r)&&(t[n][r]=e[n][r])}},e.binarySearchCustom=function(t,e,n,i){for(var r=1e4,o=0,s=0,a=t.length-1;s<=a&&o0)return"before"==i?Math.max(0,h-1):h;if(r(s,e)<0&&r(a,e)>0)return"before"==i?h:Math.min(t.length-1,h+1);r(s,e)<0?c=h+1:f=h-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;return n==i&&(i=e.clientWidth),document.body.removeChild(e),n-i},e.topMost=function(t,e){var n=void 0;Array.isArray(e)||(e=[e]);var i=!0,r=!1,s=void 0;try{for(var a,h=(0,o.default)(t);!(i=(a=h.next()).done);i=!0){var u=a.value;if(u){n=u[e[0]];for(var l=1;l=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,n){var i=n(10),r=n(12);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var i=n(14),r=n(15),o=n(30),s=n(20),a=n(31),h=n(8),u=n(32),l=n(46),c=n(48),f=n(47)("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",m="keys",v="values",y=function(){return this};t.exports=function(t,e,n,g,_,w,x){u(n,e,g);var b,S,T,D=function(t){if(!d&&t in E)return E[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},M=e+" Iterator",k=_==v,O=!1,E=t.prototype,C=E[f]||E[p]||_&&E[_],P=C||D(_),L=_?k?D("entries"):P:void 0,Y="Array"==e?E.entries||C:C;if(Y&&(T=c(Y.call(new t)),T!==Object.prototype&&(l(T,M,!0),i||a(T,f)||s(T,f,y))),k&&C&&C.name!==v&&(O=!0,P=function(){return C.call(this)}),i&&!x||!d&&!O&&E[f]||s(E,f,P),h[e]=P,h[M]=y,_)if(b={values:k?P:D(v),keys:w?P:D(m),entries:L},x)for(S in b)S in E||o(E,S,b[S]);else r(r.P+r.F*(d||O),e,b);return b}},function(t,e){t.exports=!0},function(t,e,n){var i=n(16),r=n(17),o=n(18),s=n(20),a="prototype",h=function(t,e,n){var u,l,c,f=t&h.F,d=t&h.G,p=t&h.S,m=t&h.P,v=t&h.B,y=t&h.W,g=d?r:r[e]||(r[e]={}),_=g[a],w=d?i:p?i[e]:(i[e]||{})[a];d&&(n=e);for(u in n)l=!f&&w&&void 0!==w[u],l&&u in g||(c=l?w[u]:n[u],g[u]=d&&"function"!=typeof w[u]?n[u]:v&&l?o(c,i):y&&w[u]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e[a]=t[a],e}(c):m&&"function"==typeof c?o(Function.call,c):c,m&&((g.virtual||(g.virtual={}))[u]=c,t&h.R&&_&&!_[u]&&s(_,u,c)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(19);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var i=n(21),r=n(29);t.exports=n(25)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(22),r=n(24),o=n(28),s=Object.defineProperty;e.f=n(25)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(23);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(25)&&!n(26)(function(){return 7!=Object.defineProperty(n(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){t.exports=!n(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(23),r=n(16).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){var i=n(23);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){t.exports=n(20)},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(33),r=n(29),o=n(46),s={};n(20)(s,n(47)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var i=n(22),r=n(34),o=n(44),s=n(41)("IE_PROTO"),a=function(){},h="prototype",u=function(){var t,e=n(27)("iframe"),i=o.length,r="<",s=">";for(e.style.display="none",n(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+s+"document.F=Object"+r+"/script"+s),t.close(),u=t.F;i--;)delete u[h][o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[h]=i(t),n=new a,a[h]=null,n[s]=t):n=u(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(21),r=n(22),o=n(35);t.exports=n(25)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),a=s.length,h=0;a>h;)i.f(t,n=s[h++],e[n]);return t}},function(t,e,n){var i=n(36),r=n(44);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(31),r=n(9),o=n(37)(!1),s=n(41)("IE_PROTO");t.exports=function(t,e){var n,a=r(t),h=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;e.length>h;)i(a,n=e[h++])&&(~o(u,n)||u.push(n));return u}},function(t,e,n){var i=n(9),r=n(38),o=n(40);t.exports=function(t){return function(e,n,s){var a,h=i(e),u=r(h.length),l=o(s,u);if(t&&n!=n){for(;u>l;)if(a=h[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in h)&&h[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var i=n(39),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(39),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(42)("keys"),r=n(43);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16),r="__core-js_shared__",o=i[r]||(i[r]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){t.exports=n(16).document&&document.documentElement},function(t,e,n){var i=n(21).f,r=n(31),o=n(47)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(42)("wks"),r=n(43),o=n(16).Symbol,s="function"==typeof o,a=t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))};a.store=i},function(t,e,n){var i=n(31),r=n(49),o=n(41)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(12);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(51)(!0);n(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var i=n(39),r=n(12);t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),h=i(n),u=a.length;return h<0||h>=u?t?"":void 0:(o=a.charCodeAt(h),o<55296||o>56319||h+1===u||(s=a.charCodeAt(h+1))<56320||s>57343?t?a.charAt(h):o:t?a.slice(h,h+2):(o-55296<<10)+(s-56320)+65536)}}},function(t,e,n){var i=n(22),r=n(53);t.exports=n(17).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(54),r=n(47)("iterator"),o=n(8);t.exports=n(17).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t["@@iterator"]||o[i(t)]}},function(t,e,n){var i=n(11),r=n(47)("toStringTag"),o="Arguments"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),r))?n:o?i(e):"Object"==(a=i(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){n(57);var i=n(17).Object;t.exports=function(t,e){return i.create(t,e)}},function(t,e,n){var i=n(15);i(i.S,"Object",{create:n(33)})},function(t,e,n){t.exports={default:n(59),__esModule:!0}},function(t,e,n){n(60),t.exports=n(17).Object.keys},function(t,e,n){var i=n(49),r=n(35);n(61)("keys",function(){return function(t){return r(i(t))}})},function(t,e,n){var i=n(15),r=n(17),o=n(26);t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],s={};s[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",s)}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(63),o=i(r),s=n(66),a=i(s),h="function"==typeof a.default&&"symbol"==typeof o.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(o.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,n){t.exports={default:n(64),__esModule:!0}},function(t,e,n){n(50),n(4),t.exports=n(65).f("iterator")},function(t,e,n){e.f=n(47)},function(t,e,n){t.exports={default:n(67),__esModule:!0}},function(t,e,n){n(68),n(79),n(80),n(81),t.exports=n(17).Symbol},function(t,e,n){var i=n(16),r=n(31),o=n(25),s=n(15),a=n(30),h=n(69).KEY,u=n(26),l=n(42),c=n(46),f=n(43),d=n(47),p=n(65),m=n(70),v=n(71),y=n(72),g=n(75),_=n(22),w=n(9),x=n(28),b=n(29),S=n(33),T=n(76),D=n(78),M=n(21),k=n(35),O=D.f,E=M.f,C=T.f,P=i.Symbol,L=i.JSON,Y=L&&L.stringify,R="prototype",A=d("_hidden"),I=d("toPrimitive"),N={}.propertyIsEnumerable,W=l("symbol-registry"),z=l("symbols"),F=l("op-symbols"),j=Object[R],G="function"==typeof P,B=i.QObject,V=!B||!B[R]||!B[R].findChild,U=o&&u(function(){return 7!=S(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=O(j,e);i&&delete j[e],E(t,e,n),i&&t!==j&&E(j,e,i)}:E,H=function(t){var e=z[t]=S(P[R]);return e._k=t,e},X=G&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},Z=function(t,e,n){return t===j&&Z(F,e,n),_(t),e=x(e,!0),_(n),r(z,e)?(n.enumerable?(r(t,A)&&t[A][e]&&(t[A][e]=!1),n=S(n,{enumerable:b(0,!1)})):(r(t,A)||E(t,A,b(1,{})),t[A][e]=!0),U(t,e,n)):E(t,e,n)},q=function(t,e){_(t);for(var n,i=y(e=w(e)),r=0,o=i.length;o>r;)Z(t,n=i[r++],e[n]);return t},$=function(t,e){return void 0===e?S(t):q(S(t),e)},J=function(t){var e=N.call(this,t=x(t,!0));return!(this===j&&r(z,t)&&!r(F,t))&&(!(e||!r(this,t)||!r(z,t)||r(this,A)&&this[A][t])||e)},Q=function(t,e){if(t=w(t),e=x(e,!0),t!==j||!r(z,e)||r(F,e)){var n=O(t,e);return!n||!r(z,e)||r(t,A)&&t[A][e]||(n.enumerable=!0),n}},K=function(t){for(var e,n=C(w(t)),i=[],o=0;n.length>o;)r(z,e=n[o++])||e==A||e==h||i.push(e);return i},tt=function(t){for(var e,n=t===j,i=C(n?F:w(t)),o=[],s=0;i.length>s;)!r(z,e=i[s++])||n&&!r(j,e)||o.push(z[e]);return o};G||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===j&&e.call(F,n),r(this,A)&&r(this[A],t)&&(this[A][t]=!1),U(this,t,b(1,n))};return o&&V&&U(j,t,{configurable:!0,set:e}),H(t)},a(P[R],"toString",function(){return this._k}),D.f=Q,M.f=Z,n(77).f=T.f=K,n(74).f=J,n(73).f=tt,o&&!n(14)&&a(j,"propertyIsEnumerable",J,!0),p.f=function(t){return H(d(t))}),s(s.G+s.W+s.F*!G,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)d(et[nt++]);for(var et=k(d.store),nt=0;et.length>nt;)m(et[nt++]);s(s.S+s.F*!G,"Symbol",{for:function(t){return r(W,t+="")?W[t]:W[t]=P(t)},keyFor:function(t){if(X(t))return v(W,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){V=!0},useSimple:function(){V=!1}}),s(s.S+s.F*!G,"Object",{create:$,defineProperty:Z,defineProperties:q,getOwnPropertyDescriptor:Q,getOwnPropertyNames:K,getOwnPropertySymbols:tt}),L&&s(s.S+s.F*(!G||u(function(){var t=P();return"[null]"!=Y([t])||"{}"!=Y({a:t})||"{}"!=Y(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!X(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],"function"==typeof e&&(n=e),!n&&g(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!X(e))return e}),i[1]=e,Y.apply(L,i)}}}),P[R][I]||n(20)(P[R],I,P[R].valueOf),c(P,"Symbol"),c(Math,"Math",!0),c(i.JSON,"JSON",!0)},function(t,e,n){var i=n(43)("meta"),r=n(23),o=n(31),s=n(21).f,a=0,h=Object.isExtensible||function(){return!0},u=!n(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){s(t,i,{value:{i:"O"+ ++a,w:{}}})},c=function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[i].i},f=function(t,e){if(!o(t,i)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[i].w},d=function(t){return u&&p.NEED&&h(t)&&!o(t,i)&&l(t),t},p=t.exports={KEY:i,NEED:!1,fastKey:c,getWeak:f,onFreeze:d}},function(t,e,n){var i=n(16),r=n(17),o=n(14),s=n(65),a=n(21).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){var i=n(35),r=n(9);t.exports=function(t,e){for(var n,o=r(t),s=i(o),a=s.length,h=0;a>h;)if(o[n=s[h++]]===e)return n}},function(t,e,n){var i=n(35),r=n(73),o=n(74);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,a=n(t),h=o.f,u=0;a.length>u;)h.call(t,s=a[u++])&&e.push(s);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(11);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){var i=n(9),r=n(77).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):r(i(t))}},function(t,e,n){var i=n(36),r=n(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(74),r=n(29),o=n(9),s=n(28),a=n(31),h=n(24),u=Object.getOwnPropertyDescriptor;e.f=n(25)?u:function(t,e){if(t=o(t),e=s(e,!0),h)try{return u(t,e)}catch(t){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(70)("asyncIterator")},function(t,e,n){n(70)("observable")},function(t,e,n){t.exports={default:n(83),__esModule:!0}},function(t,e,n){var i=n(17),r=i.JSON||(i.JSON={stringify:JSON.stringify});t.exports=function(t){return r.stringify.apply(r,arguments)}},function(t,e,n){t.exports="undefined"!=typeof window&&window.moment||n(85)},function(t,e,n){(function(t){!function(e,n){t.exports=n()}(this,function(){function e(){return vi.apply(null,arguments)}function n(t){vi=t}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function r(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){var e;for(e in t)return!1;return!0}function s(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var n,i=[];for(n=0;n0)for(n in _i)i=_i[n],r=e[i],v(r)||(t[i]=r);return t}function g(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wi===!1&&(wi=!0,e.updateOffset(this),wi=!1)}function _(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function x(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=w(e)),n}function b(t,e,n){var i,r=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),s=0;for(i=0;i0?"future":"past"];return M(n)?n(e):n.replace(/%s/i,e)}function I(t,e){var n=t.toLowerCase();Pi[n]=Pi[n+"s"]=Pi[e]=t}function N(t){return"string"==typeof t?Pi[t]||Pi[t.toLowerCase()]:void 0}function W(t){var e,n,i={};for(n in t)u(t,n)&&(e=N(n),e&&(i[e]=t[n]));return i}function z(t,e){Li[t]=e}function F(t){var e=[];for(var n in t)e.push({unit:n,priority:Li[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,n){return function(i){return null!=i?(B(this,t,i),e.updateOffset(this,n),this):G(this,t)}}function G(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function B(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function V(t){return t=N(t),M(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=W(t);for(var n=F(t),i=0;i=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function X(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(Ii[t]=r),e&&(Ii[e[0]]=function(){return H(r.apply(this,arguments),e[1],e[2])}),n&&(Ii[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function Z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function q(t){var e,n,i=t.match(Yi);for(e=0,n=i.length;e=0&&Ri.test(t);)t=t.replace(Ri,n),Ri.lastIndex=0,i-=1;return t}function Q(t,e,n){tr[t]=M(e)?e:function(t,i){return t&&n?n:e}}function K(t,e){return u(tr,t)?tr[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),s(e)&&(i=function(t,n){n[e]=x(t)}),n=0;n=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function wt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function xt(t,e,n){var i=7+e-n,r=(7+wt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function bt(t,e,n,i,r){var o,s,a=(7+n-i)%7,h=xt(t,i,r),u=1+7*(e-1)+a+h;return u<=0?(o=t-1,s=vt(o)+u):u>vt(t)?(o=t+1,s=u-vt(t)):(o=t,s=u),{year:o,dayOfYear:s}}function St(t,e,n){var i,r,o=xt(t.year(),e,n),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?(r=t.year()-1,i=s+Tt(r,e,n)):s>Tt(t.year(),e,n)?(i=s-Tt(t.year(),e,n),r=t.year()+1):(r=t.year(),i=s),{week:i,year:r}}function Tt(t,e,n){var i=xt(t,e,n),r=xt(t+1,e,n);return(vt(t)-i+r)/7}function Dt(t){return St(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function kt(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=St(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Ct(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Lt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Yt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,n){var i,r,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)o=c([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?(r=cr.call(this._weekdaysParse,s),r!==-1?r:null):"ddd"===e?(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:null):(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null):"dddd"===e?(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null))):"ddd"===e?(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null))):(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:null)))}function It(t,e,n){var i,r,o;if(this._weekdaysParseExact)return At.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=c([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function Nt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ct(t,this.localeData()),this.add(t-e,"d")):e}function Wt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function zt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ft(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=br),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Sr),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Gt(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Tr),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Bt(){function t(t,e){return e.length-t.length}var e,n,i,r,o,s=[],a=[],h=[],u=[];for(e=0;e<7;e++)n=c([2e3,1]).day(e),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(i),a.push(r),h.push(o),u.push(i),u.push(r),u.push(o);for(s.sort(t),a.sort(t),h.sort(t),u.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),u[e]=et(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Vt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Ht(t,e){X(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Xt(t,e){return e._meridiemParse}function Zt(t){return"p"===(t+"").toLowerCase().charAt(0)}function qt(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function $t(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,n,i,r,o=0;o0;){if(i=Qt(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&b(r,n,!0)>=e-1)break;e--}o++}return null}function Qt(e){var n=null;if(!Er[e]&&"undefined"!=typeof t&&t&&t.exports)try{n=Dr._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Kt(n)}catch(t){}return Er[e]}function Kt(t,e){var n;return t&&(n=v(e)?ne(t):te(t,e),n&&(Dr=n)),Dr._abbr}function te(t,e){if(null!==e){var n=Or;if(e.abbr=t,null!=Er[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Er[t]._config;else if(null!=e.parentLocale){if(null==Er[e.parentLocale])return Cr[e.parentLocale]||(Cr[e.parentLocale]=[]),Cr[e.parentLocale].push({name:t,config:e}),null;n=Er[e.parentLocale]._config}return Er[t]=new E(O(n,e)),Cr[t]&&Cr[t].forEach(function(t){te(t.name,t.config)}),Kt(t),Er[t]}return delete Er[t],null}function ee(t,e){if(null!=e){var n,i=Or;null!=Er[t]&&(i=Er[t]._config),e=O(i,e),n=new E(e),n.parentLocale=Er[t],Er[t]=n,Kt(t)}else null!=Er[t]&&(null!=Er[t].parentLocale?Er[t]=Er[t].parentLocale:null!=Er[t]&&delete Er[t]);return Er[t]}function ne(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Dr;if(!i(t)){if(e=Qt(t))return e;t=[t]}return Jt(t)}function ie(){return Ti(Er)}function re(t){var e,n=t._a;return n&&d(t).overflow===-2&&(e=n[ir]<0||n[ir]>11?ir:n[rr]<1||n[rr]>ot(n[nr],n[ir])?rr:n[or]<0||n[or]>24||24===n[or]&&(0!==n[sr]||0!==n[ar]||0!==n[hr])?or:n[sr]<0||n[sr]>59?sr:n[ar]<0||n[ar]>59?ar:n[hr]<0||n[hr]>999?hr:-1,d(t)._overflowDayOfYear&&(err)&&(e=rr),d(t)._overflowWeeks&&e===-1&&(e=ur),d(t)._overflowWeekday&&e===-1&&(e=lr),d(t).overflow=e),t}function oe(t){var e,n,i,r,o,s,a=t._i,h=Pr.exec(a)||Lr.exec(a);if(h){for(d(t).iso=!0,e=0,n=Rr.length;evt(r)&&(d(t)._overflowDayOfYear=!0),n=wt(r,0,t._dayOfYear),t._a[ir]=n.getUTCMonth(),t._a[rr]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[or]&&0===t._a[sr]&&0===t._a[ar]&&0===t._a[hr]&&(t._nextDay=!0,t._a[or]=0),t._d=(t._useUTC?wt:_t).apply(null,o),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[or]=24)}}function le(t){var e,n,i,r,o,s,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)o=1,s=4,n=ae(e.GG,t._a[nr],St(_e(),1,4).year),i=ae(e.W,1),r=ae(e.E,1),(r<1||r>7)&&(h=!0);else{o=t._locale._week.dow,s=t._locale._week.doy;var u=St(_e(),o,s);n=ae(e.gg,t._a[nr],u.year),i=ae(e.w,u.week),null!=e.d?(r=e.d,(r<0||r>6)&&(h=!0)):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(h=!0)):r=o}i<1||i>Tt(n,o,s)?d(t)._overflowWeeks=!0:null!=h?d(t)._overflowWeekday=!0:(a=bt(n,i,r,o,s),t._a[nr]=a.year,t._dayOfYear=a.dayOfYear)}function ce(t){if(t._f===e.ISO_8601)return void oe(t);t._a=[],d(t).empty=!0;var n,i,r,o,s,a=""+t._i,h=a.length,u=0;for(r=J(t._f,t._locale).match(Yi)||[],n=0;n0&&d(t).unusedInput.push(s),a=a.slice(a.indexOf(i)+i.length),u+=i.length),Ii[o]?(i?d(t).empty=!1:d(t).unusedTokens.push(o),rt(o,i,t)):t._strict&&!i&&d(t).unusedTokens.push(o);d(t).charsLeftOver=h-u,a.length>0&&d(t).unusedInput.push(a),t._a[or]<=12&&d(t).bigHour===!0&&t._a[or]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[or]=fe(t._locale,t._a[or],t._meridiem),ue(t),re(t)}function fe(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&e<12&&(e+=12),i||12!==e||(e=0),e):e}function de(t){var e,n,i,r,o;if(0===t._f.length)return d(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ne(){if(!v(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ve(t),t._a){var e=t._isUTC?c(t._a):_e(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function We(){return!!this.isValid()&&!this._isUTC}function ze(){return!!this.isValid()&&this._isUTC}function Fe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var n,i,r,o=t,a=null;return Te(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:s(t)?(o={},e?o[e]=t:o.milliseconds=t):(a=jr.exec(t))?(n="-"===a[1]?-1:1,o={y:0,d:x(a[rr])*n,h:x(a[or])*n,m:x(a[sr])*n,s:x(a[ar])*n,ms:x(De(1e3*a[hr]))*n}):(a=Gr.exec(t))?(n="-"===a[1]?-1:1,o={y:Ge(a[2],n),M:Ge(a[3],n),w:Ge(a[4],n),d:Ge(a[5],n),h:Ge(a[6],n),m:Ge(a[7],n),s:Ge(a[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(r=Ve(_e(o.from),_e(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),i=new Se(o),Te(t)&&u(t,"_locale")&&(i._locale=t._locale),i}function Ge(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Be(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ve(t,e){var n;return t.isValid()&&e.isValid()?(e=Oe(e,t),t.isBefore(e)?n=Be(t,e):(n=Be(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Ue(t,e){return function(n,i){var r,o;return null===i||isNaN(+i)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=i,i=o),n="string"==typeof n?+n:n,r=je(n,i),He(this,r,t),this}}function He(t,n,i,r){var o=n._milliseconds,s=De(n._days),a=De(n._months);t.isValid()&&(r=null==r||r,o&&t._d.setTime(t._d.valueOf()+o*i),s&&B(t,"Date",G(t,"Date")+s*i),a&<(t,G(t,"Month")+a*i),r&&e.updateOffset(t,s||a))}function Xe(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Ze(t,n){var i=t||_e(),r=Oe(i,this).startOf("day"),o=e.calendarFormat(this,r)||"sameElse",s=n&&(M(n[o])?n[o].call(this,i):n[o]);return this.format(s||this.localeData().calendar(o,this,_e(i)))}function qe(){return new g(this)}function $e(t,e){var n=_(t)?t:_e(t);return!(!this.isValid()||!n.isValid())&&(e=N(v(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()o&&(e=o),Yn.call(this,t,e,n,i,r))}function Yn(t,e,n,i,r){var o=bt(t,e,n,i,r),s=wt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}function Rn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function An(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 In(t,e){e[hr]=x(1e3*("0."+t))}function Nn(){return this._isUTC?"UTC":""}function Wn(){return this._isUTC?"Coordinated Universal Time":""}function zn(t){return _e(1e3*t)}function Fn(){return _e.apply(null,arguments).parseZone()}function jn(t){return t}function Gn(t,e,n,i){var r=ne(),o=c().set(i,e);return r[n](o,t)}function Bn(t,e,n){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gn(t,e,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=Gn(t,i,n,"month");return r}function Vn(t,e,n,i){"boolean"==typeof t?(s(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,s(e)&&(n=e,e=void 0),e=e||"");var r=ne(),o=t?r._week.dow:0;if(null!=n)return Gn(e,(n+o)%7,i,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gn(e,(a+o)%7,i,"day");return h}function Un(t,e){return Bn(t,e,"months")}function Hn(t,e){return Bn(t,e,"monthsShort")}function Xn(t,e,n){return Vn(t,e,n,"weekdays")}function Zn(t,e,n){return Vn(t,e,n,"weekdaysShort")}function qn(t,e,n){return Vn(t,e,n,"weekdaysMin")}function $n(){var t=this._data;return this._milliseconds=Kr(this._milliseconds),this._days=Kr(this._days),this._months=Kr(this._months),t.milliseconds=Kr(t.milliseconds),t.seconds=Kr(t.seconds),t.minutes=Kr(t.minutes),t.hours=Kr(t.hours),t.months=Kr(t.months),t.years=Kr(t.years),this}function Jn(t,e,n,i){var r=je(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function Qn(t,e){return Jn(this,t,e,1)}function Kn(t,e){return Jn(this,t,e,-1)}function ti(t){return t<0?Math.floor(t):Math.ceil(t)}function ei(){var t,e,n,i,r,o=this._milliseconds,s=this._days,a=this._months,h=this._data;return o>=0&&s>=0&&a>=0||o<=0&&s<=0&&a<=0||(o+=864e5*ti(ii(a)+s),s=0,a=0),h.milliseconds=o%1e3,t=w(o/1e3),h.seconds=t%60,e=w(t/60),h.minutes=e%60,n=w(e/60),h.hours=n%24,s+=w(n/24),r=w(ni(s)),a+=r,s-=ti(ii(r)),i=w(a/12),a%=12,h.days=s,h.months=a,h.years=i,this}function ni(t){return 4800*t/146097}function ii(t){return 146097*t/4800; -}function ri(t){var e,n,i=this._milliseconds;if(t=N(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+ni(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ii(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function oi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*x(this._months/12)}function si(t){return function(){return this.as(t)}}function ai(t){return t=N(t),this[t+"s"]()}function hi(t){return function(){return this._data[t]}}function ui(){return w(this.days()/7)}function li(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function ci(t,e,n){var i=je(t).abs(),r=vo(i.as("s")),o=vo(i.as("m")),s=vo(i.as("h")),a=vo(i.as("d")),h=vo(i.as("M")),u=vo(i.as("y")),l=r0,l[4]=n,li.apply(null,l)}function fi(t){return void 0===t?vo:"function"==typeof t&&(vo=t,!0)}function di(t,e){return void 0!==yo[t]&&(void 0===e?yo[t]:(yo[t]=e,!0))}function pi(t){var e=this.localeData(),n=ci(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function mi(){var t,e,n,i=go(this._milliseconds)/1e3,r=go(this._days),o=go(this._months);t=w(i/60),e=w(t/60),i%=60,t%=60,n=w(o/12),o%=12;var s=n,a=o,h=r,u=e,l=t,c=i,f=this.asSeconds();return f?(f<0?"-":"")+"P"+(s?s+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(u||l||c?"T":"")+(u?u+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var vi,yi;yi=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,i=0;i68?1900:2e3)};var yr=j("FullYear",!0);X("w",["ww",2],"wo","week"),X("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),z("week",5),z("isoWeek",5),Q("w",Gi),Q("ww",Gi,Wi),Q("W",Gi),Q("WW",Gi,Wi),it(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=x(t)});var gr={dow:0,doy:6};X("d",0,"do","day"),X("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),X("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),X("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),X("e",0,0,"weekday"),X("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),z("day",11),z("weekday",11),z("isoWeekday",11),Q("d",Gi),Q("e",Gi),Q("E",Gi),Q("dd",function(t,e){return e.weekdaysMinRegex(t)}),Q("ddd",function(t,e){return e.weekdaysShortRegex(t)}),Q("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:d(n).invalidWeekday=t}),it(["d","e","E"],function(t,e,n,i){e[i]=x(t)});var _r="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),br=Ki,Sr=Ki,Tr=Ki;X("H",["HH",2],0,"hour"),X("h",["hh",2],0,Vt),X("k",["kk",2],0,Ut),X("hmm",0,0,function(){return""+Vt.apply(this)+H(this.minutes(),2)}),X("hmmss",0,0,function(){return""+Vt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),X("Hmm",0,0,function(){return""+this.hours()+H(this.minutes(),2)}),X("Hmmss",0,0,function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),Ht("a",!0),Ht("A",!1),I("hour","h"),z("hour",13),Q("a",Xt),Q("A",Xt),Q("H",Gi),Q("h",Gi),Q("HH",Gi,Wi),Q("hh",Gi,Wi),Q("hmm",Bi),Q("hmmss",Vi),Q("Hmm",Bi),Q("Hmmss",Vi),nt(["H","HH"],or),nt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),nt(["h","hh"],function(t,e,n){e[or]=x(t),d(n).bigHour=!0}),nt("hmm",function(t,e,n){var i=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i)),d(n).bigHour=!0}),nt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i,2)),e[ar]=x(t.substr(r)),d(n).bigHour=!0}),nt("Hmm",function(t,e,n){var i=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i))}),nt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i,2)),e[ar]=x(t.substr(r))});var Dr,Mr=/[ap]\.?m?\.?/i,kr=j("Hours",!0),Or={calendar:Di,longDateFormat:Mi,invalidDate:ki,ordinal:Oi,ordinalParse:Ei,relativeTime:Ci,months:dr,monthsShort:pr,week:gr,weekdays:_r,weekdaysMin:xr,weekdaysShort:wr,meridiemParse:Mr},Er={},Cr={},Pr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Lr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Yr=/Z|[+-]\d\d(?::?\d\d)?/,Rr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ar=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ir=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=T("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Nr=T("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=_e.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),zr=function(){return Date.now?Date.now():+new Date};Me("Z",":"),Me("ZZ",""),Q("Z",Ji),Q("ZZ",Ji),nt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=ke(Ji,t)});var Fr=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var jr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Gr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=Se.prototype;var Br=Ue(1,"add"),Vr=Ue(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ur=T("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)});X(0,["gg",2],0,function(){return this.weekYear()%100}),X(0,["GG",2],0,function(){return this.isoWeekYear()%100}),kn("gggg","weekYear"),kn("ggggg","weekYear"),kn("GGGG","isoWeekYear"),kn("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),z("weekYear",1),z("isoWeekYear",1),Q("G",qi),Q("g",qi),Q("GG",Gi,Wi),Q("gg",Gi,Wi),Q("GGGG",Hi,Fi),Q("gggg",Hi,Fi),Q("GGGGG",Xi,ji),Q("ggggg",Xi,ji),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=x(t)}),it(["gg","GG"],function(t,n,i,r){n[r]=e.parseTwoDigitYear(t)}),X("Q",0,"Qo","quarter"),I("quarter","Q"),z("quarter",7),Q("Q",Ni),nt("Q",function(t,e){e[ir]=3*(x(t)-1)}),X("D",["DD",2],"Do","date"),I("date","D"),z("date",9),Q("D",Gi),Q("DD",Gi,Wi),Q("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),nt(["D","DD"],rr),nt("Do",function(t,e){e[rr]=x(t.match(Gi)[0],10)});var Hr=j("Date",!0);X("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),z("dayOfYear",4),Q("DDD",Ui),Q("DDDD",zi),nt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=x(t)}),X("m",["mm",2],0,"minute"),I("minute","m"),z("minute",14),Q("m",Gi),Q("mm",Gi,Wi),nt(["m","mm"],sr);var Xr=j("Minutes",!1);X("s",["ss",2],0,"second"),I("second","s"),z("second",15),Q("s",Gi),Q("ss",Gi,Wi),nt(["s","ss"],ar);var Zr=j("Seconds",!1);X("S",0,0,function(){return~~(this.millisecond()/100)}),X(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),X(0,["SSS",3],0,"millisecond"),X(0,["SSSS",4],0,function(){return 10*this.millisecond()}),X(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),X(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),X(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),X(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),X(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),z("millisecond",16),Q("S",Ui,Ni),Q("SS",Ui,Wi),Q("SSS",Ui,zi);var qr;for(qr="SSSS";qr.length<=9;qr+="S")Q(qr,Zi);for(qr="S";qr.length<=9;qr+="S")nt(qr,In);var $r=j("Milliseconds",!1);X("z",0,0,"zoneAbbr"),X("zz",0,0,"zoneName");var Jr=g.prototype;Jr.add=Br,Jr.calendar=Ze,Jr.clone=qe,Jr.diff=nn,Jr.endOf=vn,Jr.format=hn,Jr.from=un,Jr.fromNow=ln,Jr.to=cn,Jr.toNow=fn,Jr.get=V,Jr.invalidAt=Dn,Jr.isAfter=$e,Jr.isBefore=Je,Jr.isBetween=Qe,Jr.isSame=Ke,Jr.isSameOrAfter=tn,Jr.isSameOrBefore=en,Jr.isValid=Sn,Jr.lang=Ur,Jr.locale=dn,Jr.localeData=pn,Jr.max=Wr,Jr.min=Nr,Jr.parsingFlags=Tn,Jr.set=U,Jr.startOf=mn,Jr.subtract=Vr,Jr.toArray=wn,Jr.toObject=xn,Jr.toDate=_n,Jr.toISOString=sn,Jr.inspect=an,Jr.toJSON=bn,Jr.toString=on,Jr.unix=gn,Jr.valueOf=yn,Jr.creationData=Mn,Jr.year=yr,Jr.isLeapYear=gt,Jr.weekYear=On,Jr.isoWeekYear=En,Jr.quarter=Jr.quarters=Rn,Jr.month=ct,Jr.daysInMonth=ft,Jr.week=Jr.weeks=Ot,Jr.isoWeek=Jr.isoWeeks=Et,Jr.weeksInYear=Pn,Jr.isoWeeksInYear=Cn,Jr.date=Hr,Jr.day=Jr.days=Nt,Jr.weekday=Wt,Jr.isoWeekday=zt,Jr.dayOfYear=An,Jr.hour=Jr.hours=kr,Jr.minute=Jr.minutes=Xr,Jr.second=Jr.seconds=Zr,Jr.millisecond=Jr.milliseconds=$r,Jr.utcOffset=Ce,Jr.utc=Le,Jr.local=Ye,Jr.parseZone=Re,Jr.hasAlignedHourOffset=Ae,Jr.isDST=Ie,Jr.isLocal=We,Jr.isUtcOffset=ze,Jr.isUtc=Fe,Jr.isUTC=Fe,Jr.zoneAbbr=Nn,Jr.zoneName=Wn,Jr.dates=T("dates accessor is deprecated. Use date instead.",Hr),Jr.months=T("months accessor is deprecated. Use month instead",ct),Jr.years=T("years accessor is deprecated. Use year instead",yr),Jr.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jr.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ne);var Qr=E.prototype;Qr.calendar=C,Qr.longDateFormat=P,Qr.invalidDate=L,Qr.ordinal=Y,Qr.preparse=jn,Qr.postformat=jn,Qr.relativeTime=R,Qr.pastFuture=A,Qr.set=k,Qr.months=st,Qr.monthsShort=at,Qr.monthsParse=ut,Qr.monthsRegex=pt,Qr.monthsShortRegex=dt,Qr.week=Dt,Qr.firstDayOfYear=kt,Qr.firstDayOfWeek=Mt,Qr.weekdays=Lt,Qr.weekdaysMin=Rt,Qr.weekdaysShort=Yt,Qr.weekdaysParse=It,Qr.weekdaysRegex=Ft,Qr.weekdaysShortRegex=jt,Qr.weekdaysMinRegex=Gt,Qr.isPM=Zt,Qr.meridiem=qt,Kt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===x(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),e.lang=T("moment.lang is deprecated. Use moment.locale instead.",Kt),e.langData=T("moment.langData is deprecated. Use moment.localeData instead.",ne);var Kr=Math.abs,to=si("ms"),eo=si("s"),no=si("m"),io=si("h"),ro=si("d"),oo=si("w"),so=si("M"),ao=si("y"),ho=hi("milliseconds"),uo=hi("seconds"),lo=hi("minutes"),co=hi("hours"),fo=hi("days"),po=hi("months"),mo=hi("years"),vo=Math.round,yo={s:45,m:45,h:22,d:26,M:11},go=Math.abs,_o=Se.prototype;return _o.abs=$n,_o.add=Qn,_o.subtract=Kn,_o.as=ri,_o.asMilliseconds=to,_o.asSeconds=eo,_o.asMinutes=no,_o.asHours=io,_o.asDays=ro,_o.asWeeks=oo,_o.asMonths=so,_o.asYears=ao,_o.valueOf=oi,_o._bubble=ei,_o.get=ai,_o.milliseconds=ho,_o.seconds=uo,_o.minutes=lo,_o.hours=co,_o.days=fo,_o.weeks=ui,_o.months=po,_o.years=mo,_o.humanize=pi,_o.toISOString=mi,_o.toString=mi,_o.toJSON=mi,_o.locale=dn,_o.localeData=pn,_o.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mi),_o.lang=Ur,X("X",0,0,"unix"),X("x",0,0,"valueOf"),Q("x",qi),Q("X",Qi),nt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),nt("x",function(t,e,n){n._d=new Date(x(t))}),e.version="2.17.1",n(_e),e.fn=Jr,e.min=xe,e.max=be,e.now=zr,e.utc=c,e.unix=zn,e.months=Un,e.isDate=a,e.locale=Kt,e.invalid=m,e.duration=je,e.isMoment=_,e.weekdays=Xn,e.parseZone=Fn,e.localeData=ne,e.isDuration=Te,e.monthsShort=Hn,e.weekdaysMin=qn,e.defineLocale=te,e.updateLocale=ee,e.locales=ie,e.weekdaysShort=Zn,e.normalizeUnits=N,e.relativeTimeRounding=fi,e.relativeTimeThreshold=di,e.calendarFormat=Xe,e.prototype=Jr,e})}).call(e,n(86)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function n(t){throw new Error("Cannot find module '"+t+"'.")}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id=87},function(t,e){(function(e){function n(t,e,n){var i=e&&n||0,r=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){r<16&&(e[i+r++]=c[t])});r<16;)e[i+r++]=0;return e}function i(t,e){var n=e||0,i=l;return i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]}function r(t,e,n){var r=e&&n||0,o=e||[];t=t||{};var s=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:y+1,u=a-v+(h-y)/1e4;if(u<0&&void 0===t.clockseq&&(s=s+1&16383),(u<0||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,y=h,m=s,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;o[r++]=l>>>24&255,o[r++]=l>>>16&255,o[r++]=l>>>8&255,o[r++]=255&l;var c=a/4294967296*1e4&268435455;o[r++]=c>>>8&255,o[r++]=255&c,o[r++]=c>>>24&15|16,o[r++]=c>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(var f=t.node||p,d=0;d<6;d++)o[r+d]=f[d];return e?e:i(o)}function o(t,e,n){var r=e&&n||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var o=t.random||(t.rng||s)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e)for(var a=0;a<16;a++)e[r+a]=o[a];return e||i(o)}var s,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);s=function(){return crypto.getRandomValues(h),h}}if(!s){var u=new Array(16);s=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),u[e]=t>>>((3&e)<<3)&255;return u}}for(var l=[],c={},f=0;f<256;f++)l[f]=(f+256).toString(16).substr(1),c[l[f]]=f;var d=s(),p=[1|d[0],d[1],d[2],d[3],d[4],d[5]],m=16383&(d[6]<<8|d[7]),v=0,y=0,g=o;g.v1=r,g.v4=o,g.parse=n,g.unparse=i,t.exports=g}).call(e,function(){return this}())},function(t,e){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 n=0;n0?(i=e[t].redundant[0],e[t].redundant.shift()):(i=document.createElementNS("http://www.w3.org/2000/svg",t),n.appendChild(i)):(i=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},n.appendChild(i)),e[t].used.push(i),i},e.getDOMElement=function(t,e,n,i){var r;return e.hasOwnProperty(t)?e[t].redundant.length>0?(r=e[t].redundant[0],e[t].redundant.shift()):(r=document.createElement(t),void 0!==i?n.insertBefore(r,i):n.appendChild(r)):(r=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==i?n.insertBefore(r,i):n.appendChild(r)),e[t].used.push(r),r},e.drawPoint=function(t,n,i,r,o,s){var a;if("circle"==i.style?(a=e.getSVGElement("circle",r,o),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",n),a.setAttributeNS(null,"r",.5*i.size)):(a=e.getSVGElement("rect",r,o),a.setAttributeNS(null,"x",t-.5*i.size),a.setAttributeNS(null,"y",n-.5*i.size),a.setAttributeNS(null,"width",i.size),a.setAttributeNS(null,"height",i.size)),void 0!==i.styles&&a.setAttributeNS(null,"style",i.styles),a.setAttributeNS(null,"class",i.className+" vis-point"),s){var h=e.getSVGElement("text",r,o);s.xOffset&&(t+=s.xOffset),s.yOffset&&(n+=s.yOffset),s.content&&(h.textContent=s.content),s.className&&h.setAttributeNS(null,"class",s.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",n)}return a},e.drawBar=function(t,n,i,r,o,s,a,h){if(0!=r){r<0&&(r*=-1,n-=r);var u=e.getSVGElement("rect",s,a);u.setAttributeNS(null,"x",t-.5*i),u.setAttributeNS(null,"y",n),u.setAttributeNS(null,"width",i),u.setAttributeNS(null,"height",r),u.setAttributeNS(null,"class",o),h&&u.setAttributeNS(null,"style",h)}}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(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 n=(0,l.default)(this._options.type),i=0,r=n.length;ir?1:is)&&(o=h,s=u)}return o},r.prototype.min=function(t){var e,n,i=this._data,r=(0,l.default)(i),o=null,s=null;for(e=0,n=r.length;ethis.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)}},n.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var n=this;this.listener=function(){n._onEvent.apply(n,arguments)},this.setData(t)}var o=n(58),s=i(o),a=n(1),h=n(90);r.prototype.setData=function(t){var e,n,i,r,o;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),o=[],i=0,r=e.length;i0&&(h[r-1].pointNext=s),h.push(s);return h},i.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,n=function(t){e._onMouseDown(t)},i=function(t){e._onTouchStart(t)},r=function(t){e._onWheel(t)},o=function(t){e._onTooltip(t)},s=function(t){e._onClick(t)};u.addEventListener(this.frame.canvas,"keydown",onkeydown),u.addEventListener(this.frame.canvas,"mousedown",n),u.addEventListener(this.frame.canvas,"touchstart",i),u.addEventListener(this.frame.canvas,"mousewheel",r),u.addEventListener(this.frame.canvas,"mousemove",o),u.addEventListener(this.frame.canvas,"click",s),this.containerElement.appendChild(this.frame)},i.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},i.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},i.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},i.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},i.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},i.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},i.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},i.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},i.prototype.setOptions=function(t){this.animationStop(),v.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},i.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case i.STYLE.BAR:t=i.prototype._redrawBarGraphPoint;break;case i.STYLE.BARCOLOR:t=i.prototype._redrawBarColorGraphPoint;break;case i.STYLE.BARSIZE:t=i.prototype._redrawBarSizeGraphPoint;break;case i.STYLE.DOT:t=i.prototype._redrawDotGraphPoint;break;case i.STYLE.DOTLINE:t=i.prototype._redrawDotLineGraphPoint;break;case i.STYLE.DOTCOLOR:t=i.prototype._redrawDotColorGraphPoint;break;case i.STYLE.DOTSIZE:t=i.prototype._redrawDotSizeGraphPoint;break;case i.STYLE.SURFACE:t=i.prototype._redrawSurfaceGraphPoint;break;case i.STYLE.GRID:t=i.prototype._redrawGridGraphPoint;break;case i.STYLE.LINE:t=i.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},i.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},i.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},i.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},i.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},i.prototype._getLegendWidth=function(){var t;if(this.style===i.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===i.STYLE.BARSIZE?this.xBarWidth:20;return t},i.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==i.STYLE.LINE&&this.style!==i.STYLE.BARSIZE){var t=this.style===i.STYLE.BARSIZE||this.style===i.STYLE.DOTSIZE,e=this.style===i.STYLE.DOTSIZE||this.style===i.STYLE.DOTCOLOR||this.style===i.STYLE.BARCOLOR,n=Math.max(.25*this.frame.clientHeight,100),r=this.margin,o=this._getLegendWidth(),s=this.frame.clientWidth-this.margin,a=s-o,h=r+n,u=this._getContext();if(u.lineWidth=1,u.font="14px arial",t===!1){var l,f=0,d=n;for(l=f;l0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},i.prototype.drawAxisLabelY=function(t,e,n,i,r){void 0===r&&(r=0);var o=this._convert3Dto2D(e);Math.cos(2*i)<0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},i.prototype.drawAxisLabelZ=function(t,e,n,i){void 0===i&&(i=0);var r=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(n,r.x-i,r.y)},i.prototype._line3d=function(t,e,n,i){var r=this._convert3Dto2D(e),o=this._convert3Dto2D(n);this._line(t,r,o,i)},i.prototype._redrawAxis=function(){var t,e,n,i,r,o,s,a,h,u,f,d=this._getContext();d.font=24/this.camera.getArmLength()+"px arial";var m=.025/this.scale.x,v=.025/this.scale.y,y=5/this.camera.getArmLength(),g=this.camera.getArmRotation().horizontal,_=new c(Math.cos(g),Math.sin(g)),w=this.xRange,x=this.yRange,b=this.zRange;for(d.lineWidth=1,i=void 0===this.defaultXStep,n=new p(w.min,w.max,this.xStep,i),n.start(!0);!n.end();){var S=n.getCurrent();this.showGrid?(t=new l(S,x.min,b.min),e=new l(S,x.max,b.min),this._line3d(d,t,e,this.gridColor)):(t=new l(S,x.min,b.min),e=new l(S,x.min+m,b.min),this._line3d(d,t,e,this.axisColor),t=new l(S,x.max,b.min),e=new l(S,x.max-m,b.min),this._line3d(d,t,e,this.axisColor)),s=_.x>0?x.min:x.max;var T=new l(S,s,b.min),D=" "+this.xValueLabel(S)+" ";this.drawAxisLabelX(d,T,D,g,y),n.next()}for(d.lineWidth=1,i=void 0===this.defaultYStep,n=new p(x.min,x.max,this.yStep,i),n.start(!0);!n.end();){var M=n.getCurrent();this.showGrid?(t=new l(w.min,M,b.min),e=new l(w.max,M,b.min),this._line3d(d,t,e,this.gridColor)):(t=new l(w.min,M,b.min),e=new l(w.min+v,M,b.min),this._line3d(d,t,e,this.axisColor),t=new l(w.max,M,b.min),e=new l(w.max-v,M,b.min),this._line3d(d,t,e,this.axisColor)),o=_.y>0?w.min:w.max,T=new l(o,M,b.min);var D=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(d,T,D,g,y),n.next()}for(d.lineWidth=1,i=void 0===this.defaultZStep,n=new p(b.min,b.max,this.zStep,i),n.start(!0),o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max;!n.end();){var k=n.getCurrent(),O=new l(o,s,k),E=this._convert3Dto2D(O);e=new c(E.x-y,E.y),this._line(d,E,e,this.axisColor);var D=this.zValueLabel(k)+" ";this.drawAxisLabelZ(d,O,D,5),n.next()}d.lineWidth=1,t=new l(o,s,b.min),e=new l(o,s,b.max),this._line3d(d,t,e,this.axisColor);var C,P;d.lineWidth=1,C=new l(w.min,x.min,b.min),P=new l(w.max,x.min,b.min),this._line3d(d,C,P,this.axisColor),C=new l(w.min,x.max,b.min),P=new l(w.max,x.max,b.min),this._line3d(d,C,P,this.axisColor),d.lineWidth=1,t=new l(w.min,x.min,b.min),e=new l(w.min,x.max,b.min),this._line3d(d,t,e,this.axisColor),t=new l(w.max,x.min,b.min),e=new l(w.max,x.max,b.min),this._line3d(d,t,e,this.axisColor);var L=this.xLabel;L.length>0&&(f=.1/this.scale.y,o=(w.max+3*w.min)/4,s=_.x>0?x.min-f:x.max+f,r=new l(o,s,b.min),this.drawAxisLabelX(d,r,L,g));var Y=this.yLabel;Y.length>0&&(u=.1/this.scale.x,o=_.y>0?w.min-u:w.max+u,s=(x.max+3*x.min)/4,r=new l(o,s,b.min),this.drawAxisLabelY(d,r,Y,g));var R=this.zLabel;R.length>0&&(h=30,o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max,a=(b.max+3*b.min)/4,r=new l(o,s,a),this.drawAxisLabelZ(d,r,R,h))},i.prototype._hsv2rgb=function(t,e,n){var i,r,o,s,a,h;switch(s=n*e,a=Math.floor(t/60),h=s*(1-Math.abs(t/60%2-1)),a){case 0:i=s,r=h,o=0;break;case 1:i=h,r=s,o=0;break;case 2:i=0,r=s,o=h;break;case 3:i=0,r=h,o=s;break;case 4:i=h,r=0,o=s;break;case 5:i=s,r=0,o=h;break;default:i=0,r=0,o=0}return"RGB("+parseInt(255*i)+","+parseInt(255*r)+","+parseInt(255*o)+")"},i.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},i.prototype._redrawBar=function(t,e,n,i,r,o){var s,a,h=this,u=e.point,c=this.zRange.min,f=[{point:new l(u.x-n,u.y-i,u.z)},{point:new l(u.x+n,u.y-i,u.z)},{point:new l(u.x+n,u.y+i,u.z)},{point:new l(u.x-n,u.y+i,u.z)}],d=[{point:new l(u.x-n,u.y-i,c)},{point:new l(u.x+n,u.y-i,c)},{point:new l(u.x+n,u.y+i,c)},{point:new l(u.x-n,u.y+i,c)}];f.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),d.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var p=[{corners:f,center:l.avg(d[0].point,d[2].point)},{corners:[f[0],f[1],d[1],d[0]],center:l.avg(d[1].point,d[0].point)},{corners:[f[1],f[2],d[2],d[1]],center:l.avg(d[2].point,d[1].point)},{corners:[f[2],f[3],d[3],d[2]],center:l.avg(d[3].point,d[2].point)},{corners:[f[3],f[0],d[0],d[3]],center:l.avg(d[0].point,d[3].point)}];for(e.surfaces=p,s=0;s0}if(a){var d,p=(e.point.z+n.point.z+i.point.z+r.point.z)/4,m=240*(1-(p-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(d=Math.min(1+c.x/f/2,1),o=this._hsv2rgb(m,v,d),s=o):(d=1,o=this._hsv2rgb(m,v,d),s=this.axisColor)}else o="gray",s=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var y=[e,n,r,i];this._polygon(t,y,o,s)}},i.prototype._drawGridLine=function(t,e,n){if(void 0!==e&&void 0!==n){var i=(e.point.z+n.point.z)/2,r=240*(1-(i-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(r,1,1),this._line(t,e.screen,n.screen)}},i.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},i.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},i.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var i=e[0],r=e[1],o=e[2],s=n((r.x-i.x)*(t.y-i.y)-(r.y-i.y)*(t.x-i.x)),a=n((o.x-r.x)*(t.y-r.y)-(o.y-r.y)*(t.x-r.x)),h=n((i.x-o.x)*(t.y-o.y)-(i.y-o.y)*(t.x-o.x));return!(0!=s&&0!=a&&s!=a||0!=a&&0!=h&&a!=h||0!=s&&0!=h&&s!=h)},i.prototype._dataPointFromXY=function(t,e){var n,r=100,o=null,s=null,a=null,h=new c(t,e);if(this.style===i.STYLE.BAR||this.style===i.STYLE.BARCOLOR||this.style===i.STYLE.BARSIZE)for(n=this.dataPoints.length-1;n>=0;n--){o=this.dataPoints[n];var u=o.surfaces;if(u)for(var l=u.length-1;l>=0;l--){var f=u[l],d=f.corners,p=[d[0].screen,d[1].screen,d[2].screen],m=[d[2].screen,d[3].screen,d[0].screen];if(this._insideTriangle(h,p)||this._insideTriangle(h,m))return o}}else for(n=0;n"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(n),this.frame.appendChild(i);var r=e.offsetWidth,o=e.offsetHeight,s=n.offsetHeight,a=i.offsetWidth,h=i.offsetHeight,u=t.screen.x-r/2;u=Math.min(Math.max(u,10),this.frame.clientWidth-10-r),n.style.left=t.screen.x+"px",n.style.top=t.screen.y-s+"px",e.style.left=u+"px",e.style.top=t.screen.y-s-o+"px",i.style.left=t.screen.x-a/2+"px",i.style.top=t.screen.y-h/2+"px"},i.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)}}},i.prototype.setCameraPosition=function(t){v.setCameraPosition(t,this),this.redraw()},i.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=i},function(t,e){function n(t){if(t)return i(t)}function i(t){for(var e in n.prototype)t[e]=n.prototype[e];return t}t.exports=n,n.prototype.on=n.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},n.prototype.once=function(t,e){function n(){i.off(t,n),e.apply(this,arguments)}var i=this;return this._callbacks=this._callbacks||{},n.fn=e,this.on(t,n),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks[t];if(!n)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var i,r=0;ro&&(t=i(t)*o),n(e)>o&&(e=i(e)*o),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},r.prototype.getOffset=function(t,e){return this.cameraOffset},r.prototype.setArmLocation=function(t,e,n){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=n,this.calculateCameraOrientation()},r.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()},r.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},r.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},r.prototype.getArmLength=function(){return this.armLength},r.prototype.getCameraLocation=function(){return this.cameraLocation},r.prototype.getCameraRotation=function(){return this.cameraRotation},r.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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),n=this.cameraOffset.x,i=this.cameraOffset.y,r=Math.sin,o=Math.cos;this.cameraLocation.x=this.cameraLocation.x+n*o(e)+i*-r(e)*o(t),this.cameraLocation.y=this.cameraLocation.y+n*r(e)+i*o(e)*o(t),this.cameraLocation.z=this.cameraLocation.z+i*r(t)},t.exports=r},function(t,e,n){t.exports={default:n(99),__esModule:!0}},function(t,e,n){n(100),t.exports=n(17).Math.sign},function(t,e,n){var i=n(15);i(i.S,"Math",{sign:n(101)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){function i(t,e,n){this.data=t,this.column=e,this.graph=n,this.index=void 0,this.value=void 0,this.values=n.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:t0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,n.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var r=n(92);i.prototype.isLoaded=function(){return this.loaded},i.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},i.prototype.getLabel=function(){return this.graph.filterLabel},i.prototype.getColumn=function(){return this.column},i.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},i.prototype.getValues=function(){return this.values},i.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},i.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 n={};n.column=this.column,n.value=this.values[t];var i=new r(this.data,{filter:function(t){return t[n.column]==n.value}}).get();e=this.graph._getDataPoints(i),this.dataPoints[t]=e}return e},i.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},i.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},i.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},i.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},i.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(i=this.values.length-1),i},i.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,n=t/(this.values.length-1)*e,i=n+3;return i},i.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,n=this.startSlideX+e,i=this.leftToIndex(n);this.setIndex(i),r.preventDefault()},i.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",r.removeEventListener(document,"mousemove",this.onmousemove),r.removeEventListener(document,"mouseup",this.onmouseup),r.preventDefault()},t.exports=i},function(t,e){function n(t,e,n,i){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,n,i)}n.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},n.prototype.setRange=function(t,e,n,i){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(n))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(n,i)},n.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=n.calculatePrettyStep(t):this._step=t)},n.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},n=Math.pow(10,Math.round(e(t))),i=2*Math.pow(10,Math.round(e(t/2))),r=5*Math.pow(10,Math.round(e(t/5))),o=n;return Math.abs(i-t)<=Math.abs(o-t)&&(o=i),Math.abs(r-t)<=Math.abs(o-t)&&(o=r),o<=0&&(o=1),o},n.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},n.prototype.getStep=function(){return this._step},n.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=n},function(t,e){function n(){this.min=void 0,this.max=void 0}n.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxn)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=n}},n.prototype.range=function(){return this.max-this.min},n.prototype.center=function(){return(this.min+this.max)/2},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function o(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+o(e)}function a(t,e,n,i){var r,o;for(var a in n)r=n[a],o=s(i,r),e[o]=t[r]}function h(t,e,n,i){var r,o;for(var a in n)r=n[a],void 0!==t[r]&&(o=s(i,r),e[o]=t[r])}function u(t,e){if(void 0===t||r(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");k=t,a(t,e,D),a(t,e,M,"default"),c(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new b(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===k||r(k))throw new Error("DEFAULTS not set for module Settings");h(t,e,D),h(t,e,M,"default"),c(t,e)}}function c(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),y(t.dataColor,e),m(t.style,e),f(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick)}function f(t,e){if(void 0===t){var n=void 0===k.showLegend;if(n){var i=e.style===S.DOTCOLOR||e.style===S.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function d(t){var e=T[t];return void 0===e?-1:e}function p(t){var e=!1;for(var n in S)if(S[n]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var n;if("string"==typeof t){if(n=d(t),n===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");n=t}e.style=n}}function v(t,e){var n="white",i="gray",r=1;if("string"==typeof t)n=t,i="none",r=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,w.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(n=t.fill),void 0!==t.stroke&&(i=t.stroke),void 0!==t.strokeWidth&&(r=t.strokeWidth)}e.frame.style.backgroundColor=n,e.frame.style.borderColor=i,e.frame.style.borderWidth=r+"px",e.frame.style.borderStyle="solid"}function y(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var n=t;void 0!==n&&(void 0===e.camera&&(e.camera=new x),e.camera.setArmRotation(n.horizontal,n.vertical),e.camera.setArmLength(n.distance))}var _=n(62),w=i(_),x=n(97),b=n(95),S={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},T={dot:S.DOT,"dot-line":S.DOTLINE,"dot-color":S.DOTCOLOR,"dot-size":S.DOTSIZE,line:S.LINE,grid:S.GRID,surface:S.SURFACE,bar:S.BAR,"bar-color":S.BARCOLOR,"bar-size":S.BARSIZE},D=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],M=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],k=void 0;t.exports.STYLE=S,t.exports.setDefaults=u,t.exports.setOptions=l,t.exports.setCameraPosition=g},function(t,e,n){if("undefined"!=typeof window){var i=n(108),r=window.Hammer||n(109);t.exports=i(r,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,n){var i,r,o;!function(n){r=[],i=n,o="function"==typeof i?i.apply(e,r):i,!(void 0!==o&&(t.exports=o))}(function(){var t=null;return function e(n,i){function r(t){return t.match(/[^ ]+/g)}function o(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 n=!1;e.stopPropagation=function(){n=!0};var i=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof i&&(e.srcEvent.stopPropagation=function(){i(),e.stopPropagation()}),e.firstTarget=t;for(var r=t;r&&!n;){var o=r.hammer;if(o)for(var s,a=0;a0?u._handlers[t]=i:(n.off(t,o),delete u._handlers[t]))}),u},u.emit=function(e,i){t=i.target,n.emit(e,i)},u.destroy=function(){var t=n.element.hammer,e=t.indexOf(u);e!==-1&&t.splice(e,1),t.length||delete n.element.hammer,u._handlers={},n.destroy()},u}})},function(t,e,n){var i;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"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(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){e.util=n(1),e.DOMutil=n(87),e.DataSet=n(88),e.DataView=n(92),e.Queue=n(91),e.Graph3d=n(93),e.graph3d={Camera:n(101),Filter:n(106),Point2d:n(100),Point3d:n(99),Slider:n(107),StepNumber:n(108)},e.moment=n(82),e.Hammer=n(111),e.keycharm=n(114)},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}var r=n(2),o=i(r),s=n(55),a=i(s),h=n(58),u=i(h),l=n(62),c=i(l),f=n(82),d=n(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)e.recursiveDOMDelete(t.firstChild),t.removeChild(t.firstChild)},e.giveRange=function(t,e,n,i){if(e==t)return.5;var r=1/(e-t);return Math.max(0,(i-t)*r)},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 n=p.exec(t);if(n)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return d.v4()},e.assignAllKeys=function(t,e){for(var n in t)t.hasOwnProperty(n)&&"object"!==(0,c.default)(t[n])&&(t[n]=e)},e.fillIfDefined=function(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var r in t)void 0!==n[r]&&("object"!==(0,c.default)(n[r])?void 0!==n[r]&&null!==n[r]||void 0===t[r]||i!==!0?t[r]=n[r]:delete t[r]:"object"===(0,c.default)(t[r])&&e.fillIfDefined(t[r],n[r],i))},e.protoExtend=function(t,e){for(var n=1;n3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o=2;o3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(i))throw new TypeError("Arrays are not supported by deepExtend");for(var o in i)if(i.hasOwnProperty(o)&&t.indexOf(o)==-1)if(i[o]&&i[o].constructor===Object)void 0===n[o]&&(n[o]={}),n[o].constructor===Object?e.deepExtend(n[o],i[o]):null===i[o]&&void 0!==n[o]&&r===!0?delete n[o]:n[o]=i[o];else if(Array.isArray(i[o])){n[o]=[];for(var s=0;s=0&&(e="DOMMouseScroll"),t.addEventListener(e,n,i)):t.attachEvent("on"+e,n)},e.removeEventListener=function(t,e,n,i){t.removeEventListener?(void 0===i&&(i=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,n,i)):t.detachEvent("on"+e,n)},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 n=t;n;){if(n===e)return!0;n=n.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,n){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":n||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,n,i){return e+e+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null},e.overrideOpacity=function(t,n){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){var i=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+n+")"}var i=e.hexToRGB(t);return null==i?t:"rgba("+i.r+","+i.g+","+i.b+","+n+")"},e.RGBToHex=function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},e.parseColor=function(t){var n;if(e.isString(t)===!0){if(e.isValidRGB(t)===!0){var i=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(i[0],i[1],i[2])}if(e.isValidHex(t)===!0){var r=e.hexToHSV(t),o={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},s={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},a=e.HSVToHex(s.h,s.s,s.v),h=e.HSVToHex(o.h,o.s,o.v);n={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else n={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else n={},n.background=t.background||void 0,n.border=t.border||void 0,e.isString(t.highlight)?n.highlight={border:t.highlight,background:t.highlight}:(n.highlight={},n.highlight.background=t.highlight&&t.highlight.background||void 0,n.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?n.hover={border:t.hover,background:t.hover}:(n.hover={},n.hover.background=t.hover&&t.hover.background||void 0,n.hover.border=t.hover&&t.hover.border||void 0);return n},e.RGBToHSV=function(t,e,n){t/=255,e/=255,n/=255;var i=Math.min(t,Math.min(e,n)),r=Math.max(t,Math.max(e,n));if(i==r)return{h:0,s:0,v:i};var o=t==i?e-n:n==i?t-e:n-t,s=t==i?3:n==i?1:5,a=60*(s-o/(r-i))/360,h=(r-i)/r,u=r;return{h:a,s:h,v:u}};var m={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var n=t.split(":"),i=n[0].trim(),r=n[1].trim();e[i]=r}}),e},join:function(t){return(0,u.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,n){var i=m.split(t.style.cssText),r=m.split(n),o=e.extend(i,r);t.style.cssText=m.join(o)},e.removeCssText=function(t,e){var n=m.split(t.style.cssText),i=m.split(e);for(var r in i)i.hasOwnProperty(r)&&delete n[r];t.style.cssText=m.join(n)},e.HSVToRGB=function(t,e,n){var i,r,o,s=Math.floor(6*t),a=6*t-s,h=n*(1-e),u=n*(1-a*e),l=n*(1-(1-a)*e);switch(s%6){case 0:i=n,r=l,o=h;break;case 1:i=u,r=n,o=h;break;case 2:i=h,r=n,o=l;break;case 3:i=h,r=u,o=n;break;case 4:i=l,r=h,o=n;break;case 5:i=n,r=h,o=u}return{r:Math.floor(255*i),g:Math.floor(255*r),b:Math.floor(255*o)}},e.HSVToHex=function(t,n,i){var r=e.HSVToRGB(t,n,i);return e.RGBToHex(r.r,r.g,r.b)},e.hexToHSV=function(t){var n=e.hexToRGB(t);return e.RGBToHSV(n.r,n.g,n.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,n){if("object"==("undefined"==typeof n?"undefined":(0,c.default)(n))){for(var i=(0,a.default)(n),r=0;r0&&e(i,t[r-1])<0;r--)t[r]=t[r-1];t[r]=i}return t},e.mergeOptions=function(t,e,n){var i=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[n])t[n]=(0,a.default)(i[n]);else if(void 0!==e[n])if("boolean"==typeof e[n])t[n].enabled=e[n];else{void 0===e[n].enabled&&(t[n].enabled=!0);for(var r in e[n])e[n].hasOwnProperty(r)&&(t[n][r]=e[n][r])}},e.binarySearchCustom=function(t,e,n,i){for(var r=1e4,o=0,s=0,a=t.length-1;s<=a&&o0)return"before"==i?Math.max(0,h-1):h;if(r(s,e)<0&&r(a,e)>0)return"before"==i?h:Math.min(t.length-1,h+1);r(s,e)<0?c=h+1:f=h-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;return n==i&&(i=e.clientWidth),document.body.removeChild(e),n-i},e.topMost=function(t,e){var n=void 0;Array.isArray(e)||(e=[e]);var i=!0,r=!1,s=void 0;try{for(var a,h=(0,o.default)(t);!(i=(a=h.next()).done);i=!0){var u=a.value;if(u){n=u[e[0]];for(var l=1;l=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,n){var i=n(10),r=n(12);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var i=n(14),r=n(15),o=n(30),s=n(20),a=n(31),h=n(8),u=n(32),l=n(46),c=n(48),f=n(47)("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",m="keys",v="values",y=function(){return this};t.exports=function(t,e,n,g,_,w,x){u(n,e,g);var b,S,T,D=function(t){if(!d&&t in E)return E[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},M=e+" Iterator",k=_==v,O=!1,E=t.prototype,C=E[f]||E[p]||_&&E[_],P=C||D(_),L=_?k?D("entries"):P:void 0,Y="Array"==e?E.entries||C:C;if(Y&&(T=c(Y.call(new t)),T!==Object.prototype&&(l(T,M,!0),i||a(T,f)||s(T,f,y))),k&&C&&C.name!==v&&(O=!0,P=function(){return C.call(this)}),i&&!x||!d&&!O&&E[f]||s(E,f,P),h[e]=P,h[M]=y,_)if(b={values:k?P:D(v),keys:w?P:D(m),entries:L},x)for(S in b)S in E||o(E,S,b[S]);else r(r.P+r.F*(d||O),e,b);return b}},function(t,e){t.exports=!0},function(t,e,n){var i=n(16),r=n(17),o=n(18),s=n(20),a="prototype",h=function(t,e,n){var u,l,c,f=t&h.F,d=t&h.G,p=t&h.S,m=t&h.P,v=t&h.B,y=t&h.W,g=d?r:r[e]||(r[e]={}),_=g[a],w=d?i:p?i[e]:(i[e]||{})[a];d&&(n=e);for(u in n)l=!f&&w&&void 0!==w[u],l&&u in g||(c=l?w[u]:n[u],g[u]=d&&"function"!=typeof w[u]?n[u]:v&&l?o(c,i):y&&w[u]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e[a]=t[a],e}(c):m&&"function"==typeof c?o(Function.call,c):c,m&&((g.virtual||(g.virtual={}))[u]=c,t&h.R&&_&&!_[u]&&s(_,u,c)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(19);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var i=n(21),r=n(29);t.exports=n(25)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(22),r=n(24),o=n(28),s=Object.defineProperty;e.f=n(25)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(23);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(25)&&!n(26)(function(){return 7!=Object.defineProperty(n(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){t.exports=!n(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(23),r=n(16).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){var i=n(23);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){t.exports=n(20)},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(33),r=n(29),o=n(46),s={};n(20)(s,n(47)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var i=n(22),r=n(34),o=n(44),s=n(41)("IE_PROTO"),a=function(){},h="prototype",u=function(){var t,e=n(27)("iframe"),i=o.length,r="<",s=">";for(e.style.display="none",n(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+s+"document.F=Object"+r+"/script"+s),t.close(),u=t.F;i--;)delete u[h][o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[h]=i(t),n=new a,a[h]=null,n[s]=t):n=u(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(21),r=n(22),o=n(35);t.exports=n(25)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),a=s.length,h=0;a>h;)i.f(t,n=s[h++],e[n]);return t}},function(t,e,n){var i=n(36),r=n(44);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(31),r=n(9),o=n(37)(!1),s=n(41)("IE_PROTO");t.exports=function(t,e){var n,a=r(t),h=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;e.length>h;)i(a,n=e[h++])&&(~o(u,n)||u.push(n));return u}},function(t,e,n){var i=n(9),r=n(38),o=n(40);t.exports=function(t){return function(e,n,s){var a,h=i(e),u=r(h.length),l=o(s,u);if(t&&n!=n){for(;u>l;)if(a=h[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in h)&&h[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var i=n(39),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(39),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(42)("keys"),r=n(43);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16),r="__core-js_shared__",o=i[r]||(i[r]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){t.exports=n(16).document&&document.documentElement},function(t,e,n){var i=n(21).f,r=n(31),o=n(47)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(42)("wks"),r=n(43),o=n(16).Symbol,s="function"==typeof o,a=t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))};a.store=i},function(t,e,n){var i=n(31),r=n(49),o=n(41)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(12);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(51)(!0);n(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var i=n(39),r=n(12);t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),h=i(n),u=a.length;return h<0||h>=u?t?"":void 0:(o=a.charCodeAt(h),o<55296||o>56319||h+1===u||(s=a.charCodeAt(h+1))<56320||s>57343?t?a.charAt(h):o:t?a.slice(h,h+2):(o-55296<<10)+(s-56320)+65536)}}},function(t,e,n){var i=n(22),r=n(53);t.exports=n(17).getIterator=function(t){var e=r(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return i(e.call(t))}},function(t,e,n){var i=n(54),r=n(47)("iterator"),o=n(8);t.exports=n(17).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t["@@iterator"]||o[i(t)]}},function(t,e,n){var i=n(11),r=n(47)("toStringTag"),o="Arguments"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),r))?n:o?i(e):"Object"==(a=i(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){t.exports={default:n(56),__esModule:!0}},function(t,e,n){n(57);var i=n(17).Object;t.exports=function(t,e){return i.create(t,e)}},function(t,e,n){var i=n(15);i(i.S,"Object",{create:n(33)})},function(t,e,n){t.exports={default:n(59),__esModule:!0}},function(t,e,n){n(60),t.exports=n(17).Object.keys},function(t,e,n){var i=n(49),r=n(35);n(61)("keys",function(){return function(t){return r(i(t))}})},function(t,e,n){var i=n(15),r=n(17),o=n(26);t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],s={};s[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",s)}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(63),o=i(r),s=n(66),a=i(s),h="function"==typeof a.default&&"symbol"==typeof o.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(o.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,n){t.exports={default:n(64),__esModule:!0}},function(t,e,n){n(50),n(4),t.exports=n(65).f("iterator")},function(t,e,n){e.f=n(47)},function(t,e,n){t.exports={default:n(67),__esModule:!0}},function(t,e,n){n(68),n(79),n(80),n(81),t.exports=n(17).Symbol},function(t,e,n){var i=n(16),r=n(31),o=n(25),s=n(15),a=n(30),h=n(69).KEY,u=n(26),l=n(42),c=n(46),f=n(43),d=n(47),p=n(65),m=n(70),v=n(71),y=n(72),g=n(75),_=n(22),w=n(9),x=n(28),b=n(29),S=n(33),T=n(76),D=n(78),M=n(21),k=n(35),O=D.f,E=M.f,C=T.f,P=i.Symbol,L=i.JSON,Y=L&&L.stringify,R="prototype",A=d("_hidden"),I=d("toPrimitive"),W={}.propertyIsEnumerable,N=l("symbol-registry"),z=l("symbols"),F=l("op-symbols"),j=Object[R],G="function"==typeof P,B=i.QObject,V=!B||!B[R]||!B[R].findChild,U=o&&u(function(){return 7!=S(E({},"a",{get:function(){return E(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=O(j,e);i&&delete j[e],E(t,e,n),i&&t!==j&&E(j,e,i)}:E,H=function(t){var e=z[t]=S(P[R]);return e._k=t,e},X=G&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},Z=function(t,e,n){return t===j&&Z(F,e,n),_(t),e=x(e,!0),_(n),r(z,e)?(n.enumerable?(r(t,A)&&t[A][e]&&(t[A][e]=!1),n=S(n,{enumerable:b(0,!1)})):(r(t,A)||E(t,A,b(1,{})),t[A][e]=!0),U(t,e,n)):E(t,e,n)},q=function(t,e){_(t);for(var n,i=y(e=w(e)),r=0,o=i.length;o>r;)Z(t,n=i[r++],e[n]);return t},$=function(t,e){return void 0===e?S(t):q(S(t),e)},Q=function(t){var e=W.call(this,t=x(t,!0));return!(this===j&&r(z,t)&&!r(F,t))&&(!(e||!r(this,t)||!r(z,t)||r(this,A)&&this[A][t])||e)},J=function(t,e){if(t=w(t),e=x(e,!0),t!==j||!r(z,e)||r(F,e)){var n=O(t,e);return!n||!r(z,e)||r(t,A)&&t[A][e]||(n.enumerable=!0),n}},K=function(t){for(var e,n=C(w(t)),i=[],o=0;n.length>o;)r(z,e=n[o++])||e==A||e==h||i.push(e);return i},tt=function(t){for(var e,n=t===j,i=C(n?F:w(t)),o=[],s=0;i.length>s;)!r(z,e=i[s++])||n&&!r(j,e)||o.push(z[e]);return o};G||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===j&&e.call(F,n),r(this,A)&&r(this[A],t)&&(this[A][t]=!1),U(this,t,b(1,n))};return o&&V&&U(j,t,{configurable:!0,set:e}),H(t)},a(P[R],"toString",function(){return this._k}),D.f=J,M.f=Z,n(77).f=T.f=K,n(74).f=Q,n(73).f=tt,o&&!n(14)&&a(j,"propertyIsEnumerable",Q,!0),p.f=function(t){return H(d(t))}),s(s.G+s.W+s.F*!G,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)d(et[nt++]);for(var et=k(d.store),nt=0;et.length>nt;)m(et[nt++]);s(s.S+s.F*!G,"Symbol",{for:function(t){return r(N,t+="")?N[t]:N[t]=P(t)},keyFor:function(t){if(X(t))return v(N,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){V=!0},useSimple:function(){V=!1}}),s(s.S+s.F*!G,"Object",{create:$,defineProperty:Z,defineProperties:q,getOwnPropertyDescriptor:J,getOwnPropertyNames:K,getOwnPropertySymbols:tt}),L&&s(s.S+s.F*(!G||u(function(){var t=P();return"[null]"!=Y([t])||"{}"!=Y({a:t})||"{}"!=Y(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!X(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],"function"==typeof e&&(n=e),!n&&g(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!X(e))return e}),i[1]=e,Y.apply(L,i)}}}),P[R][I]||n(20)(P[R],I,P[R].valueOf),c(P,"Symbol"),c(Math,"Math",!0),c(i.JSON,"JSON",!0)},function(t,e,n){var i=n(43)("meta"),r=n(23),o=n(31),s=n(21).f,a=0,h=Object.isExtensible||function(){return!0},u=!n(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){s(t,i,{value:{i:"O"+ ++a,w:{}}})},c=function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[i].i},f=function(t,e){if(!o(t,i)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[i].w},d=function(t){return u&&p.NEED&&h(t)&&!o(t,i)&&l(t),t},p=t.exports={KEY:i,NEED:!1,fastKey:c,getWeak:f,onFreeze:d}},function(t,e,n){var i=n(16),r=n(17),o=n(14),s=n(65),a=n(21).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){var i=n(35),r=n(9);t.exports=function(t,e){for(var n,o=r(t),s=i(o),a=s.length,h=0;a>h;)if(o[n=s[h++]]===e)return n}},function(t,e,n){var i=n(35),r=n(73),o=n(74);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,a=n(t),h=o.f,u=0;a.length>u;)h.call(t,s=a[u++])&&e.push(s);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(11);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){var i=n(9),r=n(77).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?a(t):r(i(t))}},function(t,e,n){var i=n(36),r=n(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(74),r=n(29),o=n(9),s=n(28),a=n(31),h=n(24),u=Object.getOwnPropertyDescriptor;e.f=n(25)?u:function(t,e){if(t=o(t),e=s(e,!0),h)try{return u(t,e)}catch(t){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(70)("asyncIterator")},function(t,e,n){n(70)("observable")},function(t,e,n){t.exports="undefined"!=typeof window&&window.moment||n(83)},function(t,e,n){(function(t){!function(e,n){t.exports=n()}(this,function(){function e(){return vi.apply(null,arguments)}function n(t){vi=t}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function r(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){var e;for(e in t)return!1;return!0}function s(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var n,i=[];for(n=0;n0)for(n in _i)i=_i[n],r=e[i],v(r)||(t[i]=r);return t}function g(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wi===!1&&(wi=!0,e.updateOffset(this),wi=!1)}function _(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function x(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=w(e)),n}function b(t,e,n){var i,r=Math.min(t.length,e.length),o=Math.abs(t.length-e.length),s=0;for(i=0;i0?"future":"past"];return M(n)?n(e):n.replace(/%s/i,e)}function I(t,e){var n=t.toLowerCase();Pi[n]=Pi[n+"s"]=Pi[e]=t}function W(t){return"string"==typeof t?Pi[t]||Pi[t.toLowerCase()]:void 0}function N(t){var e,n,i={};for(n in t)u(t,n)&&(e=W(n),e&&(i[e]=t[n]));return i}function z(t,e){Li[t]=e}function F(t){var e=[];for(var n in t)e.push({unit:n,priority:Li[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,n){return function(i){return null!=i?(B(this,t,i),e.updateOffset(this,n),this):G(this,t)}}function G(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function B(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function V(t){return t=W(t),M(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=N(t);for(var n=F(t),i=0;i=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function X(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(Ii[t]=r),e&&(Ii[e[0]]=function(){return H(r.apply(this,arguments),e[1],e[2])}),n&&(Ii[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function Z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function q(t){var e,n,i=t.match(Yi);for(e=0,n=i.length;e=0&&Ri.test(t);)t=t.replace(Ri,n),Ri.lastIndex=0,i-=1;return t}function J(t,e,n){tr[t]=M(e)?e:function(t,i){return t&&n?n:e}}function K(t,e){return u(tr,t)?tr[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),s(e)&&(i=function(t,n){n[e]=x(t)}),n=0;n=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function wt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function xt(t,e,n){var i=7+e-n,r=(7+wt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function bt(t,e,n,i,r){var o,s,a=(7+n-i)%7,h=xt(t,i,r),u=1+7*(e-1)+a+h;return u<=0?(o=t-1,s=vt(o)+u):u>vt(t)?(o=t+1,s=u-vt(t)):(o=t,s=u),{year:o,dayOfYear:s}}function St(t,e,n){var i,r,o=xt(t.year(),e,n),s=Math.floor((t.dayOfYear()-o-1)/7)+1;return s<1?(r=t.year()-1,i=s+Tt(r,e,n)):s>Tt(t.year(),e,n)?(i=s-Tt(t.year(),e,n),r=t.year()+1):(r=t.year(),i=s),{week:i,year:r}}function Tt(t,e,n){var i=xt(t,e,n),r=xt(t+1,e,n);return(vt(t)-i+r)/7}function Dt(t){return St(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function kt(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=St(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Ct(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Lt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Yt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,n){var i,r,o,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)o=c([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===e?(r=cr.call(this._weekdaysParse,s),r!==-1?r:null):"ddd"===e?(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:null):(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null):"dddd"===e?(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null))):"ddd"===e?(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:null))):(r=cr.call(this._minWeekdaysParse,s),r!==-1?r:(r=cr.call(this._weekdaysParse,s),r!==-1?r:(r=cr.call(this._shortWeekdaysParse,s),r!==-1?r:null)))}function It(t,e,n){var i,r,o;if(this._weekdaysParseExact)return At.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=c([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function Wt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Ct(t,this.localeData()),this.add(t-e,"d")):e}function Nt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function zt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ft(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=br),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Sr),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Gt(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Bt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Tr),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Bt(){function t(t,e){return e.length-t.length}var e,n,i,r,o,s=[],a=[],h=[],u=[];for(e=0;e<7;e++)n=c([2e3,1]).day(e),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(i),a.push(r),h.push(o),u.push(i),u.push(r),u.push(o);for(s.sort(t),a.sort(t),h.sort(t),u.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),u[e]=et(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Vt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Ht(t,e){X(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Xt(t,e){return e._meridiemParse}function Zt(t){return"p"===(t+"").toLowerCase().charAt(0)}function qt(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function $t(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,n,i,r,o=0;o0;){if(i=Jt(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&b(r,n,!0)>=e-1)break;e--}o++}return null}function Jt(e){var n=null;if(!Er[e]&&"undefined"!=typeof t&&t&&t.exports)try{n=Dr._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Kt(n)}catch(t){}return Er[e]}function Kt(t,e){var n;return t&&(n=v(e)?ne(t):te(t,e),n&&(Dr=n)),Dr._abbr}function te(t,e){if(null!==e){var n=Or;if(e.abbr=t,null!=Er[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=Er[t]._config;else if(null!=e.parentLocale){if(null==Er[e.parentLocale])return Cr[e.parentLocale]||(Cr[e.parentLocale]=[]),Cr[e.parentLocale].push({name:t,config:e}),null;n=Er[e.parentLocale]._config}return Er[t]=new E(O(n,e)),Cr[t]&&Cr[t].forEach(function(t){te(t.name,t.config)}),Kt(t),Er[t]}return delete Er[t],null}function ee(t,e){if(null!=e){var n,i=Or;null!=Er[t]&&(i=Er[t]._config),e=O(i,e),n=new E(e),n.parentLocale=Er[t],Er[t]=n,Kt(t)}else null!=Er[t]&&(null!=Er[t].parentLocale?Er[t]=Er[t].parentLocale:null!=Er[t]&&delete Er[t]);return Er[t]}function ne(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Dr;if(!i(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function ie(){return Ti(Er)}function re(t){var e,n=t._a;return n&&d(t).overflow===-2&&(e=n[ir]<0||n[ir]>11?ir:n[rr]<1||n[rr]>ot(n[nr],n[ir])?rr:n[or]<0||n[or]>24||24===n[or]&&(0!==n[sr]||0!==n[ar]||0!==n[hr])?or:n[sr]<0||n[sr]>59?sr:n[ar]<0||n[ar]>59?ar:n[hr]<0||n[hr]>999?hr:-1,d(t)._overflowDayOfYear&&(err)&&(e=rr),d(t)._overflowWeeks&&e===-1&&(e=ur),d(t)._overflowWeekday&&e===-1&&(e=lr),d(t).overflow=e),t}function oe(t){var e,n,i,r,o,s,a=t._i,h=Pr.exec(a)||Lr.exec(a);if(h){for(d(t).iso=!0,e=0,n=Rr.length;evt(r)&&(d(t)._overflowDayOfYear=!0),n=wt(r,0,t._dayOfYear),t._a[ir]=n.getUTCMonth(),t._a[rr]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[or]&&0===t._a[sr]&&0===t._a[ar]&&0===t._a[hr]&&(t._nextDay=!0,t._a[or]=0),t._d=(t._useUTC?wt:_t).apply(null,o),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[or]=24)}}function le(t){var e,n,i,r,o,s,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)o=1,s=4,n=ae(e.GG,t._a[nr],St(_e(),1,4).year),i=ae(e.W,1),r=ae(e.E,1),(r<1||r>7)&&(h=!0);else{o=t._locale._week.dow,s=t._locale._week.doy;var u=St(_e(),o,s);n=ae(e.gg,t._a[nr],u.year),i=ae(e.w,u.week),null!=e.d?(r=e.d,(r<0||r>6)&&(h=!0)):null!=e.e?(r=e.e+o,(e.e<0||e.e>6)&&(h=!0)):r=o}i<1||i>Tt(n,o,s)?d(t)._overflowWeeks=!0:null!=h?d(t)._overflowWeekday=!0:(a=bt(n,i,r,o,s),t._a[nr]=a.year,t._dayOfYear=a.dayOfYear)}function ce(t){if(t._f===e.ISO_8601)return void oe(t);t._a=[],d(t).empty=!0;var n,i,r,o,s,a=""+t._i,h=a.length,u=0;for(r=Q(t._f,t._locale).match(Yi)||[],n=0;n0&&d(t).unusedInput.push(s),a=a.slice(a.indexOf(i)+i.length),u+=i.length),Ii[o]?(i?d(t).empty=!1:d(t).unusedTokens.push(o),rt(o,i,t)):t._strict&&!i&&d(t).unusedTokens.push(o);d(t).charsLeftOver=h-u,a.length>0&&d(t).unusedInput.push(a),t._a[or]<=12&&d(t).bigHour===!0&&t._a[or]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[or]=fe(t._locale,t._a[or],t._meridiem),ue(t),re(t)}function fe(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&e<12&&(e+=12),i||12!==e||(e=0),e):e}function de(t){var e,n,i,r,o;if(0===t._f.length)return d(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function We(){if(!v(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ve(t),t._a){var e=t._isUTC?c(t._a):_e(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ne(){return!!this.isValid()&&!this._isUTC}function ze(){return!!this.isValid()&&this._isUTC}function Fe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var n,i,r,o=t,a=null;return Te(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:s(t)?(o={},e?o[e]=t:o.milliseconds=t):(a=jr.exec(t))?(n="-"===a[1]?-1:1,o={y:0,d:x(a[rr])*n,h:x(a[or])*n,m:x(a[sr])*n,s:x(a[ar])*n,ms:x(De(1e3*a[hr]))*n}):(a=Gr.exec(t))?(n="-"===a[1]?-1:1,o={y:Ge(a[2],n),M:Ge(a[3],n),w:Ge(a[4],n),d:Ge(a[5],n),h:Ge(a[6],n),m:Ge(a[7],n),s:Ge(a[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(r=Ve(_e(o.from),_e(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),i=new Se(o),Te(t)&&u(t,"_locale")&&(i._locale=t._locale),i}function Ge(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Be(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ve(t,e){var n;return t.isValid()&&e.isValid()?(e=Oe(e,t),t.isBefore(e)?n=Be(t,e):(n=Be(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Ue(t,e){return function(n,i){var r,o;return null===i||isNaN(+i)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=i,i=o),n="string"==typeof n?+n:n,r=je(n,i),He(this,r,t),this}}function He(t,n,i,r){var o=n._milliseconds,s=De(n._days),a=De(n._months);t.isValid()&&(r=null==r||r,o&&t._d.setTime(t._d.valueOf()+o*i),s&&B(t,"Date",G(t,"Date")+s*i),a&<(t,G(t,"Month")+a*i),r&&e.updateOffset(t,s||a))}function Xe(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Ze(t,n){var i=t||_e(),r=Oe(i,this).startOf("day"),o=e.calendarFormat(this,r)||"sameElse",s=n&&(M(n[o])?n[o].call(this,i):n[o]);return this.format(s||this.localeData().calendar(o,this,_e(i)))}function qe(){return new g(this)}function $e(t,e){var n=_(t)?t:_e(t);return!(!this.isValid()||!n.isValid())&&(e=W(v(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()o&&(e=o),Yn.call(this,t,e,n,i,r))}function Yn(t,e,n,i,r){var o=bt(t,e,n,i,r),s=wt(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}function Rn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function An(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 In(t,e){e[hr]=x(1e3*("0."+t))}function Wn(){return this._isUTC?"UTC":""}function Nn(){return this._isUTC?"Coordinated Universal Time":""}function zn(t){return _e(1e3*t)}function Fn(){return _e.apply(null,arguments).parseZone()}function jn(t){return t}function Gn(t,e,n,i){var r=ne(),o=c().set(i,e);return r[n](o,t)}function Bn(t,e,n){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gn(t,e,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=Gn(t,i,n,"month");return r}function Vn(t,e,n,i){"boolean"==typeof t?(s(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,s(e)&&(n=e,e=void 0),e=e||"");var r=ne(),o=t?r._week.dow:0;if(null!=n)return Gn(e,(n+o)%7,i,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gn(e,(a+o)%7,i,"day");return h}function Un(t,e){return Bn(t,e,"months")}function Hn(t,e){return Bn(t,e,"monthsShort")}function Xn(t,e,n){return Vn(t,e,n,"weekdays")}function Zn(t,e,n){return Vn(t,e,n,"weekdaysShort")}function qn(t,e,n){return Vn(t,e,n,"weekdaysMin")}function $n(){var t=this._data;return this._milliseconds=Kr(this._milliseconds),this._days=Kr(this._days),this._months=Kr(this._months),t.milliseconds=Kr(t.milliseconds),t.seconds=Kr(t.seconds),t.minutes=Kr(t.minutes),t.hours=Kr(t.hours),t.months=Kr(t.months),t.years=Kr(t.years),this}function Qn(t,e,n,i){var r=je(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function Jn(t,e){return Qn(this,t,e,1)}function Kn(t,e){return Qn(this,t,e,-1)}function ti(t){return t<0?Math.floor(t):Math.ceil(t)}function ei(){var t,e,n,i,r,o=this._milliseconds,s=this._days,a=this._months,h=this._data;return o>=0&&s>=0&&a>=0||o<=0&&s<=0&&a<=0||(o+=864e5*ti(ii(a)+s),s=0,a=0),h.milliseconds=o%1e3,t=w(o/1e3),h.seconds=t%60,e=w(t/60),h.minutes=e%60,n=w(e/60),h.hours=n%24,s+=w(n/24),r=w(ni(s)),a+=r,s-=ti(ii(r)),i=w(a/12),a%=12,h.days=s,h.months=a,h.years=i,this}function ni(t){return 4800*t/146097}function ii(t){return 146097*t/4800}function ri(t){var e,n,i=this._milliseconds;if(t=W(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+ni(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ii(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour": +return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function oi(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*x(this._months/12)}function si(t){return function(){return this.as(t)}}function ai(t){return t=W(t),this[t+"s"]()}function hi(t){return function(){return this._data[t]}}function ui(){return w(this.days()/7)}function li(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function ci(t,e,n){var i=je(t).abs(),r=vo(i.as("s")),o=vo(i.as("m")),s=vo(i.as("h")),a=vo(i.as("d")),h=vo(i.as("M")),u=vo(i.as("y")),l=r0,l[4]=n,li.apply(null,l)}function fi(t){return void 0===t?vo:"function"==typeof t&&(vo=t,!0)}function di(t,e){return void 0!==yo[t]&&(void 0===e?yo[t]:(yo[t]=e,!0))}function pi(t){var e=this.localeData(),n=ci(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function mi(){var t,e,n,i=go(this._milliseconds)/1e3,r=go(this._days),o=go(this._months);t=w(i/60),e=w(t/60),i%=60,t%=60,n=w(o/12),o%=12;var s=n,a=o,h=r,u=e,l=t,c=i,f=this.asSeconds();return f?(f<0?"-":"")+"P"+(s?s+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(u||l||c?"T":"")+(u?u+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var vi,yi;yi=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,i=0;i68?1900:2e3)};var yr=j("FullYear",!0);X("w",["ww",2],"wo","week"),X("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),z("week",5),z("isoWeek",5),J("w",Gi),J("ww",Gi,Ni),J("W",Gi),J("WW",Gi,Ni),it(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=x(t)});var gr={dow:0,doy:6};X("d",0,"do","day"),X("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),X("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),X("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),X("e",0,0,"weekday"),X("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),z("day",11),z("weekday",11),z("isoWeekday",11),J("d",Gi),J("e",Gi),J("E",Gi),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:d(n).invalidWeekday=t}),it(["d","e","E"],function(t,e,n,i){e[i]=x(t)});var _r="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),br=Ki,Sr=Ki,Tr=Ki;X("H",["HH",2],0,"hour"),X("h",["hh",2],0,Vt),X("k",["kk",2],0,Ut),X("hmm",0,0,function(){return""+Vt.apply(this)+H(this.minutes(),2)}),X("hmmss",0,0,function(){return""+Vt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),X("Hmm",0,0,function(){return""+this.hours()+H(this.minutes(),2)}),X("Hmmss",0,0,function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),Ht("a",!0),Ht("A",!1),I("hour","h"),z("hour",13),J("a",Xt),J("A",Xt),J("H",Gi),J("h",Gi),J("HH",Gi,Ni),J("hh",Gi,Ni),J("hmm",Bi),J("hmmss",Vi),J("Hmm",Bi),J("Hmmss",Vi),nt(["H","HH"],or),nt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),nt(["h","hh"],function(t,e,n){e[or]=x(t),d(n).bigHour=!0}),nt("hmm",function(t,e,n){var i=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i)),d(n).bigHour=!0}),nt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i,2)),e[ar]=x(t.substr(r)),d(n).bigHour=!0}),nt("Hmm",function(t,e,n){var i=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i))}),nt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[or]=x(t.substr(0,i)),e[sr]=x(t.substr(i,2)),e[ar]=x(t.substr(r))});var Dr,Mr=/[ap]\.?m?\.?/i,kr=j("Hours",!0),Or={calendar:Di,longDateFormat:Mi,invalidDate:ki,ordinal:Oi,ordinalParse:Ei,relativeTime:Ci,months:dr,monthsShort:pr,week:gr,weekdays:_r,weekdaysMin:xr,weekdaysShort:wr,meridiemParse:Mr},Er={},Cr={},Pr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Lr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Yr=/Z|[+-]\d\d(?::?\d\d)?/,Rr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ar=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ir=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=T("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Wr=T("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=_e.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),zr=function(){return Date.now?Date.now():+new Date};Me("Z",":"),Me("ZZ",""),J("Z",Qi),J("ZZ",Qi),nt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=ke(Qi,t)});var Fr=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var jr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Gr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=Se.prototype;var Br=Ue(1,"add"),Vr=Ue(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ur=T("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)});X(0,["gg",2],0,function(){return this.weekYear()%100}),X(0,["GG",2],0,function(){return this.isoWeekYear()%100}),kn("gggg","weekYear"),kn("ggggg","weekYear"),kn("GGGG","isoWeekYear"),kn("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),z("weekYear",1),z("isoWeekYear",1),J("G",qi),J("g",qi),J("GG",Gi,Ni),J("gg",Gi,Ni),J("GGGG",Hi,Fi),J("gggg",Hi,Fi),J("GGGGG",Xi,ji),J("ggggg",Xi,ji),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=x(t)}),it(["gg","GG"],function(t,n,i,r){n[r]=e.parseTwoDigitYear(t)}),X("Q",0,"Qo","quarter"),I("quarter","Q"),z("quarter",7),J("Q",Wi),nt("Q",function(t,e){e[ir]=3*(x(t)-1)}),X("D",["DD",2],"Do","date"),I("date","D"),z("date",9),J("D",Gi),J("DD",Gi,Ni),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),nt(["D","DD"],rr),nt("Do",function(t,e){e[rr]=x(t.match(Gi)[0],10)});var Hr=j("Date",!0);X("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),z("dayOfYear",4),J("DDD",Ui),J("DDDD",zi),nt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=x(t)}),X("m",["mm",2],0,"minute"),I("minute","m"),z("minute",14),J("m",Gi),J("mm",Gi,Ni),nt(["m","mm"],sr);var Xr=j("Minutes",!1);X("s",["ss",2],0,"second"),I("second","s"),z("second",15),J("s",Gi),J("ss",Gi,Ni),nt(["s","ss"],ar);var Zr=j("Seconds",!1);X("S",0,0,function(){return~~(this.millisecond()/100)}),X(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),X(0,["SSS",3],0,"millisecond"),X(0,["SSSS",4],0,function(){return 10*this.millisecond()}),X(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),X(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),X(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),X(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),X(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),z("millisecond",16),J("S",Ui,Wi),J("SS",Ui,Ni),J("SSS",Ui,zi);var qr;for(qr="SSSS";qr.length<=9;qr+="S")J(qr,Zi);for(qr="S";qr.length<=9;qr+="S")nt(qr,In);var $r=j("Milliseconds",!1);X("z",0,0,"zoneAbbr"),X("zz",0,0,"zoneName");var Qr=g.prototype;Qr.add=Br,Qr.calendar=Ze,Qr.clone=qe,Qr.diff=nn,Qr.endOf=vn,Qr.format=hn,Qr.from=un,Qr.fromNow=ln,Qr.to=cn,Qr.toNow=fn,Qr.get=V,Qr.invalidAt=Dn,Qr.isAfter=$e,Qr.isBefore=Qe,Qr.isBetween=Je,Qr.isSame=Ke,Qr.isSameOrAfter=tn,Qr.isSameOrBefore=en,Qr.isValid=Sn,Qr.lang=Ur,Qr.locale=dn,Qr.localeData=pn,Qr.max=Nr,Qr.min=Wr,Qr.parsingFlags=Tn,Qr.set=U,Qr.startOf=mn,Qr.subtract=Vr,Qr.toArray=wn,Qr.toObject=xn,Qr.toDate=_n,Qr.toISOString=sn,Qr.inspect=an,Qr.toJSON=bn,Qr.toString=on,Qr.unix=gn,Qr.valueOf=yn,Qr.creationData=Mn,Qr.year=yr,Qr.isLeapYear=gt,Qr.weekYear=On,Qr.isoWeekYear=En,Qr.quarter=Qr.quarters=Rn,Qr.month=ct,Qr.daysInMonth=ft,Qr.week=Qr.weeks=Ot,Qr.isoWeek=Qr.isoWeeks=Et,Qr.weeksInYear=Pn,Qr.isoWeeksInYear=Cn,Qr.date=Hr,Qr.day=Qr.days=Wt,Qr.weekday=Nt,Qr.isoWeekday=zt,Qr.dayOfYear=An,Qr.hour=Qr.hours=kr,Qr.minute=Qr.minutes=Xr,Qr.second=Qr.seconds=Zr,Qr.millisecond=Qr.milliseconds=$r,Qr.utcOffset=Ce,Qr.utc=Le,Qr.local=Ye,Qr.parseZone=Re,Qr.hasAlignedHourOffset=Ae,Qr.isDST=Ie,Qr.isLocal=Ne,Qr.isUtcOffset=ze,Qr.isUtc=Fe,Qr.isUTC=Fe,Qr.zoneAbbr=Wn,Qr.zoneName=Nn,Qr.dates=T("dates accessor is deprecated. Use date instead.",Hr),Qr.months=T("months accessor is deprecated. Use month instead",ct),Qr.years=T("years accessor is deprecated. Use year instead",yr),Qr.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Qr.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",We);var Jr=E.prototype;Jr.calendar=C,Jr.longDateFormat=P,Jr.invalidDate=L,Jr.ordinal=Y,Jr.preparse=jn,Jr.postformat=jn,Jr.relativeTime=R,Jr.pastFuture=A,Jr.set=k,Jr.months=st,Jr.monthsShort=at,Jr.monthsParse=ut,Jr.monthsRegex=pt,Jr.monthsShortRegex=dt,Jr.week=Dt,Jr.firstDayOfYear=kt,Jr.firstDayOfWeek=Mt,Jr.weekdays=Lt,Jr.weekdaysMin=Rt,Jr.weekdaysShort=Yt,Jr.weekdaysParse=It,Jr.weekdaysRegex=Ft,Jr.weekdaysShortRegex=jt,Jr.weekdaysMinRegex=Gt,Jr.isPM=Zt,Jr.meridiem=qt,Kt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===x(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),e.lang=T("moment.lang is deprecated. Use moment.locale instead.",Kt),e.langData=T("moment.langData is deprecated. Use moment.localeData instead.",ne);var Kr=Math.abs,to=si("ms"),eo=si("s"),no=si("m"),io=si("h"),ro=si("d"),oo=si("w"),so=si("M"),ao=si("y"),ho=hi("milliseconds"),uo=hi("seconds"),lo=hi("minutes"),co=hi("hours"),fo=hi("days"),po=hi("months"),mo=hi("years"),vo=Math.round,yo={s:45,m:45,h:22,d:26,M:11},go=Math.abs,_o=Se.prototype;return _o.abs=$n,_o.add=Jn,_o.subtract=Kn,_o.as=ri,_o.asMilliseconds=to,_o.asSeconds=eo,_o.asMinutes=no,_o.asHours=io,_o.asDays=ro,_o.asWeeks=oo,_o.asMonths=so,_o.asYears=ao,_o.valueOf=oi,_o._bubble=ei,_o.get=ai,_o.milliseconds=ho,_o.seconds=uo,_o.minutes=lo,_o.hours=co,_o.days=fo,_o.weeks=ui,_o.months=po,_o.years=mo,_o.humanize=pi,_o.toISOString=mi,_o.toString=mi,_o.toJSON=mi,_o.locale=dn,_o.localeData=pn,_o.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mi),_o.lang=Ur,X("X",0,0,"unix"),X("x",0,0,"valueOf"),J("x",qi),J("X",Ji),nt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),nt("x",function(t,e,n){n._d=new Date(x(t))}),e.version="2.17.1",n(_e),e.fn=Qr,e.min=xe,e.max=be,e.now=zr,e.utc=c,e.unix=zn,e.months=Un,e.isDate=a,e.locale=Kt,e.invalid=m,e.duration=je,e.isMoment=_,e.weekdays=Xn,e.parseZone=Fn,e.localeData=ne,e.isDuration=Te,e.monthsShort=Hn,e.weekdaysMin=qn,e.defineLocale=te,e.updateLocale=ee,e.locales=ie,e.weekdaysShort=Zn,e.normalizeUnits=W,e.relativeTimeRounding=fi,e.relativeTimeThreshold=di,e.calendarFormat=Xe,e.prototype=Qr,e})}).call(e,n(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function n(t){throw new Error("Cannot find module '"+t+"'.")}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id=85},function(t,e){(function(e){function n(t,e,n){var i=e&&n||0,r=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){r<16&&(e[i+r++]=c[t])});r<16;)e[i+r++]=0;return e}function i(t,e){var n=e||0,i=l;return i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+"-"+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]+i[t[n++]]}function r(t,e,n){var r=e&&n||0,o=e||[];t=t||{};var s=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:y+1,u=a-v+(h-y)/1e4;if(u<0&&void 0===t.clockseq&&(s=s+1&16383),(u<0||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,y=h,m=s,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;o[r++]=l>>>24&255,o[r++]=l>>>16&255,o[r++]=l>>>8&255,o[r++]=255&l;var c=a/4294967296*1e4&268435455;o[r++]=c>>>8&255,o[r++]=255&c,o[r++]=c>>>24&15|16,o[r++]=c>>>16&255,o[r++]=s>>>8|128,o[r++]=255&s;for(var f=t.node||p,d=0;d<6;d++)o[r+d]=f[d];return e?e:i(o)}function o(t,e,n){var r=e&&n||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var o=t.random||(t.rng||s)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e)for(var a=0;a<16;a++)e[r+a]=o[a];return e||i(o)}var s,a="undefined"!=typeof window?window:"undefined"!=typeof e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);s=function(){return crypto.getRandomValues(h),h}}if(!s){var u=new Array(16);s=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),u[e]=t>>>((3&e)<<3)&255;return u}}for(var l=[],c={},f=0;f<256;f++)l[f]=(f+256).toString(16).substr(1),c[l[f]]=f;var d=s(),p=[1|d[0],d[1],d[2],d[3],d[4],d[5]],m=16383&(d[6]<<8|d[7]),v=0,y=0,g=o;g.v1=r,g.v4=o,g.parse=n,g.unparse=i,t.exports=g}).call(e,function(){return this}())},function(t,e){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 n=0;n0?(i=e[t].redundant[0],e[t].redundant.shift()):(i=document.createElementNS("http://www.w3.org/2000/svg",t),n.appendChild(i)):(i=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},n.appendChild(i)),e[t].used.push(i),i},e.getDOMElement=function(t,e,n,i){var r;return e.hasOwnProperty(t)?e[t].redundant.length>0?(r=e[t].redundant[0],e[t].redundant.shift()):(r=document.createElement(t),void 0!==i?n.insertBefore(r,i):n.appendChild(r)):(r=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==i?n.insertBefore(r,i):n.appendChild(r)),e[t].used.push(r),r},e.drawPoint=function(t,n,i,r,o,s){var a;if("circle"==i.style?(a=e.getSVGElement("circle",r,o),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",n),a.setAttributeNS(null,"r",.5*i.size)):(a=e.getSVGElement("rect",r,o),a.setAttributeNS(null,"x",t-.5*i.size),a.setAttributeNS(null,"y",n-.5*i.size),a.setAttributeNS(null,"width",i.size),a.setAttributeNS(null,"height",i.size)),void 0!==i.styles&&a.setAttributeNS(null,"style",i.styles),a.setAttributeNS(null,"class",i.className+" vis-point"),s){var h=e.getSVGElement("text",r,o);s.xOffset&&(t+=s.xOffset),s.yOffset&&(n+=s.yOffset),s.content&&(h.textContent=s.content),s.className&&h.setAttributeNS(null,"class",s.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",n)}return a},e.drawBar=function(t,n,i,r,o,s,a,h){if(0!=r){r<0&&(r*=-1,n-=r);var u=e.getSVGElement("rect",s,a);u.setAttributeNS(null,"x",t-.5*i),u.setAttributeNS(null,"y",n),u.setAttributeNS(null,"width",i),u.setAttributeNS(null,"height",r),u.setAttributeNS(null,"class",o),h&&u.setAttributeNS(null,"style",h)}}},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(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 n=(0,l.default)(this._options.type),i=0,r=n.length;ir?1:is)&&(o=h,s=u)}return o},r.prototype.min=function(t){var e,n,i=this._data,r=(0,l.default)(i),o=null,s=null;for(e=0,n=r.length;ethis.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)}},n.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var n=this;this.listener=function(){n._onEvent.apply(n,arguments)},this.setData(t)}var o=n(58),s=i(o),a=n(1),h=n(88);r.prototype.setData=function(t){var e,n,i,r,o;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),o=[],i=0,r=e.length;io)&&(i=o)}return i},r.prototype.getColumnRange=function(t,e){for(var n=new g,i=0;i0&&(h[i-1].pointNext=s),h.push(s);return h},r.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,n=function(t){e._onMouseDown(t)},i=function(t){e._onTouchStart(t)},r=function(t){e._onWheel(t)},o=function(t){e._onTooltip(t)},s=function(t){e._onClick(t)};f.addEventListener(this.frame.canvas,"mousedown",n),f.addEventListener(this.frame.canvas,"touchstart",i),f.addEventListener(this.frame.canvas,"mousewheel",r),f.addEventListener(this.frame.canvas,"mousemove",o),f.addEventListener(this.frame.canvas,"click",s),this.containerElement.appendChild(this.frame)},r.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},r.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},r.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},r.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},r.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},r.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},r.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},r.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},r.prototype.setOptions=function(t){this.animationStop(),_.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},r.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case r.STYLE.BAR:t=r.prototype._redrawBarGraphPoint;break;case r.STYLE.BARCOLOR:t=r.prototype._redrawBarColorGraphPoint;break;case r.STYLE.BARSIZE:t=r.prototype._redrawBarSizeGraphPoint;break;case r.STYLE.DOT:t=r.prototype._redrawDotGraphPoint;break;case r.STYLE.DOTLINE:t=r.prototype._redrawDotLineGraphPoint;break;case r.STYLE.DOTCOLOR:t=r.prototype._redrawDotColorGraphPoint;break;case r.STYLE.DOTSIZE:t=r.prototype._redrawDotSizeGraphPoint;break;case r.STYLE.SURFACE:t=r.prototype._redrawSurfaceGraphPoint;break;case r.STYLE.GRID:t=r.prototype._redrawGridGraphPoint;break;case r.STYLE.LINE:t=r.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},r.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},r.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},r.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},r.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},r.prototype._getLegendWidth=function(){var t;if(this.style===r.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===r.STYLE.BARSIZE?this.xBarWidth:20;return t},r.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==r.STYLE.LINE&&this.style!==r.STYLE.BARSIZE){var t=this.style===r.STYLE.BARSIZE||this.style===r.STYLE.DOTSIZE,e=this.style===r.STYLE.DOTSIZE||this.style===r.STYLE.DOTCOLOR||this.style===r.STYLE.BARCOLOR,n=Math.max(.25*this.frame.clientHeight,100),i=this.margin,o=this._getLegendWidth(),s=this.frame.clientWidth-this.margin,a=s-o,h=i+n,u=this._getContext();if(u.lineWidth=1,u.font="14px arial",t===!1){var l,c=0,f=n;for(l=c;l0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},r.prototype.drawAxisLabelY=function(t,e,n,i,r){void 0===r&&(r=0);var o=this._convert3Dto2D(e);Math.cos(2*i)<0?(t.textAlign="center",t.textBaseline="top",o.y+=r):Math.sin(2*i)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(n,o.x,o.y)},r.prototype.drawAxisLabelZ=function(t,e,n,i){void 0===i&&(i=0);var r=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(n,r.x-i,r.y)},r.prototype._line3d=function(t,e,n,i){var r=this._convert3Dto2D(e),o=this._convert3Dto2D(n);this._line(t,r,o,i)},r.prototype._redrawAxis=function(){var t,e,n,i,r,o,s,a,h,u,l,c=this._getContext();c.font=24/this.camera.getArmLength()+"px arial";var f=.025/this.scale.x,m=.025/this.scale.y,v=5/this.camera.getArmLength(),g=this.camera.getArmRotation().horizontal,_=new p(Math.cos(g),Math.sin(g)),w=this.xRange,x=this.yRange,b=this.zRange;for(c.lineWidth=1,i=void 0===this.defaultXStep,n=new y(w.min,w.max,this.xStep,i),n.start(!0);!n.end();){var S=n.getCurrent();if(this.showGrid?(t=new d(S,x.min,b.min),e=new d(S,x.max,b.min),this._line3d(c,t,e,this.gridColor)):this.showXAxis&&(t=new d(S,x.min,b.min),e=new d(S,x.min+f,b.min),this._line3d(c,t,e,this.axisColor),t=new d(S,x.max,b.min),e=new d(S,x.max-f,b.min),this._line3d(c,t,e,this.axisColor)),this.showXAxis){s=_.x>0?x.min:x.max;var T=new d(S,s,b.min),D=" "+this.xValueLabel(S)+" ";this.drawAxisLabelX(c,T,D,g,v)}n.next()}for(c.lineWidth=1,i=void 0===this.defaultYStep,n=new y(x.min,x.max,this.yStep,i),n.start(!0);!n.end();){var M=n.getCurrent();if(this.showGrid?(t=new d(w.min,M,b.min),e=new d(w.max,M,b.min),this._line3d(c,t,e,this.gridColor)):this.showYAxis&&(t=new d(w.min,M,b.min),e=new d(w.min+m,M,b.min),this._line3d(c,t,e,this.axisColor),t=new d(w.max,M,b.min),e=new d(w.max-m,M,b.min),this._line3d(c,t,e,this.axisColor)),this.showYAxis){o=_.y>0?w.min:w.max,T=new d(o,M,b.min);var D=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(c,T,D,g,v)}n.next()}if(this.showZAxis){for(c.lineWidth=1,i=void 0===this.defaultZStep,n=new y(b.min,b.max,this.zStep,i),n.start(!0),o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max;!n.end();){var k=n.getCurrent(),O=new d(o,s,k),E=this._convert3Dto2D(O);e=new p(E.x-v,E.y),this._line(c,E,e,this.axisColor);var D=this.zValueLabel(k)+" ";this.drawAxisLabelZ(c,O,D,5),n.next()}c.lineWidth=1,t=new d(o,s,b.min),e=new d(o,s,b.max),this._line3d(c,t,e,this.axisColor)}if(this.showXAxis){var C,P;c.lineWidth=1,C=new d(w.min,x.min,b.min),P=new d(w.max,x.min,b.min),this._line3d(c,C,P,this.axisColor),C=new d(w.min,x.max,b.min),P=new d(w.max,x.max,b.min),this._line3d(c,C,P,this.axisColor)}this.showYAxis&&(c.lineWidth=1,t=new d(w.min,x.min,b.min),e=new d(w.min,x.max,b.min),this._line3d(c,t,e,this.axisColor),t=new d(w.max,x.min,b.min),e=new d(w.max,x.max,b.min),this._line3d(c,t,e,this.axisColor));var L=this.xLabel;L.length>0&&this.showXAxis&&(l=.1/this.scale.y,o=(w.max+3*w.min)/4,s=_.x>0?x.min-l:x.max+l,r=new d(o,s,b.min),this.drawAxisLabelX(c,r,L,g));var Y=this.yLabel;Y.length>0&&this.showYAxis&&(u=.1/this.scale.x,o=_.y>0?w.min-u:w.max+u,s=(x.max+3*x.min)/4,r=new d(o,s,b.min),this.drawAxisLabelY(c,r,Y,g));var R=this.zLabel;R.length>0&&this.showZAxis&&(h=30,o=_.x>0?w.min:w.max,s=_.y<0?x.min:x.max,a=(b.max+3*b.min)/4,r=new d(o,s,a),this.drawAxisLabelZ(c,r,R,h))},r.prototype._hsv2rgb=function(t,e,n){var i,r,o,s,a,h;switch(s=n*e,a=Math.floor(t/60),h=s*(1-Math.abs(t/60%2-1)),a){case 0:i=s,r=h,o=0;break;case 1:i=h,r=s,o=0;break;case 2:i=0,r=s,o=h;break;case 3:i=0,r=h,o=s;break;case 4:i=h,r=0,o=s;break;case 5:i=s,r=0,o=h;break;default:i=0,r=0,o=0}return"RGB("+parseInt(255*i)+","+parseInt(255*r)+","+parseInt(255*o)+")"},r.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},r.prototype._redrawBar=function(t,e,n,i,r,o){var s,a,h=this,u=e.point,l=this.zRange.min,c=[{point:new d(u.x-n,u.y-i,u.z)},{point:new d(u.x+n,u.y-i,u.z)},{point:new d(u.x+n,u.y+i,u.z)},{point:new d(u.x-n,u.y+i,u.z)}],f=[{point:new d(u.x-n,u.y-i,l)},{point:new d(u.x+n,u.y-i,l)},{point:new d(u.x+n,u.y+i,l)},{point:new d(u.x-n,u.y+i,l)}];c.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),f.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var p=[{corners:c,center:d.avg(f[0].point,f[2].point)},{corners:[c[0],c[1],f[1],f[0]],center:d.avg(f[1].point,f[0].point)},{corners:[c[1],c[2],f[2],f[1]],center:d.avg(f[2].point,f[1].point)},{corners:[c[2],c[3],f[3],f[2]],center:d.avg(f[3].point,f[2].point)},{corners:[c[3],c[0],f[0],f[3]],center:d.avg(f[0].point,f[3].point)}];for(e.surfaces=p,s=0;s0}if(a){var f,p=(e.point.z+n.point.z+i.point.z+r.point.z)/4,m=240*(1-(p-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(f=Math.min(1+l.x/c/2,1),o=this._hsv2rgb(m,v,f),s=o):(f=1,o=this._hsv2rgb(m,v,f),s=this.axisColor)}else o="gray",s=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var y=[e,n,r,i];this._polygon(t,y,o,s)}},r.prototype._drawGridLine=function(t,e,n){if(void 0!==e&&void 0!==n){var i=(e.point.z+n.point.z)/2,r=240*(1-(i-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(r,1,1),this._line(t,e.screen,n.screen)}},r.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},r.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},r.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var i=e[0],r=e[1],o=e[2],s=n((r.x-i.x)*(t.y-i.y)-(r.y-i.y)*(t.x-i.x)),a=n((o.x-r.x)*(t.y-r.y)-(o.y-r.y)*(t.x-r.x)),h=n((i.x-o.x)*(t.y-o.y)-(i.y-o.y)*(t.x-o.x));return!(0!=s&&0!=a&&s!=a||0!=a&&0!=h&&a!=h||0!=s&&0!=h&&s!=h)},r.prototype._dataPointFromXY=function(t,e){var n,i=100,o=null,s=null,a=null,h=new p(t,e);if(this.style===r.STYLE.BAR||this.style===r.STYLE.BARCOLOR||this.style===r.STYLE.BARSIZE)for(n=this.dataPoints.length-1;n>=0;n--){o=this.dataPoints[n];var u=o.surfaces;if(u)for(var l=u.length-1;l>=0;l--){var c=u[l],f=c.corners,d=[f[0].screen,f[1].screen,f[2].screen],m=[f[2].screen,f[3].screen,f[0].screen];if(this._insideTriangle(h,d)||this._insideTriangle(h,m))return o}}else for(n=0;n"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(n),this.frame.appendChild(i);var r=e.offsetWidth,o=e.offsetHeight,s=n.offsetHeight,a=i.offsetWidth,u=i.offsetHeight,l=t.screen.x-r/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-r),n.style.left=t.screen.x+"px",n.style.top=t.screen.y-s+"px",e.style.left=l+"px",e.style.top=t.screen.y-s-o+"px",i.style.left=t.screen.x-a/2+"px",i.style.top=t.screen.y-u/2+"px"},r.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)}}},r.prototype.setCameraPosition=function(t){_.setCameraPosition(t,this),this.redraw()},r.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=r},function(t,e,n){t.exports={default:n(95),__esModule:!0}},function(t,e,n){n(96),t.exports=n(17).Object.assign},function(t,e,n){var i=n(15);i(i.S+i.F,"Object",{assign:n(97)})},function(t,e,n){var i=n(35),r=n(73),o=n(74),s=n(49),a=n(10),h=Object.assign;t.exports=!h||n(26)(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=h({},t)[n]||Object.keys(h({},e)).join("")!=i})?function(t,e){for(var n=s(t),h=arguments.length,u=1,l=r.f,c=o.f;h>u;)for(var f,d=a(arguments[u++]),p=l?i(d).concat(l(d)):i(d),m=p.length,v=0;m>v;)c.call(d,f=p[v++])&&(n[f]=d[f]);return n}:h},function(t,e){function n(t){if(t)return i(t)}function i(t){for(var e in n.prototype)t[e]=n.prototype[e];return t}t.exports=n,n.prototype.on=n.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},n.prototype.once=function(t,e){function n(){i.off(t,n),e.apply(this,arguments)}var i=this;return this._callbacks=this._callbacks||{},n.fn=e,this.on(t,n),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks[t];if(!n)return this;if(1==arguments.length)return delete this._callbacks[t], +this;for(var i,r=0;ro&&(t=i(t)*o),n(e)>o&&(e=i(e)*o),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},r.prototype.getOffset=function(t,e){return this.cameraOffset},r.prototype.setArmLocation=function(t,e,n){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=n,this.calculateCameraOrientation()},r.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()},r.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},r.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},r.prototype.getArmLength=function(){return this.armLength},r.prototype.getCameraLocation=function(){return this.cameraLocation},r.prototype.getCameraRotation=function(){return this.cameraRotation},r.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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),n=this.cameraOffset.x,i=this.cameraOffset.y,r=Math.sin,o=Math.cos;this.cameraLocation.x=this.cameraLocation.x+n*o(e)+i*-r(e)*o(t),this.cameraLocation.y=this.cameraLocation.y+n*r(e)+i*o(e)*o(t),this.cameraLocation.z=this.cameraLocation.z+i*r(t)},t.exports=r},function(t,e,n){t.exports={default:n(103),__esModule:!0}},function(t,e,n){n(104),t.exports=n(17).Math.sign},function(t,e,n){var i=n(15);i(i.S,"Math",{sign:n(105)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){function i(t,e,n){this.data=t,this.column=e,this.graph=n,this.index=void 0,this.value=void 0,this.values=n.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:t0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,n.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var r=n(92);i.prototype.isLoaded=function(){return this.loaded},i.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},i.prototype.getLabel=function(){return this.graph.filterLabel},i.prototype.getColumn=function(){return this.column},i.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},i.prototype.getValues=function(){return this.values},i.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},i.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 n={};n.column=this.column,n.value=this.values[t];var i=new r(this.data,{filter:function(t){return t[n.column]==n.value}}).get();e=this.graph._getDataPoints(i),this.dataPoints[t]=e}return e},i.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},i.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},i.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0&&(t--,this.setIndex(t))},i.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},i.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(i=this.values.length-1),i},i.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10,n=t/(this.values.length-1)*e,i=n+3;return i},i.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,n=this.startSlideX+e,i=this.leftToIndex(n);this.setIndex(i),r.preventDefault()},i.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",r.removeEventListener(document,"mousemove",this.onmousemove),r.removeEventListener(document,"mouseup",this.onmouseup),r.preventDefault()},t.exports=i},function(t,e){function n(t,e,n,i){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,n,i)}n.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},n.prototype.setRange=function(t,e,n,i){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(n))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(n,i)},n.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=n.calculatePrettyStep(t):this._step=t)},n.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},n=Math.pow(10,Math.round(e(t))),i=2*Math.pow(10,Math.round(e(t/2))),r=5*Math.pow(10,Math.round(e(t/5))),o=n;return Math.abs(i-t)<=Math.abs(o-t)&&(o=i),Math.abs(r-t)<=Math.abs(o-t)&&(o=r),o<=0&&(o=1),o},n.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},n.prototype.getStep=function(){return this._step},n.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=n},function(t,e){function n(){this.min=void 0,this.max=void 0}n.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxn)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=n}},n.prototype.range=function(){return this.max-this.min},n.prototype.center=function(){return(this.min+this.max)/2},t.exports=n},function(t,e,n){function i(t){return t&&t.__esModule?t:{default:t}}function r(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function o(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+o(e)}function a(t,e,n,i){var r,o;for(var a in n)r=n[a],o=s(i,r),e[o]=t[r]}function h(t,e,n,i){var r,o;for(var a in n)r=n[a],void 0!==t[r]&&(o=s(i,r),e[o]=t[r])}function u(t,e){if(void 0===t||r(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");O=t,a(t,e,M),a(t,e,k,"default"),c(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new S(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===O||r(O))throw new Error("DEFAULTS not set for module Settings");h(t,e,M),h(t,e,k,"default"),c(t,e)}}function c(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),y(t.dataColor,e),m(t.style,e),f(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick),void 0!==t.tooltipStyle&&x.selectiveDeepExtend(["tooltipStyle"],e,t)}function f(t,e){if(void 0===t){var n=void 0===O.showLegend;if(n){var i=e.style===T.DOTCOLOR||e.style===T.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function d(t){var e=D[t];return void 0===e?-1:e}function p(t){var e=!1;for(var n in T)if(T[n]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var n;if("string"==typeof t){if(n=d(t),n===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");n=t}e.style=n}}function v(t,e){var n="white",i="gray",r=1;if("string"==typeof t)n=t,i="none",r=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,w.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(n=t.fill),void 0!==t.stroke&&(i=t.stroke),void 0!==t.strokeWidth&&(r=t.strokeWidth)}e.frame.style.backgroundColor=n,e.frame.style.borderColor=i,e.frame.style.borderWidth=r+"px",e.frame.style.borderStyle="solid"}function y(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var n=t;void 0!==n&&(void 0===e.camera&&(e.camera=new b),e.camera.setArmRotation(n.horizontal,n.vertical),e.camera.setArmLength(n.distance))}var _=n(62),w=i(_),x=n(1),b=n(101),S=n(99),T={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},D={dot:T.DOT,"dot-line":T.DOTLINE,"dot-color":T.DOTCOLOR,"dot-size":T.DOTSIZE,line:T.LINE,grid:T.GRID,surface:T.SURFACE,bar:T.BAR,"bar-color":T.BARCOLOR,"bar-size":T.BARSIZE},M=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],k=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],O=void 0;t.exports.STYLE=T,t.exports.setDefaults=u,t.exports.setOptions=l,t.exports.setCameraPosition=g},function(t,e,n){if("undefined"!=typeof window){var i=n(112),r=window.Hammer||n(113);t.exports=i(r,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,n){var i,r,o;!function(n){r=[],i=n,o="function"==typeof i?i.apply(e,r):i,!(void 0!==o&&(t.exports=o))}(function(){var t=null;return function e(n,i){function r(t){return t.match(/[^ ]+/g)}function o(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 n=!1;e.stopPropagation=function(){n=!0};var i=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof i&&(e.srcEvent.stopPropagation=function(){i(),e.stopPropagation()}),e.firstTarget=t;for(var r=t;r&&!n;){var o=r.hammer;if(o)for(var s,a=0;a0?u._handlers[t]=i:(n.off(t,o),delete u._handlers[t]))}),u},u.emit=function(e,i){t=i.target,n.emit(e,i)},u.destroy=function(){var t=n.element.hammer,e=t.indexOf(u);e!==-1&&t.splice(e,1),t.length||delete n.element.hammer,u._handlers={},n.destroy()},u}})},function(t,e,n){var i;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ -!function(r,o,s,a){function h(t,e,n){return setTimeout(d(t,n),e)}function u(t,e,n){return!!Array.isArray(t)&&(l(t,n[e],n),!0)}function l(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}function f(t,e,n){var i,r=e.prototype;i=t.prototype=Object.create(r),i.constructor=t,i._super=r,n&&mt(i,n)}function d(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,n){l(w(e),function(e){t.addEventListener(e,n,!1)})}function y(t,e,n){l(w(e),function(e){t.removeEventListener(e,n,!1)})}function g(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function _(t,e){return t.indexOf(e)>-1}function w(t){return t.trim().split(/\s+/g)}function x(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function T(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=Y(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,s=n.firstMultiple,a=s?s.center:o.center,h=e.center=R(i);e.timeStamp=xt(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=W(a,h),e.distance=N(a,h),P(n,e),e.offsetDirection=I(e.deltaX,e.deltaY);var u=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=wt(u.x)>wt(u.y)?u.x:u.y,e.scale=s?F(s.pointers,i):1,e.rotation=s?z(s.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,L(n,e);var l=t.element;g(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==Rt&&o.eventType!==It||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function L(t,e){var n,i,r,o,s=t.lastInterval||e,h=e.timeStamp-s.timeStamp;if(e.eventType!=Nt&&(h>Yt||s.velocity===a)){var u=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,c=A(h,u,l);i=c.x,r=c.y,n=wt(c.x)>wt(c.y)?c.x:c.y,o=I(u,l),t.lastInterval=e}else n=s.velocity,i=s.velocityX,r=s.velocityY,o=s.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function Y(t){for(var e=[],n=0;n=wt(e)?t<0?zt:Ft:e<0?jt:Gt}function N(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function W(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function z(t,e){return W(e[1],e[0],Xt)+W(t[1],t[0],Xt)}function F(t,e){return N(e[0],e[1],Xt)/N(t[0],t[1],Xt)}function j(){this.evEl=qt,this.evWin=$t,this.pressed=!1,k.apply(this,arguments)}function G(){this.evEl=Kt,this.evWin=te,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function B(){this.evTarget=ne,this.evWin=ie,this.started=!1,k.apply(this,arguments)}function V(t,e){var n=b(t.touches),i=b(t.changedTouches);return e&(It|Nt)&&(n=S(n.concat(i),"identifier",!0)),[n,i]}function U(){this.evTarget=oe,this.targetIds={},k.apply(this,arguments)}function H(t,e){var n=b(t.touches),i=this.targetIds;if(e&(Rt|At)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,s=b(t.changedTouches),a=[],h=this.target;if(o=n.filter(function(t){return g(t.target,h)}),e===Rt)for(r=0;r-1&&i.splice(t,1)};setTimeout(r,se)}}function $(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-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){n.manager.emit(e,t)}var n=this,i=this.state;i=we&&e(n.options.event+et(i))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=Se)},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return rt.prototype.attrTest.call(this,t)&&(this.state&ge||!(this.state&ge)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),f(st,rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ge)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),f(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||t.eventType&(It|Nt)&&!r)this.reset();else if(t.eventType&Rt)this.reset(),this._timer=h(function(){this.state=xe,this.tryEmit()},e.time,this);else if(t.eventType&It)return xe;return Se},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===xe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=xt(),this.manager.emit(this.options.event,this._input)))}}),f(ht,rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ge)}}),f(ut,rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Bt|Vt,pointers:1},getTouchAction:function(){return ot.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Bt|Vt)?e=t.overallVelocity:n&Bt?e=t.overallVelocityX:n&Vt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&wt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),f(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[fe]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}function f(t,e,n){var i,r=e.prototype;i=t.prototype=Object.create(r),i.constructor=t,i._super=r,n&&mt(i,n)}function d(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,n){l(w(e),function(e){t.addEventListener(e,n,!1)})}function y(t,e,n){l(w(e),function(e){t.removeEventListener(e,n,!1)})}function g(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function _(t,e){return t.indexOf(e)>-1}function w(t){return t.trim().split(/\s+/g)}function x(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function T(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=Y(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,s=n.firstMultiple,a=s?s.center:o.center,h=e.center=R(i);e.timeStamp=xt(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=N(a,h),e.distance=W(a,h),P(n,e),e.offsetDirection=I(e.deltaX,e.deltaY);var u=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=wt(u.x)>wt(u.y)?u.x:u.y,e.scale=s?F(s.pointers,i):1,e.rotation=s?z(s.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,L(n,e);var l=t.element;g(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==Rt&&o.eventType!==It||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function L(t,e){var n,i,r,o,s=t.lastInterval||e,h=e.timeStamp-s.timeStamp;if(e.eventType!=Wt&&(h>Yt||s.velocity===a)){var u=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,c=A(h,u,l);i=c.x,r=c.y,n=wt(c.x)>wt(c.y)?c.x:c.y,o=I(u,l),t.lastInterval=e}else n=s.velocity,i=s.velocityX,r=s.velocityY,o=s.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function Y(t){for(var e=[],n=0;n=wt(e)?t<0?zt:Ft:e<0?jt:Gt}function W(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function N(t,e,n){n||(n=Ht);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function z(t,e){return N(e[1],e[0],Xt)+N(t[1],t[0],Xt)}function F(t,e){return W(e[0],e[1],Xt)/W(t[0],t[1],Xt)}function j(){this.evEl=qt,this.evWin=$t,this.pressed=!1,k.apply(this,arguments)}function G(){this.evEl=Kt,this.evWin=te,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function B(){this.evTarget=ne,this.evWin=ie,this.started=!1,k.apply(this,arguments)}function V(t,e){var n=b(t.touches),i=b(t.changedTouches);return e&(It|Wt)&&(n=S(n.concat(i),"identifier",!0)),[n,i]}function U(){this.evTarget=oe,this.targetIds={},k.apply(this,arguments)}function H(t,e){var n=b(t.touches),i=this.targetIds;if(e&(Rt|At)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,s=b(t.changedTouches),a=[],h=this.target;if(o=n.filter(function(t){return g(t.target,h)}),e===Rt)for(r=0;r-1&&i.splice(t,1)};setTimeout(r,se)}}function $(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-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){n.manager.emit(e,t)}var n=this,i=this.state;i=we&&e(n.options.event+et(i))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=Se)},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return rt.prototype.attrTest.call(this,t)&&(this.state&ge||!(this.state&ge)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),f(st,rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ge)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),f(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||t.eventType&(It|Wt)&&!r)this.reset();else if(t.eventType&Rt)this.reset(),this._timer=h(function(){this.state=xe,this.tryEmit()},e.time,this);else if(t.eventType&It)return xe;return Se},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===xe&&(t&&t.eventType&It?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=xt(),this.manager.emit(this.options.event,this._input)))}}),f(ht,rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[de]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ge)}}),f(ut,rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Bt|Vt,pointers:1},getTouchAction:function(){return ot.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(Bt|Vt)?e=t.overallVelocity:n&Bt?e=t.overallVelocityX:n&Vt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&wt(e)>this.options.velocity&&t.eventType&It},emit:function(t){var e=nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),f(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[fe]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),d=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:d,border:a},hover:{background:d,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,d=(n-o)/n,h=n;return{h:a,s:d,v:h}};var y={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(0,h.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=y.split(t.style.cssText),n=y.split(i),s=e.extend(o,n);t.style.cssText=y.join(s)},e.removeCssText=function(t,e){var i=y.split(t.style.cssText),o=y.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=y.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,d=i*(1-e),h=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=d;break;case 1:o=h,n=i,s=d;break;case 2:o=d,n=i,s=l;break;case 3:o=d,n=h,s=i;break;case 4:o=l,n=d,s=i;break;case 5:o=i,n=d,s=h}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"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,d-1):d;if(n(r,e)<0&&n(a,e)>0)return"before"==o?d:Math.min(t.length-1,d+1);n(r,e)<0?u=d+1:c=d-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,d=(0,s.default)(t);!(o=(a=d.next()).done);o=!0){var h=a.value;if(h){i=h[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),d=i(8),h=i(32),l=i(46),u=i(48),c=i(47)("iterator"),f=!([].keys&&"next"in[].keys()),p="@@iterator",v="keys",g="values",y=function(){return this};t.exports=function(t,e,i,m,b,_,w){h(i,e,m);var k,x,O,M=function(t){if(!f&&t in C)return C[t];switch(t){case v:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},S=e+" Iterator",E=b==g,D=!1,C=t.prototype,T=C[c]||C[p]||b&&C[b],P=T||M(b),B=b?E?M("entries"):P:void 0,F="Array"==e?C.entries||T:T;if(F&&(O=u(F.call(new t)),O!==Object.prototype&&(l(O,S,!0),o||a(O,c)||r(O,c,y))),E&&T&&T.name!==g&&(D=!0,P=function(){return T.call(this)}),o&&!w||!f&&!D&&C[c]||r(C,c,P),d[e]=P,d[S]=y,b)if(k={values:E?P:M(g),keys:_?P:M(v),entries:B},w)for(x in k)x in C||s(C,x,k[x]);else n(n.P+n.F*(f||D),e,k);return k}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",d=function(t,e,i){var h,l,u,c=t&d.F,f=t&d.G,p=t&d.S,v=t&d.P,g=t&d.B,y=t&d.W,m=f?n:n[e]||(n[e]={}),b=m[a],_=f?o:p?o[e]:(o[e]||{})[a];f&&(i=e);for(h in i)l=!c&&_&&void 0!==_[h],l&&h in m||(u=l?_[h]:i[h],m[h]=f&&"function"!=typeof _[h]?i[h]:g&&l?s(u,o):y&&_[h]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):v&&"function"==typeof u?s(Function.call,u):u,v&&((m.virtual||(m.virtual={}))[h]=u,t&d.R&&b&&!b[h]&&r(b,h,u)))};d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,t.exports=d},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},d="prototype",h=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),h=t.F;o--;)delete h[d][s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[d]=o(t),i=new a,a[d]=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,d=0;a>d;)o.f(t,i=r[d++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),d=0,h=[];for(i in a)i!=r&&o(a,i)&&h.push(i);for(;e.length>d;)o(a,i=e[d++])&&(~s(h,i)||h.push(i));return h}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,d=o(e),h=n(d.length),l=s(r,h);if(t&&i!=i){for(;h>l;)if(a=d[l++],a!=a)return!0}else for(;h>l;l++)if((t||l in d)&&d[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),d=o(i),h=a.length;return d<0||d>=h?t?"":void 0:(s=a.charCodeAt(d),s<55296||s>56319||d+1===h||(r=a.charCodeAt(d+1))<56320||r>57343?t?a.charAt(d):s:t?a.slice(d,d+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),d="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===d(s.default)?function(t){return"undefined"==typeof t?"undefined":d(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":d(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),d=i(69).KEY,h=i(26),l=i(42),u=i(46),c=i(43),f=i(47),p=i(65),v=i(70),g=i(71),y=i(72),m=i(75),b=i(22),_=i(9),w=i(28),k=i(29),x=i(33),O=i(76),M=i(78),S=i(21),E=i(35),D=M.f,C=S.f,T=O.f,P=o.Symbol,B=o.JSON,F=B&&B.stringify,I="prototype",z=f("_hidden"),N=f("toPrimitive"),R={}.propertyIsEnumerable,A=l("symbol-registry"),j=l("symbols"),H=l("op-symbols"),L=Object[I],W="function"==typeof P,Y=o.QObject,U=!Y||!Y[I]||!Y[I].findChild,V=s&&h(function(){return 7!=x(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=D(L,e);o&&delete L[e],C(t,e,i),o&&t!==L&&C(L,e,o)}:C,q=function(t){var e=j[t]=x(P[I]);return e._k=t,e},G=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===L&&X(H,e,i),b(t),e=w(e,!0),b(i),n(j,e)?(i.enumerable?(n(t,z)&&t[z][e]&&(t[z][e]=!1),i=x(i,{enumerable:k(0,!1)})):(n(t,z)||C(t,z,k(1,{})),t[z][e]=!0),V(t,e,i)):C(t,e,i)},K=function(t,e){b(t);for(var i,o=y(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?x(t):K(x(t),e)},Q=function(t){var e=R.call(this,t=w(t,!0));return!(this===L&&n(j,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(j,t)||n(this,z)&&this[z][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==L||!n(j,e)||n(H,e)){var i=D(t,e);return!i||!n(j,e)||n(t,z)&&t[z][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=T(_(t)),o=[],s=0;i.length>s;)n(j,e=i[s++])||e==z||e==d||o.push(e);return o},tt=function(t){for(var e,i=t===L,o=T(i?H:_(t)),s=[],r=0;o.length>r;)!n(j,e=o[r++])||i&&!n(L,e)||s.push(j[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===L&&e.call(H,i),n(this,z)&&n(this[z],t)&&(this[z][t]=!1),V(this,t,k(1,i))};return s&&U&&V(L,t,{configurable:!0,set:e}),q(t)},a(P[I],"toString",function(){return this._k}),M.f=J,S.f=X,i(77).f=O.f=$,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(L,"propertyIsEnumerable",Q,!0),p.f=function(t){return q(f(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)f(et[it++]);for(var et=E(f.store),it=0;et.length>it;)v(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(A,t+="")?A[t]:A[t]=P(t)},keyFor:function(t){if(G(t))return g(A,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){U=!0},useSimple:function(){U=!1}}),r(r.S+r.F*!W,"Object",{create:Z,defineProperty:X,defineProperties:K,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:tt}),B&&r(r.S+r.F*(!W||h(function(){var t=P();return"[null]"!=F([t])||"{}"!=F({a:t})||"{}"!=F(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!G(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&m(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!G(e))return e}),o[1]=e,F.apply(B,o)}}}),P[I][N]||i(20)(P[I],N,P[I].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,d=Object.isExtensible||function(){return!0},h=!i(26)(function(){return d(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!d(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!d(t))return!0;if(!e)return!1;l(t)}return t[o].w},f=function(t){return h&&p.NEED&&d(t)&&!s(t,o)&&l(t),t},p=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:f}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,d=0;a>d;)if(s[i=r[d++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),d=s.f,h=0;a.length>h;)d.call(t,r=a[h++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),d=i(24),h=Object.getOwnPropertyDescriptor;e.f=i(25)?h:function(t,e){if(t=s(t),e=r(e,!0),d)try{return h(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports={default:i(83),__esModule:!0}},function(t,e,i){var o=i(17),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(85)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return go.apply(null,arguments)}function i(t){go=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function m(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function k(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function N(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function R(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function A(t){var e,i,o={};for(i in t)h(t,i)&&(e=R(i),e&&(o[e]=t[i]));return o}function j(t,e){Bo[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Bo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function L(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function U(t){return t=R(t),S(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=A(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(No[t]=n),e&&(No[e[0]]=function(){return q(n.apply(this,arguments),e[1],e[2])}),i&&(No[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function K(t){var e,i,o=t.match(Fo);for(e=0,i=o.length;e=0&&Io.test(t);)t=t.replace(Io,i),Io.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=S(e)?e:function(t,o){return t&&i?i:e}}function $(t,e){return h(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function kt(t,e,i,o,n){var s,r,a=(7+i-o)%7,d=wt(t,o,n),h=1+7*(e-1)+a+d;return h<=0?(s=t-1,r=gt(s)+h):h>gt(t)?(s=t+1,r=h-gt(t)):(s=t,r=h),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+Ot(n,e,i)):r>Ot(t.year(),e,i)?(o=r-Ot(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Ot(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function Mt(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Et(){return this._week.doy}function Dt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Bt(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Ft(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function It(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function zt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Nt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return zt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Rt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function jt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=xn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Lt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Mn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],h=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),h.push(o),h.push(n),h.push(s);for(r.sort(t),a.sort(t),d.sort(t),h.sort(t),e=0;e<7;e++)a[e]=et(a[e]),d[e]=et(d[e]),h[e]=et(h[e]);this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Ut(){return this.hours()%12||12}function Vt(){return this.hours()||24}function qt(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Gt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Kt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&k(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!Tn[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Sn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),$t(i)}catch(t){}return Tn[e]}function $t(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Sn=i)),Sn._abbr}function te(t,e){if(null!==e){var i=Cn;if(e.abbr=t,null!=Tn[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=Tn[t]._config;else if(null!=e.parentLocale){if(null==Tn[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=Tn[e.parentLocale]._config}return Tn[t]=new C(D(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),$t(t),Tn[t]}return delete Tn[t],null}function ee(t,e){if(null!=e){var i,o=Cn;null!=Tn[t]&&(o=Tn[t]._config),e=D(o,e),i=new C(e),i.parentLocale=Tn[t],Tn[t]=i,$t(t)}else null!=Tn[t]&&(null!=Tn[t].parentLocale?Tn[t]=Tn[t].parentLocale:null!=Tn[t]&&delete Tn[t]);return Tn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Sn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(Tn)}function ne(t){var e,i=t._a;return i&&f(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[dn]||0!==i[hn])?rn:i[an]<0||i[an]>59?an:i[dn]<0||i[dn]>59?dn:i[hn]<0||i[hn]>999?hn:-1,f(t)._overflowDayOfYear&&(esn)&&(e=sn),f(t)._overflowWeeks&&e===-1&&(e=ln),f(t)._overflowWeekday&&e===-1&&(e=un),f(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,d=Bn.exec(a)||Fn.exec(a);if(d){for(f(t).iso=!0,e=0,i=zn.length;egt(n)&&(f(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[dn]&&0===t._a[hn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,d;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],xt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(d=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var h=xt(be(),s,r);i=ae(e.gg,t._a[on],h.year),o=ae(e.w,h.week),null!=e.d?(n=e.d,(n<0||n>6)&&(d=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(d=!0)):n=s}o<1||o>Ot(i,s,r)?f(t)._overflowWeeks=!0:null!=d?f(t)._overflowWeekday=!0:(a=kt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],f(t).empty=!0;var i,o,n,s,r,a=""+t._i,d=a.length,h=0;for(n=Q(t._f,t._locale).match(Fo)||[],i=0;i0&&f(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),h+=o.length),No[s]?(o?f(t).empty=!1:f(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&f(t).unusedTokens.push(s);f(t).charsLeftOver=d-h,a.length>0&&f(t).unusedInput.push(a),t._a[rn]<=12&&f(t).bigHour===!0&&t._a[rn]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),he(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function fe(t){var e,i,o,n,s;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Re(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&k(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ae(){return!!this.isValid()&&!this._isUTC}function je(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Le(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[dn])*i,ms:w(Me(1e3*a[hn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ue(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new xe(s),Oe(t)&&h(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(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 Ue(t,e){var i;return t.isValid()&&e.isValid()?(e=De(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Le(i,o),qe(this,n,t),this}}function qe(t,i,o,n){var s=i._milliseconds,r=Me(i._days),a=Me(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ge(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=De(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ke(){return new m(this)}function Ze(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=R(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Bi.call(this,t,e,i,o,n))}function Bi(t,e,i,o,n){var s=kt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Fi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ii(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 zi(t,e){e[hn]=w(1e3*("0."+t))}function Ni(){return this._isUTC?"UTC":""}function Ri(){return this._isUTC?"Coordinated Universal Time":""}function Ai(t){return be(1e3*t)}function ji(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function Li(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Li(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Li(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Li(e,(i+s)%7,o,"day");var a,d=[];for(a=0;a<7;a++)d[a]=Li(e,(a+s)%7,o,"day");return d}function Ui(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function qi(t,e,i){return Yi(t,e,i,"weekdays")}function Gi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Ki(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Zi(t,e,i,o){var n=Le(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Zi(this,t,e,1)}function Ji(t,e){return Zi(this,t,e,-1)}function $i(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,d=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*$i(io(a)+r),r=0,a=0),d.milliseconds=s%1e3,t=_(s/1e3),d.seconds=t%60,e=_(t/60),d.minutes=e%60, -i=_(e/60),d.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=$i(io(n)),o=_(a/12),a%=12,d.days=r,d.months=a,d.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=R(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=R(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Le(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),d=gs(o.as("M")),h=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function fo(t,e){return void 0!==ys[t]&&(void 0===e?ys[t]:(ys[t]=e,!0))}function po(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function vo(){var t,e,i,o=ms(this._milliseconds)/1e3,n=ms(this._days),s=ms(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,d=n,h=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(d?d+"D":"")+(h||l||u?"T":"")+(h?h+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,yo;yo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var mn=L("FullYear",!0);G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),j("week",5),j("isoWeek",5),J("w",Wo),J("ww",Wo,Ao),J("W",Wo),J("WW",Wo,Ao),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),J("d",Wo),J("e",Wo),J("E",Wo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:f(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),xn=$o,On=$o,Mn=$o;G("H",["HH",2],0,"hour"),G("h",["hh",2],0,Ut),G("k",["kk",2],0,Vt),G("hmm",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)}),G("hmmss",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)+q(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+q(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+q(this.minutes(),2)+q(this.seconds(),2)}),qt("a",!0),qt("A",!1),N("hour","h"),j("hour",13),J("a",Gt),J("A",Gt),J("H",Wo),J("h",Wo),J("HH",Wo,Ao),J("hh",Wo,Ao),J("hmm",Yo),J("hmmss",Uo),J("Hmm",Yo),J("Hmmss",Uo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),f(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),f(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n)),f(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n))});var Sn,En=/[ap]\.?m?\.?/i,Dn=L("Hours",!0),Cn={calendar:Mo,longDateFormat:So,invalidDate:Eo,ordinal:Do,ordinalParse:Co,relativeTime:To,months:pn,monthsShort:vn,week:bn,weekdays:_n,weekdaysMin:kn,weekdaysShort:wn,meridiemParse:En},Tn={},Pn={},Bn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,In=/Z|[+-]\d\d(?::?\d\d)?/,zn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Nn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Rn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var An=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:v()}),Hn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),J("Z",Qo),J("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ee(Qo,t)});var Ln=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Le.fn=xe.prototype;var Un=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var qn=O("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)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),J("G",Ko),J("g",Ko),J("GG",Wo,Ao),J("gg",Wo,Ao),J("GGGG",qo,Ho),J("gggg",qo,Ho),J("GGGGG",Go,Lo),J("ggggg",Go,Lo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),j("quarter",7),J("Q",Ro),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),G("D",["DD",2],"Do","date"),N("date","D"),j("date",9),J("D",Wo),J("DD",Wo,Ao),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var Gn=L("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),j("dayOfYear",4),J("DDD",Vo),J("DDDD",jo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),G("m",["mm",2],0,"minute"),N("minute","m"),j("minute",14),J("m",Wo),J("mm",Wo,Ao),it(["m","mm"],an);var Xn=L("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),j("second",15),J("s",Wo),J("ss",Wo,Ao),it(["s","ss"],dn);var Kn=L("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),j("millisecond",16),J("S",Vo,Ro),J("SS",Vo,Ao),J("SSS",Vo,jo);var Zn;for(Zn="SSSS";Zn.length<=9;Zn+="S")J(Zn,Xo);for(Zn="S";Zn.length<=9;Zn+="S")it(Zn,zi);var Qn=L("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var Jn=m.prototype;Jn.add=Un,Jn.calendar=Xe,Jn.clone=Ke,Jn.diff=ii,Jn.endOf=vi,Jn.format=ai,Jn.from=di,Jn.fromNow=hi,Jn.to=li,Jn.toNow=ui,Jn.get=U,Jn.invalidAt=Oi,Jn.isAfter=Ze,Jn.isBefore=Qe,Jn.isBetween=Je,Jn.isSame=$e,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=ki,Jn.lang=qn,Jn.locale=ci,Jn.localeData=fi,Jn.max=jn,Jn.min=An,Jn.parsingFlags=xi,Jn.set=V,Jn.startOf=pi,Jn.subtract=Vn,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=mi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=yi,Jn.valueOf=gi,Jn.creationData=Mi,Jn.year=mn,Jn.isLeapYear=mt,Jn.weekYear=Ei,Jn.isoWeekYear=Di,Jn.quarter=Jn.quarters=Fi,Jn.month=ut,Jn.daysInMonth=ct,Jn.week=Jn.weeks=Dt,Jn.isoWeek=Jn.isoWeeks=Ct,Jn.weeksInYear=Ti,Jn.isoWeeksInYear=Ci,Jn.date=Gn,Jn.day=Jn.days=Rt,Jn.weekday=At,Jn.isoWeekday=jt,Jn.dayOfYear=Ii,Jn.hour=Jn.hours=Dn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Kn,Jn.millisecond=Jn.milliseconds=Qn,Jn.utcOffset=Te,Jn.utc=Be,Jn.local=Fe,Jn.parseZone=Ie,Jn.hasAlignedHourOffset=ze,Jn.isDST=Ne,Jn.isLocal=Ae,Jn.isUtcOffset=je,Jn.isUtc=He,Jn.isUTC=He,Jn.zoneAbbr=Ni,Jn.zoneName=Ri,Jn.dates=O("dates accessor is deprecated. Use date instead.",Gn),Jn.months=O("months accessor is deprecated. Use month instead",ut),Jn.years=O("years accessor is deprecated. Use year instead",mn),Jn.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Re);var $n=C.prototype;$n.calendar=T,$n.longDateFormat=P,$n.invalidDate=B,$n.ordinal=F,$n.preparse=Hi,$n.postformat=Hi,$n.relativeTime=I,$n.pastFuture=z,$n.set=E,$n.months=rt,$n.monthsShort=at,$n.monthsParse=ht,$n.monthsRegex=pt,$n.monthsShortRegex=ft,$n.week=Mt,$n.firstDayOfYear=Et,$n.firstDayOfWeek=St,$n.weekdays=Bt,$n.weekdaysMin=It,$n.weekdaysShort=Ft,$n.weekdaysParse=Nt,$n.weekdaysRegex=Ht,$n.weekdaysShortRegex=Lt,$n.weekdaysMinRegex=Wt,$n.isPM=Xt,$n.meridiem=Kt,$t("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",$t),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),ds=so("y"),hs=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),fs=ao("days"),ps=ao("months"),vs=ao("years"),gs=Math.round,ys={s:45,m:45,h:22,d:26,M:11},ms=Math.abs,bs=xe.prototype;return bs.abs=Ki,bs.add=Qi,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=ds,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=hs,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=fs,bs.weeks=ho,bs.months=ps,bs.years=vs,bs.humanize=po,bs.toISOString=vo,bs.toString=vo,bs.toJSON=vo,bs.locale=ci,bs.localeData=fi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",vo),bs.lang=qn,G("X",0,0,"unix"),G("x",0,0,"valueOf"),J("x",Ko),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=ke,e.now=Hn,e.utc=u,e.unix=Ai,e.months=Ui,e.isDate=a,e.locale=$t,e.invalid=v,e.duration=Le,e.isMoment=b,e.weekdays=qi,e.parseZone=ji,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=Gi,e.normalizeUnits=R,e.relativeTimeRounding=co,e.relativeTimeThreshold=fo,e.calendarFormat=Ge,e.prototype=Jn,e})}).call(e,i(86)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=87},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)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:v,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),d=void 0!==t.nsecs?t.nsecs:y+1,h=a-g+(d-y)/1e4;if(h<0&&void 0===t.clockseq&&(r=r+1&16383),(h<0||a>g)&&void 0===t.nsecs&&(d=0),d>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,y=d,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+d)%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||p,f=0;f<6;f++)s[n+f]=c[f];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;a<16;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 d=new Uint8Array(16);r=function(){return crypto.getRandomValues(d),d}}if(!r){var h=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),h[e]=t>>>((3&e)<<3)&255;return h}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),g=0,y=0,m=s;m.v1=n,m.v4=s,m.parse=i,m.unparse=o,t.exports=m}).call(e,function(){return this}())},function(t,e){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.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var d=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(d.textContent=r.content),r.className&&d.setAttributeNS(null,"class",r.className+" vis-label"),d.setAttributeNS(null,"x",t),d.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,d){if(0!=n){n<0&&(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),d&&h.setAttributeNS(null,"style",d)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=d,r=h)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),d=i(90);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(102),h=o(d),l=i(103),u=o(l),c=i(1),f=i(90),p=i(92),v=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(h.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.nodes;if(t instanceof f||t instanceof p)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new f,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new f}o&&c.forEach(this.nodesListeners,function(t,e){o.off(e,t)}),this.body.nodes={},this.body.data.nodes&&!function(){var t=e;c.forEach(e.nodesListeners,function(e,i){t.body.data.nodes.on(i,e)});var i=e.body.data.nodes.getIds();e.add(i,!0)}(),i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:h.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(L.selectiveNotDeepExtend(n,t,e,i),L.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=L.parseColor(e.color);L.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=L.bridgeObject(o.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))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=L.bridgeObject(o.font)),void 0!==e.scaling&&L.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(2),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,f.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=p.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,h.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=p.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=p.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=p.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,h.default)(a))){var d=p.topMost(o,["heightConstraint","minimum"]);"number"==typeof d&&(this.fontOptions.minHgt=Number(d));var l=p.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=p.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var d,h=(0,a.default)(o);!(n=(d=h.next()).done);n=!0){var l=d.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*f}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(p)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&h.return&&h.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,d=a*this.body.view.scale;d>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,l=this._setAlignment(t,o,h,r),u=(0,s.default)(l,2);o=u[0],h=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(h-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(h+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=v.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=m,v.strokeWidth>0&&t.strokeText(v.text,o+f,h+v.vadjust),t.fillText(v.text,o+f,h+v.vadjust),f+=v.width}h+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=p.overrideOpacity(o,s),n=p.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,d,h){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:d,strokeColor:h})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,d,h){this.add(t,e,i,o,n,s,r,a,d,h),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),d=a.length;if(this.elementOptions.font.multi)for(var h=0;h0)for(var v=this.getFormattingValues(t,e,i,l[p].mod),g=l[p].text.split(" "),y=!0,m="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=v.height>c?v.height:c,s.add(r,m,v.font,v.color,_.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,_.width,c),m="",y=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(m=m+k+g[w],w===g.length-1&&(c=v.height>c?v.height:c,u+=b.width,s.add(r,m,v.font,v.color,b.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,b.width,c),p===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,y=!1)}else{var x=this.getFormattingValues(t,e,i,l[p].mod),O=t.measureText(l[p].text);s.addAndAccumulate(r,l[p].text,x.font,x.color,O.width,x.height,x.vadjust,l[p].mod,x.strokeWidth,x.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===p&&(n+=s[r].height,r++)}}}else for(var M=0;M0)for(var E=a[M].split(" "),D="",C={width:0},T=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=T.width?(s.addAndAccumulate(r,D,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,D="",r++):(D=D+B+E[P],P===E.length-1&&(s.addAndAccumulate(r,D,S.font,S.color,C.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var F=a[M],I=t.measureText(F);s.addAndAccumulate(r,F,S.font,S.color,I.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,h.default)(e.font)&&p.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(105),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,d=(0,a.default)(t);!(o=(r=d.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&d.return&&d.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(106),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(107)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(v.default);e.default=g},function(t,e,i){t.exports={default:i(110),__esModule:!0}},function(t,e,i){i(111),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(114),s=o(n),r=i(55),a=o(r),d=i(62),h=o(d);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,h.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(115),__esModule:!0}},function(t,e,i){i(116),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(117).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,h.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"setOptions",value:function(t,e){this.options=t,e&&(this.imageObj=e)}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,d=1;i>2&&d<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,d+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r._swapToImageResizeWhenImageLoaded=!0,r}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height, -this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var d=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,d),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),d>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var h=n+.5*this.height+3;this.labelModule.draw(t,o,h,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,d=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),d>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(82),s=o(n),r=i(62),a=o(r),d=i(58),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=!1,g=void 0,y="background: #FFeeee; color: #dd0000",m=function(){function t(){(0,u.default)(this,t)}return(0,f.default)(t,null,[{key:"validate",value:function(e,i,o){v=!1,g=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),v}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){void 0===o[e]&&void 0===o.__any__?t.getSuggestion(e,o,n):void 0===o[e]&&void 0!==o.__any__?"object"===t.getType(i[e])&&void 0!==o.__any__.__type__?t.checkFields(e,i,o,"__any__",o.__any__.__type__,n):t.checkFields(e,i,o,"__any__",o.__any__,n):void 0!==o[e].__type__?t.checkFields(e,i,o,e,o[e].__type__,n):t.checkFields(e,i,o,e,o[e],n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=t.getType(i[e]),d=s[a];void 0!==d?"array"===t.getType(d)&&d.indexOf(i[e])===-1?(console.log('%cInvalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '+t.printLocation(r,e),y),v=!0):"object"===a&&"__any__"!==n&&(r=p.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(console.log('%cInvalid type received for "'+e+'". Expected: '+t.print((0,h.default)(s))+". Received ["+a+'] "'+i[e]+'"'+t.printLocation(r,e),y),v=!0)}},{key:"getType",value:function(t){var e="undefined"==typeof t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":t._isAMomentObject===!0?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,g,[],!0),r=8,a=4;void 0!==n.indexMatch?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n',y):s.distance<=a&&n.distance>s.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,""),y):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),y):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,h.default)(i))+t.printLocation(o,e),y),v=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],d=e.toLowerCase(),h=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],p.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,h=c.indexMatch)}else l.toLowerCase().indexOf(d)!==-1&&(h=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=p.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:h}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof f||t instanceof p)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new f,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new f}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-d):(r=i.x+d,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,d,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{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,d=this.edgeType.getDistanceToEdge(i,o,n,s,r,a);return d0&&i<0)&&(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:"cleanup",value:function(){return this.edgeType.cleanup()} -}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,h.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var d=!1;void 0!==e.color.color&&(t.color.color=e.color.color,d=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,d=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,d=!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&&d===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?v.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=M},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(138),y=o(g),m=function(t){function e(t,i,o){return(0,h.default)(this,e),(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,v.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),d=(0,s.default)(a,2),h=d[0],l=d[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,h,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var d=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,h=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:d,y:h}}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var d=1e9,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=t,v=e,g=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,g[0]=Math.pow(1-u,3),g[1]=3*u*Math.pow(1-u,2),g[2]=3*Math.pow(u,2)*(1-u),g[3]=Math.pow(u,3),c=g[0]*t+g[1]*r.x+g[2]*a.x+g[3]*i,f=g[0]*e+g[1]*r.y+g[2]*a.y+g[3]*o,l>0&&(h=this._getDistanceToLine(p,v,c,f,n,s),d=h2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),d=10,h=0,l=0,u=1,c=.2,f=this.to,p=!1;for(t.id===this.from.id&&(f=this.from,p=!0);l<=u&&h0&&(d=this._getDistanceToLine(f,p,u,c,n,s),a=do.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,d=10,h=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,f=void 0,p=void 0,v=void 0,g=.05,y=.5*(s+r);s<=r&&h0?a>0?s=y:r=y:a>0?r=y:s=y,h++;return u.t=y,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,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,d){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],f=u[1],p=u[2],v=c-n,g=f-r;h=Math.abs(Math.sqrt(v*v+g*g)-p)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,d=r*r+a*a,h=((n-t)*r+(s-e)*a)/d;h>1?h=1:h<0&&(h=0);var l=t+h*r,u=e+h*a,c=l-n,f=u-s;return Math.sqrt(c*c+f*f)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,d=void 0,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=r.width;if("from"===e?(h=this.from,l=this.to,u=.1,c=r.fromArrowScale,f=r.fromArrowType):"to"===e?(h=this.to,l=this.from,u=-.1,c=r.toArrowScale,f=r.toArrowType):(h=this.to,l=this.from,c=r.middleArrowScale,f=r.middleArrowType),h!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){d=this.findBorderPosition(h,t,{via:i});var v=this.getPoint(Math.max(0,Math.min(1,d.t+u)),i);a=Math.atan2(d.y-v.y,d.x-v.x)}else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.findBorderPosition(h,t);else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.getPoint(.5,i);else{var g=this._getCircleData(t),y=(0,s.default)(g,3),m=y[0],b=y[1],_=y[2];"from"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.25,high:.6,direction:-1}),a=d.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.6,high:1,direction:1}),a=d.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(d=this._pointOnCircle(m,b,_,.175),a=3.9269908169872414)}var w=15*c+3*p,k=d.x-.9*w*Math.cos(a),x=d.y-.9*w*Math.sin(a),O={x:k,y:x};return{point:d,core:O,angle:a,length:w,type:f}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(139),y=o(g),m=function(t){function e(t,i,o){(0,h.default)(this,e);var n=(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,v.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),d=a[0],h=a[1],l=a[2],u=2*Math.PI*(1-i);o=d+l*Math.sin(u),n=h+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.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=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.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=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.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.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.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(140),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),d=t.distanceToBorder(e,n),h=(a-d)/a,l={};return l.x=(1-h)*o.x+h*i.x,l.y=(1-h)*o.y+h*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(145),u=o(l),c=i(146),f=o(c),p=i(147),v=o(p),g=i(148),y=o(g),m=i(149),b=o(m),_=i(150),w=o(_),k=i(151),x=o(k),O=i(152),M=o(O),S=i(1),E=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new x.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new M.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new f.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new v.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?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 d=this.modelOptions.damping*s[t].y,h=(n[t].y-d)/i.options.mass;s[t].y+=h*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=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){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;s0&&(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,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));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,d=1;d0&&(hr&&(r=h),la&&(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,f=Math.max(c,Math.abs(r-n)),p=.5*f,v=.5*(n+r),g=.5*(s+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m0&&this._placeInTree(y.root,i);return y}},{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+=this.seededRandom(),e.y+=this.seededRandom()):(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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,d=this.body.nodes,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,f=4/3,p=0;p0){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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(154),f=o(c),p=i(155),v=o(p),g=i(1),y=function(){function t(e){var i=this;(0,h.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},g.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=0;u0&&(0,s.default)(p).length>0&&g===!0&&o.push({nodes:c,edges:p})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,d=f.default.cloneOptions(o);n[a]=o;for(var h=0;h-1&&(r[y.id]=y)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=g.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var d in t)if(t.hasOwnProperty(d)){var h=f.default.cloneOptions(t[d]);a.push(h)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=f.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+g.randomUUID());var p=r.id;void 0===r.label&&(r.label="cluster");var y=void 0;void 0===r.x&&(y=this._getClusterPosition(t),r.x=y.x),void 0===r.y&&(void 0===y&&(y=this._getClusterPosition(t)),r.y=y.y),r.id=p;var m=this.body.functions.createNode(r,v.default);m.isCluster=!0,m.containedNodes=t,m.containedEdges=e,m.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=m,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,d=1;do?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];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 o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var h=this.body.nodes[d];r[d]={x:h.x,y:h.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var p in n)if(n.hasOwnProperty(p)){var v=this.body.nodes[p];v=n[p],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var y in n)if(n.hasOwnProperty(y)){var m=this.body.nodes[y];m.vx=o.vx,m.vy=o.vy,m.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[y]}for(var b=[],_=0;_o&&(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),d=Math.floor(t+2*a);return d>o&&(d=o),d}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(1),h=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,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"];d.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(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!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(),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;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),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),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[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}),d=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),h={top:a.y,left:a.x,bottom:d.y,right:d.x},l=0;l0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new d(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_ALL}),h.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new d(this.frame),h.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){if("undefined"!=typeof window){var o=i(159),n=window.Hammer||i(160);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},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;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(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};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?h._handlers[t]=o:(i.off(t,s),delete h._handlers[t]))}),h},h.emit=function(e,o){t=o.target,i.emit(e,o)},h.destroy=function(){var t=i.element.hammer,e=t.indexOf(h);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,h._handlers={},i.destroy()},h}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"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(87),e.DataSet=i(88),e.DataView=i(92),e.Queue=i(91),e.Network=i(93),e.network={Images:i(94),dotparser:i(177),gephiParser:i(178),allOptions:i(172)},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.moment=i(82),e.Hammer=i(158),e.keycharm=i(165)},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),d=i(58),h=o(d),l=i(62),u=o(l),c=i(82),f=i(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)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=p.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return f.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),d=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:d,border:a},hover:{background:d,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,d=(n-o)/n,h=n;return{h:a,s:d,v:h}};var v={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(0,h.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=v.split(t.style.cssText),n=v.split(i),s=e.extend(o,n);t.style.cssText=v.join(s)},e.removeCssText=function(t,e){var i=v.split(t.style.cssText),o=v.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=v.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,d=i*(1-e),h=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=d;break;case 1:o=h,n=i,s=d;break;case 2:o=d,n=i,s=l;break;case 3:o=d,n=h,s=i;break;case 4:o=l,n=d,s=i;break;case 5:o=i,n=d,s=h}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"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,d-1):d;if(n(r,e)<0&&n(a,e)>0)return"before"==o?d:Math.min(t.length-1,d+1);n(r,e)<0?u=d+1:c=d-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,d=(0,s.default)(t);!(o=(a=d.next()).done);o=!0){var h=a.value;if(h){i=h[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),d=i(8),h=i(32),l=i(46),u=i(48),c=i(47)("iterator"),f=!([].keys&&"next"in[].keys()),p="@@iterator",v="keys",g="values",y=function(){return this};t.exports=function(t,e,i,m,b,_,w){h(i,e,m);var k,x,O,M=function(t){if(!f&&t in C)return C[t];switch(t){case v:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},S=e+" Iterator",E=b==g,D=!1,C=t.prototype,T=C[c]||C[p]||b&&C[b],P=T||M(b),B=b?E?M("entries"):P:void 0,F="Array"==e?C.entries||T:T;if(F&&(O=u(F.call(new t)),O!==Object.prototype&&(l(O,S,!0),o||a(O,c)||r(O,c,y))),E&&T&&T.name!==g&&(D=!0,P=function(){return T.call(this)}),o&&!w||!f&&!D&&C[c]||r(C,c,P),d[e]=P,d[S]=y,b)if(k={values:E?P:M(g),keys:_?P:M(v),entries:B},w)for(x in k)x in C||s(C,x,k[x]);else n(n.P+n.F*(f||D),e,k);return k}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",d=function(t,e,i){var h,l,u,c=t&d.F,f=t&d.G,p=t&d.S,v=t&d.P,g=t&d.B,y=t&d.W,m=f?n:n[e]||(n[e]={}),b=m[a],_=f?o:p?o[e]:(o[e]||{})[a];f&&(i=e);for(h in i)l=!c&&_&&void 0!==_[h],l&&h in m||(u=l?_[h]:i[h],m[h]=f&&"function"!=typeof _[h]?i[h]:g&&l?s(u,o):y&&_[h]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):v&&"function"==typeof u?s(Function.call,u):u,v&&((m.virtual||(m.virtual={}))[h]=u,t&d.R&&b&&!b[h]&&r(b,h,u)))};d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,t.exports=d},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},d="prototype",h=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),h=t.F;o--;)delete h[d][s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[d]=o(t),i=new a,a[d]=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,d=0;a>d;)o.f(t,i=r[d++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),d=0,h=[];for(i in a)i!=r&&o(a,i)&&h.push(i);for(;e.length>d;)o(a,i=e[d++])&&(~s(h,i)||h.push(i));return h}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,d=o(e),h=n(d.length),l=s(r,h);if(t&&i!=i){for(;h>l;)if(a=d[l++],a!=a)return!0}else for(;h>l;l++)if((t||l in d)&&d[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),d=o(i),h=a.length;return d<0||d>=h?t?"":void 0:(s=a.charCodeAt(d),s<55296||s>56319||d+1===h||(r=a.charCodeAt(d+1))<56320||r>57343?t?a.charAt(d):s:t?a.slice(d,d+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),d="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===d(s.default)?function(t){return"undefined"==typeof t?"undefined":d(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":d(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),d=i(69).KEY,h=i(26),l=i(42),u=i(46),c=i(43),f=i(47),p=i(65),v=i(70),g=i(71),y=i(72),m=i(75),b=i(22),_=i(9),w=i(28),k=i(29),x=i(33),O=i(76),M=i(78),S=i(21),E=i(35),D=M.f,C=S.f,T=O.f,P=o.Symbol,B=o.JSON,F=B&&B.stringify,I="prototype",z=f("_hidden"),N=f("toPrimitive"),R={}.propertyIsEnumerable,A=l("symbol-registry"),j=l("symbols"),H=l("op-symbols"),L=Object[I],W="function"==typeof P,Y=o.QObject,U=!Y||!Y[I]||!Y[I].findChild,V=s&&h(function(){return 7!=x(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=D(L,e);o&&delete L[e],C(t,e,i),o&&t!==L&&C(L,e,o)}:C,q=function(t){var e=j[t]=x(P[I]);return e._k=t,e},G=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===L&&X(H,e,i),b(t),e=w(e,!0),b(i),n(j,e)?(i.enumerable?(n(t,z)&&t[z][e]&&(t[z][e]=!1),i=x(i,{enumerable:k(0,!1)})):(n(t,z)||C(t,z,k(1,{})),t[z][e]=!0),V(t,e,i)):C(t,e,i)},K=function(t,e){b(t);for(var i,o=y(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?x(t):K(x(t),e)},Q=function(t){var e=R.call(this,t=w(t,!0));return!(this===L&&n(j,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(j,t)||n(this,z)&&this[z][t])||e)},$=function(t,e){if(t=_(t),e=w(e,!0),t!==L||!n(j,e)||n(H,e)){var i=D(t,e);return!i||!n(j,e)||n(t,z)&&t[z][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=T(_(t)),o=[],s=0;i.length>s;)n(j,e=i[s++])||e==z||e==d||o.push(e);return o},tt=function(t){for(var e,i=t===L,o=T(i?H:_(t)),s=[],r=0;o.length>r;)!n(j,e=o[r++])||i&&!n(L,e)||s.push(j[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===L&&e.call(H,i),n(this,z)&&n(this[z],t)&&(this[z][t]=!1),V(this,t,k(1,i))};return s&&U&&V(L,t,{configurable:!0,set:e}),q(t)},a(P[I],"toString",function(){return this._k}),M.f=$,S.f=X,i(77).f=O.f=J,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(L,"propertyIsEnumerable",Q,!0),p.f=function(t){return q(f(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)f(et[it++]);for(var et=E(f.store),it=0;et.length>it;)v(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(A,t+="")?A[t]:A[t]=P(t)},keyFor:function(t){if(G(t))return g(A,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){U=!0},useSimple:function(){U=!1}}),r(r.S+r.F*!W,"Object",{create:Z,defineProperty:X,defineProperties:K,getOwnPropertyDescriptor:$,getOwnPropertyNames:J,getOwnPropertySymbols:tt}),B&&r(r.S+r.F*(!W||h(function(){var t=P();return"[null]"!=F([t])||"{}"!=F({a:t})||"{}"!=F(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!G(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&m(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!G(e))return e}),o[1]=e,F.apply(B,o)}}}),P[I][N]||i(20)(P[I],N,P[I].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,d=Object.isExtensible||function(){return!0},h=!i(26)(function(){return d(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!d(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!d(t))return!0;if(!e)return!1;l(t)}return t[o].w},f=function(t){return h&&p.NEED&&d(t)&&!s(t,o)&&l(t),t},p=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:f}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,d=0;a>d;)if(s[i=r[d++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),d=s.f,h=0;a.length>h;)d.call(t,r=a[h++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),d=i(24),h=Object.getOwnPropertyDescriptor;e.f=i(25)?h:function(t,e){if(t=s(t),e=r(e,!0),d)try{return h(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return go.apply(null,arguments)}function i(t){go=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function d(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function m(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function k(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function N(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function R(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function A(t){var e,i,o={};for(i in t)h(t,i)&&(e=R(i),e&&(o[e]=t[i]));return o}function j(t,e){Bo[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Bo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function L(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function U(t){return t=R(t),S(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=A(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function G(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(No[t]=n),e&&(No[e[0]]=function(){return q(n.apply(this,arguments),e[1],e[2])}),i&&(No[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function K(t){var e,i,o=t.match(Fo);for(e=0,i=o.length;e=0&&Io.test(t);)t=t.replace(Io,i),Io.lastIndex=0,o-=1;return t}function $(t,e,i){tn[t]=S(e)?e:function(t,o){return t&&i?i:e}}function J(t,e){return h(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function kt(t,e,i,o,n){var s,r,a=(7+i-o)%7,d=wt(t,o,n),h=1+7*(e-1)+a+d;return h<=0?(s=t-1,r=gt(s)+h):h>gt(t)?(s=t+1,r=h-gt(t)):(s=t,r=h),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+Ot(n,e,i)):r>Ot(t.year(),e,i)?(o=r-Ot(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Ot(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function Mt(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Et(){return this._week.doy}function Dt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Bt(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Ft(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function It(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function zt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Nt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return zt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Rt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function jt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=xn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Lt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Mn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],d=[],h=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),d.push(s),h.push(o),h.push(n),h.push(s);for(r.sort(t),a.sort(t),d.sort(t),h.sort(t),e=0;e<7;e++)a[e]=et(a[e]),d[e]=et(d[e]),h[e]=et(h[e]);this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Ut(){return this.hours()%12||12}function Vt(){return this.hours()||24}function qt(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Gt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Kt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&k(n,i,!0)>=e-1)break;e--}s++}return null}function $t(e){var i=null;if(!Tn[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Sn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Jt(i)}catch(t){}return Tn[e]}function Jt(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Sn=i)),Sn._abbr}function te(t,e){if(null!==e){var i=Cn;if(e.abbr=t,null!=Tn[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=Tn[t]._config;else if(null!=e.parentLocale){if(null==Tn[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=Tn[e.parentLocale]._config}return Tn[t]=new C(D(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),Jt(t),Tn[t]}return delete Tn[t],null}function ee(t,e){if(null!=e){var i,o=Cn;null!=Tn[t]&&(o=Tn[t]._config),e=D(o,e),i=new C(e),i.parentLocale=Tn[t],Tn[t]=i,Jt(t)}else null!=Tn[t]&&(null!=Tn[t].parentLocale?Tn[t]=Tn[t].parentLocale:null!=Tn[t]&&delete Tn[t]);return Tn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Sn;if(!o(t)){if(e=$t(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(Tn)}function ne(t){var e,i=t._a;return i&&f(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[dn]||0!==i[hn])?rn:i[an]<0||i[an]>59?an:i[dn]<0||i[dn]>59?dn:i[hn]<0||i[hn]>999?hn:-1,f(t)._overflowDayOfYear&&(esn)&&(e=sn),f(t)._overflowWeeks&&e===-1&&(e=ln),f(t)._overflowWeekday&&e===-1&&(e=un),f(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,d=Bn.exec(a)||Fn.exec(a);if(d){for(f(t).iso=!0,e=0,i=zn.length;egt(n)&&(f(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[dn]&&0===t._a[hn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,d;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],xt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(d=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var h=xt(be(),s,r);i=ae(e.gg,t._a[on],h.year),o=ae(e.w,h.week),null!=e.d?(n=e.d,(n<0||n>6)&&(d=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(d=!0)):n=s}o<1||o>Ot(i,s,r)?f(t)._overflowWeeks=!0:null!=d?f(t)._overflowWeekday=!0:(a=kt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],f(t).empty=!0;var i,o,n,s,r,a=""+t._i,d=a.length,h=0;for(n=Q(t._f,t._locale).match(Fo)||[],i=0;i0&&f(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),h+=o.length),No[s]?(o?f(t).empty=!1:f(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&f(t).unusedTokens.push(s);f(t).charsLeftOver=d-h,a.length>0&&f(t).unusedInput.push(a),t._a[rn]<=12&&f(t).bigHour===!0&&t._a[rn]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),he(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function fe(t){var e,i,o,n,s;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Re(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&k(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ae(){return!!this.isValid()&&!this._isUTC}function je(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Le(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[dn])*i,ms:w(Me(1e3*a[hn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ue(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new xe(s),Oe(t)&&h(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(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 Ue(t,e){var i;return t.isValid()&&e.isValid()?(e=De(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Le(i,o),qe(this,n,t),this}}function qe(t,i,o,n){var s=i._milliseconds,r=Me(i._days),a=Me(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ge(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=De(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ke(){return new m(this)}function Ze(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=R(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Bi.call(this,t,e,i,o,n))}function Bi(t,e,i,o,n){var s=kt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Fi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ii(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 zi(t,e){e[hn]=w(1e3*("0."+t))}function Ni(){return this._isUTC?"UTC":""}function Ri(){return this._isUTC?"Coordinated Universal Time":""}function Ai(t){return be(1e3*t)}function ji(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function Li(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Li(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Li(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Li(e,(i+s)%7,o,"day");var a,d=[];for(a=0;a<7;a++)d[a]=Li(e,(a+s)%7,o,"day");return d}function Ui(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function qi(t,e,i){return Yi(t,e,i,"weekdays")}function Gi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Ki(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Zi(t,e,i,o){var n=Le(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Zi(this,t,e,1)}function $i(t,e){return Zi(this,t,e,-1)}function Ji(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,d=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Ji(io(a)+r),r=0,a=0),d.milliseconds=s%1e3,t=_(s/1e3),d.seconds=t%60,e=_(t/60),d.minutes=e%60,i=_(e/60),d.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=Ji(io(n)),o=_(a/12),a%=12,d.days=r,d.months=a,d.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=R(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12; +switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=R(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Le(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),d=gs(o.as("M")),h=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function fo(t,e){return void 0!==ys[t]&&(void 0===e?ys[t]:(ys[t]=e,!0))}function po(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function vo(){var t,e,i,o=ms(this._milliseconds)/1e3,n=ms(this._days),s=ms(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,d=n,h=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(d?d+"D":"")+(h||l||u?"T":"")+(h?h+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,yo;yo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var mn=L("FullYear",!0);G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),j("week",5),j("isoWeek",5),$("w",Wo),$("ww",Wo,Ao),$("W",Wo),$("WW",Wo,Ao),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),$("d",Wo),$("e",Wo),$("E",Wo),$("dd",function(t,e){return e.weekdaysMinRegex(t)}),$("ddd",function(t,e){return e.weekdaysShortRegex(t)}),$("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:f(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),xn=Jo,On=Jo,Mn=Jo;G("H",["HH",2],0,"hour"),G("h",["hh",2],0,Ut),G("k",["kk",2],0,Vt),G("hmm",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)}),G("hmmss",0,0,function(){return""+Ut.apply(this)+q(this.minutes(),2)+q(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+q(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+q(this.minutes(),2)+q(this.seconds(),2)}),qt("a",!0),qt("A",!1),N("hour","h"),j("hour",13),$("a",Gt),$("A",Gt),$("H",Wo),$("h",Wo),$("HH",Wo,Ao),$("hh",Wo,Ao),$("hmm",Yo),$("hmmss",Uo),$("Hmm",Yo),$("Hmmss",Uo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),f(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),f(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n)),f(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[dn]=w(t.substr(n))});var Sn,En=/[ap]\.?m?\.?/i,Dn=L("Hours",!0),Cn={calendar:Mo,longDateFormat:So,invalidDate:Eo,ordinal:Do,ordinalParse:Co,relativeTime:To,months:pn,monthsShort:vn,week:bn,weekdays:_n,weekdaysMin:kn,weekdaysShort:wn,meridiemParse:En},Tn={},Pn={},Bn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,In=/Z|[+-]\d\d(?::?\d\d)?/,zn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Nn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Rn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var An=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:v()}),Hn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),$("Z",Qo),$("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Ee(Qo,t)});var Ln=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Le.fn=xe.prototype;var Un=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var qn=O("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)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),$("G",Ko),$("g",Ko),$("GG",Wo,Ao),$("gg",Wo,Ao),$("GGGG",qo,Ho),$("gggg",qo,Ho),$("GGGGG",Go,Lo),$("ggggg",Go,Lo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),j("quarter",7),$("Q",Ro),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),G("D",["DD",2],"Do","date"),N("date","D"),j("date",9),$("D",Wo),$("DD",Wo,Ao),$("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var Gn=L("Date",!0);G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),j("dayOfYear",4),$("DDD",Vo),$("DDDD",jo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),G("m",["mm",2],0,"minute"),N("minute","m"),j("minute",14),$("m",Wo),$("mm",Wo,Ao),it(["m","mm"],an);var Xn=L("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),j("second",15),$("s",Wo),$("ss",Wo,Ao),it(["s","ss"],dn);var Kn=L("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),j("millisecond",16),$("S",Vo,Ro),$("SS",Vo,Ao),$("SSS",Vo,jo);var Zn;for(Zn="SSSS";Zn.length<=9;Zn+="S")$(Zn,Xo);for(Zn="S";Zn.length<=9;Zn+="S")it(Zn,zi);var Qn=L("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var $n=m.prototype;$n.add=Un,$n.calendar=Xe,$n.clone=Ke,$n.diff=ii,$n.endOf=vi,$n.format=ai,$n.from=di,$n.fromNow=hi,$n.to=li,$n.toNow=ui,$n.get=U,$n.invalidAt=Oi,$n.isAfter=Ze,$n.isBefore=Qe,$n.isBetween=$e,$n.isSame=Je,$n.isSameOrAfter=ti,$n.isSameOrBefore=ei,$n.isValid=ki,$n.lang=qn,$n.locale=ci,$n.localeData=fi,$n.max=jn,$n.min=An,$n.parsingFlags=xi,$n.set=V,$n.startOf=pi,$n.subtract=Vn,$n.toArray=bi,$n.toObject=_i,$n.toDate=mi,$n.toISOString=si,$n.inspect=ri,$n.toJSON=wi,$n.toString=ni,$n.unix=yi,$n.valueOf=gi,$n.creationData=Mi,$n.year=mn,$n.isLeapYear=mt,$n.weekYear=Ei,$n.isoWeekYear=Di,$n.quarter=$n.quarters=Fi,$n.month=ut,$n.daysInMonth=ct,$n.week=$n.weeks=Dt,$n.isoWeek=$n.isoWeeks=Ct,$n.weeksInYear=Ti,$n.isoWeeksInYear=Ci,$n.date=Gn,$n.day=$n.days=Rt,$n.weekday=At,$n.isoWeekday=jt,$n.dayOfYear=Ii,$n.hour=$n.hours=Dn,$n.minute=$n.minutes=Xn,$n.second=$n.seconds=Kn,$n.millisecond=$n.milliseconds=Qn,$n.utcOffset=Te,$n.utc=Be,$n.local=Fe,$n.parseZone=Ie,$n.hasAlignedHourOffset=ze,$n.isDST=Ne,$n.isLocal=Ae,$n.isUtcOffset=je,$n.isUtc=He,$n.isUTC=He,$n.zoneAbbr=Ni,$n.zoneName=Ri,$n.dates=O("dates accessor is deprecated. Use date instead.",Gn),$n.months=O("months accessor is deprecated. Use month instead",ut),$n.years=O("years accessor is deprecated. Use year instead",mn),$n.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),$n.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Re);var Jn=C.prototype;Jn.calendar=T,Jn.longDateFormat=P,Jn.invalidDate=B,Jn.ordinal=F,Jn.preparse=Hi,Jn.postformat=Hi,Jn.relativeTime=I,Jn.pastFuture=z,Jn.set=E,Jn.months=rt,Jn.monthsShort=at,Jn.monthsParse=ht,Jn.monthsRegex=pt,Jn.monthsShortRegex=ft,Jn.week=Mt,Jn.firstDayOfYear=Et,Jn.firstDayOfWeek=St,Jn.weekdays=Bt,Jn.weekdaysMin=It,Jn.weekdaysShort=Ft,Jn.weekdaysParse=Nt,Jn.weekdaysRegex=Ht,Jn.weekdaysShortRegex=Lt,Jn.weekdaysMinRegex=Wt,Jn.isPM=Xt,Jn.meridiem=Kt,Jt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",Jt),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),ds=so("y"),hs=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),fs=ao("days"),ps=ao("months"),vs=ao("years"),gs=Math.round,ys={s:45,m:45,h:22,d:26,M:11},ms=Math.abs,bs=xe.prototype;return bs.abs=Ki,bs.add=Qi,bs.subtract=$i,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=ds,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=hs,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=fs,bs.weeks=ho,bs.months=ps,bs.years=vs,bs.humanize=po,bs.toISOString=vo,bs.toString=vo,bs.toJSON=vo,bs.locale=ci,bs.localeData=fi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",vo),bs.lang=qn,G("X",0,0,"unix"),G("x",0,0,"valueOf"),$("x",Ko),$("X",$o),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=$n,e.min=we,e.max=ke,e.now=Hn,e.utc=u,e.unix=Ai,e.months=Ui,e.isDate=a,e.locale=Jt,e.invalid=v,e.duration=Le,e.isMoment=b,e.weekdays=qi,e.parseZone=ji,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=Gi,e.normalizeUnits=R,e.relativeTimeRounding=co,e.relativeTimeThreshold=fo,e.calendarFormat=Ge,e.prototype=$n,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)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:v,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),d=void 0!==t.nsecs?t.nsecs:y+1,h=a-g+(d-y)/1e4;if(h<0&&void 0===t.clockseq&&(r=r+1&16383),(h<0||a>g)&&void 0===t.nsecs&&(d=0),d>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,y=d,v=r,a+=122192928e5;var l=(1e4*(268435455&a)+d)%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||p,f=0;f<6;f++)s[n+f]=c[f];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;a<16;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 d=new Uint8Array(16);r=function(){return crypto.getRandomValues(d),d}}if(!r){var h=new Array(16);r=function(){for(var t,e=0;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),h[e]=t>>>((3&e)<<3)&255;return h}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var f=r(),p=[1|f[0],f[1],f[2],f[3],f[4],f[5]],v=16383&(f[6]<<8|f[7]),g=0,y=0,m=s;m.v1=n,m.v4=s,m.parse=i,m.unparse=o,t.exports=m}).call(e,function(){return this}())},function(t,e){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.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var d=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(d.textContent=r.content),r.className&&d.setAttributeNS(null,"class",r.className+" vis-label"),d.setAttributeNS(null,"x",t),d.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,d){if(0!=n){n<0&&(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),d&&h.setAttributeNS(null,"style",d)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=d,r=h)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),d=i(88);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(102),h=o(d),l=i(103),u=o(l),c=i(1),f=i(88),p=i(92),v=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(h.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof f||t instanceof p)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new f,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new f}if(i&&c.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;c.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}e===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:h.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(L.selectiveNotDeepExtend(n,t,e,i),L.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=L.parseColor(e.color);L.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=L.bridgeObject(o.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))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=L.bridgeObject(o.font)),void 0!==e.scaling&&L.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(2),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,f.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=p.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,h.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=p.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=p.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=p.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,h.default)(a))){var d=p.topMost(o,["heightConstraint","minimum"]);"number"==typeof d&&(this.fontOptions.minHgt=Number(d));var l=p.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=p.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))){var s=p.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var d,h=(0,a.default)(o);!(n=(d=h.next()).done);n=!0){var l=d.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*f}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(p)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&h.return&&h.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,d=a*this.body.view.scale;d>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var h=this.size.yLine,l=this._setAlignment(t,o,h,r),u=(0,s.default)(l,2);o=u[0],h=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(h-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(h+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=v.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=m,v.strokeWidth>0&&t.strokeText(v.text,o+f,h+v.vadjust),t.fillText(v.text,o+f,h+v.vadjust),f+=v.width}h+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=p.overrideOpacity(o,s),n=p.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,d,h){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:d,strokeColor:h})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,d,h){this.add(t,e,i,o,n,s,r,a,d,h),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),d=a.length;if(this.elementOptions.font.multi)for(var h=0;h0)for(var v=this.getFormattingValues(t,e,i,l[p].mod),g=l[p].text.split(" "),y=!0,m="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=v.height>c?v.height:c,s.add(r,m,v.font,v.color,_.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,_.width,c),m="",y=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(m=m+k+g[w],w===g.length-1&&(c=v.height>c?v.height:c,u+=b.width,s.add(r,m,v.font,v.color,b.width,v.height,v.vadjust,l[p].mod,v.strokeWidth,v.strokeColor),s.accumulate(r,b.width,c),p===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,y=!1)}else{var x=this.getFormattingValues(t,e,i,l[p].mod),O=t.measureText(l[p].text);s.addAndAccumulate(r,l[p].text,x.font,x.color,O.width,x.height,x.vadjust,l[p].mod,x.strokeWidth,x.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===p&&(n+=s[r].height,r++)}}}else for(var M=0;M0)for(var E=a[M].split(" "),D="",C={width:0},T=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=T.width?(s.addAndAccumulate(r,D,S.font,S.color,T.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,D="",r++):(D=D+B+E[P],P===E.length-1&&(s.addAndAccumulate(r,D,S.font,S.color,C.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var F=a[M],I=t.measureText(F);s.addAndAccumulate(r,F,S.font,S.color,I.width,S.size,S.vadjust,"normal",S.strokeWidth,S.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,h.default)(e.font)&&p.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(105),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,d=(0,a.default)(t);!(o=(r=d.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&d.return&&d.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(106),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(107)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(v.default);e.default=g},function(t,e,i){t.exports={default:i(110),__esModule:!0}},function(t,e,i){i(111),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(114),s=o(n),r=i(55),a=o(r),d=i(62),h=o(d);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,h.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(115),__esModule:!0}},function(t,e,i){i(116),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(117).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,h.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n.selected=!1,n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"setOptions",value:function(t,e,i){this.options=t,this.setImages(e,i)}},{key:"setImages",value:function(t,e){t&&(this.imageObj=t,e&&(this.imageObjAlt=e))}},{key:"switchImages",value:function(t){if(t&&!this.selected||!t&&this.selected){var e=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=e}this.selected=t}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,d=1;i>2&&d<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,d+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return d.setImages(n,r),d._swapToImageResizeWhenImageLoaded=!0,d}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.imageObjAlt&&this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor, +t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var d=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,d),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),d>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var h=n+.5*this.height+3;this.labelModule.draw(t,o,h,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(120),v=o(p),g=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return d.setImages(n,r),d}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.imageObjAlt&&this.switchImages(o),this.selected=o,this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,d=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),d>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(118),v=o(p),g=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(124),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(89),s=o(n),r=i(62),a=o(r),d=i(58),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=!1,g=void 0,y="background: #FFeeee; color: #dd0000",m=function(){function t(){(0,u.default)(this,t)}return(0,f.default)(t,null,[{key:"validate",value:function(e,i,o){v=!1,g=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),v}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){void 0===o[e]&&void 0===o.__any__?t.getSuggestion(e,o,n):void 0===o[e]&&void 0!==o.__any__?"object"===t.getType(i[e])&&void 0!==o.__any__.__type__?t.checkFields(e,i,o,"__any__",o.__any__.__type__,n):t.checkFields(e,i,o,"__any__",o.__any__,n):void 0!==o[e].__type__?t.checkFields(e,i,o,e,o[e].__type__,n):t.checkFields(e,i,o,e,o[e],n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=t.getType(i[e]),d=s[a];void 0!==d?"array"===t.getType(d)&&d.indexOf(i[e])===-1?(console.log('%cInvalid option detected in "'+e+'". Allowed values are:'+t.print(d)+' not "'+i[e]+'". '+t.printLocation(r,e),y),v=!0):"object"===a&&"__any__"!==n&&(r=p.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(console.log('%cInvalid type received for "'+e+'". Expected: '+t.print((0,h.default)(s))+". Received ["+a+'] "'+i[e]+'"'+t.printLocation(r,e),y),v=!0)}},{key:"getType",value:function(t){var e="undefined"==typeof t?"undefined":(0,a.default)(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":void 0!==t.nodeType?"dom":t._isAMomentObject===!0?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,g,[],!0),r=8,a=4;void 0!==n.indexMatch?console.log('%cUnknown option detected: "'+e+'" in '+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n',y):s.distance<=a&&n.distance>s.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,""),y):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),y):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,h.default)(i))+t.printLocation(o,e),y),v=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],d=e.toLowerCase(),h=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],p.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,h=c.indexMatch)}else l.toLowerCase().indexOf(d)!==-1&&(h=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=p.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:h}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof f||t instanceof p)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new f,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new f}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.shape.height?(r=i.x+.5*i.shape.width,a=i.y-d):(r=i.x+d,a=i.y-.5*i.shape.height),s=this._pointOnCircle(r,a,d,.125),this.labelModule.draw(t,s.x,s.y,n,this.hover)}}}},{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,d=this.edgeType.getDistanceToEdge(i,o,n,s,r,a); +return d0&&i<0)&&(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:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,h.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var d=!1;void 0!==e.color.color&&(t.color.color=e.color.color,d=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,d=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,d=!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&&d===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?v.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=M},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(138),y=o(g),m=function(t){function e(t,i,o){return(0,h.default)(this,e),(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,v.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),d=(0,s.default)(a,2),h=d[0],l=d[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,h,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var d=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,h=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:d,y:h}}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var d=1e9,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=t,v=e,g=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,g[0]=Math.pow(1-u,3),g[1]=3*u*Math.pow(1-u,2),g[2]=3*Math.pow(u,2)*(1-u),g[3]=Math.pow(u,3),c=g[0]*t+g[1]*r.x+g[2]*a.x+g[3]*i,f=g[0]*e+g[1]*r.y+g[2]*a.y+g[3]*o,l>0&&(h=this._getDistanceToLine(p,v,c,f,n,s),d=h2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),d=10,h=0,l=0,u=1,c=.2,f=this.to,p=!1;for(t.id===this.from.id&&(f=this.from,p=!0);l<=u&&h0&&(d=this._getDistanceToLine(f,p,u,c,n,s),a=do.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,d=10,h=0,l=this.options.selfReferenceSize,u=void 0,c=void 0,f=void 0,p=void 0,v=void 0,g=.05,y=.5*(s+r);s<=r&&h0?a>0?s=y:r=y:a>0?r=y:s=y,h++;return u.t=y,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,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,d){var h=0;if(this.from!=this.to)h=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],f=u[1],p=u[2],v=c-n,g=f-r;h=Math.abs(Math.sqrt(v*v+g*g)-p)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:h}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,d=r*r+a*a,h=((n-t)*r+(s-e)*a)/d;h>1?h=1:h<0&&(h=0);var l=t+h*r,u=e+h*a,c=l-n,f=u-s;return Math.sqrt(c*c+f*f)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,d=void 0,h=void 0,l=void 0,u=void 0,c=void 0,f=void 0,p=r.width;if("from"===e?(h=this.from,l=this.to,u=.1,c=r.fromArrowScale,f=r.fromArrowType):"to"===e?(h=this.to,l=this.from,u=-.1,c=r.toArrowScale,f=r.toArrowType):(h=this.to,l=this.from,c=r.middleArrowScale,f=r.middleArrowType),h!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){d=this.findBorderPosition(h,t,{via:i});var v=this.getPoint(Math.max(0,Math.min(1,d.t+u)),i);a=Math.atan2(d.y-v.y,d.x-v.x)}else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.findBorderPosition(h,t);else a=Math.atan2(h.y-l.y,h.x-l.x),d=this.getPoint(.5,i);else{var g=this._getCircleData(t),y=(0,s.default)(g,3),m=y[0],b=y[1],_=y[2];"from"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.25,high:.6,direction:-1}),a=d.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(d=this.findBorderPosition(this.from,t,{x:m,y:b,low:.6,high:1,direction:1}),a=d.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(d=this._pointOnCircle(m,b,_,.175),a=3.9269908169872414)}var w=15*c+3*p,k=d.x-.9*w*Math.cos(a),x=d.y-.9*w*Math.sin(a),O={x:k,y:x};return{point:d,core:O,angle:a,length:w,type:f}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(104),s=o(n),r=i(109),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(112),f=o(c),p=i(113),v=o(p),g=i(139),y=o(g),m=function(t){function e(t,i,o){(0,h.default)(this,e);var n=(0,f.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,v.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),d=a[0],h=a[1],l=a[2],u=2*Math.PI*(1-i);o=d+l*Math.sin(u),n=h+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(y.default);e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(139),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.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=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.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=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.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.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.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(109),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(112),u=o(l),c=i(113),f=o(c),p=i(140),v=o(p),g=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,f.default)(e,t),(0,h.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),d=t.distanceToBorder(e,n),h=(a-d)/a,l={};return l.x=(1-h)*o.x+h*i.x,l.y=(1-h)*o.y+h*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(95),a=o(r),d=i(96),h=o(d),l=i(145),u=o(l),c=i(146),f=o(c),p=i(147),v=o(p),g=i(148),y=o(g),m=i(149),b=o(m),_=i(150),w=o(_),k=i(151),x=o(k),O=i(152),M=o(O),S=i(1),E=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},S.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,S.selectiveNotDeepExtend(["stabilization"],this.options,t),S.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new x.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new M.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new f.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new v.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new y.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?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 d=this.modelOptions.damping*s[t].y,h=(n[t].y-d)/i.options.mass;s[t].y+=h*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=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"), +this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){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;s0&&(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,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));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,d=1;d0&&(hr&&(r=h),la&&(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,f=Math.max(c,Math.abs(r-n)),p=.5*f,v=.5*(n+r),g=.5*(s+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m0&&this._placeInTree(y.root,i);return y}},{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+=this.seededRandom(),e.y+=this.seededRandom()):(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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,d=this.body.nodes,h=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,f=4/3,p=0;p0){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}(v.default);e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(154),f=o(c),p=i(155),v=o(p),g=i(1),y=function(){function t(e){var i=this;(0,h.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},g.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=0;u0&&(0,s.default)(p).length>0&&g===!0&&o.push({nodes:c,edges:p})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,d=f.default.cloneOptions(o);n[a]=o;for(var h=0;h-1&&(r[y.id]=y)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,d=void 0,h=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=g.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var d in t)if(t.hasOwnProperty(d)){var h=f.default.cloneOptions(t[d]);a.push(h)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=f.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+g.randomUUID());var p=r.id;void 0===r.label&&(r.label="cluster");var y=void 0;void 0===r.x&&(y=this._getClusterPosition(t),r.x=y.x),void 0===r.y&&(void 0===y&&(y=this._getClusterPosition(t)),r.y=y.y),r.id=p;var m=this.body.functions.createNode(r,v.default);m.isCluster=!0,m.containedNodes=t,m.containedEdges=e,m.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=m,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,d=1;do?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];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 o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var d in n)if(n.hasOwnProperty(d)){var h=this.body.nodes[d];r[d]={x:h.x,y:h.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var p in n)if(n.hasOwnProperty(p)){var v=this.body.nodes[p];v=n[p],v.options.fixed.x===!1&&(v.x=o.x),v.options.fixed.y===!1&&(v.y=o.y)}for(var y in n)if(n.hasOwnProperty(y)){var m=this.body.nodes[y];m.vx=o.vx,m.vy=o.vy,m.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[y]}for(var b=[],_=0;_o&&(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),d=Math.floor(t+2*a);return d>o&&(d=o),d}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(1),h=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,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"];d.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(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!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(),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;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),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),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[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}),d=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+r,y:this.canvas.frame.canvas.clientHeight+r}),h={top:a.y,left:a.x,bottom:d.y,right:d.x +},l=0;l0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new d(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_ALL}),h.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new d(this.frame),h.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){if("undefined"!=typeof window){var o=i(159),n=window.Hammer||i(160);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},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;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(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};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?h._handlers[t]=o:(i.off(t,s),delete h._handlers[t]))}),h},h.emit=function(e,o){t=o.target,i.emit(e,o)},h.destroy=function(){var t=i.element.hammer,e=t.indexOf(h);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,h._handlers={},i.destroy()},h}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ -!function(n,s,r,a){function d(t,e,i){return setTimeout(f(t,i),e)}function h(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}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\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&vt(o,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function v(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function m(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(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=F(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,d=e.center=I(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=A(a,d),e.distance=R(a,d),P(i,e),e.offsetDirection=N(e.deltaX,e.deltaY);var h=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=_t(h.x)>_t(h.y)?h.x:h.y,e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,B(i,e);var l=t.element;m(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==It&&s.eventType!==Nt||(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 B(t,e){var i,o,n,s,r=t.lastInterval||e,d=e.timeStamp-r.timeStamp;if(e.eventType!=Rt&&(d>Ft||r.velocity===a)){var h=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(d,h,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=N(h,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 F(t){for(var e=[],i=0;i=_t(e)?t<0?jt:Ht:e<0?Lt:Wt}function R(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function A(t,e,i){i||(i=qt);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 A(e[1],e[0],Gt)+A(t[1],t[0],Gt)}function H(t,e){return R(e[0],e[1],Gt)/R(t[0],t[1],Gt)}function L(){this.evEl=Kt,this.evWin=Zt,this.pressed=!1,E.apply(this,arguments)}function W(){this.evEl=$t,this.evWin=te,E.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,E.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Nt|Rt)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},E.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(It|zt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],d=this.target;if(s=i.filter(function(t){return m(t.target,d)}),e===It)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function Z(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=xe)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&me||!(this.state&me)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&me)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Nt|Rt)&&!n)this.reset();else if(t.eventType&It)this.reset(),this._timer=d(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Nt)return we;return xe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Nt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(dt,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&me)}}),c(ht,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Ut,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Ut)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Ut&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Nt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=h.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=h.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/u;o=c<=f?c:f}o>1?o=1:0===o&&(o=1);var p=h.default.findCenter(i),v={position:p,scale:o,animation:t.animation};this.moveTo(v)}},{key:"focus",value:function(t){var e=arguments.length>1&&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.getViewPosition()),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.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.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=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(164),h=o(d),l=i(166),u=o(l),c=i(1),f=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new h.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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||t.changedPointers[0].metaKey);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.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&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(),d=this.selectionHandler._getSelectedNodeCount(),h=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,h),u=l.nodesChanged,c=l.edgesChanged,f=!1;d-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,f=!0):u===!0&&d>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),f=!0,r=!0):d-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(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 d=this.canvas.canvasToDOM(o);this.drag.pointer.x=d.x,this.drag.pointer.y=d.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=d[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var f=this.body.edgeIndices,p=this.body.edges,v=void 0,g=[],y=0;y0&&(this.popupObj=p[g[g.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.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=void 0!==o&&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=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=(i(1),i(158)),h=i(161),l=i(165),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;e<=122;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;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){h(t,"keydown")},d=function(t){h(t,"keyup")},h=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nn-this.padding&&(a=!0),s=a?this.x-i:this.x,r=d?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(104),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(154),v=o(p),g=i(1),y=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},g.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,f.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(g.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),g.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),g.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,h.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.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:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),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){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var d=this.body.nodeIndices.length;if(a==d&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=70,l=0;l0){var t=void 0,e=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&(o=!1),void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):n=!0);if(n===!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.");n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback()); -for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(){for(var e=d(),i=0,o=0;o0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var d in e)if(e.hasOwnProperty(d)){var h=t.body.nodes[d],l=t.hierarchicalLevels[h.id],u=t._getPositionForHierarchy(h),c=t._getSpaceAroundNode(h,e),f=(0,a.default)(c,2),p=f[0],v=f[1];o=Math.min(p,o),n=Math.min(v,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function e(i){var o=t.hierarchicalLevels[i];if(t.hierarchicalChildrenReference[i]){var n=t.hierarchicalChildrenReference[i];if(n.length>0)for(var s=0;s1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),d=Math.abs(r-s);if(d>t.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var f={};f[o.id]=!0,h(i,u),h(o,f);var p=c(i,o),v=l(u,p),g=(0,a.default)(v,4),y=(g[0],g[1]),m=(g[2],g[3],l(f,p)),b=(0,a.default)(m,4),_=b[0],w=(b[1],b[2]),k=(b[3],Math.abs(y-_));if(k>t.options.hierarchical.nodeSpacing){var x=y-_+t.options.hierarchical.nodeSpacing;x<-w+t.options.hierarchical.nodeSpacing&&(x=-w+t.options.hierarchical.nodeSpacing),x<0&&(t._shiftBlock(o.id,x),e=!0,n===!0&&t._centerParent(o))}}},g=function(o,n){for(var s=n.id,r=n.edges,d=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},f=[],p=0;p0?v=Math.min(p,f-t.options.hierarchical.nodeSpacing):p<0&&(v=-Math.min(-p,c-t.options.hierarchical.nodeSpacing)),0!=v&&(t._shiftBlock(n.id,v),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),d=r[0],h=r[1],l=i-o,u=o;l>0?u=Math.min(o+(h-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(d-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},k=b(o,f);_(k),k=b(o,r),w(k)},y=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var h=0;h0&&Math.abs(y)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var d=1e9,h=-1e9,l=0;l0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var a=i(v.default.cloneOptions(o,"node"),v.default.cloneOptions(n,"node"),v.default.cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(82),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=i(158),g=i(161),y=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},p.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,f.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,p.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=p.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,h.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var e=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(e.from,e.to)}if(this.guiEnabled===!0){var i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){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.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{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=p.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+p.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},p.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&&(p.recursiveDOMDelete(this.editModeDiv),p.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=p.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"+p.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:p.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.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().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.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(82),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(171),f=o(c),p=i(1),v=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,h.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},p.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new f.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),s=1;s2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-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-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),h=a.max,d="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,u);""!==d&&this.popupHistory[p]!==h&&(this.popupHistory[p]=h,this._setupPopup(d,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=p.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var h=this._getValue(d);if(a instanceof Array)this._handleArray(a,h,d);else if("string"==typeof a)this._makeTextInput(a,h,d);else if("boolean"==typeof a)this._makeCheckbox(a,h,d);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=p.copyAndExtendArray(d,"enabled"),c=this._getValue(u);if(c===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,c,d)}else{var v=this._makeLabel(r,d,!0);this._makeItem(d,v),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{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.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,h.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var d=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:d}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,d=1/360,h=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,d=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,l=1e9,u=0,c=0,f=0,p=0,v=0;l>n&&ar&&v=.1;)f=n[l++%s],f>h&&(f=h),c=Math.sqrt(f*f/(1+d*d)),c=r<0?-c:c,t+=c,e+=d*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),h-=f,u=!u})},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.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},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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;n=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function c(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 f(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(j=F.NULL,A="";" "===R||"\t"===R||"\n"===R||"\r"===R;)r();do{var t=!1;if("#"===R){for(var e=N-1;" "===z.charAt(e)||"\t"===z.charAt(e);)e--;if("\n"===z.charAt(e)||""===z.charAt(e)){for(;""!=R&&"\n"!=R;)r();t=!0}}if("/"===R&&"/"===a()){for(;""!=R&&"\n"!=R;)r();t=!0}if("/"===R&&"*"===a()){for(;""!=R;){if("*"===R&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===R||"\t"===R||"\n"===R||"\r"===R;)r()}while(t);if(""===R)return void(j=F.DELIMITER);var i=R+a();if(I[i])return j=F.DELIMITER,A=i,r(),void r();if(I[R])return j=F.DELIMITER,A=R,void r();if(d(R)||"-"===R){for(A+=R,r();d(R);)A+=R,r();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(j=F.IDENTIFIER)}if('"'===R){for(r();""!=R&&('"'!=R||'"'===R&&'"'===a());)A+=R,'"'===R&&r(),r();if('"'!=R)throw x('End of string " expected');return r(),void(j=F.IDENTIFIER)}for(j=F.UNKNOWN;""!=R;)A+=R,r();throw new SyntaxError('Syntax error in part "'+O(A,30)+'"')}function v(){var t={};if(s(),p(),"strict"===A&&(t.strict=!0,p()),"graph"!==A&&"digraph"!==A||(t.type=A,p()),j===F.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),g(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function g(t){for(;""!==A&&"}"!=A;)y(t),";"===A&&p()}function y(t){var e=m(t);if(e)return void w(t,e);var i=b(t);if(!i){if(j!=F.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),j!=F.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else _(t,o)}}function m(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),j===F.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,g(e),"}"!=A)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 b(t){return"node"===A?(p(),t.node=k(),"node"):"edge"===A?(p(),t.edge=k(),"edge"):"graph"===A?(p(),t.graph=k(),"graph"):null}function _(t,e){var i={id:e},o=k();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=m(t);if(n)i=n;else{if(j!=F.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,u(t,{id:i}),p()}var s=k(),r=f(t,e,i,o,s);c(t,r),e=i}}function k(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(j!=F.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),j!=F.IDENTIFIER)throw x("Attribute value expected");var i=A;l(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+O(A,30)+'" (char '+N+")")}function O(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 S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},z="",N=0,R="",A="",j=F.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&vt(o,i)}function f(t,e){return function(){return t.apply(e,arguments)}}function p(t,e){return typeof t==mt?t.apply(e?e[0]||a:a,e):t}function v(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function y(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function m(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(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=F(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,d=e.center=I(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=A(a,d),e.distance=R(a,d),P(i,e),e.offsetDirection=N(e.deltaX,e.deltaY);var h=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=_t(h.x)>_t(h.y)?h.x:h.y,e.scale=r?H(r.pointers,o):1,e.rotation=r?j(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,B(i,e);var l=t.element;m(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==It&&s.eventType!==Nt||(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 B(t,e){var i,o,n,s,r=t.lastInterval||e,d=e.timeStamp-r.timeStamp;if(e.eventType!=Rt&&(d>Ft||r.velocity===a)){var h=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(d,h,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=N(h,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 F(t){for(var e=[],i=0;i=_t(e)?t<0?jt:Ht:e<0?Lt:Wt}function R(t,e,i){i||(i=qt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function A(t,e,i){i||(i=qt);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 A(e[1],e[0],Gt)+A(t[1],t[0],Gt)}function H(t,e){return R(e[0],e[1],Gt)/R(t[0],t[1],Gt)}function L(){this.evEl=Kt,this.evWin=Zt,this.pressed=!1,E.apply(this,arguments)}function W(){this.evEl=Jt,this.evWin=te,E.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,E.apply(this,arguments)}function U(t,e){var i=k(t.touches),o=k(t.changedTouches);return e&(Nt|Rt)&&(i=x(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},E.apply(this,arguments)}function q(t,e){var i=k(t.touches),o=this.targetIds;if(e&(It|zt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=k(t.changedTouches),a=[],d=this.target;if(s=i.filter(function(t){return m(t.target,d)}),e===It)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function Z(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=xe)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&me||!(this.state&me)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&me)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Nt|Rt)&&!n)this.reset();else if(t.eventType&It)this.reset(),this._timer=d(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Nt)return we;return xe},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Nt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(dt,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[fe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&me)}}),c(ht,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Ut,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Ut)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Ut&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Nt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=h.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var d=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=d}else{this.body.emitter.emit("_resizeNodes"),i=h.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,f=this.canvas.frame.canvas.clientHeight/u;o=c<=f?c:f}o>1?o=1:0===o&&(o=1);var p=h.default.findCenter(i),v={position:p,scale:o,animation:t.animation};this.moveTo(v)}},{key:"focus",value:function(t){var e=arguments.length>1&&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.getViewPosition()),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.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.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=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=i(164),h=o(d),l=i(166),u=o(l),c=i(1),f=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new h.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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||t.changedPointers[0].metaKey);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.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&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(),d=this.selectionHandler._getSelectedNodeCount(),h=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,h),u=l.nodesChanged,c=l.edgesChanged,f=!1;d-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,f=!0):u===!0&&d>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),f=!0,r=!0):d-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&f===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(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 d=this.canvas.canvasToDOM(o);this.drag.pointer.x=d.x,this.drag.pointer.y=d.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=d[l[l.length-1]],s=!0)}if(void 0===this.popupObj&&s===!1){for(var f=this.body.edgeIndices,p=this.body.edges,v=void 0,g=[],y=0;y0&&(this.popupObj=p[g[g.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.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=void 0!==o&&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=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(95),s=o(n),r=i(96),a=o(r),d=(i(1),i(158)),h=i(161),l=i(165),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,s="function"==typeof o?o.apply(e,n):o,!(void 0!==s&&(t.exports=s))}(this,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;e<=122;e++)r[String.fromCharCode(e)]={code:65+(e-97),shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;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){h(t,"keydown")},d=function(t){h(t,"keyup")},h=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;nn-this.padding&&(a=!0),s=a?this.x-i:this.x,r=d?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=f},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(104),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(154),v=o(p),g=i(1),y=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},g.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,f.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(g.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),g.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),g.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,h.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.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:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),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){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var d=this.body.nodeIndices.length;if(a==d&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=70,l=0;l0){var t=void 0,e=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&(o=!1),void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):n=!0);if(n===!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.");n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback()); +for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(){for(var e=d(),i=0,o=0;o0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var d in e)if(e.hasOwnProperty(d)){var h=t.body.nodes[d],l=t.hierarchicalLevels[h.id],u=t._getPositionForHierarchy(h),c=t._getSpaceAroundNode(h,e),f=(0,a.default)(c,2),p=f[0],v=f[1];o=Math.min(p,o),n=Math.min(v,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function(e){var i={},o=function e(o){if(void 0!==i[o])return i[o];var n=t.hierarchicalLevels[o];if(t.hierarchicalChildrenReference[o]){var s=t.hierarchicalChildrenReference[o];if(s.length>0)for(var r=0;r1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),d=Math.abs(r-s);if(d>t.options.hierarchical.nodeSpacing){var u={},f={};h(i,u),h(o,f);var p=c(i,o),v=l(u,p),g=(0,a.default)(v,4),y=(g[0],g[1]),m=(g[2],g[3],l(f,p)),b=(0,a.default)(m,4),_=b[0],w=(b[1],b[2]),k=(b[3],Math.abs(y-_));if(k>t.options.hierarchical.nodeSpacing){var x=y-_+t.options.hierarchical.nodeSpacing;x<-w+t.options.hierarchical.nodeSpacing&&(x=-w+t.options.hierarchical.nodeSpacing),x<0&&(t._shiftBlock(o.id,x),e=!0,n===!0&&t._centerParent(o))}}},g=function(o,n){for(var s=n.id,r=n.edges,d=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},f=[],p=0;p0?v=Math.min(p,f-t.options.hierarchical.nodeSpacing):p<0&&(v=-Math.min(-p,c-t.options.hierarchical.nodeSpacing)),0!=v&&(t._shiftBlock(n.id,v),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),d=r[0],h=r[1],l=i-o,u=o;l>0?u=Math.min(o+(h-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(d-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},k=b(o,f);_(k),k=b(o,r),w(k)},y=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var h=0;h0&&Math.abs(y)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var d=1e9,h=-1e9,l=0;l0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var a=i(v.default.cloneOptions(o,"node"),v.default.cloneOptions(n,"node"),v.default.cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(89),a=o(r),d=i(62),h=o(d),l=i(95),u=o(l),c=i(96),f=o(c),p=i(1),v=i(158),g=i(161),y=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},p.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,f.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,p.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=p.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,h.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);o.selected===!1&&(o.x=e.from.x,o.y=e.from.y),n.selected===!1&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){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.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{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=p.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+p.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},p.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&&(p.recursiveDOMDelete(this.editModeDiv),p.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=p.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"+p.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:p.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.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().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.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,h.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(89),s=o(n),r=i(62),a=o(r),d=i(95),h=o(d),l=i(96),u=o(l),c=i(171),f=o(c),p=i(1),v=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,h.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},p.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new f.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-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-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),h=a.max,d="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,u);""!==d&&this.popupHistory[p]!==h&&(this.popupHistory[p]=h,this._setupPopup(d,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],d=p.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,d,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var h=this._getValue(d);if(a instanceof Array)this._handleArray(a,h,d);else if("string"==typeof a)this._makeTextInput(a,h,d);else if("boolean"==typeof a)this._makeCheckbox(a,h,d);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=p.copyAndExtendArray(d,"enabled"),c=this._getValue(u);if(c===!0){var f=this._makeLabel(r,d,!0);this._makeItem(d,f),s=this._handleObject(a,d)||s}else this._makeCheckbox(a,c,d)}else{var v=this._makeLabel(r,d,!0);this._makeItem(d,v),s=this._handleObject(a,d)||s}}else console.error("dont know how to handle",a,r,d)}}return s}},{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.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,h.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var d=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:d}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,d=1/360,h=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,d=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,l=1e9,u=0,c=0,f=0,p=0,v=0;l>n&&ar&&v=.1;)f=n[l++%s],f>h&&(f=h),c=Math.sqrt(f*f/(1+d*d)),c=r<0?-c:c,t+=c,e+=d*c,u===!0?this.lineTo(t,e):this.moveTo(t,e),h-=f,u=!u})},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.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},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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;n=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function c(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 f(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(j=F.NULL,A="";" "===R||"\t"===R||"\n"===R||"\r"===R;)r();do{var t=!1;if("#"===R){for(var e=N-1;" "===z.charAt(e)||"\t"===z.charAt(e);)e--;if("\n"===z.charAt(e)||""===z.charAt(e)){for(;""!=R&&"\n"!=R;)r();t=!0}}if("/"===R&&"/"===a()){for(;""!=R&&"\n"!=R;)r();t=!0}if("/"===R&&"*"===a()){for(;""!=R;){if("*"===R&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===R||"\t"===R||"\n"===R||"\r"===R;)r()}while(t);if(""===R)return void(j=F.DELIMITER);var i=R+a();if(I[i])return j=F.DELIMITER,A=i,r(),void r();if(I[R])return j=F.DELIMITER,A=R,void r();if(d(R)||"-"===R){for(A+=R,r();d(R);)A+=R,r();return"false"===A?A=!1:"true"===A?A=!0:isNaN(Number(A))||(A=Number(A)),void(j=F.IDENTIFIER)}if('"'===R){for(r();""!=R&&('"'!=R||'"'===R&&'"'===a());)A+=R,'"'===R&&r(),r();if('"'!=R)throw x('End of string " expected');return r(),void(j=F.IDENTIFIER)}for(j=F.UNKNOWN;""!=R;)A+=R,r();throw new SyntaxError('Syntax error in part "'+O(A,30)+'"')}function v(){var t={};if(s(),p(),"strict"===A&&(t.strict=!0,p()),"graph"!==A&&"digraph"!==A||(t.type=A,p()),j===F.IDENTIFIER&&(t.id=A,p()),"{"!=A)throw x("Angle bracket { expected");if(p(),g(t),"}"!=A)throw x("Angle bracket } expected");if(p(),""!==A)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function g(t){for(;""!==A&&"}"!=A;)y(t),";"===A&&p()}function y(t){var e=m(t);if(e)return void w(t,e);var i=b(t);if(!i){if(j!=F.IDENTIFIER)throw x("Identifier expected");var o=A;if(p(),"="===A){if(p(),j!=F.IDENTIFIER)throw x("Identifier expected");t[o]=A,p()}else _(t,o)}}function m(t){var e=null;if("subgraph"===A&&(e={},e.type="subgraph",p(),j===F.IDENTIFIER&&(e.id=A,p())),"{"===A){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,g(e),"}"!=A)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 b(t){return"node"===A?(p(),t.node=k(),"node"):"edge"===A?(p(),t.edge=k(),"edge"):"graph"===A?(p(),t.graph=k(),"graph"):null}function _(t,e){var i={id:e},o=k();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===A||"--"===A;){var i,o=A;p();var n=m(t);if(n)i=n;else{if(j!=F.IDENTIFIER)throw x("Identifier or subgraph expected");i=A,u(t,{id:i}),p()}var s=k(),r=f(t,e,i,o,s);c(t,r),e=i}}function k(){for(var t=null;"["===A;){for(p(),t={};""!==A&&"]"!=A;){if(j!=F.IDENTIFIER)throw x("Attribute name expected");var e=A;if(p(),"="!=A)throw x("Equal sign = expected");if(p(),j!=F.IDENTIFIER)throw x("Attribute value expected");var i=A;l(t,e,i),p(),","==A&&p()}if("]"!=A)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+O(A,30)+'" (char '+N+")")}function O(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 S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},z="",N=0,R="",A="",j=F.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=D},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-time-axis{position:relative}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-timeline{position:relative;border:1px solid #bfbfbf;padding:0;margin:0;box-sizing:border-box} \ No newline at end of file +.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%)}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}.vis-current-time{background-color:#ff7f6e;width:2px;z-index:1;pointer-events:none}.vis-rolling-mode-btn{height:40px;width:40px;position:absolute;top:7px;right:20px;border-radius:50%;font-size:28px;cursor:pointer;opacity:.8;color:#fff;font-weight:700;text-align:center;background:#3876c2}.vis-rolling-mode-btn:before{content:"\26F6"}.vis-rolling-mode-btn:hover{opacity:1}.vis-custom-time{background-color:#6e94ff;width:2px;cursor:move;z-index:1}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-item{position:absolute;color:#1a1a1a;border-color:#97b0f8;border-width:1px;background-color:#d5ddf6;display:inline-block;z-index:1}.vis-item.vis-selected{border-color:#ffc200;background-color:#fff785;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-point.vis-selected{background-color:#fff785}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item-visible-frame{white-space:nowrap}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-onUpdateTime-tooltip{position:absolute;background:#4f81bd;color:#fff;width:200px;text-align:center;white-space:nowrap;padding:5px;border-radius:1px;transition:.4s;-o-transition:.4s;-moz-transition:.4s;-webkit-transition:.4s}.vis-item .vis-delete,.vis-item .vis-delete-rtl{position:absolute;top:0;width:24px;height:24px;box-sizing:border-box;padding:0 5px;cursor:pointer;-webkit-transition:background .2s linear;-moz-transition:background .2s linear;-ms-transition:background .2s linear;-o-transition:background .2s linear;transition:background .2s linear}.vis-item .vis-delete{right:-24px}.vis-item .vis-delete-rtl{left:-24px}.vis-item .vis-delete-rtl:after,.vis-item .vis-delete:after{content:"\00D7";color:red;font-family:arial,sans-serif;font-size:22px;font-weight:700;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-ms-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.vis-item .vis-delete-rtl:hover,.vis-item .vis-delete:hover{background:red}.vis-item .vis-delete-rtl:hover:after,.vis-item .vis-delete:hover:after{color:#fff}.vis-item .vis-drag-center{position:absolute;width:100%;height:100%;top:0;left:0;cursor:move}.vis-item.vis-range .vis-drag-left{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-nesting-group{cursor:pointer}.vis-nested-group{background:#f5f5f5}.vis-label.vis-nesting-group.expanded:before{content:"\25BC"}.vis-label.vis-nesting-group.collapsed-rtl:before{content:"\25C0"}.vis-label.vis-nesting-group.collapsed:before{content:"\25B6"}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-labelset{position:relative;overflow:hidden;box-sizing:border-box}.vis-labelset .vis-label{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box}.vis-labelset .vis-label{border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label.draggable{cursor:pointer}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll,.vis-right.vis-panel.vis-vertical-scroll{height:100%;overflow-x:hidden;overflow-y:scroll}.vis-left.vis-panel.vis-vertical-scroll{direction:rtl}.vis-left.vis-panel.vis-vertical-scroll .vis-content{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll .vis-content{direction:rtl}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-background{overflow:hidden}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-time-axis{position:relative;overflow:hidden}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-timeline{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box} \ No newline at end of file diff --git a/dist/vis-timeline-graph2d.min.js b/dist/vis-timeline-graph2d.min.js index dd84701a..2c406729 100644 --- a/dist/vis-timeline-graph2d.min.js +++ b/dist/vis-timeline-graph2d.min.js @@ -4,11 +4,11 @@ * * A dynamic, browser-based visualization library. * - * @version 4.18.1 - * @date 2017-01-29 + * @version 4.19.0 + * @date 2017-03-18 * * @license - * Copyright (C) 2011-2016 Almende B.V, http://almende.com + * Copyright (C) 2011-2017 Almende B.V, http://almende.com * * Vis.js is dual licensed under both * @@ -22,19 +22,19 @@ * * 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(89),e.DataSet=i(90),e.DataView=i(92),e.Queue=i(91),e.Timeline=i(93),e.Graph2d=i(129),e.timeline={Core:i(110),DateUtil:i(109),Range:i(107),stack:i(115),TimeStep:i(113),components:{items:{Item:i(117),BackgroundItem:i(121),BoxItem:i(119),PointItem:i(120),RangeItem:i(116)},BackgroundGroup:i(118),Component:i(108),CurrentTime:i(127),CustomTime:i(125),DataAxis:i(131),DataScale:i(132),GraphGroup:i(133),Group:i(114),ItemSet:i(111),Legend:i(137),LineGraph:i(130),TimeAxis:i(122)}},e.moment=i(84),e.Hammer=i(101),e.keycharm=i(124)},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),h=i(58),d=o(h),l=i(62),u=o(l),p=i(82),c=o(p),f=i(84),m=i(88);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.elementsCensor=function(t){if(t){var e=function(t,e){return e instanceof Element?"DOM Element":e};return JSON.parse((0,c.default)(t,e))}},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)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=g.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return m.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,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 v={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(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=v.split(t.style.cssText),n=v.split(i),s=e.extend(o,n);t.style.cssText=v.join(s)},e.removeCssText=function(t,e){var i=v.split(t.style.cssText),o=v.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=v.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"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:p=h-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),p=i(47)("iterator"),c=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",g="values",v=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,D,S,k=function(t){if(!c&&t in O)return O[t];switch(t){case m:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},C=e+" Iterator",T=b==g,M=!1,O=t.prototype,E=O[p]||O[f]||b&&O[b],P=E||k(b),I=b?T?k("entries"):P:void 0,N="Array"==e?O.entries||E:E;if(N&&(S=u(N.call(new t)),S!==Object.prototype&&(l(S,C,!0),o||a(S,p)||r(S,p,v))),T&&E&&E.name!==g&&(M=!0,P=function(){return E.call(this)}),o&&!w||!c&&!M&&O[p]||r(O,p,P),h[e]=P,h[C]=v,b)if(x={values:T?P:k(g),keys:_?P:k(m),entries:I},w)for(D in x)D in O||s(O,D,x[D]);else n(n.P+n.F*(c||M),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,p=t&h.F,c=t&h.G,f=t&h.S,m=t&h.P,g=t&h.B,v=t&h.W,y=c?n:n[e]||(n[e]={}),b=y[a],_=c?o:f?o[e]:(o[e]||{})[a];c&&(i=e);for(d in i)l=!p&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=c&&"function"!=typeof _[d]?i[d]:g&&l?s(u,o):v&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),p=i(43),c=i(47),f=i(65),m=i(70),g=i(71),v=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),D=i(33),S=i(76),k=i(78),C=i(21),T=i(35),M=k.f,O=C.f,E=S.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,A="prototype",R=c("_hidden"),L=c("toPrimitive"),F={}.propertyIsEnumerable,H=l("symbol-registry"),Y=l("symbols"),j=l("op-symbols"),G=Object[A],z="function"==typeof P,W=o.QObject,B=!W||!W[A]||!W[A].findChild,U=s&&d(function(){return 7!=D(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=M(G,e);o&&delete G[e],O(t,e,i),o&&t!==G&&O(G,e,o)}:O,V=function(t){var e=Y[t]=D(P[A]);return e._k=t,e},q=z&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===G&&X(j,e,i),b(t),e=w(e,!0),b(i),n(Y,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=D(i,{enumerable:x(0,!1)})):(n(t,R)||O(t,R,x(1,{})),t[R][e]=!0),U(t,e,i)):O(t,e,i)},Z=function(t,e){b(t);for(var i,o=v(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?D(t):Z(D(t),e)},J=function(t){var e=F.call(this,t=w(t,!0));return!(this===G&&n(Y,t)&&!n(j,t))&&(!(e||!n(this,t)||!n(Y,t)||n(this,R)&&this[R][t])||e)},$=function(t,e){if(t=_(t),e=w(e,!0),t!==G||!n(Y,e)||n(j,e)){var i=M(t,e);return!i||!n(Y,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},Q=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(Y,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===G,o=E(i?j:_(t)),s=[],r=0;o.length>r;)!n(Y,e=o[r++])||i&&!n(G,e)||s.push(Y[e]);return s};z||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(i){this===G&&e.call(j,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),U(this,t,x(1,i))};return s&&B&&U(G,t,{configurable:!0,set:e}),V(t)},a(P[A],"toString",function(){return this._k}),k.f=$,C.f=X,i(77).f=S.f=Q,i(74).f=J,i(73).f=tt,s&&!i(14)&&a(G,"propertyIsEnumerable",J,!0),f.f=function(t){return V(c(t))}),r(r.G+r.W+r.F*!z,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)c(et[it++]);for(var et=T(c.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!z,"Symbol",{for:function(t){return n(H,t+="")?H[t]:H[t]=P(t)},keyFor:function(t){if(q(t))return g(H,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){B=!0},useSimple:function(){B=!1}}),r(r.S+r.F*!z,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:$,getOwnPropertyNames:Q,getOwnPropertySymbols:tt}),I&&r(r.S+r.F*(!z||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,N.apply(I,o)}}}),P[A][L]||i(20)(P[A],L,P[A].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},p=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},c=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:p,onFreeze:c}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports={default:i(83),__esModule:!0}},function(t,e,i){var o=i(17),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(85)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return go.apply(null,arguments)}function i(t){go=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function x(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return C(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function F(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function H(t){var e,i,o={};for(i in t)d(t,i)&&(e=F(i),e&&(o[e]=t[i]));return o}function Y(t,e){Io[t]=e}function j(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function G(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):z(this,t)}}function z(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function B(t){return t=F(t),C(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=H(t);for(var i=j(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Lo[t]=n),e&&(Lo[e[0]]=function(){return V(n.apply(this,arguments),e[1],e[2])}),i&&(Lo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(No);for(e=0,i=o.length;e=0&&Ao.test(t);)t=t.replace(Ao,i),Ao.lastIndex=0,o-=1;return t}function $(t,e,i){tn[t]=C(e)?e:function(t,o){return t&&i?i:e}}function Q(t,e){return d(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=gt(s)+d):d>gt(t)?(s=t+1,r=d-gt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function kt(t){return Dt(t,this._week.dow,this._week.doy).week}function Ct(){return this._week.dow}function Tt(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ot(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function At(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=pn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Ht(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Yt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Dn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Sn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=kn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Vt(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function $t(e){var i=null;if(!En[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Cn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return En[e]}function Qt(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Cn=i)),Cn._abbr}function te(t,e){if(null!==e){var i=On;if(e.abbr=t,null!=En[t])k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=En[t]._config;else if(null!=e.parentLocale){if(null==En[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=En[e.parentLocale]._config}return En[t]=new O(M(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),Qt(t),En[t]}return delete En[t],null}function ee(t,e){if(null!=e){var i,o=On;null!=En[t]&&(o=En[t]._config),e=M(o,e),i=new O(e),i.parentLocale=En[t],En[t]=i,Qt(t)}else null!=En[t]&&(null!=En[t].parentLocale?En[t]=En[t].parentLocale:null!=En[t]&&delete En[t]);return En[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Cn;if(!o(t)){if(e=$t(t))return e;t=[t]}return Jt(t)}function oe(){return So(En)}function ne(t){var e,i=t._a;return i&&c(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[hn]||0!==i[dn])?rn:i[an]<0||i[an]>59?an:i[hn]<0||i[hn]>59?hn:i[dn]<0||i[dn]>999?dn:-1,c(t)._overflowDayOfYear&&(esn)&&(e=sn),c(t)._overflowWeeks&&e===-1&&(e=ln),c(t)._overflowWeekday&&e===-1&&(e=un),c(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=In.exec(a)||Nn.exec(a);if(h){for(c(t).iso=!0,e=0,i=Rn.length;egt(n)&&(c(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[hn]&&0===t._a[dn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],Dt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=Dt(be(),s,r);i=ae(e.gg,t._a[on],d.year),o=ae(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],c(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=J(t._f,t._locale).match(No)||[],i=0;i0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Lo[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[rn]<=12&&c(t).bigHour===!0&&t._a[rn]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[rn]=pe(t._locale,t._a[rn],t._meridiem),de(t),ne(t)}function pe(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function ce(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Fe(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function He(){return!!this.isValid()&&!this._isUTC}function Ye(){return!!this.isValid()&&this._isUTC}function je(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ge(t,e){var i,o,n,s=t,a=null;return Se(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=zn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[hn])*i,ms:w(ke(1e3*a[dn]))*i}):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:ze(a[2],i),M:ze(a[3],i),w:ze(a[4],i),d:ze(a[5],i),h:ze(a[6],i),m:ze(a[7],i),s:ze(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Be(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new De(s),Se(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function ze(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function We(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 Be(t,e){var i;return t.isValid()&&e.isValid()?(e=Me(e,t),t.isBefore(e)?i=We(t,e):(i=We(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ue(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(k(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ge(i,o),Ve(this,n,t),this}}function Ve(t,i,o,n){var s=i._milliseconds,r=ke(i._days),a=ke(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",z(t,"Date")+r*o),a&<(t,z(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=Me(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(C(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ze(){return new y(this)}function Ke(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=F(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Ii.call(this,t,e,i,o,n))}function Ii(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ni(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ai(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 Ri(t,e){e[dn]=w(1e3*("0."+t))}function Li(){return this._isUTC?"UTC":""}function Fi(){return this._isUTC?"Coordinated Universal Time":""}function Hi(t){return be(1e3*t)}function Yi(){return be.apply(null,arguments).parseZone()}function ji(t){return t}function Gi(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function zi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gi(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Gi(t,o,i,"month");return n}function Wi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Gi(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gi(e,(a+s)%7,o,"day");return h}function Bi(t,e){return zi(t,e,"months")}function Ui(t,e){return zi(t,e,"monthsShort")}function Vi(t,e,i){return Wi(t,e,i,"weekdays")}function qi(t,e,i){return Wi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Wi(t,e,i,"weekdaysMin")}function Zi(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Ki(t,e,i,o){var n=Ge(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Ji(t,e){return Ki(this,t,e,1)}function $i(t,e){return Ki(this,t,e,-1)}function Qi(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data; -return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Qi(io(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=Qi(io(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=F(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=F(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Ge(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),h=gs(o.as("M")),d=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function po(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function co(t,e){return void 0!==vs[t]&&(void 0===e?vs[t]:(vs[t]=e,!0))}function fo(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function mo(){var t,e,i,o=ys(this._milliseconds)/1e3,n=ys(this._days),s=ys(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,p=this.asSeconds();return p?(p<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,vo;vo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn=G("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Y("week",5),Y("isoWeek",5),$("w",zo),$("ww",zo,Ho),$("W",zo),$("WW",zo,Ho),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Y("day",11),Y("weekday",11),Y("isoWeekday",11),$("d",zo),$("e",zo),$("E",zo),$("dd",function(t,e){return e.weekdaysMinRegex(t)}),$("ddd",function(t,e){return e.weekdaysShortRegex(t)}),$("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:c(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Dn=Qo,Sn=Qo,kn=Qo;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Bt),q("k",["kk",2],0,Ut),q("hmm",0,0,function(){return""+Bt.apply(this)+V(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Bt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Vt("a",!0),Vt("A",!1),L("hour","h"),Y("hour",13),$("a",qt),$("A",qt),$("H",zo),$("h",zo),$("HH",zo,Ho),$("hh",zo,Ho),$("hmm",Wo),$("hmmss",Bo),$("Hmm",Wo),$("Hmmss",Bo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),c(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),c(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n)),c(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n))});var Cn,Tn=/[ap]\.?m?\.?/i,Mn=G("Hours",!0),On={calendar:ko,longDateFormat:Co,invalidDate:To,ordinal:Mo,ordinalParse:Oo,relativeTime:Eo,months:fn,monthsShort:mn,week:bn,weekdays:_n,weekdaysMin:xn,weekdaysShort:wn,meridiemParse:Tn},En={},Pn={},In=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/Z|[+-]\d\d(?::?\d\d)?/,Rn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ln=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Fn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=S("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Hn=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),jn=function(){return Date.now?Date.now():+new Date};Ce("Z",":"),Ce("ZZ",""),$("Z",Jo),$("ZZ",Jo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Te(Jo,t)});var Gn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var zn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Wn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ge.fn=De.prototype;var Bn=Ue(1,"add"),Un=Ue(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Vn=S("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)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ci("gggg","weekYear"),Ci("ggggg","weekYear"),Ci("GGGG","isoWeekYear"),Ci("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Y("weekYear",1),Y("isoWeekYear",1),$("G",Zo),$("g",Zo),$("GG",zo,Ho),$("gg",zo,Ho),$("GGGG",Vo,jo),$("gggg",Vo,jo),$("GGGGG",qo,Go),$("ggggg",qo,Go),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),Y("quarter",7),$("Q",Fo),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),Y("date",9),$("D",zo),$("DD",zo,Ho),$("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(zo)[0],10)});var qn=G("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Y("dayOfYear",4),$("DDD",Uo),$("DDDD",Yo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),Y("minute",14),$("m",zo),$("mm",zo,Ho),it(["m","mm"],an);var Xn=G("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),Y("second",15),$("s",zo),$("ss",zo,Ho),it(["s","ss"],hn);var Zn=G("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Y("millisecond",16),$("S",Uo,Fo),$("SS",Uo,Ho),$("SSS",Uo,Yo);var Kn;for(Kn="SSSS";Kn.length<=9;Kn+="S")$(Kn,Xo);for(Kn="S";Kn.length<=9;Kn+="S")it(Kn,Ri);var Jn=G("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var $n=y.prototype;$n.add=Bn,$n.calendar=Xe,$n.clone=Ze,$n.diff=ii,$n.endOf=mi,$n.format=ai,$n.from=hi,$n.fromNow=di,$n.to=li,$n.toNow=ui,$n.get=B,$n.invalidAt=Si,$n.isAfter=Ke,$n.isBefore=Je,$n.isBetween=$e,$n.isSame=Qe,$n.isSameOrAfter=ti,$n.isSameOrBefore=ei,$n.isValid=xi,$n.lang=Vn,$n.locale=pi,$n.localeData=ci,$n.max=Yn,$n.min=Hn,$n.parsingFlags=Di,$n.set=U,$n.startOf=fi,$n.subtract=Un,$n.toArray=bi,$n.toObject=_i,$n.toDate=yi,$n.toISOString=si,$n.inspect=ri,$n.toJSON=wi,$n.toString=ni,$n.unix=vi,$n.valueOf=gi,$n.creationData=ki,$n.year=yn,$n.isLeapYear=yt,$n.weekYear=Ti,$n.isoWeekYear=Mi,$n.quarter=$n.quarters=Ni,$n.month=ut,$n.daysInMonth=pt,$n.week=$n.weeks=Mt,$n.isoWeek=$n.isoWeeks=Ot,$n.weeksInYear=Ei,$n.isoWeeksInYear=Oi,$n.date=qn,$n.day=$n.days=Ft,$n.weekday=Ht,$n.isoWeekday=Yt,$n.dayOfYear=Ai,$n.hour=$n.hours=Mn,$n.minute=$n.minutes=Xn,$n.second=$n.seconds=Zn,$n.millisecond=$n.milliseconds=Jn,$n.utcOffset=Ee,$n.utc=Ie,$n.local=Ne,$n.parseZone=Ae,$n.hasAlignedHourOffset=Re,$n.isDST=Le,$n.isLocal=He,$n.isUtcOffset=Ye,$n.isUtc=je,$n.isUTC=je,$n.zoneAbbr=Li,$n.zoneName=Fi,$n.dates=S("dates accessor is deprecated. Use date instead.",qn),$n.months=S("months accessor is deprecated. Use month instead",ut),$n.years=S("years accessor is deprecated. Use year instead",yn),$n.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),$n.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Fe);var Qn=O.prototype;Qn.calendar=E,Qn.longDateFormat=P,Qn.invalidDate=I,Qn.ordinal=N,Qn.preparse=ji,Qn.postformat=ji,Qn.relativeTime=A,Qn.pastFuture=R,Qn.set=T,Qn.months=rt,Qn.monthsShort=at,Qn.monthsParse=dt,Qn.monthsRegex=ft,Qn.monthsShortRegex=ct,Qn.week=kt,Qn.firstDayOfYear=Tt,Qn.firstDayOfWeek=Ct,Qn.weekdays=It,Qn.weekdaysMin=At,Qn.weekdaysShort=Nt,Qn.weekdaysParse=Lt,Qn.weekdaysRegex=jt,Qn.weekdaysShortRegex=Gt,Qn.weekdaysMinRegex=zt,Qn.isPM=Xt,Qn.meridiem=Zt,Qt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=S("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=S("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),hs=so("y"),ds=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),ps=ao("hours"),cs=ao("days"),fs=ao("months"),ms=ao("years"),gs=Math.round,vs={s:45,m:45,h:22,d:26,M:11},ys=Math.abs,bs=De.prototype;return bs.abs=Zi,bs.add=Ji,bs.subtract=$i,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=hs,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=ds,bs.seconds=ls,bs.minutes=us,bs.hours=ps,bs.days=cs,bs.weeks=ho,bs.months=fs,bs.years=ms,bs.humanize=fo,bs.toISOString=mo,bs.toString=mo,bs.toJSON=mo,bs.locale=pi,bs.localeData=ci,bs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mo),bs.lang=Vn,q("X",0,0,"unix"),q("x",0,0,"valueOf"),$("x",Zo),$("X",$o),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=$n,e.min=we,e.max=xe,e.now=jn,e.utc=u,e.unix=Hi,e.months=Bi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ge,e.isMoment=b,e.weekdays=Vi,e.parseZone=Yi,e.localeData=ie,e.isDuration=Se,e.monthsShort=Ui,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=qi,e.normalizeUnits=F,e.relativeTimeRounding=po,e.relativeTimeThreshold=co,e.calendarFormat=qe,e.prototype=$n,e})}).call(e,i(86)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=87},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)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:v+1,d=a-g+(h-v)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=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 p=t.node||f,c=0;c<6;c++)s[n+c]=p[c];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;a<16;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;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;p<256;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),f=[1|c[0],c[1],c[2],c[3],c[4],c[5]],m=16383&(c[6]<<8|c[7]),g=0,v=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){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.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.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){n<0&&(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){return t&&t.__esModule?t:{default:t}}function n(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),h=i(90);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(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;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,s=null;if(null!=i&&null!=o){var r,a,h,d,u;!function(){var e=function(t){return l.convert(t.data.start,"Date").valueOf()},p=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()};r=o-i,r<=0&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var r=e(t),h=p(t);if(this.options.rtl)var d=r-(t.getWidthRight()+10)*a,l=h+(t.getWidthLeft()+10)*a;else var d=r-(t.getWidthLeft()+10)*a,l=h+(t.getWidthRight()+10)*a;do&&(o=l,s=t)}.bind(t)),n&&s&&(h=n.getWidthLeft()+10,d=s.getWidthRight()+10,u=t.props.center.width-h-d,u>0&&(t.options.rtl?(i=e(n)-d*r/u,o=p(s)+h*r/u):(i=e(n)-h*r/u,o=p(s)+d*r/u)))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=v.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),c=h?h(p,d,u):p,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:c}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(82),s=o(n),r=i(62),a=o(r),h=i(95),d=o(h),l=i(96),u=o(l),p=i(100),c=o(p),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new c.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),s=1;s2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-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-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var p=this;a.onchange=function(){u.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var c=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,c,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(p===!0){var c=this._makeLabel(r,h,!0);this._makeItem(h,c),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{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.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),p.isString(t)===!0){if(p.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(p.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(p.isValidHex(t)===!0){var a=p.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=p.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=p.extend({},t)),this.color=t;var i=p.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=p.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=p.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=p.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 +"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(87),e.DataSet=i(88),e.DataView=i(92),e.Queue=i(91),e.Timeline=i(93),e.Graph2d=i(129),e.timeline={Core:i(110),DateUtil:i(109),Range:i(107),stack:i(115),TimeStep:i(113),components:{items:{Item:i(117),BackgroundItem:i(121),BoxItem:i(119),PointItem:i(120),RangeItem:i(116)},BackgroundGroup:i(118),Component:i(108),CurrentTime:i(127),CustomTime:i(125),DataAxis:i(131),DataScale:i(132),GraphGroup:i(133),Group:i(114),ItemSet:i(111),Legend:i(137),LineGraph:i(130),TimeAxis:i(122)}},e.moment=i(82),e.Hammer=i(101),e.keycharm=i(124)},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),h=i(58),d=o(h),l=i(62),u=o(l),p=i(82),c=i(86);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)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=f.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return c.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,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 m={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(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=m.split(t.style.cssText),n=m.split(i),s=e.extend(o,n);t.style.cssText=m.join(s)},e.removeCssText=function(t,e){var i=m.split(t.style.cssText),o=m.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=m.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"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:p=h-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),p=i(47)("iterator"),c=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",g="values",v=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,D,S,k=function(t){if(!c&&t in O)return O[t];switch(t){case m:return function(){return new i(this,t)};case g:return function(){return new i(this,t)}}return function(){return new i(this,t)}},C=e+" Iterator",T=b==g,M=!1,O=t.prototype,E=O[p]||O[f]||b&&O[b],P=E||k(b),I=b?T?k("entries"):P:void 0,A="Array"==e?O.entries||E:E;if(A&&(S=u(A.call(new t)),S!==Object.prototype&&(l(S,C,!0),o||a(S,p)||r(S,p,v))),T&&E&&E.name!==g&&(M=!0,P=function(){return E.call(this)}),o&&!w||!c&&!M&&O[p]||r(O,p,P),h[e]=P,h[C]=v,b)if(x={values:T?P:k(g),keys:_?P:k(m),entries:I},w)for(D in x)D in O||s(O,D,x[D]);else n(n.P+n.F*(c||M),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,p=t&h.F,c=t&h.G,f=t&h.S,m=t&h.P,g=t&h.B,v=t&h.W,y=c?n:n[e]||(n[e]={}),b=y[a],_=c?o:f?o[e]:(o[e]||{})[a];c&&(i=e);for(d in i)l=!p&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=c&&"function"!=typeof _[d]?i[d]:g&&l?s(u,o):v&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),p=i(43),c=i(47),f=i(65),m=i(70),g=i(71),v=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),D=i(33),S=i(76),k=i(78),C=i(21),T=i(35),M=k.f,O=C.f,E=S.f,P=o.Symbol,I=o.JSON,A=I&&I.stringify,N="prototype",R=c("_hidden"),L=c("toPrimitive"),F={}.propertyIsEnumerable,H=l("symbol-registry"),Y=l("symbols"),j=l("op-symbols"),G=Object[N],z="function"==typeof P,W=o.QObject,B=!W||!W[N]||!W[N].findChild,U=s&&d(function(){return 7!=D(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=M(G,e);o&&delete G[e],O(t,e,i),o&&t!==G&&O(G,e,o)}:O,V=function(t){var e=Y[t]=D(P[N]);return e._k=t,e},q=z&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===G&&X(j,e,i),b(t),e=w(e,!0),b(i),n(Y,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=D(i,{enumerable:x(0,!1)})):(n(t,R)||O(t,R,x(1,{})),t[R][e]=!0),U(t,e,i)):O(t,e,i)},Z=function(t,e){b(t);for(var i,o=v(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?D(t):Z(D(t),e)},$=function(t){var e=F.call(this,t=w(t,!0));return!(this===G&&n(Y,t)&&!n(j,t))&&(!(e||!n(this,t)||!n(Y,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==G||!n(Y,e)||n(j,e)){var i=M(t,e);return!i||!n(Y,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},Q=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(Y,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===G,o=E(i?j:_(t)),s=[],r=0;o.length>r;)!n(Y,e=o[r++])||i&&!n(G,e)||s.push(Y[e]);return s};z||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(i){this===G&&e.call(j,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),U(this,t,x(1,i))};return s&&B&&U(G,t,{configurable:!0,set:e}),V(t)},a(P[N],"toString",function(){return this._k}),k.f=J,C.f=X,i(77).f=S.f=Q,i(74).f=$,i(73).f=tt,s&&!i(14)&&a(G,"propertyIsEnumerable",$,!0),f.f=function(t){return V(c(t))}),r(r.G+r.W+r.F*!z,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)c(et[it++]);for(var et=T(c.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!z,"Symbol",{for:function(t){return n(H,t+="")?H[t]:H[t]=P(t)},keyFor:function(t){if(q(t))return g(H,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){B=!0},useSimple:function(){B=!1}}),r(r.S+r.F*!z,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:tt}),I&&r(r.S+r.F*(!z||d(function(){var t=P();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,A.apply(I,o)}}}),P[N][L]||i(20)(P[N],L,P[N].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},p=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},c=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:p,onFreeze:c}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return go.apply(null,arguments)}function i(t){go=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],g(n)||(t[o]=n);return t}function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function x(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return C(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function F(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function H(t){var e,i,o={};for(i in t)d(t,i)&&(e=F(i),e&&(o[e]=t[i]));return o}function Y(t,e){Io[t]=e}function j(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function G(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):z(this,t)}}function z(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function B(t){return t=F(t),C(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=H(t);for(var i=j(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Lo[t]=n),e&&(Lo[e[0]]=function(){return V(n.apply(this,arguments),e[1],e[2])}),i&&(Lo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(Ao);for(e=0,i=o.length;e=0&&No.test(t);)t=t.replace(No,i),No.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=C(e)?e:function(t,o){return t&&i?i:e}}function Q(t,e){return d(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=gt(s)+d):d>gt(t)?(s=t+1,r=d-gt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function Dt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(gt(t)-o+n)/7}function kt(t){return Dt(t,this._week.dow,this._week.doy).week}function Ct(){return this._week.dow}function Tt(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ot(t){var e=Dt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function At(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=pn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=pn.call(this._minWeekdaysParse,r),n!==-1?n:(n=pn.call(this._weekdaysParse,r),n!==-1?n:(n=pn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Ht(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Yt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Dn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Sn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function zt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=kn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function Vt(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function $t(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!En[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Cn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return En[e]}function Qt(t,e){var i;return t&&(i=g(e)?ie(t):te(t,e),i&&(Cn=i)),Cn._abbr}function te(t,e){if(null!==e){var i=On;if(e.abbr=t,null!=En[t])k("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=En[t]._config;else if(null!=e.parentLocale){if(null==En[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=En[e.parentLocale]._config}return En[t]=new O(M(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),Qt(t),En[t]}return delete En[t],null}function ee(t,e){if(null!=e){var i,o=On;null!=En[t]&&(o=En[t]._config),e=M(o,e),i=new O(e),i.parentLocale=En[t],En[t]=i,Qt(t)}else null!=En[t]&&(null!=En[t].parentLocale?En[t]=En[t].parentLocale:null!=En[t]&&delete En[t]);return En[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Cn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return $t(t)}function oe(){return So(En)}function ne(t){var e,i=t._a;return i&&c(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[hn]||0!==i[dn])?rn:i[an]<0||i[an]>59?an:i[hn]<0||i[hn]>59?hn:i[dn]<0||i[dn]>999?dn:-1,c(t)._overflowDayOfYear&&(esn)&&(e=sn),c(t)._overflowWeeks&&e===-1&&(e=ln),c(t)._overflowWeekday&&e===-1&&(e=un),c(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=In.exec(a)||An.exec(a);if(h){for(c(t).iso=!0,e=0,i=Rn.length;egt(n)&&(c(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[hn]&&0===t._a[dn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],Dt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=Dt(be(),s,r);i=ae(e.gg,t._a[on],d.year),o=ae(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],c(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=$(t._f,t._locale).match(Ao)||[],i=0;i0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Lo[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[rn]<=12&&c(t).bigHour===!0&&t._a[rn]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[rn]=pe(t._locale,t._a[rn],t._meridiem),de(t),ne(t)}function pe(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function ce(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Fe(){if(!g(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=ge(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function He(){return!!this.isValid()&&!this._isUTC}function Ye(){return!!this.isValid()&&this._isUTC}function je(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ge(t,e){var i,o,n,s=t,a=null;return Se(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=zn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[hn])*i,ms:w(ke(1e3*a[dn]))*i}):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:ze(a[2],i),M:ze(a[3],i),w:ze(a[4],i),d:ze(a[5],i),h:ze(a[6],i),m:ze(a[7],i),s:ze(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Be(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new De(s),Se(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function ze(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function We(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 Be(t,e){var i;return t.isValid()&&e.isValid()?(e=Me(e,t),t.isBefore(e)?i=We(t,e):(i=We(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ue(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(k(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ge(i,o),Ve(this,n,t),this}}function Ve(t,i,o,n){var s=i._milliseconds,r=ke(i._days),a=ke(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",z(t,"Date")+r*o),a&<(t,z(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=Me(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(C(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ze(){return new y(this)}function Ke(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=F(g(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Ii.call(this,t,e,i,o,n))}function Ii(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ai(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ni(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 Ri(t,e){e[dn]=w(1e3*("0."+t))}function Li(){return this._isUTC?"UTC":""}function Fi(){return this._isUTC?"Coordinated Universal Time":""}function Hi(t){return be(1e3*t)}function Yi(){return be.apply(null,arguments).parseZone()}function ji(t){return t}function Gi(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function zi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Gi(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Gi(t,o,i,"month");return n}function Wi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Gi(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Gi(e,(a+s)%7,o,"day");return h}function Bi(t,e){return zi(t,e,"months")}function Ui(t,e){return zi(t,e,"monthsShort")}function Vi(t,e,i){return Wi(t,e,i,"weekdays")}function qi(t,e,i){return Wi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Wi(t,e,i,"weekdaysMin")}function Zi(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Ki(t,e,i,o){var n=Ge(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function $i(t,e){return Ki(this,t,e,1)}function Ji(t,e){return Ki(this,t,e,-1)}function Qi(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Qi(io(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=Qi(io(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800; +}function oo(t){var e,i,o=this._milliseconds;if(t=F(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=F(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=Ge(t).abs(),n=gs(o.as("s")),s=gs(o.as("m")),r=gs(o.as("h")),a=gs(o.as("d")),h=gs(o.as("M")),d=gs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function po(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}function co(t,e){return void 0!==vs[t]&&(void 0===e?vs[t]:(vs[t]=e,!0))}function fo(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function mo(){var t,e,i,o=ys(this._milliseconds)/1e3,n=ys(this._days),s=ys(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,p=this.asSeconds();return p?(p<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var go,vo;vo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn=G("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),Y("week",5),Y("isoWeek",5),J("w",zo),J("ww",zo,Ho),J("W",zo),J("WW",zo,Ho),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),Y("day",11),Y("weekday",11),Y("isoWeekday",11),J("d",zo),J("e",zo),J("E",zo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:c(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Dn=Qo,Sn=Qo,kn=Qo;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Bt),q("k",["kk",2],0,Ut),q("hmm",0,0,function(){return""+Bt.apply(this)+V(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Bt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Vt("a",!0),Vt("A",!1),L("hour","h"),Y("hour",13),J("a",qt),J("A",qt),J("H",zo),J("h",zo),J("HH",zo,Ho),J("hh",zo,Ho),J("hmm",Wo),J("hmmss",Bo),J("Hmm",Wo),J("Hmmss",Bo),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),c(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),c(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n)),c(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n))});var Cn,Tn=/[ap]\.?m?\.?/i,Mn=G("Hours",!0),On={calendar:ko,longDateFormat:Co,invalidDate:To,ordinal:Mo,ordinalParse:Oo,relativeTime:Eo,months:fn,monthsShort:mn,week:bn,weekdays:_n,weekdaysMin:xn,weekdaysShort:wn,meridiemParse:Tn},En={},Pn={},In=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nn=/Z|[+-]\d\d(?::?\d\d)?/,Rn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ln=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Fn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=S("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Hn=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),jn=function(){return Date.now?Date.now():+new Date};Ce("Z",":"),Ce("ZZ",""),J("Z",$o),J("ZZ",$o),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Te($o,t)});var Gn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var zn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Wn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ge.fn=De.prototype;var Bn=Ue(1,"add"),Un=Ue(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Vn=S("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)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ci("gggg","weekYear"),Ci("ggggg","weekYear"),Ci("GGGG","isoWeekYear"),Ci("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),Y("weekYear",1),Y("isoWeekYear",1),J("G",Zo),J("g",Zo),J("GG",zo,Ho),J("gg",zo,Ho),J("GGGG",Vo,jo),J("gggg",Vo,jo),J("GGGGG",qo,Go),J("ggggg",qo,Go),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),Y("quarter",7),J("Q",Fo),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),Y("date",9),J("D",zo),J("DD",zo,Ho),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(zo)[0],10)});var qn=G("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),Y("dayOfYear",4),J("DDD",Uo),J("DDDD",Yo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),Y("minute",14),J("m",zo),J("mm",zo,Ho),it(["m","mm"],an);var Xn=G("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),Y("second",15),J("s",zo),J("ss",zo,Ho),it(["s","ss"],hn);var Zn=G("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),Y("millisecond",16),J("S",Uo,Fo),J("SS",Uo,Ho),J("SSS",Uo,Yo);var Kn;for(Kn="SSSS";Kn.length<=9;Kn+="S")J(Kn,Xo);for(Kn="S";Kn.length<=9;Kn+="S")it(Kn,Ri);var $n=G("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Jn=y.prototype;Jn.add=Bn,Jn.calendar=Xe,Jn.clone=Ze,Jn.diff=ii,Jn.endOf=mi,Jn.format=ai,Jn.from=hi,Jn.fromNow=di,Jn.to=li,Jn.toNow=ui,Jn.get=B,Jn.invalidAt=Si,Jn.isAfter=Ke,Jn.isBefore=$e,Jn.isBetween=Je,Jn.isSame=Qe,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=xi,Jn.lang=Vn,Jn.locale=pi,Jn.localeData=ci,Jn.max=Yn,Jn.min=Hn,Jn.parsingFlags=Di,Jn.set=U,Jn.startOf=fi,Jn.subtract=Un,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=yi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=vi,Jn.valueOf=gi,Jn.creationData=ki,Jn.year=yn,Jn.isLeapYear=yt,Jn.weekYear=Ti,Jn.isoWeekYear=Mi,Jn.quarter=Jn.quarters=Ai,Jn.month=ut,Jn.daysInMonth=pt,Jn.week=Jn.weeks=Mt,Jn.isoWeek=Jn.isoWeeks=Ot,Jn.weeksInYear=Ei,Jn.isoWeeksInYear=Oi,Jn.date=qn,Jn.day=Jn.days=Ft,Jn.weekday=Ht,Jn.isoWeekday=Yt,Jn.dayOfYear=Ni,Jn.hour=Jn.hours=Mn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Zn,Jn.millisecond=Jn.milliseconds=$n,Jn.utcOffset=Ee,Jn.utc=Ie,Jn.local=Ae,Jn.parseZone=Ne,Jn.hasAlignedHourOffset=Re,Jn.isDST=Le,Jn.isLocal=He,Jn.isUtcOffset=Ye,Jn.isUtc=je,Jn.isUTC=je,Jn.zoneAbbr=Li,Jn.zoneName=Fi,Jn.dates=S("dates accessor is deprecated. Use date instead.",qn),Jn.months=S("months accessor is deprecated. Use month instead",ut),Jn.years=S("years accessor is deprecated. Use year instead",yn),Jn.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Fe);var Qn=O.prototype;Qn.calendar=E,Qn.longDateFormat=P,Qn.invalidDate=I,Qn.ordinal=A,Qn.preparse=ji,Qn.postformat=ji,Qn.relativeTime=N,Qn.pastFuture=R,Qn.set=T,Qn.months=rt,Qn.monthsShort=at,Qn.monthsParse=dt,Qn.monthsRegex=ft,Qn.monthsShortRegex=ct,Qn.week=kt,Qn.firstDayOfYear=Tt,Qn.firstDayOfWeek=Ct,Qn.weekdays=It,Qn.weekdaysMin=Nt,Qn.weekdaysShort=At,Qn.weekdaysParse=Lt,Qn.weekdaysRegex=jt,Qn.weekdaysShortRegex=Gt,Qn.weekdaysMinRegex=zt,Qn.isPM=Xt,Qn.meridiem=Zt,Qt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=S("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=S("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),hs=so("y"),ds=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),ps=ao("hours"),cs=ao("days"),fs=ao("months"),ms=ao("years"),gs=Math.round,vs={s:45,m:45,h:22,d:26,M:11},ys=Math.abs,bs=De.prototype;return bs.abs=Zi,bs.add=$i,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=hs,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=ds,bs.seconds=ls,bs.minutes=us,bs.hours=ps,bs.days=cs,bs.weeks=ho,bs.months=fs,bs.years=ms,bs.humanize=fo,bs.toISOString=mo,bs.toString=mo,bs.toJSON=mo,bs.locale=pi,bs.localeData=ci,bs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mo),bs.lang=Vn,q("X",0,0,"unix"),q("x",0,0,"valueOf"),J("x",Zo),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=xe,e.now=jn,e.utc=u,e.unix=Hi,e.months=Bi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ge,e.isMoment=b,e.weekdays=Vi,e.parseZone=Yi,e.localeData=ie,e.isDuration=Se,e.monthsShort=Ui,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=qi,e.normalizeUnits=F,e.relativeTimeRounding=po,e.relativeTimeThreshold=co,e.calendarFormat=qe,e.prototype=Jn,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)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:v+1,d=a-g+(h-v)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>g)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,v=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 p=t.node||f,c=0;c<6;c++)s[n+c]=p[c];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;a<16;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;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},p=0;p<256;p++)l[p]=(p+256).toString(16).substr(1),u[l[p]]=p;var c=r(),f=[1|c[0],c[1],c[2],c[3],c[4],c[5]],m=16383&(c[6]<<8|c[7]),g=0,v=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){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.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.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){n<0&&(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){return t&&t.__esModule?t:{default:t}}function n(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),h=i(88);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(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;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,n=null;if(null!=e&&null!=i){var s=function(t){return l.convert(t.data.start,"Date").valueOf()},r=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()},a=i-e;a<=0&&(a=10);var h=a/this.props.center.width;if(l.forEach(this.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var a=s(t),d=r(t);if(this.options.rtl)var l=a-(t.getWidthRight()+10)*h,u=d+(t.getWidthLeft()+10)*h;else var l=a-(t.getWidthLeft()+10)*h,u=d+(t.getWidthRight()+10)*h;li&&(i=u,n=t)}.bind(this)),o&&n){var d=o.getWidthLeft()+10,u=n.getWidthRight()+10,p=this.props.center.width-d-u;p>0&&(this.options.rtl?(e=s(o)-u*a/p,i=r(n)+d*a/p):(e=s(o)-d*a/p,i=r(n)+u*a/p))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=v.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),p=this._toTime(o),c=h?h(p,d,u):p,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:p,snappedTime:c}},n.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(89),s=o(n),r=i(62),a=o(r),h=i(95),d=o(h),l=i(96),u=o(l),p=i(100),c=o(p),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new c.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-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-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var p=this;a.onchange=function(){u.value=this.value,p._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var c=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,c,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(p===!0){var c=this._makeLabel(r,h,!0);this._makeItem(h,c),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{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.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),p.isString(t)===!0){if(p.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(p.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(p.isValidHex(t)===!0){var a=p.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=p.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=p.extend({},t)),this.color=t;var i=p.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=p.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=p.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=p.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;r0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;/*! Hammer.JS - v2.0.7 - 2016-04-22 * http://hammerjs.github.io/ * * Copyright (c) 2016 Jorik Tangelder; * Licensed under the MIT license */ -!function(n,s,r,a){function h(t,e,i){return setTimeout(c(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}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\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function p(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function v(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(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=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=H(a,h),e.distance=F(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?Y(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==At&&s.eventType!==Lt||(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 I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Ft&&(h>Nt||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=L(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 N(t){for(var e=[],i=0;i=_t(e)?t<0?Yt:jt:e<0?Gt:zt}function F(t,e,i){i||(i=Vt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function H(t,e,i){i||(i=Vt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Y(t,e){return H(e[1],e[0],qt)+H(t[1],t[0],qt)}function j(t,e){return F(e[0],e[1],qt)/F(t[0],t[1],qt)}function G(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,T.apply(this,arguments)}function z(){this.evEl=Qt,this.evWin=te,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=ie,this.evWin=oe,this.started=!1,T.apply(this,arguments)}function B(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|Ft)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function U(){this.evTarget=se,this.targetIds={},T.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=this.targetIds;if(e&(At|Rt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===At)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=De)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),p(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|Ft)&&!n)this.reset();else if(t.eventType&At)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return De},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),p(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),p(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Wt|Bt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Wt|Bt)?e=t.overallVelocity:i&Wt?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[pe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances.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,""),v):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),v):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),v),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var p=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?p.convert(t,"Date").valueOf():null,r=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,c=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,g="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=v(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,g=d||null===r?r:c+(r-c)*a;w=h._applyRange(u,g),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var _={start:new Date(h.start),end:new Date(h.end),byUser:o,event:p.elementsCensor(n)};w&&h.body.emitter.emit("rangechange",_),d?b&&h.body.emitter.emit("rangechanged",_):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:p.elementsCensor(n)};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(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},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction; -s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var c=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:c,end:f,byUser:!0,event:p.elementsCensor(t)}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:p.elementsCensor(t)}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-p.getAbsoluteLeft(this.body.dom.centerContainer);else var i=p.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,event)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.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){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var p=0,c=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-p,"days"),c.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"),c.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=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(p,"months"),c.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(p,"years"),c.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(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 c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.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 "+(0,r.default)(e)+" already exists");var n=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=p.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=n/(1+t),r=(n-s)/2,a=i+r,h=o-r;this.setWindow({start:a,end:h})}},n.prototype.zoomOut=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=i-n*t/2,r=o+n*t/2;this.setWindow({start:s,end:r})}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var c=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!p.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),g=0,v=0,y=0;g=m)break;if(l[g+v]!=c)if(u[g+y]!=c){var b=l.indexOf(u[g+y]),_=e.get(l[g+v]),w=e.get(u[g+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[g+v];l[g+v]=u[g+y],l[b]=x,g++}else y=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=p.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!p.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),groupsData.update(d),groupsData.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:p.elementsCensor(t)})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){if(e.getTitle()){null==e.popup&&e.setPopup(new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip"));var o=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-p.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-p.getAbsoluteTop(o)+o.offsetTop),e.popup.show()}this.body.emitter.emit("itemover",{item:e.id,event:p.elementsCensor(t)})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=e.popup&&e.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:p.elementsCensor(t)}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&e.popup&&!e.popup.hidden){var i=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-p.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-p.getAbsoluteTop(i)+i.offsetTop),e.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=p.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=p.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||p.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=p.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var c=this.groupFromTarget(t);c&&(d.group=c.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof x||i.push(d.id)}}}else{var c=i.indexOf(e.id);c==-1?i.push(e.id):i.splice(c,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:p.elementsCensor(t)})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()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=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(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.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.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var s=i(58),r=o(s),a=i(1),h=i(115);i(116);n.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var p=0,c=this.visibleItems.length;p0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.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;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(101),i(117));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return 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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.popup=null,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&("boolean"==typeof this.data.editable?this.editable={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(i.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable)))}var s=i(58),r=o(s),a=i(62),h=o(a),d=i(101),l=i(1),u=i(84);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&("boolean"==typeof t.editable?this.editable={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(options.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable))),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.prototype._updateTitle=function(){null!=this.data.title&&null!=this.popup&&this.popup.setText(this.data.title||"")},n.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=(0,r.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&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),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._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;if(void 0!==this.data.subgroup){var i=this.data.subgroup,o=this.parent.subgroups;o[i].index;this.dom.box.style.height=this.parent.subgroups[i].height+"px";var n=this.options.orientation.item;"top"==n?this.dom.box.style.top=this.parent.top+this.parent.subgroups[i].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[i].top-this.parent.subgroups[i].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top="top"==n?"0":"",this.dom.box.style.bottom="top"==n?"":"0"):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(108),d=i(113),l=i(109),u=i(84);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},n.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},n.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,c,f,m,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&D=.4*v;if(this.options.showMinorLabels&&k){var C=this._repaintMinorText(c,b,t,_);C.style.width=w+"px"}m&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),C=this._repaintMajorText(c,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(c,w,t,_)):k?y=this._repaintMinorLine(c,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(D!==S||p||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),p=!0),this.options.showMajorLabels){var T=this.body.util.toTime(0),M=s.getLabelMajor(T),O=M.length*(this.props.majorCharWidth||10)+10;(void 0==x||O1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),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){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:h},__type__:{object:a,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:s},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},__type__:{object:a}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},p={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof p)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new c(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(94),r=o(s),a=i(105),h=o(a),d=(i(106),i(101),i(84)),l=i(1),u=i(90),p=i(92),c=i(107),f=i(110),m=i(122),g=i(127),v=i(125),y=i(130),b=i(105).printStyle,_=i(138).allOptions,w=i(138).configureOptions; -n.prototype=new f,n.prototype.setOptions=function(t){var e=h.default.validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof p?t:new u(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})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=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;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&d.push(p.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=a.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;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.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=a.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var s=i(62),r=o(s),a=i(1),h=i(89),d=i(90),l=i(92),u=i(108),p=i(131),c=i(133),f=i(137),m=i(134),g=i(136),v=i(135),y="__ungrouped__";n.prototype=new u,n.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=g.calcPath(a[r[e]],t)),g.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)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=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.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=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},n.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},n.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function p(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function c(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function g(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function v(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(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=N(o);e.timeStamp=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=H(a,h),e.distance=F(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?Y(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Nt&&s.eventType!==Lt||(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 I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=Ft&&(h>At||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=L(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;i=_t(e)?t<0?Yt:jt:e<0?Gt:zt}function F(t,e,i){i||(i=Vt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function H(t,e,i){i||(i=Vt);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function Y(t,e){return H(e[1],e[0],qt)+H(t[1],t[0],qt)}function j(t,e){return F(e[0],e[1],qt)/F(t[0],t[1],qt)}function G(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,T.apply(this,arguments)}function z(){this.evEl=Qt,this.evWin=te,T.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function W(){this.evTarget=ie,this.evWin=oe,this.started=!1,T.apply(this,arguments)}function B(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|Ft)&&(i=D(i.concat(o),"identifier",!0)),[i,o]}function U(){this.evTarget=se,this.targetIds={},T.apply(this,arguments)}function V(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Nt|Rt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Nt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=De)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),p(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),p(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|Ft)&&!n)this.reset();else if(t.eventType&Nt)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return De},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),p(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ce]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),p(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Wt|Bt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Wt|Bt)?e=t.overallVelocity:i&Wt?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),p(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[pe]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances.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,""),v):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),v):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),v),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var p=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>p.distance&&(r=p.closestMatch,a=p.path,s=p.distance,d=p.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?p.convert(t,"Date").valueOf():null,r=void 0!=e?p.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,c=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,g="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",v=p.easingFunctions[g];if(!v)throw new Error("Unknown easing function "+(0,d.default)(g)+". Choose from: "+(0,a.default)(p.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=v(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,p=d||null===r?r:c+(r-c)*a;w=h._applyRange(u,p),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var g={start:new Date(h.start),end:new Date(h.end),byUser:o,event:n};w&&h.body.emitter.emit("rangechange",g),d?b&&h.body.emitter.emit("rangechanged",g):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:n};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?p.convert(t,"Date").valueOf():this.start,n=null!=e?p.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?p.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?p.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(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},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY; +i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var p=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-p.getAbsoluteLeft(this.body.dom.centerContainer);else var i=p.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:p.getAbsoluteRight(e)-t.x,y:t.y-p.getAbsoluteTop(e)}:{x:t.x-p.getAbsoluteLeft(e),y:t.y-p.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,null)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.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){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var p=0,c=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(p=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-p,"days"),c.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"),c.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(p=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(p,"months"),c.add(1,"months");break;case"yearly":d.year()!=l.year()&&(p=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(p,"years"),c.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=p.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(p.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(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 c(this.body);i.setOptions=function(t){var e=t?p.extend({},t):{};e.orientation="top",c.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=p.deepExtend({},this.options);this.components.forEach(function(t){p.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?p.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 "+(0,r.default)(e)+" already exists");var n=new g(this.body,p.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=p.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=s/(1+t),a=(s-r)/2,h=o+a,d=n-a;this.setWindow(h,d,e)}},n.prototype.zoomOut=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=o-s*t/2,a=n+s*t/2;this.setWindow(r,a,e)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(p.addClassName(o.root,"vis-top"),p.removeClassName(o.root,"vis-bottom")):(p.removeClassName(o.root,"vis-top"),p.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=p.option.asSize(e.maxHeight,""),o.root.style.minHeight=p.option.asSize(e.minHeight,""),o.root.style.width=p.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=p.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=p.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var c=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!p.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,c=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),g=0,v=0,y=0;g=m)break;if(l[g+v]!=c)if(u[g+y]!=c){var b=l.indexOf(u[g+y]),_=e.get(l[g+v]),w=e.get(u[g+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[g+v];l[g+v]=u[g+y],l[b]=x,g++}else y=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=p.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!p.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),o.update(d),o.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){var o=e.getTitle();if(o){null==this.popup&&(this.popup=new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(o);var n=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-p.getAbsoluteLeft(n)+n.offsetLeft,t.clientY-p.getAbsoluteTop(n)+n.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var i=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-p.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-p.getAbsoluteTop(i)+i.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=p.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=p.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||p.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=p.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var c=this.groupFromTarget(t);c&&(d.group=c.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof x||i.push(d.id)}}}else{var p=i.indexOf(e.id);p==-1?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()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=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(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.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.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var s=i(58),r=o(s),a=i(1),h=i(115);i(116);n.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var p=0,c=this.visibleItems.length;p0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.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;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(101),i(117));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return 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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=this.editable.updateTime||this.editable.updateGroup,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}var s=i(62),r=o(s),a=i(58),h=o(a),d=i(101),l=i(1),u=i(82);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.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._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.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=(0,h.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&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),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._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,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups;n[o].index;this.dom.box.style.height=this.parent.subgroups[o].height+"px","top"==i?this.dom.box.style.top=this.parent.top+this.parent.subgroups[o].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(108),d=i(113),l=i(109),u=i(82);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},n.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},n.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,c,f,m,g,v,y,b,_,w=0,x=void 0,D=0,S=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&D=.4*v;if(this.options.showMinorLabels&&k){var C=this._repaintMinorText(c,b,t,_);C.style.width=w+"px"}m&&this.options.showMajorLabels?(c>0&&(void 0==x&&(x=c),C=this._repaintMajorText(c,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(c,w,t,_)):k?y=this._repaintMinorLine(c,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(D!==S||p||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+S+" lines."),p=!0),this.options.showMajorLabels){var T=this.body.util.toTime(0),M=s.getLabelMajor(T),O=M.length*(this.props.majorCharWidth||10)+10;(void 0==x||O1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),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){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:h},__type__:{object:a,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:s},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},__type__:{object:a}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},p={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof p)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new c(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new g(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(94),r=o(s),a=i(105),h=o(a),d=(i(106),i(101),i(82)),l=i(1),u=i(88),p=i(92),c=i(107),f=i(110),m=i(122),g=i(127),v=i(125),y=i(130),b=i(105).printStyle,_=i(138).allOptions,w=i(138).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){var e=h.default.validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b), +f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof p?t:new u(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})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof p?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=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;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&d.push(p.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=a.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;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.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=a.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var s=i(62),r=o(s),a=i(1),h=i(87),d=i(88),l=i(92),u=i(108),p=i(131),c=i(133),f=i(137),m=i(134),g=i(136),v=i(135),y="__ungrouped__";n.prototype=new u,n.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new p(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=g.calcPath(a[r[e]],t)),g.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)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=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.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=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},n.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},n.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*g*(g+v),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+p*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+p*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+c*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+c*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t diff) { + smallest_diff = diff; + } + } + + return smallest_diff; }; /** @@ -9858,15 +9897,13 @@ return /******/ (function(modules) { // webpackBootstrap if (this.defaultXBarWidth !== undefined) { this.xBarWidth = this.defaultXBarWidth; } else { - var dataX = this.getDistinctValues(data, this.colX); - this.xBarWidth = dataX[1] - dataX[0] || 1; + this.xBarWidth = this.getSmallestDifference(data, this.colX) || 1; } if (this.defaultYBarWidth !== undefined) { this.yBarWidth = this.defaultYBarWidth; } else { - var dataY = this.getDistinctValues(data, this.colY); - this.yBarWidth = dataY[1] - dataY[0] || 1; + this.yBarWidth = this.getSmallestDifference(data, this.colY) || 1; } } @@ -10093,7 +10130,6 @@ return /******/ (function(modules) { // webpackBootstrap }; // TODO: these events are never cleaned up... can give a 'memory leakage' - util.addEventListener(this.frame.canvas, 'keydown', onkeydown); util.addEventListener(this.frame.canvas, 'mousedown', onmousedown); util.addEventListener(this.frame.canvas, 'touchstart', ontouchstart); util.addEventListener(this.frame.canvas, 'mousewheel', onmousewheel); @@ -10279,7 +10315,6 @@ return /******/ (function(modules) { // webpackBootstrap break; default: throw new Error('Can not determine point drawing method ' + 'for graph style \'' + this.style + '\''); - break; } this._pointDrawingMethod = method; @@ -10652,7 +10687,7 @@ return /******/ (function(modules) { // webpackBootstrap from = new Point3d(x, yRange.min, zRange.min); to = new Point3d(x, yRange.max, zRange.min); this._line3d(ctx, from, to, this.gridColor); - } else { + } else if (this.showXAxis) { from = new Point3d(x, yRange.min, zRange.min); to = new Point3d(x, yRange.min + gridLenX, zRange.min); this._line3d(ctx, from, to, this.axisColor); @@ -10662,10 +10697,12 @@ return /******/ (function(modules) { // webpackBootstrap this._line3d(ctx, from, to, this.axisColor); } - yText = armVector.x > 0 ? yRange.min : yRange.max; - var point3d = new Point3d(x, yText, zRange.min); - var msg = ' ' + this.xValueLabel(x) + ' '; - this.drawAxisLabelX(ctx, point3d, msg, armAngle, textMargin); + if (this.showXAxis) { + yText = armVector.x > 0 ? yRange.min : yRange.max; + var point3d = new Point3d(x, yText, zRange.min); + var msg = ' ' + this.xValueLabel(x) + ' '; + this.drawAxisLabelX(ctx, point3d, msg, armAngle, textMargin); + } step.next(); } @@ -10683,7 +10720,7 @@ return /******/ (function(modules) { // webpackBootstrap from = new Point3d(xRange.min, y, zRange.min); to = new Point3d(xRange.max, y, zRange.min); this._line3d(ctx, from, to, this.gridColor); - } else { + } else if (this.showYAxis) { from = new Point3d(xRange.min, y, zRange.min); to = new Point3d(xRange.min + gridLenY, y, zRange.min); this._line3d(ctx, from, to, this.axisColor); @@ -10693,71 +10730,79 @@ return /******/ (function(modules) { // webpackBootstrap this._line3d(ctx, from, to, this.axisColor); } - xText = armVector.y > 0 ? xRange.min : xRange.max; - point3d = new Point3d(xText, y, zRange.min); - var msg = ' ' + this.yValueLabel(y) + ' '; - this.drawAxisLabelY(ctx, point3d, msg, armAngle, textMargin); + if (this.showYAxis) { + xText = armVector.y > 0 ? xRange.min : xRange.max; + point3d = new Point3d(xText, y, zRange.min); + var msg = ' ' + this.yValueLabel(y) + ' '; + this.drawAxisLabelY(ctx, point3d, msg, armAngle, textMargin); + } step.next(); } // draw z-grid lines and axis - ctx.lineWidth = 1; - prettyStep = this.defaultZStep === undefined; - step = new StepNumber(zRange.min, zRange.max, this.zStep, prettyStep); - step.start(true); + if (this.showZAxis) { + ctx.lineWidth = 1; + prettyStep = this.defaultZStep === undefined; + step = new StepNumber(zRange.min, zRange.max, this.zStep, prettyStep); + step.start(true); - xText = armVector.x > 0 ? xRange.min : xRange.max; - yText = armVector.y < 0 ? yRange.min : yRange.max; + xText = armVector.x > 0 ? xRange.min : xRange.max; + yText = armVector.y < 0 ? yRange.min : yRange.max; - while (!step.end()) { - var z = step.getCurrent(); + while (!step.end()) { + var z = step.getCurrent(); - // TODO: make z-grid lines really 3d? - var from3d = new Point3d(xText, yText, z); - var from2d = this._convert3Dto2D(from3d); - to = new Point2d(from2d.x - textMargin, from2d.y); - this._line(ctx, from2d, to, this.axisColor); + // TODO: make z-grid lines really 3d? + var from3d = new Point3d(xText, yText, z); + var from2d = this._convert3Dto2D(from3d); + to = new Point2d(from2d.x - textMargin, from2d.y); + this._line(ctx, from2d, to, this.axisColor); - var msg = this.zValueLabel(z) + ' '; - this.drawAxisLabelZ(ctx, from3d, msg, 5); + var msg = this.zValueLabel(z) + ' '; + this.drawAxisLabelZ(ctx, from3d, msg, 5); - step.next(); - } + step.next(); + } - ctx.lineWidth = 1; - from = new Point3d(xText, yText, zRange.min); - to = new Point3d(xText, yText, zRange.max); - this._line3d(ctx, from, to, this.axisColor); + ctx.lineWidth = 1; + from = new Point3d(xText, yText, zRange.min); + to = new Point3d(xText, yText, zRange.max); + this._line3d(ctx, from, to, this.axisColor); + } // draw x-axis - var xMin2d; - var xMax2d; - ctx.lineWidth = 1; + if (this.showXAxis) { + var xMin2d; + var xMax2d; + ctx.lineWidth = 1; - // line at yMin - xMin2d = new Point3d(xRange.min, yRange.min, zRange.min); - xMax2d = new Point3d(xRange.max, yRange.min, zRange.min); - this._line3d(ctx, xMin2d, xMax2d, this.axisColor); - // line at ymax - xMin2d = new Point3d(xRange.min, yRange.max, zRange.min); - xMax2d = new Point3d(xRange.max, yRange.max, zRange.min); - this._line3d(ctx, xMin2d, xMax2d, this.axisColor); + // line at yMin + xMin2d = new Point3d(xRange.min, yRange.min, zRange.min); + xMax2d = new Point3d(xRange.max, yRange.min, zRange.min); + this._line3d(ctx, xMin2d, xMax2d, this.axisColor); + // line at ymax + xMin2d = new Point3d(xRange.min, yRange.max, zRange.min); + xMax2d = new Point3d(xRange.max, yRange.max, zRange.min); + this._line3d(ctx, xMin2d, xMax2d, this.axisColor); + } // draw y-axis - ctx.lineWidth = 1; - // line at xMin - from = new Point3d(xRange.min, yRange.min, zRange.min); - to = new Point3d(xRange.min, yRange.max, zRange.min); - this._line3d(ctx, from, to, this.axisColor); - // line at xMax - from = new Point3d(xRange.max, yRange.min, zRange.min); - to = new Point3d(xRange.max, yRange.max, zRange.min); - this._line3d(ctx, from, to, this.axisColor); + if (this.showYAxis) { + ctx.lineWidth = 1; + // line at xMin + from = new Point3d(xRange.min, yRange.min, zRange.min); + to = new Point3d(xRange.min, yRange.max, zRange.min); + this._line3d(ctx, from, to, this.axisColor); + // line at xMax + from = new Point3d(xRange.max, yRange.min, zRange.min); + to = new Point3d(xRange.max, yRange.max, zRange.min); + this._line3d(ctx, from, to, this.axisColor); + } // draw x-label var xLabel = this.xLabel; - if (xLabel.length > 0) { + if (xLabel.length > 0 && this.showXAxis) { yOffset = 0.1 / this.scale.y; xText = (xRange.max + 3 * xRange.min) / 4; yText = armVector.x > 0 ? yRange.min - yOffset : yRange.max + yOffset; @@ -10767,7 +10812,7 @@ return /******/ (function(modules) { // webpackBootstrap // draw y-label var yLabel = this.yLabel; - if (yLabel.length > 0) { + if (yLabel.length > 0 && this.showYAxis) { xOffset = 0.1 / this.scale.x; xText = armVector.y > 0 ? xRange.min - xOffset : xRange.max + xOffset; yText = (yRange.max + 3 * yRange.min) / 4; @@ -10778,7 +10823,7 @@ return /******/ (function(modules) { // webpackBootstrap // draw z-label var zLabel = this.zLabel; - if (zLabel.length > 0) { + if (zLabel.length > 0 && this.showZAxis) { offset = 30; // pixels. // TODO: relate to the max width of the values on the z axis? xText = armVector.x > 0 ? xRange.min : xRange.max; yText = armVector.y < 0 ? yRange.min : yRange.max; @@ -11601,26 +11646,16 @@ return /******/ (function(modules) { // webpackBootstrap if (!this.tooltip) { content = document.createElement('div'); + (0, _assign2['default'])(content.style, {}, this.tooltipStyle.content); content.style.position = 'absolute'; - content.style.padding = '10px'; - content.style.border = '1px solid #4d4d4d'; - content.style.color = '#1a1a1a'; - content.style.background = 'rgba(255,255,255,0.7)'; - content.style.borderRadius = '2px'; - content.style.boxShadow = '5px 5px 10px rgba(128,128,128,0.5)'; line = document.createElement('div'); + (0, _assign2['default'])(line.style, {}, this.tooltipStyle.line); line.style.position = 'absolute'; - line.style.height = '40px'; - line.style.width = '0'; - line.style.borderLeft = '1px solid #4d4d4d'; dot = document.createElement('div'); + (0, _assign2['default'])(dot.style, {}, this.tooltipStyle.dot); dot.style.position = 'absolute'; - dot.style.height = '0'; - dot.style.width = '0'; - dot.style.border = '5px solid #4d4d4d'; - dot.style.borderRadius = '5px'; this.tooltip = { dataPoint: null, @@ -11756,6 +11791,66 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 95 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = { "default": __webpack_require__(96), __esModule: true }; + +/***/ }, +/* 96 */ +/***/ function(module, exports, __webpack_require__) { + + __webpack_require__(97); + module.exports = __webpack_require__(17).Object.assign; + +/***/ }, +/* 97 */ +/***/ function(module, exports, __webpack_require__) { + + // 19.1.3.1 Object.assign(target, source) + var $export = __webpack_require__(15); + + $export($export.S + $export.F, 'Object', {assign: __webpack_require__(98)}); + +/***/ }, +/* 98 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + // 19.1.2.1 Object.assign(target, source, ...) + var getKeys = __webpack_require__(35) + , gOPS = __webpack_require__(73) + , pIE = __webpack_require__(74) + , toObject = __webpack_require__(49) + , IObject = __webpack_require__(10) + , $assign = Object.assign; + + // should work with symbols and should have deterministic property order (V8 bug) + module.exports = !$assign || __webpack_require__(26)(function(){ + var A = {} + , B = {} + , S = Symbol() + , K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function(k){ B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; + }) ? function assign(target, source){ // eslint-disable-line no-unused-vars + var T = toObject(target) + , aLen = arguments.length + , index = 1 + , getSymbols = gOPS.f + , isEnum = pIE.f; + while(aLen > index){ + var S = IObject(arguments[index++]) + , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) + , length = keys.length + , j = 0 + , key; + while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; + } return T; + } : $assign; + +/***/ }, +/* 99 */ /***/ function(module, exports) { @@ -11925,7 +12020,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 96 */ +/* 100 */ /***/ function(module, exports) { "use strict"; @@ -12008,7 +12103,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Point3d; /***/ }, -/* 97 */ +/* 101 */ /***/ function(module, exports) { "use strict"; @@ -12026,18 +12121,18 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Point2d; /***/ }, -/* 98 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _sign = __webpack_require__(99); + var _sign = __webpack_require__(103); var _sign2 = _interopRequireDefault(_sign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Point3d = __webpack_require__(96); + var Point3d = __webpack_require__(100); /** * @class Camera @@ -12218,29 +12313,29 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Camera; /***/ }, -/* 99 */ +/* 103 */ /***/ function(module, exports, __webpack_require__) { - module.exports = { "default": __webpack_require__(100), __esModule: true }; + module.exports = { "default": __webpack_require__(104), __esModule: true }; /***/ }, -/* 100 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { - __webpack_require__(101); + __webpack_require__(105); module.exports = __webpack_require__(17).Math.sign; /***/ }, -/* 101 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { // 20.2.2.28 Math.sign(x) var $export = __webpack_require__(15); - $export($export.S, 'Math', {sign: __webpack_require__(102)}); + $export($export.S, 'Math', {sign: __webpack_require__(106)}); /***/ }, -/* 102 */ +/* 106 */ /***/ function(module, exports) { // 20.2.2.28 Math.sign(x) @@ -12249,7 +12344,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 103 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -12460,7 +12555,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Filter; /***/ }, -/* 104 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -12808,7 +12903,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Slider; /***/ }, -/* 105 */ +/* 109 */ /***/ function(module, exports) { 'use strict'; @@ -12986,7 +13081,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = StepNumber; /***/ }, -/* 106 */ +/* 110 */ /***/ function(module, exports) { 'use strict'; @@ -13084,7 +13179,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Range; /***/ }, -/* 107 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -13099,8 +13194,9 @@ return /******/ (function(modules) { // webpackBootstrap // This modules handles the options for Graph3d. // //////////////////////////////////////////////////////////////////////////////// - var Camera = __webpack_require__(98); - var Point3d = __webpack_require__(96); + var util = __webpack_require__(1); + var Camera = __webpack_require__(102); + var Point3d = __webpack_require__(100); // enumerate the available styles var STYLE = { @@ -13136,7 +13232,7 @@ return /******/ (function(modules) { // webpackBootstrap * Specifically, these are the fields which require no special handling, * and can be directly copied over. */ - var OPTIONKEYS = ['width', 'height', 'filterLabel', 'legendLabel', 'xLabel', 'yLabel', 'zLabel', 'xValueLabel', 'yValueLabel', 'zValueLabel', 'showGrid', 'showPerspective', 'showShadow', 'keepAspectRatio', 'verticalRatio', 'dotSizeRatio', 'showAnimationControls', 'animationInterval', 'animationPreload', 'animationAutoStart', 'axisColor', 'gridColor', 'xCenter', 'yCenter']; + var OPTIONKEYS = ['width', 'height', 'filterLabel', 'legendLabel', 'xLabel', 'yLabel', 'zLabel', 'xValueLabel', 'yValueLabel', 'zValueLabel', 'showXAxis', 'showYAxis', 'showZAxis', 'showGrid', 'showPerspective', 'showShadow', 'keepAspectRatio', 'verticalRatio', 'dotSizeRatio', 'showAnimationControls', 'animationInterval', 'animationPreload', 'animationAutoStart', 'axisColor', 'gridColor', 'xCenter', 'yCenter']; /** * Field names in the options hash which are of relevance to the user. @@ -13313,6 +13409,10 @@ return /******/ (function(modules) { // webpackBootstrap if (src.onclick != undefined) { dst.onclick_callback = src.onclick; } + + if (src.tooltipStyle !== undefined) { + util.selectiveDeepExtend(['tooltipStyle'], dst, src); + } } /** @@ -13470,7 +13570,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports.setCameraPosition = setCameraPosition; /***/ }, -/* 108 */ +/* 112 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -13478,8 +13578,8 @@ return /******/ (function(modules) { // webpackBootstrap // Only load hammer.js when in a browser environment // (loading hammer.js in a node.js environment gives errors) if (typeof window !== 'undefined') { - var propagating = __webpack_require__(109); - var Hammer = window['Hammer'] || __webpack_require__(110); + var propagating = __webpack_require__(113); + var Hammer = window['Hammer'] || __webpack_require__(114); module.exports = propagating(Hammer, { preventDefault: 'mouse' }); @@ -13490,7 +13590,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 109 */ +/* 113 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict'; @@ -13727,7 +13827,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 110 */ +/* 114 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.7 - 2016-04-22 @@ -16376,7 +16476,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 111 */ +/* 115 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;"use strict"; @@ -16575,91 +16675,91 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 112 */ +/* 116 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; // utils exports.util = __webpack_require__(1); - exports.DOMutil = __webpack_require__(90); + exports.DOMutil = __webpack_require__(88); // data - exports.DataSet = __webpack_require__(91); + exports.DataSet = __webpack_require__(89); exports.DataView = __webpack_require__(93); exports.Queue = __webpack_require__(92); // Timeline - exports.Timeline = __webpack_require__(113); - exports.Graph2d = __webpack_require__(144); + exports.Timeline = __webpack_require__(117); + exports.Graph2d = __webpack_require__(148); exports.timeline = { - Core: __webpack_require__(126), - DateUtil: __webpack_require__(125), - Range: __webpack_require__(123), - stack: __webpack_require__(131), - TimeStep: __webpack_require__(129), + Core: __webpack_require__(130), + DateUtil: __webpack_require__(129), + Range: __webpack_require__(127), + stack: __webpack_require__(135), + TimeStep: __webpack_require__(133), components: { items: { - Item: __webpack_require__(133), - BackgroundItem: __webpack_require__(137), - BoxItem: __webpack_require__(135), - PointItem: __webpack_require__(136), - RangeItem: __webpack_require__(132) + Item: __webpack_require__(137), + BackgroundItem: __webpack_require__(141), + BoxItem: __webpack_require__(139), + PointItem: __webpack_require__(140), + RangeItem: __webpack_require__(136) }, - BackgroundGroup: __webpack_require__(134), - Component: __webpack_require__(124), - CurrentTime: __webpack_require__(142), - CustomTime: __webpack_require__(140), - DataAxis: __webpack_require__(146), - DataScale: __webpack_require__(147), - GraphGroup: __webpack_require__(148), - Group: __webpack_require__(130), - ItemSet: __webpack_require__(127), - Legend: __webpack_require__(152), - LineGraph: __webpack_require__(145), - TimeAxis: __webpack_require__(138) + BackgroundGroup: __webpack_require__(138), + Component: __webpack_require__(128), + CurrentTime: __webpack_require__(146), + CustomTime: __webpack_require__(144), + DataAxis: __webpack_require__(150), + DataScale: __webpack_require__(151), + GraphGroup: __webpack_require__(152), + Group: __webpack_require__(134), + ItemSet: __webpack_require__(131), + Legend: __webpack_require__(156), + LineGraph: __webpack_require__(149), + TimeAxis: __webpack_require__(142) } }; // bundled external libraries - exports.moment = __webpack_require__(84); - exports.Hammer = __webpack_require__(108); - exports.keycharm = __webpack_require__(111); + exports.moment = __webpack_require__(82); + exports.Hammer = __webpack_require__(112); + exports.keycharm = __webpack_require__(115); /***/ }, -/* 113 */ +/* 117 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _Configurator = __webpack_require__(114); + var _Configurator = __webpack_require__(118); var _Configurator2 = _interopRequireDefault(_Configurator); - var _Validator = __webpack_require__(122); + var _Validator = __webpack_require__(126); var _Validator2 = _interopRequireDefault(_Validator); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Emitter = __webpack_require__(95); - var Hammer = __webpack_require__(108); - var moment = __webpack_require__(84); + var Emitter = __webpack_require__(99); + var Hammer = __webpack_require__(112); + var moment = __webpack_require__(82); var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); - var Range = __webpack_require__(123); - var Core = __webpack_require__(126); - var TimeAxis = __webpack_require__(138); - var CurrentTime = __webpack_require__(142); - var CustomTime = __webpack_require__(140); - var ItemSet = __webpack_require__(127); + var Range = __webpack_require__(127); + var Core = __webpack_require__(130); + var TimeAxis = __webpack_require__(142); + var CurrentTime = __webpack_require__(146); + var CustomTime = __webpack_require__(144); + var ItemSet = __webpack_require__(131); - var printStyle = __webpack_require__(122).printStyle; - var allOptions = __webpack_require__(143).allOptions; - var configureOptions = __webpack_require__(143).configureOptions; + var printStyle = __webpack_require__(126).printStyle; + var allOptions = __webpack_require__(147).allOptions; + var configureOptions = __webpack_require__(147).configureOptions; /** * Create a timeline visualization @@ -17055,8 +17155,6 @@ return /******/ (function(modules) { // webpackBootstrap * @return {{min: Date | null, max: Date | null}} */ Timeline.prototype.getItemRange = function () { - var _this = this; - // get a rough approximation for the range based on the items start and end dates var range = this.getDataRange(); var min = range.min !== null ? range.min.valueOf() : null; @@ -17065,74 +17163,66 @@ return /******/ (function(modules) { // webpackBootstrap var maxItem = null; if (min != null && max != null) { - var interval; - var factor; - var lhs; - var rhs; - var delta; - - (function () { - var getStart = function getStart(item) { - return util.convert(item.data.start, 'Date').valueOf(); - }; + var getStart = function getStart(item) { + return util.convert(item.data.start, 'Date').valueOf(); + }; - var getEnd = function getEnd(item) { - var end = item.data.end != undefined ? item.data.end : item.data.start; - return util.convert(end, 'Date').valueOf(); - }; + var getEnd = function getEnd(item) { + var end = item.data.end != undefined ? item.data.end : item.data.start; + return util.convert(end, 'Date').valueOf(); + }; - // calculate the date of the left side and right side of the items given + // calculate the date of the left side and right side of the items given - interval = max - min; // ms + var interval = max - min; // ms + if (interval <= 0) { + interval = 10; + } + var factor = interval / this.props.center.width; - if (interval <= 0) { - interval = 10; + util.forEach(this.itemSet.items, function (item) { + if (item.groupShowing) { + item.show(); + item.repositionX(); } - factor = interval / _this.props.center.width; - util.forEach(_this.itemSet.items, function (item) { - if (item.groupShowing) { - item.show(); - item.repositionX(); - } - var start = getStart(item); - var end = getEnd(item); + var start = getStart(item); + var end = getEnd(item); - if (this.options.rtl) { - var startSide = start - (item.getWidthRight() + 10) * factor; - var endSide = end + (item.getWidthLeft() + 10) * factor; - } else { - var startSide = start - (item.getWidthLeft() + 10) * factor; - var endSide = end + (item.getWidthRight() + 10) * factor; - } + if (this.options.rtl) { + var startSide = start - (item.getWidthRight() + 10) * factor; + var endSide = end + (item.getWidthLeft() + 10) * factor; + } else { + var startSide = start - (item.getWidthLeft() + 10) * factor; + var endSide = end + (item.getWidthRight() + 10) * factor; + } - if (startSide < min) { - min = startSide; - minItem = item; - } - if (endSide > max) { - max = endSide; - maxItem = item; - } - }.bind(_this)); + if (startSide < min) { + min = startSide; + minItem = item; + } + if (endSide > max) { + max = endSide; + maxItem = item; + } + }.bind(this)); - if (minItem && maxItem) { - lhs = minItem.getWidthLeft() + 10; - rhs = maxItem.getWidthRight() + 10; - delta = _this.props.center.width - lhs - rhs; // px + if (minItem && maxItem) { + var lhs = minItem.getWidthLeft() + 10; + var rhs = maxItem.getWidthRight() + 10; + var delta = this.props.center.width - lhs - rhs; // px - if (delta > 0) { - if (_this.options.rtl) { - min = getStart(minItem) - rhs * interval / delta; // ms - max = getEnd(maxItem) + lhs * interval / delta; // ms - } else { - min = getStart(minItem) - lhs * interval / delta; // ms - max = getEnd(maxItem) + rhs * interval / delta; // ms - } + if (delta > 0) { + if (this.options.rtl) { + min = getStart(minItem) - rhs * interval / delta; // ms + max = getEnd(maxItem) + lhs * interval / delta; // ms + } else { + min = getStart(minItem) - lhs * interval / delta; // ms + max = getEnd(maxItem) + rhs * interval / delta; // ms } } - })(); + } } return { @@ -17227,10 +17317,25 @@ return /******/ (function(modules) { // webpackBootstrap }; }; + /** + * Toggle Timeline rolling mode + */ + + Timeline.prototype.toggleRollingMode = function () { + if (this.range.rolling) { + this.range.stopRolling(); + } else { + if (this.options.rollingMode == undefined) { + this.setOptions(this.options); + } + this.range.startRolling(); + } + }; + module.exports = Timeline; /***/ }, -/* 114 */ +/* 118 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17239,7 +17344,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); @@ -17247,15 +17352,15 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _ColorPicker = __webpack_require__(120); + var _ColorPicker = __webpack_require__(124); var _ColorPicker2 = _interopRequireDefault(_ColorPicker); @@ -17415,26 +17520,24 @@ return /******/ (function(modules) { // webpackBootstrap } if (this.options.showButton === true) { - (function () { - var generateButton = document.createElement('div'); + var generateButton = document.createElement('div'); + generateButton.className = 'vis-configuration vis-config-button'; + generateButton.innerHTML = 'generate options'; + generateButton.onclick = function () { + _this._printOptions(); + }; + generateButton.onmouseover = function () { + generateButton.className = 'vis-configuration vis-config-button hover'; + }; + generateButton.onmouseout = function () { generateButton.className = 'vis-configuration vis-config-button'; - generateButton.innerHTML = 'generate options'; - generateButton.onclick = function () { - _this._printOptions(); - }; - generateButton.onmouseover = function () { - generateButton.className = 'vis-configuration vis-config-button hover'; - }; - generateButton.onmouseout = function () { - generateButton.className = 'vis-configuration vis-config-button'; - }; + }; - _this.optionsContainer = document.createElement('div'); - _this.optionsContainer.className = 'vis-configuration vis-config-option-container'; + this.optionsContainer = document.createElement('div'); + this.optionsContainer.className = 'vis-configuration vis-config-option-container'; - _this.domElements.push(_this.optionsContainer); - _this.domElements.push(generateButton); - })(); + this.domElements.push(this.optionsContainer); + this.domElements.push(generateButton); } this._push(); @@ -17512,30 +17615,19 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_makeItem', value: function _makeItem(path) { - var _arguments = arguments, - _this2 = this; - if (this.allowCreation === true) { - var _len, domElements, _key; - - var _ret2 = function () { - var item = document.createElement('div'); - item.className = 'vis-configuration vis-config-item vis-config-s' + path.length; + var item = document.createElement('div'); + item.className = 'vis-configuration vis-config-item vis-config-s' + path.length; - for (_len = _arguments.length, domElements = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - domElements[_key - 1] = _arguments[_key]; - } - - domElements.forEach(function (element) { - item.appendChild(element); - }); - _this2.domElements.push(item); - return { - v: _this2.domElements.length - }; - }(); + for (var _len = arguments.length, domElements = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + domElements[_key - 1] = arguments[_key]; + } - if ((typeof _ret2 === 'undefined' ? 'undefined' : (0, _typeof3['default'])(_ret2)) === "object") return _ret2.v; + domElements.forEach(function (element) { + item.appendChild(element); + }); + this.domElements.push(item); + return this.domElements.length; } return 0; } @@ -17699,7 +17791,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_setupPopup', value: function _setupPopup(string, index) { - var _this3 = this; + var _this2 = this; if (this.initialized === true && this.allowCreation === true && this.popupCounter < this.popupLimit) { var div = document.createElement("div"); @@ -17707,7 +17799,7 @@ return /******/ (function(modules) { // webpackBootstrap div.className = "vis-configuration-popup"; div.innerHTML = string; div.onclick = function () { - _this3._removePopup(); + _this2._removePopup(); }; this.popupCounter += 1; this.popupDiv = { html: div, index: index }; @@ -17738,7 +17830,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_showPopupIfNeeded', value: function _showPopupIfNeeded() { - var _this4 = this; + var _this3 = this; if (this.popupDiv.html !== undefined) { var correspondingElement = this.domElements[this.popupDiv.index]; @@ -17747,10 +17839,10 @@ return /******/ (function(modules) { // webpackBootstrap this.popupDiv.html.style.top = rect.top - 30 + "px"; // 30 is the height; document.body.appendChild(this.popupDiv.html); this.popupDiv.hideTimeout = setTimeout(function () { - _this4.popupDiv.html.style.opacity = 0; + _this3.popupDiv.html.style.opacity = 0; }, 1500); this.popupDiv.deleteTimeout = setTimeout(function () { - _this4._removePopup(); + _this3._removePopup(); }, 1800); } } @@ -17831,7 +17923,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_makeColorField', value: function _makeColorField(arr, value, path) { - var _this5 = this; + var _this4 = this; var defaultColor = arr[1]; var div = document.createElement('div'); @@ -17846,7 +17938,7 @@ return /******/ (function(modules) { // webpackBootstrap value = value === undefined ? defaultColor : value; div.onclick = function () { - _this5._showColorPicker(value, div, path); + _this4._showColorPicker(value, div, path); }; var label = this._makeLabel(path[path.length - 1], path); @@ -17865,7 +17957,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_showColorPicker', value: function _showColorPicker(value, div, path) { - var _this6 = this; + var _this5 = this; // clear the callback from this div div.onclick = function () {}; @@ -17877,13 +17969,13 @@ return /******/ (function(modules) { // webpackBootstrap this.colorPicker.setUpdateCallback(function (color) { var colorString = 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',' + color.a + ')'; div.style.backgroundColor = colorString; - _this6._update(colorString, path); + _this5._update(colorString, path); }); // on close of the colorpicker, restore the callback. this.colorPicker.setCloseCallback(function () { div.onclick = function () { - _this6._showColorPicker(value, div, path); + _this5._showColorPicker(value, div, path); }; }); } @@ -18063,7 +18155,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Configurator; /***/ }, -/* 115 */ +/* 119 */ /***/ function(module, exports) { "use strict"; @@ -18077,14 +18169,14 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 116 */ +/* 120 */ /***/ function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; - var _defineProperty = __webpack_require__(117); + var _defineProperty = __webpack_require__(121); var _defineProperty2 = _interopRequireDefault(_defineProperty); @@ -18109,23 +18201,23 @@ return /******/ (function(modules) { // webpackBootstrap }(); /***/ }, -/* 117 */ +/* 121 */ /***/ function(module, exports, __webpack_require__) { - module.exports = { "default": __webpack_require__(118), __esModule: true }; + module.exports = { "default": __webpack_require__(122), __esModule: true }; /***/ }, -/* 118 */ +/* 122 */ /***/ function(module, exports, __webpack_require__) { - __webpack_require__(119); + __webpack_require__(123); var $Object = __webpack_require__(17).Object; module.exports = function defineProperty(it, key, desc){ return $Object.defineProperty(it, key, desc); }; /***/ }, -/* 119 */ +/* 123 */ /***/ function(module, exports, __webpack_require__) { var $export = __webpack_require__(15); @@ -18133,7 +18225,7 @@ return /******/ (function(modules) { // webpackBootstrap $export($export.S + $export.F * !__webpack_require__(25), 'Object', {defineProperty: __webpack_require__(21).f}); /***/ }, -/* 120 */ +/* 124 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18142,22 +18234,22 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Hammer = __webpack_require__(108); - var hammerUtil = __webpack_require__(121); + var Hammer = __webpack_require__(112); + var hammerUtil = __webpack_require__(125); var util = __webpack_require__(1); var ColorPicker = function () { @@ -18770,12 +18862,12 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = ColorPicker; /***/ }, -/* 121 */ +/* 125 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Hammer = __webpack_require__(108); + var Hammer = __webpack_require__(112); /** * Register a touch event, taking place before a gesture @@ -18844,7 +18936,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 122 */ +/* 126 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18854,7 +18946,7 @@ return /******/ (function(modules) { // webpackBootstrap }); exports.printStyle = undefined; - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); @@ -18866,11 +18958,11 @@ return /******/ (function(modules) { // webpackBootstrap var _keys2 = _interopRequireDefault(_keys); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -19184,7 +19276,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.printStyle = printStyle; /***/ }, -/* 123 */ +/* 127 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19193,7 +19285,7 @@ return /******/ (function(modules) { // webpackBootstrap var _keys2 = _interopRequireDefault(_keys); - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); @@ -19204,10 +19296,10 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var hammerUtil = __webpack_require__(121); - var moment = __webpack_require__(84); - var Component = __webpack_require__(124); - var DateUtil = __webpack_require__(125); + var hammerUtil = __webpack_require__(125); + var moment = __webpack_require__(82); + var Component = __webpack_require__(128); + var DateUtil = __webpack_require__(129); /** * @constructor Range @@ -19417,7 +19509,7 @@ return /******/ (function(modules) { // webpackBootstrap start: new Date(me.start), end: new Date(me.end), byUser: byUser, - event: util.elementsCensor(event) + event: event }; if (changed) { @@ -19445,7 +19537,7 @@ return /******/ (function(modules) { // webpackBootstrap start: new Date(this.start), end: new Date(this.end), byUser: byUser, - event: util.elementsCensor(event) + event: event }; this.body.emitter.emit('rangechange', params); this.body.emitter.emit('rangechanged', params); @@ -19724,7 +19816,7 @@ return /******/ (function(modules) { // webpackBootstrap start: startDate, end: endDate, byUser: true, - event: util.elementsCensor(event) + event: event }); // fire a panmove event @@ -19757,7 +19849,7 @@ return /******/ (function(modules) { // webpackBootstrap start: new Date(this.start), end: new Date(this.end), byUser: true, - event: util.elementsCensor(event) + event: event }); }; @@ -20032,13 +20124,13 @@ return /******/ (function(modules) { // webpackBootstrap var newStart = this.start - diff; var newEnd = this.end - diff; - this.setRange(newStart, newEnd, false, true, event); + this.setRange(newStart, newEnd, false, true, null); }; module.exports = Range; /***/ }, -/* 124 */ +/* 128 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -20100,7 +20192,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Component; /***/ }, -/* 125 */ +/* 129 */ /***/ function(module, exports) { "use strict"; @@ -20597,19 +20689,18 @@ return /******/ (function(modules) { // webpackBootstrap if (time >= startDate && time < endDate) { // if the start is entering a hidden zone return { hidden: true, startDate: startDate, endDate: endDate }; - break; } } return { hidden: false, startDate: startDate, endDate: endDate }; }; /***/ }, -/* 126 */ +/* 130 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); @@ -20619,18 +20710,18 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Emitter = __webpack_require__(95); - var Hammer = __webpack_require__(108); - var hammerUtil = __webpack_require__(121); + var Emitter = __webpack_require__(99); + var Hammer = __webpack_require__(112); + var hammerUtil = __webpack_require__(125); var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); - var Range = __webpack_require__(123); - var ItemSet = __webpack_require__(127); - var TimeAxis = __webpack_require__(138); - var Activator = __webpack_require__(139); - var DateUtil = __webpack_require__(125); - var CustomTime = __webpack_require__(140); + var Range = __webpack_require__(127); + var ItemSet = __webpack_require__(131); + var TimeAxis = __webpack_require__(142); + var Activator = __webpack_require__(143); + var DateUtil = __webpack_require__(129); + var CustomTime = __webpack_require__(144); /** * Create a timeline visualization @@ -20865,6 +20956,13 @@ return /******/ (function(modules) { // webpackBootstrap } function handleDrop(event) { + // prevent redirect to blank page - Firefox + if (event.preventDefault) { + event.preventDefault(); + } + if (event.stopPropagation) { + event.stopPropagation(); + } // return when dropping non-vis items try { var itemData = JSON.parse(event.dataTransfer.getData("text")); @@ -21320,8 +21418,15 @@ return /******/ (function(modules) { // webpackBootstrap /** * Zoom in the window such that given time is centered on screen. * @param {Number} percentage - must be between [0..1] + * @param {Object} [options] Available options: + * `animation: boolean | {duration: number, easingFunction: string}` + * If true (default), the range is animated + * smoothly to the new window. An object can be + * provided to specify duration and easing function. + * Default duration is 500 ms, and default easing + * function is 'easeInOutQuad'. */ - Core.prototype.zoomIn = function (percentage) { + Core.prototype.zoomIn = function (percentage, options) { if (!percentage || percentage < 0 || percentage > 1) return; var range = this.getWindow(); var start = range.start.valueOf(); @@ -21332,17 +21437,21 @@ return /******/ (function(modules) { // webpackBootstrap var newStart = start + distance; var newEnd = end - distance; - this.setWindow({ - start: newStart, - end: newEnd - }); + this.setWindow(newStart, newEnd, options); }; /** * Zoom out the window such that given time is centered on screen. * @param {Number} percentage - must be between [0..1] + * @param {Object} [options] Available options: + * `animation: boolean | {duration: number, easingFunction: string}` + * If true (default), the range is animated + * smoothly to the new window. An object can be + * provided to specify duration and easing function. + * Default duration is 500 ms, and default easing + * function is 'easeInOutQuad'. */ - Core.prototype.zoomOut = function (percentage) { + Core.prototype.zoomOut = function (percentage, options) { if (!percentage || percentage < 0 || percentage > 1) return; var range = this.getWindow(); var start = range.start.valueOf(); @@ -21351,10 +21460,7 @@ return /******/ (function(modules) { // webpackBootstrap var newStart = start - interval * percentage / 2; var newEnd = end + interval * percentage / 2; - this.setWindow({ - start: newStart, - end: newEnd - }); + this.setWindow(newStart, newEnd, options); }; /** @@ -21844,7 +21950,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Core; /***/ }, -/* 127 */ +/* 131 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -21857,24 +21963,24 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _Popup = __webpack_require__(128); + var _Popup = __webpack_require__(132); var _Popup2 = _interopRequireDefault(_Popup); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Hammer = __webpack_require__(108); + var Hammer = __webpack_require__(112); var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); - var TimeStep = __webpack_require__(129); - var Component = __webpack_require__(124); - var Group = __webpack_require__(130); - var BackgroundGroup = __webpack_require__(134); - var BoxItem = __webpack_require__(135); - var PointItem = __webpack_require__(136); - var RangeItem = __webpack_require__(132); - var BackgroundItem = __webpack_require__(137); + var TimeStep = __webpack_require__(133); + var Component = __webpack_require__(128); + var Group = __webpack_require__(134); + var BackgroundGroup = __webpack_require__(138); + var BoxItem = __webpack_require__(139); + var PointItem = __webpack_require__(140); + var RangeItem = __webpack_require__(136); + var BackgroundItem = __webpack_require__(141); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -22021,6 +22127,8 @@ return /******/ (function(modules) { // webpackBootstrap this.selection = []; // list with the ids of all selected nodes this.stackDirty = true; // if true, all items will be restacked on next redraw + this.popup = null; + this.touchParams = {}; // stores properties while dragging this.groupTouchParams = {}; // create the HTML DOM @@ -22470,8 +22578,10 @@ return /******/ (function(modules) { // webpackBootstrap // TODO: would be nicer to get this as a trigger from Range var visibleInterval = range.end - range.start; var zoomed = visibleInterval != this.lastVisibleInterval || this.props.width != this.props.lastWidth; - if (zoomed) this.stackDirty = true; + var scrolled = range.start != this.lastRangeStart; + if (zoomed || scrolled) this.stackDirty = true; this.lastVisibleInterval = visibleInterval; + this.lastRangeStart = range.start; this.props.lastWidth = this.props.width; var restack = this.stackDirty; @@ -22737,12 +22847,6 @@ return /******/ (function(modules) { // webpackBootstrap // remove by id here, it is possible that an item has no id defined // itself, so better not delete by the item itself dataset.remove(id); - - // Remove it's popup - if (itemObj.popup) { - itemObj.popup.destroy(); - itemObj.popup = null; - } } }); } @@ -22999,7 +23103,8 @@ return /******/ (function(modules) { // webpackBootstrap var nestedGroups = this.groupsData.get({ filter: function filter(nestedGroup) { return nestedGroup.nestedInGroup == groupId; - } + }, + order: this.options.groupOrder }); var nestedGroupIds = nestedGroups.map(function (nestedGroup) { return nestedGroup.id; @@ -23651,8 +23756,8 @@ return /******/ (function(modules) { // webpackBootstrap var switchGroup = dataset.get(newOrder[curPos]); var shouldBeGroup = dataset.get(origOrder[curPos]); me.options.groupOrderSwap(switchGroup, shouldBeGroup, dataset); - groupsData.update(switchGroup); - groupsData.update(shouldBeGroup); + dataset.update(switchGroup); + dataset.update(shouldBeGroup); var switchGroupId = newOrder[curPos]; newOrder[curPos] = origOrder[curPos]; @@ -23696,7 +23801,7 @@ return /******/ (function(modules) { // webpackBootstrap if (newSelection.length > 0 || oldSelection.length > 0) { this.body.emitter.emit('select', { items: newSelection, - event: util.elementsCensor(event) + event: event }); } }; @@ -23717,19 +23822,27 @@ return /******/ (function(modules) { // webpackBootstrap return; } - if (item.getTitle()) { - if (item.popup == null) { - item.setPopup(new _Popup2['default'](this.body.dom.root, this.options.tooltip.overflowMethod || 'flip')); + var title = item.getTitle(); + if (title) { + if (this.popup == null) { + this.popup = new _Popup2['default'](this.body.dom.root, this.options.tooltip.overflowMethod || 'flip'); } + this.popup.setText(title); var container = this.body.dom.centerContainer; - item.popup.setPosition(event.clientX - util.getAbsoluteLeft(container) + container.offsetLeft, event.clientY - util.getAbsoluteTop(container) + container.offsetTop); - item.popup.show(); + this.popup.setPosition(event.clientX - util.getAbsoluteLeft(container) + container.offsetLeft, event.clientY - util.getAbsoluteTop(container) + container.offsetTop); + this.popup.show(); + } else { + // Hovering over item without a title, hide popup + // Needed instead of _just_ in _onMouseOut due to #2572 + if (this.popup != null) { + this.popup.hide(); + } } this.body.emitter.emit('itemover', { item: item.id, - event: util.elementsCensor(event) + event: event }); }; ItemSet.prototype._onMouseOut = function (event) { @@ -23743,13 +23856,13 @@ return /******/ (function(modules) { // webpackBootstrap return; } - if (item.popup != null) { - item.popup.hide(); + if (this.popup != null) { + this.popup.hide(); } this.body.emitter.emit('itemout', { item: item.id, - event: util.elementsCensor(event) + event: event }); }; ItemSet.prototype._onMouseMove = function (event) { @@ -23757,11 +23870,11 @@ return /******/ (function(modules) { // webpackBootstrap if (!item) return; if (this.options.tooltip.followMouse) { - if (item.popup) { - if (!item.popup.hidden) { + if (this.popup) { + if (!this.popup.hidden) { var container = this.body.dom.centerContainer; - item.popup.setPosition(event.clientX - util.getAbsoluteLeft(container) + container.offsetLeft, event.clientY - util.getAbsoluteTop(container) + container.offsetTop); - item.popup.show(); // Redraw + this.popup.setPosition(event.clientX - util.getAbsoluteLeft(container) + container.offsetLeft, event.clientY - util.getAbsoluteTop(container) + container.offsetTop); + this.popup.show(); // Redraw } } } @@ -23944,7 +24057,7 @@ return /******/ (function(modules) { // webpackBootstrap this.body.emitter.emit('select', { items: this.getSelection(), - event: util.elementsCensor(event) + event: event }); } }; @@ -24098,7 +24211,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = ItemSet; /***/ }, -/* 128 */ +/* 132 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -24107,11 +24220,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -24267,13 +24380,13 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Popup; /***/ }, -/* 129 */ +/* 133 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var moment = __webpack_require__(84); - var DateUtil = __webpack_require__(125); + var moment = __webpack_require__(82); + var DateUtil = __webpack_require__(129); var util = __webpack_require__(1); /** @@ -24478,59 +24591,33 @@ return /******/ (function(modules) { // webpackBootstrap // Two cases, needed to prevent issues with switching daylight savings // (end of March and end of October) - if (this.current.month() < 6) { - switch (this.scale) { - case 'millisecond': - this.current.add(this.step, 'millisecond');break; - case 'second': - this.current.add(this.step, 'second');break; - case 'minute': - this.current.add(this.step, 'minute');break; - case 'hour': - this.current.add(this.step, 'hour'); - // in case of skipping an hour for daylight savings, adjust the hour again (else you get: 0h 5h 9h ... instead of 0h 4h 8h ...) - // TODO: is this still needed now we use the function of moment.js? - this.current.subtract(this.current.hours() % this.step, 'hour'); - break; - case 'weekday': // intentional fall through - case 'day': - this.current.add(this.step, 'day');break; - case 'month': - this.current.add(this.step, 'month');break; - case 'year': - this.current.add(this.step, 'year');break; - default: - break; - } - } else { - switch (this.scale) { - case 'millisecond': - this.current.add(this.step, 'millisecond');break; - case 'second': - this.current.add(this.step, 'second');break; - case 'minute': - this.current.add(this.step, 'minute');break; - case 'hour': - this.current.add(this.moment.duration(this.step, 'hour')); + switch (this.scale) { + case 'millisecond': + this.current.add(this.step, 'millisecond');break; + case 'second': + this.current.add(this.step, 'second');break; + case 'minute': + this.current.add(this.step, 'minute');break; + case 'hour': + this.current.add(this.step, 'hour'); - // correct for daylight saving - // FIXME: use this.current.add(moment.duration(this.step, 'hour')) - // see http://momentjs.com/docs/#special-considerations-for-months-and-years + if (this.current.month() < 6) { + this.current.subtract(this.current.hours() % this.step, 'hour'); + } else { if (this.current.hours() % this.step !== 0) { this.current.add(this.step - this.current.hours() % this.step, 'hour'); } - - break; - case 'weekday': // intentional fall through - case 'day': - this.current.add(this.step, 'day');break; - case 'month': - this.current.add(this.step, 'month');break; - case 'year': - this.current.add(this.step, 'year');break; - default: - break; - } + } + break; + case 'weekday': // intentional fall through + case 'day': + this.current.add(this.step, 'day');break; + case 'month': + this.current.add(this.step, 'month');break; + case 'year': + this.current.add(this.step, 'year');break; + default: + break; } if (this.step != 1) { @@ -24893,6 +24980,9 @@ return /******/ (function(modules) { // webpackBootstrap if (date == undefined) { date = this.current; } + if (date instanceof Date) { + date = this.moment(date); + } if (typeof this.format.minorLabels === "function") { return this.format.minorLabels(date, this.scale, this.step); @@ -24912,6 +25002,9 @@ return /******/ (function(modules) { // webpackBootstrap if (date == undefined) { date = this.current; } + if (date instanceof Date) { + date = this.moment(date); + } if (typeof this.format.majorLabels === "function") { return this.format.majorLabels(date, this.scale, this.step); @@ -24990,7 +25083,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = TimeStep; /***/ }, -/* 130 */ +/* 134 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -25002,8 +25095,8 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var stack = __webpack_require__(131); - var RangeItem = __webpack_require__(132); + var stack = __webpack_require__(135); + var RangeItem = __webpack_require__(136); /** * @constructor Group @@ -25714,7 +25807,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Group; /***/ }, -/* 131 */ +/* 135 */ /***/ function(module, exports) { 'use strict'; @@ -25893,13 +25986,13 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 132 */ +/* 136 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Hammer = __webpack_require__(108); - var Item = __webpack_require__(133); + var Hammer = __webpack_require__(112); + var Item = __webpack_require__(137); /** * @constructor RangeItem @@ -26000,11 +26093,10 @@ return /******/ (function(modules) { // webpackBootstrap // - the item is selected/deselected if (this.dirty) { this._updateContents(this.dom.content); - this._updateTitle(); this._updateDataAttributes(this.dom.box); this._updateStyle(this.dom.box); - var editable = (this.options.editable.updateTime || this.options.editable.updateGroup || this.editable === true) && this.editable !== false; + var editable = this.editable.updateTime || this.editable.updateGroup; // update class var className = (this.data.className ? ' ' + this.data.className : '') + (this.selected ? ' vis-selected' : '') + (editable ? ' vis-editable' : ' vis-readonly'); @@ -26228,24 +26320,24 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = RangeItem; /***/ }, -/* 133 */ +/* 137 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _keys = __webpack_require__(58); - - var _keys2 = _interopRequireDefault(_keys); - var _typeof2 = __webpack_require__(62); var _typeof3 = _interopRequireDefault(_typeof2); + var _keys = __webpack_require__(58); + + var _keys2 = _interopRequireDefault(_keys); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Hammer = __webpack_require__(108); + var Hammer = __webpack_require__(112); var util = __webpack_require__(1); - var moment = __webpack_require__(84); + var moment = __webpack_require__(82); /** * @constructor Item @@ -26267,7 +26359,6 @@ return /******/ (function(modules) { // webpackBootstrap this.displayed = false; this.groupShowing = true; this.dirty = true; - this.popup = null; this.top = null; this.right = null; @@ -26276,18 +26367,7 @@ return /******/ (function(modules) { // webpackBootstrap this.height = null; this.editable = null; - if (this.data && this.data.hasOwnProperty('editable')) { - if (typeof this.data.editable === 'boolean') { - this.editable = { - updateTime: this.data.editable, - updateGroup: this.data.editable, - remove: this.data.editable - }; - } else if ((0, _typeof3['default'])(options.editable) === 'object') { - this.editable = {}; - util.selectiveExtend(['updateTime', 'updateGroup', 'remove'], this.editable, data.editable); - }; - } + this._updateEditStatus(); } Item.prototype.stack = true; @@ -26321,20 +26401,8 @@ return /******/ (function(modules) { // webpackBootstrap this.parent.itemSet._moveToGroup(this, data.group); } - if (data.hasOwnProperty('editable')) { - if (typeof data.editable === 'boolean') { - this.editable = { - updateTime: this.data.editable, - updateGroup: this.data.editable, - remove: this.data.editable - }; - } else if ((0, _typeof3['default'])(options.editable) === 'object') { - this.editable = {}; - util.selectiveExtend(['updateTime', 'updateGroup', 'remove'], this.editable, data.editable); - } - } - this.data = data; + this._updateEditStatus(); this.dirty = true; if (this.displayed) this.redraw(); }; @@ -26599,7 +26667,7 @@ return /******/ (function(modules) { // webpackBootstrap if (this.options.template) { templateFunction = this.options.template.bind(this); - content = templateFunction(itemData, element); + content = templateFunction(itemData, element, this.data); } else { content = this.data.content; } @@ -26626,18 +26694,6 @@ return /******/ (function(modules) { // webpackBootstrap } }; - /** - * Set HTML contents for the item - * @private - */ - Item.prototype._updateTitle = function () { - if (this.data.title != null) { - if (this.popup != null) { - this.popup.setText(this.data.title || ''); - } - } - }; - /** * Process dataAttributes timeline option and set as data- attributes on dom.content * @param {Element} element HTML element to which the attributes will be attached @@ -26699,6 +26755,41 @@ return /******/ (function(modules) { // webpackBootstrap return content; }; + /** + * Update the editability of this item. + */ + Item.prototype._updateEditStatus = function () { + if (this.options) { + if (typeof this.options.editable === 'boolean') { + this.editable = { + updateTime: this.options.editable, + updateGroup: this.options.editable, + remove: this.options.editable + }; + } else if ((0, _typeof3['default'])(this.options.editable) === 'object') { + this.editable = {}; + util.selectiveExtend(['updateTime', 'updateGroup', 'remove'], this.editable, this.options.editable); + }; + } + // Item data overrides, except if options.editable.overrideItems is set. + if (!this.options || !this.options.editable || this.options.editable.overrideItems !== true) { + if (this.data) { + if (typeof this.data.editable === 'boolean') { + this.editable = { + updateTime: this.data.editable, + updateGroup: this.data.editable, + remove: this.data.editable + }; + } else if ((0, _typeof3['default'])(this.data.editable) === 'object') { + // TODO: in vis.js 5.0, we should change this to not reset options from the timeline configuration. + // Basically just remove the next line... + this.editable = {}; + util.selectiveExtend(['updateTime', 'updateGroup', 'remove'], this.editable, this.data.editable); + } + } + } + }; + /** * Return the width of the item left from its start date * @return {number} @@ -26723,19 +26814,10 @@ return /******/ (function(modules) { // webpackBootstrap return this.data.title; }; - /** - * Set the popup object, and update the title - * @param {Popup} popup - */ - Item.prototype.setPopup = function (popup) { - this.popup = popup; - this._updateTitle(); - }; - module.exports = Item; /***/ }, -/* 134 */ +/* 138 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -26747,7 +26829,7 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var Group = __webpack_require__(130); + var Group = __webpack_require__(134); /** * @constructor BackgroundGroup @@ -26805,12 +26887,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BackgroundGroup; /***/ }, -/* 135 */ +/* 139 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Item = __webpack_require__(133); + var Item = __webpack_require__(137); var util = __webpack_require__(1); /** @@ -26928,11 +27010,10 @@ return /******/ (function(modules) { // webpackBootstrap // - the item is selected/deselected if (this.dirty) { this._updateContents(this.dom.content); - this._updateTitle(); this._updateDataAttributes(this.dom.box); this._updateStyle(this.dom.box); - var editable = (this.options.editable.updateTime || this.options.editable.updateGroup || this.editable === true) && this.editable !== false; + var editable = this.editable.updateTime || this.editable.updateGroup; // update class var className = (this.data.className ? ' ' + this.data.className : '') + (this.selected ? ' vis-selected' : '') + (editable ? ' vis-editable' : ' vis-readonly'); @@ -27107,12 +27188,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BoxItem; /***/ }, -/* 136 */ +/* 140 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Item = __webpack_require__(133); + var Item = __webpack_require__(137); /** * @constructor PointItem @@ -27210,12 +27291,10 @@ return /******/ (function(modules) { // webpackBootstrap // - the item is selected/deselected if (this.dirty) { this._updateContents(this.dom.content); - this._updateTitle(); this._updateDataAttributes(this.dom.point); this._updateStyle(this.dom.point); - var editable = (this.options.editable.updateTime || this.options.editable.updateGroup || this.editable === true) && this.editable !== false; - + var editable = this.editable.updateTime || this.editable.updateGroup; // update class var className = (this.data.className ? ' ' + this.data.className : '') + (this.selected ? ' vis-selected' : '') + (editable ? ' vis-editable' : ' vis-readonly'); dom.point.className = 'vis-item vis-point' + className; @@ -27330,15 +27409,15 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = PointItem; /***/ }, -/* 137 */ +/* 141 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Hammer = __webpack_require__(108); - var Item = __webpack_require__(133); - var BackgroundGroup = __webpack_require__(134); - var RangeItem = __webpack_require__(132); + var Hammer = __webpack_require__(112); + var Item = __webpack_require__(137); + var BackgroundGroup = __webpack_require__(138); + var RangeItem = __webpack_require__(136); /** * @constructor BackgroundItem @@ -27437,7 +27516,6 @@ return /******/ (function(modules) { // webpackBootstrap // - the item is selected/deselected if (this.dirty) { this._updateContents(this.dom.content); - this._updateTitle(); this._updateDataAttributes(this.dom.content); this._updateStyle(this.dom.box); @@ -27480,6 +27558,7 @@ return /******/ (function(modules) { // webpackBootstrap */ BackgroundItem.prototype.repositionY = function (margin) { var height; + var orientation = this.options.orientation.item; // special positioning for subgroups if (this.data.subgroup !== undefined) { @@ -27491,7 +27570,6 @@ return /******/ (function(modules) { // webpackBootstrap this.dom.box.style.height = this.parent.subgroups[itemSubgroup].height + 'px'; - var orientation = this.options.orientation.item; if (orientation == 'top') { this.dom.box.style.top = this.parent.top + this.parent.subgroups[itemSubgroup].top + 'px'; } else { @@ -27505,8 +27583,8 @@ return /******/ (function(modules) { // webpackBootstrap if (this.parent instanceof BackgroundGroup) { // if the item is not in a group: height = Math.max(this.parent.height, this.parent.itemSet.body.domProps.center.height, this.parent.itemSet.body.domProps.centerContainer.height); + this.dom.box.style.bottom = orientation == 'bottom' ? '0' : ''; this.dom.box.style.top = orientation == 'top' ? '0' : ''; - this.dom.box.style.bottom = orientation == 'top' ? '' : '0'; } else { height = this.parent.height; // same alignment for items when orientation is top or bottom @@ -27520,7 +27598,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BackgroundItem; /***/ }, -/* 138 */ +/* 142 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -27532,10 +27610,10 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var Component = __webpack_require__(124); - var TimeStep = __webpack_require__(129); - var DateUtil = __webpack_require__(125); - var moment = __webpack_require__(84); + var Component = __webpack_require__(128); + var TimeStep = __webpack_require__(133); + var DateUtil = __webpack_require__(129); + var moment = __webpack_require__(82); /** * A horizontal time axis @@ -28024,14 +28102,14 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = TimeAxis; /***/ }, -/* 139 */ +/* 143 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var keycharm = __webpack_require__(111); - var Emitter = __webpack_require__(95); - var Hammer = __webpack_require__(108); + var keycharm = __webpack_require__(115); + var Emitter = __webpack_require__(99); + var Hammer = __webpack_require__(112); var util = __webpack_require__(1); /** @@ -28183,16 +28261,16 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Activator; /***/ }, -/* 140 */ +/* 144 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var Hammer = __webpack_require__(108); + var Hammer = __webpack_require__(112); var util = __webpack_require__(1); - var Component = __webpack_require__(124); - var moment = __webpack_require__(84); - var locales = __webpack_require__(141); + var Component = __webpack_require__(128); + var moment = __webpack_require__(82); + var locales = __webpack_require__(145); /** * A custom time bar @@ -28333,6 +28411,8 @@ return /******/ (function(modules) { // webpackBootstrap if (title === undefined) { title = locale.time + ': ' + this.options.moment(this.customTime).format('dddd, MMMM Do YYYY, H:mm:ss'); title = title.charAt(0).toUpperCase() + title.substring(1); + } else if (typeof title === "function") { + title = title.call(this.customTime); } this.bar.style.left = x + 'px'; @@ -28450,7 +28530,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CustomTime; /***/ }, -/* 141 */ +/* 145 */ /***/ function(module, exports) { 'use strict'; @@ -28486,16 +28566,32 @@ return /******/ (function(modules) { // webpackBootstrap }; exports['de_DE'] = exports['de']; + // French + exports['fr'] = { + current: 'actuel', + time: 'heure' + }; + exports['fr_FR'] = exports['fr']; + exports['fr_CA'] = exports['fr']; + exports['fr_BE'] = exports['fr']; + + // Espanol + exports['es'] = { + current: 'corriente', + time: 'hora' + }; + exports['es_ES'] = exports['es']; + /***/ }, -/* 142 */ +/* 146 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var util = __webpack_require__(1); - var Component = __webpack_require__(124); - var moment = __webpack_require__(84); - var locales = __webpack_require__(141); + var Component = __webpack_require__(128); + var moment = __webpack_require__(82); + var locales = __webpack_require__(145); /** * A current time bar @@ -28670,7 +28766,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = CurrentTime; /***/ }, -/* 143 */ +/* 147 */ /***/ function(module, exports) { 'use strict'; @@ -28933,37 +29029,37 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 144 */ +/* 148 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _Configurator = __webpack_require__(114); + var _Configurator = __webpack_require__(118); var _Configurator2 = _interopRequireDefault(_Configurator); - var _Validator = __webpack_require__(122); + var _Validator = __webpack_require__(126); var _Validator2 = _interopRequireDefault(_Validator); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Emitter = __webpack_require__(95); - var Hammer = __webpack_require__(108); - var moment = __webpack_require__(84); + var Emitter = __webpack_require__(99); + var Hammer = __webpack_require__(112); + var moment = __webpack_require__(82); var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); - var Range = __webpack_require__(123); - var Core = __webpack_require__(126); - var TimeAxis = __webpack_require__(138); - var CurrentTime = __webpack_require__(142); - var CustomTime = __webpack_require__(140); - var LineGraph = __webpack_require__(145); + var Range = __webpack_require__(127); + var Core = __webpack_require__(130); + var TimeAxis = __webpack_require__(142); + var CurrentTime = __webpack_require__(146); + var CustomTime = __webpack_require__(144); + var LineGraph = __webpack_require__(149); - var printStyle = __webpack_require__(122).printStyle; - var allOptions = __webpack_require__(153).allOptions; - var configureOptions = __webpack_require__(153).configureOptions; + var printStyle = __webpack_require__(126).printStyle; + var allOptions = __webpack_require__(157).allOptions; + var configureOptions = __webpack_require__(157).configureOptions; /** * Create a timeline visualization @@ -29288,7 +29384,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Graph2d; /***/ }, -/* 145 */ +/* 149 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -29300,16 +29396,16 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var DOMutil = __webpack_require__(90); - var DataSet = __webpack_require__(91); + var DOMutil = __webpack_require__(88); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); - var Component = __webpack_require__(124); - var DataAxis = __webpack_require__(146); - var GraphGroup = __webpack_require__(148); - var Legend = __webpack_require__(152); - var Bars = __webpack_require__(149); - var Lines = __webpack_require__(151); - var Points = __webpack_require__(150); + var Component = __webpack_require__(128); + var DataAxis = __webpack_require__(150); + var GraphGroup = __webpack_require__(152); + var Legend = __webpack_require__(156); + var Bars = __webpack_require__(153); + var Lines = __webpack_require__(155); + var Points = __webpack_require__(154); var UNGROUPED = '__ungrouped__'; // reserved group id for ungrouped items @@ -29774,6 +29870,7 @@ return /******/ (function(modules) { // webpackBootstrap //Copy data (because of unmodifiable DataView input. var extended = util.bridgeObject(item); extended.x = util.convert(item.x, 'Date'); + extended.end = util.convert(item.end, 'Date'); extended.orginalY = item.y; //real Y extended.y = Number(item.y); extended[fieldId] = item[fieldId]; @@ -30181,9 +30278,9 @@ return /******/ (function(modules) { // webpackBootstrap // if bar graphs are stacked, their range need to be handled differently and accumulated over all groups. if (options.stack === true && options.style === 'bar') { if (options.yAxisOrientation === 'left') { - combinedDataLeft = combinedDataLeft.concat(group.getItems()); + combinedDataLeft = combinedDataLeft.concat(groupData); } else { - combinedDataRight = combinedDataRight.concat(group.getItems()); + combinedDataRight = combinedDataRight.concat(groupData); } } else { groupRanges[groupIds[i]] = group.getYRange(groupData, groupIds[i]); @@ -30331,6 +30428,11 @@ return /******/ (function(modules) { // webpackBootstrap for (var i = 0; i < datapoints.length; i++) { datapoints[i].screen_x = toScreen(datapoints[i].x) + this.props.width; datapoints[i].screen_y = datapoints[i].y; //starting point for range calculations + if (datapoints[i].end != undefined) { + datapoints[i].screen_end = toScreen(datapoints[i].end) + this.props.width; + } else { + datapoints[i].screen_end = undefined; + } } }; @@ -30359,7 +30461,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = LineGraph; /***/ }, -/* 146 */ +/* 150 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -30371,9 +30473,9 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var DOMutil = __webpack_require__(90); - var Component = __webpack_require__(124); - var DataScale = __webpack_require__(147); + var DOMutil = __webpack_require__(88); + var Component = __webpack_require__(128); + var DataScale = __webpack_require__(151); /** * A horizontal time axis * @param {Object} [options] See DataAxis.setOptions for the available @@ -30925,7 +31027,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DataAxis; /***/ }, -/* 147 */ +/* 151 */ /***/ function(module, exports) { 'use strict'; @@ -31167,7 +31269,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = DataScale; /***/ }, -/* 148 */ +/* 152 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -31179,10 +31281,10 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var DOMutil = __webpack_require__(90); - var Bars = __webpack_require__(149); - var Lines = __webpack_require__(151); - var Points = __webpack_require__(150); + var DOMutil = __webpack_require__(88); + var Bars = __webpack_require__(153); + var Lines = __webpack_require__(155); + var Points = __webpack_require__(154); /** * /** @@ -31334,13 +31436,13 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = GraphGroup; /***/ }, -/* 149 */ +/* 153 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var DOMutil = __webpack_require__(90); - var Points = __webpack_require__(150); + var DOMutil = __webpack_require__(88); + var Points = __webpack_require__(154); function Bargraph(groupId, options) {} @@ -31401,8 +31503,10 @@ return /******/ (function(modules) { // webpackBootstrap for (j = 0; j < processedGroupData[groupIds[i]].length; j++) { combinedData.push({ screen_x: processedGroupData[groupIds[i]][j].screen_x, + screen_end: processedGroupData[groupIds[i]][j].screen_end, screen_y: processedGroupData[groupIds[i]][j].screen_y, x: processedGroupData[groupIds[i]][j].x, + end: processedGroupData[groupIds[i]][j].end, y: processedGroupData[groupIds[i]][j].y, groupId: groupIds[i], label: processedGroupData[groupIds[i]][j].label @@ -31463,7 +31567,20 @@ return /******/ (function(modules) { // webpackBootstrap drawData.offset += intersections[key].resolved * drawData.width - 0.5 * drawData.width * (intersections[key].amount + 1); } } - DOMutil.drawBar(combinedData[i].screen_x + drawData.offset, combinedData[i].screen_y - heightOffset, drawData.width, group.zeroPosition - combinedData[i].screen_y, group.className + ' vis-bar', framework.svgElements, framework.svg, group.style); + + var dataWidth = drawData.width; + var start = combinedData[i].screen_x; + + // are we drawing explicit boxes? (we supplied an end value) + if (combinedData[i].screen_end != undefined) { + dataWidth = combinedData[i].screen_end - combinedData[i].screen_x; + start += dataWidth * 0.5; + } else { + start += drawData.offset; + } + + DOMutil.drawBar(start, combinedData[i].screen_y - heightOffset, dataWidth, group.zeroPosition - combinedData[i].screen_y, group.className + ' vis-bar', framework.svgElements, framework.svg, group.style); + // draw points if (group.options.drawPoints.enabled === true) { var pointData = { @@ -31595,7 +31712,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Bargraph; /***/ }, -/* 150 */ +/* 154 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -31606,7 +31723,7 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var DOMutil = __webpack_require__(90); + var DOMutil = __webpack_require__(88); function Points(groupId, options) {} @@ -31678,12 +31795,12 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Points; /***/ }, -/* 151 */ +/* 155 */ /***/ function(module, exports, __webpack_require__) { "use strict"; - var DOMutil = __webpack_require__(90); + var DOMutil = __webpack_require__(88); function Line(groupId, options) {} @@ -31967,7 +32084,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Line; /***/ }, -/* 152 */ +/* 156 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -31979,8 +32096,8 @@ return /******/ (function(modules) { // webpackBootstrap function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var DOMutil = __webpack_require__(90); - var Component = __webpack_require__(124); + var DOMutil = __webpack_require__(88); + var Component = __webpack_require__(128); /** * Legend for Graph2d @@ -32192,7 +32309,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Legend; /***/ }, -/* 153 */ +/* 157 */ /***/ function(module, exports) { 'use strict'; @@ -32477,27 +32594,27 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 154 */ +/* 158 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; // utils exports.util = __webpack_require__(1); - exports.DOMutil = __webpack_require__(90); + exports.DOMutil = __webpack_require__(88); // data - exports.DataSet = __webpack_require__(91); + exports.DataSet = __webpack_require__(89); exports.DataView = __webpack_require__(93); exports.Queue = __webpack_require__(92); // Network - exports.Network = __webpack_require__(155); + exports.Network = __webpack_require__(159); exports.network = { - Images: __webpack_require__(156), - dotparser: __webpack_require__(224), - gephiParser: __webpack_require__(225), - allOptions: __webpack_require__(220) + Images: __webpack_require__(160), + dotparser: __webpack_require__(228), + gephiParser: __webpack_require__(229), + allOptions: __webpack_require__(224) }; exports.network.convertDot = function (input) { return exports.network.dotparser.DOTToGraph(input); @@ -32507,95 +32624,95 @@ return /******/ (function(modules) { // webpackBootstrap }; // bundled external libraries - exports.moment = __webpack_require__(84); - exports.Hammer = __webpack_require__(108); - exports.keycharm = __webpack_require__(111); + exports.moment = __webpack_require__(82); + exports.Hammer = __webpack_require__(112); + exports.keycharm = __webpack_require__(115); /***/ }, -/* 155 */ +/* 159 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _Images = __webpack_require__(156); + var _Images = __webpack_require__(160); var _Images2 = _interopRequireDefault(_Images); - var _Groups = __webpack_require__(157); + var _Groups = __webpack_require__(161); var _Groups2 = _interopRequireDefault(_Groups); - var _NodesHandler = __webpack_require__(158); + var _NodesHandler = __webpack_require__(162); var _NodesHandler2 = _interopRequireDefault(_NodesHandler); - var _EdgesHandler = __webpack_require__(191); + var _EdgesHandler = __webpack_require__(195); var _EdgesHandler2 = _interopRequireDefault(_EdgesHandler); - var _PhysicsEngine = __webpack_require__(200); + var _PhysicsEngine = __webpack_require__(204); var _PhysicsEngine2 = _interopRequireDefault(_PhysicsEngine); - var _Clustering = __webpack_require__(209); + var _Clustering = __webpack_require__(213); var _Clustering2 = _interopRequireDefault(_Clustering); - var _CanvasRenderer = __webpack_require__(212); + var _CanvasRenderer = __webpack_require__(216); var _CanvasRenderer2 = _interopRequireDefault(_CanvasRenderer); - var _Canvas = __webpack_require__(213); + var _Canvas = __webpack_require__(217); var _Canvas2 = _interopRequireDefault(_Canvas); - var _View = __webpack_require__(214); + var _View = __webpack_require__(218); var _View2 = _interopRequireDefault(_View); - var _InteractionHandler = __webpack_require__(215); + var _InteractionHandler = __webpack_require__(219); var _InteractionHandler2 = _interopRequireDefault(_InteractionHandler); - var _SelectionHandler = __webpack_require__(217); + var _SelectionHandler = __webpack_require__(221); var _SelectionHandler2 = _interopRequireDefault(_SelectionHandler); - var _LayoutEngine = __webpack_require__(218); + var _LayoutEngine = __webpack_require__(222); var _LayoutEngine2 = _interopRequireDefault(_LayoutEngine); - var _ManipulationSystem = __webpack_require__(219); + var _ManipulationSystem = __webpack_require__(223); var _ManipulationSystem2 = _interopRequireDefault(_ManipulationSystem); - var _Configurator = __webpack_require__(114); + var _Configurator = __webpack_require__(118); var _Configurator2 = _interopRequireDefault(_Configurator); - var _Validator = __webpack_require__(122); + var _Validator = __webpack_require__(126); var _Validator2 = _interopRequireDefault(_Validator); - var _options = __webpack_require__(220); + var _options = __webpack_require__(224); - var _KamadaKawai = __webpack_require__(221); + var _KamadaKawai = __webpack_require__(225); var _KamadaKawai2 = _interopRequireDefault(_KamadaKawai); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } // Load custom shapes into CanvasRenderingContext2D - __webpack_require__(223); + __webpack_require__(227); - var Emitter = __webpack_require__(95); + var Emitter = __webpack_require__(99); var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); - var dotparser = __webpack_require__(224); - var gephiParser = __webpack_require__(225); - var Activator = __webpack_require__(139); - var locales = __webpack_require__(226); + var dotparser = __webpack_require__(228); + var gephiParser = __webpack_require__(229); + var Activator = __webpack_require__(143); + var locales = __webpack_require__(230); /** * @constructor Network @@ -33147,7 +33264,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = Network; /***/ }, -/* 156 */ +/* 160 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -33156,11 +33273,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -33281,7 +33398,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = Images; /***/ }, -/* 157 */ +/* 161 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -33290,11 +33407,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -33430,7 +33547,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = Groups; /***/ }, -/* 158 */ +/* 162 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -33439,26 +33556,26 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _Node = __webpack_require__(159); + var _Node = __webpack_require__(163); var _Node2 = _interopRequireDefault(_Node); - var _Label = __webpack_require__(160); + var _Label = __webpack_require__(164); var _Label2 = _interopRequireDefault(_Label); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); var NodesHandler = function () { @@ -33670,8 +33787,6 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'setData', value: function setData(nodes) { - var _this3 = this; - var doNotEmit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var oldNodesData = this.body.data.nodes; @@ -33698,17 +33813,15 @@ return /******/ (function(modules) { // webpackBootstrap this.body.nodes = {}; if (this.body.data.nodes) { - (function () { - // subscribe to new dataset - var me = _this3; - util.forEach(_this3.nodesListeners, function (callback, event) { - me.body.data.nodes.on(event, callback); - }); + // subscribe to new dataset + var me = this; + util.forEach(this.nodesListeners, function (callback, event) { + me.body.data.nodes.on(event, callback); + }); - // draw all new nodes - var ids = _this3.body.data.nodes.getIds(); - _this3.add(ids, true); - })(); + // draw all new nodes + var ids = this.body.data.nodes.getIds(); + this.add(ids, true); } if (doNotEmit === false) { @@ -33963,13 +34076,13 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'moveNode', value: function moveNode(nodeId, x, y) { - var _this4 = this; + var _this3 = this; if (this.body.nodes[nodeId] !== undefined) { this.body.nodes[nodeId].x = Number(x); this.body.nodes[nodeId].y = Number(y); setTimeout(function () { - _this4.body.emitter.emit("startSimulation"); + _this3.body.emitter.emit("startSimulation"); }, 0); } else { console.log("Node id supplied to moveNode does not exist. Provided: ", nodeId); @@ -33982,7 +34095,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = NodesHandler; /***/ }, -/* 159 */ +/* 163 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -33995,75 +34108,75 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _Label = __webpack_require__(160); + var _Label = __webpack_require__(164); var _Label2 = _interopRequireDefault(_Label); - var _Box = __webpack_require__(165); + var _Box = __webpack_require__(169); var _Box2 = _interopRequireDefault(_Box); - var _Circle = __webpack_require__(176); + var _Circle = __webpack_require__(180); var _Circle2 = _interopRequireDefault(_Circle); - var _CircularImage = __webpack_require__(178); + var _CircularImage = __webpack_require__(182); var _CircularImage2 = _interopRequireDefault(_CircularImage); - var _Database = __webpack_require__(179); + var _Database = __webpack_require__(183); var _Database2 = _interopRequireDefault(_Database); - var _Diamond = __webpack_require__(180); + var _Diamond = __webpack_require__(184); var _Diamond2 = _interopRequireDefault(_Diamond); - var _Dot = __webpack_require__(182); + var _Dot = __webpack_require__(186); var _Dot2 = _interopRequireDefault(_Dot); - var _Ellipse = __webpack_require__(183); + var _Ellipse = __webpack_require__(187); var _Ellipse2 = _interopRequireDefault(_Ellipse); - var _Icon = __webpack_require__(184); + var _Icon = __webpack_require__(188); var _Icon2 = _interopRequireDefault(_Icon); - var _Image = __webpack_require__(185); + var _Image = __webpack_require__(189); var _Image2 = _interopRequireDefault(_Image); - var _Square = __webpack_require__(186); + var _Square = __webpack_require__(190); var _Square2 = _interopRequireDefault(_Square); - var _Star = __webpack_require__(187); + var _Star = __webpack_require__(191); var _Star2 = _interopRequireDefault(_Star); - var _Text = __webpack_require__(188); + var _Text = __webpack_require__(192); var _Text2 = _interopRequireDefault(_Text); - var _Triangle = __webpack_require__(189); + var _Triangle = __webpack_require__(193); var _Triangle2 = _interopRequireDefault(_Triangle); - var _TriangleDown = __webpack_require__(190); + var _TriangleDown = __webpack_require__(194); var _TriangleDown2 = _interopRequireDefault(_TriangleDown); - var _Validator = __webpack_require__(122); + var _Validator = __webpack_require__(126); var _Validator2 = _interopRequireDefault(_Validator); @@ -34167,6 +34280,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!options) { return; } + // basic options if (options.id !== undefined) { this.id = options.id; @@ -34215,7 +34329,12 @@ return /******/ (function(modules) { // webpackBootstrap // load the images if (this.options.image !== undefined) { if (this.imagelist) { - this.imageObj = this.imagelist.load(this.options.image, this.options.brokenImage, this.id); + if (typeof this.options.image === 'string') { + this.imageObj = this.imagelist.load(this.options.image, this.options.brokenImage, this.id); + } else { + this.imageObj = this.imagelist.load(this.options.image.unselected, this.options.brokenImage, this.id); + this.imageObjAlt = this.imagelist.load(this.options.image.selected, this.options.brokenImage, this.id); + } } else { throw "No imagelist provided"; } @@ -34315,7 +34434,7 @@ return /******/ (function(modules) { // webpackBootstrap key: 'updateShape', value: function updateShape(currentShape) { if (currentShape === this.options.shape && this.shape) { - this.shape.setOptions(this.options, this.imageObj); + this.shape.setOptions(this.options, this.imageObj, this.imageObjAlt); } else { // choose draw method depending on the shape switch (this.options.shape) { @@ -34326,7 +34445,7 @@ return /******/ (function(modules) { // webpackBootstrap this.shape = new _Circle2['default'](this.options, this.body, this.labelModule); break; case 'circularImage': - this.shape = new _CircularImage2['default'](this.options, this.body, this.labelModule, this.imageObj); + this.shape = new _CircularImage2['default'](this.options, this.body, this.labelModule, this.imageObj, this.imageObjAlt); break; case 'database': this.shape = new _Database2['default'](this.options, this.body, this.labelModule); @@ -34344,7 +34463,7 @@ return /******/ (function(modules) { // webpackBootstrap this.shape = new _Icon2['default'](this.options, this.body, this.labelModule); break; case 'image': - this.shape = new _Image2['default'](this.options, this.body, this.labelModule, this.imageObj); + this.shape = new _Image2['default'](this.options, this.body, this.labelModule, this.imageObj, this.imageObjAlt); break; case 'square': this.shape = new _Square2['default'](this.options, this.body, this.labelModule); @@ -34600,7 +34719,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Node; /***/ }, -/* 160 */ +/* 164 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -34609,7 +34728,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _slicedToArray2 = __webpack_require__(161); + var _slicedToArray2 = __webpack_require__(165); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); @@ -34621,11 +34740,11 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -35608,14 +35727,14 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Label; /***/ }, -/* 161 */ +/* 165 */ /***/ function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; - var _isIterable2 = __webpack_require__(162); + var _isIterable2 = __webpack_require__(166); var _isIterable3 = _interopRequireDefault(_isIterable2); @@ -35664,21 +35783,21 @@ return /******/ (function(modules) { // webpackBootstrap }(); /***/ }, -/* 162 */ +/* 166 */ /***/ function(module, exports, __webpack_require__) { - module.exports = { "default": __webpack_require__(163), __esModule: true }; + module.exports = { "default": __webpack_require__(167), __esModule: true }; /***/ }, -/* 163 */ +/* 167 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(4); __webpack_require__(50); - module.exports = __webpack_require__(164); + module.exports = __webpack_require__(168); /***/ }, -/* 164 */ +/* 168 */ /***/ function(module, exports, __webpack_require__) { var classof = __webpack_require__(54) @@ -35692,7 +35811,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 165 */ +/* 169 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -35701,27 +35820,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -35818,20 +35937,20 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Box; /***/ }, -/* 166 */ +/* 170 */ /***/ function(module, exports, __webpack_require__) { - module.exports = { "default": __webpack_require__(167), __esModule: true }; + module.exports = { "default": __webpack_require__(171), __esModule: true }; /***/ }, -/* 167 */ +/* 171 */ /***/ function(module, exports, __webpack_require__) { - __webpack_require__(168); + __webpack_require__(172); module.exports = __webpack_require__(17).Object.getPrototypeOf; /***/ }, -/* 168 */ +/* 172 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.9 Object.getPrototypeOf(O) @@ -35845,7 +35964,7 @@ return /******/ (function(modules) { // webpackBootstrap }); /***/ }, -/* 169 */ +/* 173 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -35867,14 +35986,14 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 170 */ +/* 174 */ /***/ function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; - var _setPrototypeOf = __webpack_require__(171); + var _setPrototypeOf = __webpack_require__(175); var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); @@ -35905,28 +36024,28 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 171 */ +/* 175 */ /***/ function(module, exports, __webpack_require__) { - module.exports = { "default": __webpack_require__(172), __esModule: true }; + module.exports = { "default": __webpack_require__(176), __esModule: true }; /***/ }, -/* 172 */ +/* 176 */ /***/ function(module, exports, __webpack_require__) { - __webpack_require__(173); + __webpack_require__(177); module.exports = __webpack_require__(17).Object.setPrototypeOf; /***/ }, -/* 173 */ +/* 177 */ /***/ function(module, exports, __webpack_require__) { // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = __webpack_require__(15); - $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(174).set}); + $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(178).set}); /***/ }, -/* 174 */ +/* 178 */ /***/ function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. @@ -35956,7 +36075,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 175 */ +/* 179 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -35969,11 +36088,11 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -36083,7 +36202,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = NodeBase; /***/ }, -/* 176 */ +/* 180 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36092,27 +36211,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _CircleImageBase2 = __webpack_require__(177); + var _CircleImageBase2 = __webpack_require__(181); var _CircleImageBase3 = _interopRequireDefault(_CircleImageBase2); @@ -36185,7 +36304,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Circle; /***/ }, -/* 177 */ +/* 181 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36194,27 +36313,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -36230,18 +36349,45 @@ return /******/ (function(modules) { // webpackBootstrap _this.labelOffset = 0; _this.imageLoaded = false; + _this.selected = false; return _this; } (0, _createClass3['default'])(CircleImageBase, [{ key: 'setOptions', - value: function setOptions(options, imageObj) { + value: function setOptions(options, imageObj, imageObjAlt) { this.options = options; + this.setImages(imageObj, imageObjAlt); + } + }, { + key: 'setImages', + value: function setImages(imageObj, imageObjAlt) { if (imageObj) { this.imageObj = imageObj; + + if (imageObjAlt) { + this.imageObjAlt = imageObjAlt; + } } } + /** + * Switch between the base and the selected image. + */ + + }, { + key: 'switchImages', + value: function switchImages(selected) { + if (selected && !this.selected || !selected && this.selected) { + var imageTmp = this.imageObj; + this.imageObj = this.imageObjAlt; + this.imageObjAlt = imageTmp; + } + + // keep current state in memory + this.selected = selected; + } + /** * This function resizes the image by the options size when the image has not yet loaded. If the image has loaded, we * force the update of the size again. @@ -36395,7 +36541,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CircleImageBase; /***/ }, -/* 178 */ +/* 182 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36404,27 +36550,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _CircleImageBase2 = __webpack_require__(177); + var _CircleImageBase2 = __webpack_require__(181); var _CircleImageBase3 = _interopRequireDefault(_CircleImageBase2); @@ -36433,12 +36579,13 @@ return /******/ (function(modules) { // webpackBootstrap var CircularImage = function (_CircleImageBase) { (0, _inherits3['default'])(CircularImage, _CircleImageBase); - function CircularImage(options, body, labelModule, imageObj) { + function CircularImage(options, body, labelModule, imageObj, imageObjAlt) { (0, _classCallCheck3['default'])(this, CircularImage); var _this = (0, _possibleConstructorReturn3['default'])(this, (CircularImage.__proto__ || (0, _getPrototypeOf2['default'])(CircularImage)).call(this, options, body, labelModule)); - _this.imageObj = imageObj; + _this.setImages(imageObj, imageObjAlt); + _this._swapToImageResizeWhenImageLoaded = true; return _this; } @@ -36467,6 +36614,11 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'draw', value: function draw(ctx, x, y, selected, hover, values) { + // switch images depending on 'selected' if imageObjAlt exists + if (this.imageObjAlt) { + this.switchImages(selected); + } + this.resize(); this.left = x - this.width / 2; @@ -36514,7 +36666,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CircularImage; /***/ }, -/* 179 */ +/* 183 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36523,27 +36675,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -36634,7 +36786,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Database; /***/ }, -/* 180 */ +/* 184 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36643,27 +36795,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _ShapeBase2 = __webpack_require__(181); + var _ShapeBase2 = __webpack_require__(185); var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); @@ -36703,7 +36855,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Diamond; /***/ }, -/* 181 */ +/* 185 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36712,27 +36864,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -36822,7 +36974,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = ShapeBase; /***/ }, -/* 182 */ +/* 186 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36831,27 +36983,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _ShapeBase2 = __webpack_require__(181); + var _ShapeBase2 = __webpack_require__(185); var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); @@ -36892,7 +37044,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Dot; /***/ }, -/* 183 */ +/* 187 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -36901,27 +37053,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -37018,7 +37170,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Ellipse; /***/ }, -/* 184 */ +/* 188 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37027,27 +37179,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -37145,7 +37297,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Icon; /***/ }, -/* 185 */ +/* 189 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37154,27 +37306,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _CircleImageBase2 = __webpack_require__(177); + var _CircleImageBase2 = __webpack_require__(181); var _CircleImageBase3 = _interopRequireDefault(_CircleImageBase2); @@ -37183,12 +37335,12 @@ return /******/ (function(modules) { // webpackBootstrap var Image = function (_CircleImageBase) { (0, _inherits3['default'])(Image, _CircleImageBase); - function Image(options, body, labelModule, imageObj) { + function Image(options, body, labelModule, imageObj, imageObjAlt) { (0, _classCallCheck3['default'])(this, Image); var _this = (0, _possibleConstructorReturn3['default'])(this, (Image.__proto__ || (0, _getPrototypeOf2['default'])(Image)).call(this, options, body, labelModule)); - _this.imageObj = imageObj; + _this.setImages(imageObj, imageObjAlt); return _this; } @@ -37200,6 +37352,13 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'draw', value: function draw(ctx, x, y, selected, hover, values) { + // switch images depending on 'selected' if imageObjAlt exists + if (this.imageObjAlt) { + this.switchImages(selected); + } + + this.selected = selected; + this.resize(); this.left = x - this.width / 2; this.top = y - this.height / 2; @@ -37273,7 +37432,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Image; /***/ }, -/* 186 */ +/* 190 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37282,27 +37441,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _ShapeBase2 = __webpack_require__(181); + var _ShapeBase2 = __webpack_require__(185); var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); @@ -37338,7 +37497,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Square; /***/ }, -/* 187 */ +/* 191 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37347,27 +37506,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _ShapeBase2 = __webpack_require__(181); + var _ShapeBase2 = __webpack_require__(185); var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); @@ -37403,7 +37562,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Star; /***/ }, -/* 188 */ +/* 192 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37412,27 +37571,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _NodeBase2 = __webpack_require__(175); + var _NodeBase2 = __webpack_require__(179); var _NodeBase3 = _interopRequireDefault(_NodeBase2); @@ -37501,7 +37660,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Text; /***/ }, -/* 189 */ +/* 193 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37510,27 +37669,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _ShapeBase2 = __webpack_require__(181); + var _ShapeBase2 = __webpack_require__(185); var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); @@ -37566,7 +37725,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Triangle; /***/ }, -/* 190 */ +/* 194 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37575,27 +37734,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _ShapeBase2 = __webpack_require__(181); + var _ShapeBase2 = __webpack_require__(185); var _ShapeBase3 = _interopRequireDefault(_ShapeBase2); @@ -37631,7 +37790,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = TriangleDown; /***/ }, -/* 191 */ +/* 195 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -37640,26 +37799,26 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _Edge = __webpack_require__(192); + var _Edge = __webpack_require__(196); var _Edge2 = _interopRequireDefault(_Edge); - var _Label = __webpack_require__(160); + var _Label = __webpack_require__(164); var _Label2 = _interopRequireDefault(_Label); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var DataSet = __webpack_require__(91); + var DataSet = __webpack_require__(89); var DataView = __webpack_require__(93); var EdgesHandler = function () { @@ -38085,7 +38244,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = EdgesHandler; /***/ }, -/* 192 */ +/* 196 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38094,7 +38253,7 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); @@ -38106,31 +38265,31 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _Label = __webpack_require__(160); + var _Label = __webpack_require__(164); var _Label2 = _interopRequireDefault(_Label); - var _CubicBezierEdge = __webpack_require__(193); + var _CubicBezierEdge = __webpack_require__(197); var _CubicBezierEdge2 = _interopRequireDefault(_CubicBezierEdge); - var _BezierEdgeDynamic = __webpack_require__(197); + var _BezierEdgeDynamic = __webpack_require__(201); var _BezierEdgeDynamic2 = _interopRequireDefault(_BezierEdgeDynamic); - var _BezierEdgeStatic = __webpack_require__(198); + var _BezierEdgeStatic = __webpack_require__(202); var _BezierEdgeStatic2 = _interopRequireDefault(_BezierEdgeStatic); - var _StraightEdge = __webpack_require__(199); + var _StraightEdge = __webpack_require__(203); var _StraightEdge2 = _interopRequireDefault(_StraightEdge); @@ -38790,7 +38949,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Edge; /***/ }, -/* 193 */ +/* 197 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38799,31 +38958,31 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _slicedToArray2 = __webpack_require__(161); + var _slicedToArray2 = __webpack_require__(165); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _CubicBezierEdgeBase2 = __webpack_require__(194); + var _CubicBezierEdgeBase2 = __webpack_require__(198); var _CubicBezierEdgeBase3 = _interopRequireDefault(_CubicBezierEdgeBase2); @@ -38949,7 +39108,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CubicBezierEdge; /***/ }, -/* 194 */ +/* 198 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -38958,27 +39117,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _BezierEdgeBase2 = __webpack_require__(195); + var _BezierEdgeBase2 = __webpack_require__(199); var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); @@ -39045,7 +39204,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CubicBezierEdgeBase; /***/ }, -/* 195 */ +/* 199 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39054,27 +39213,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _EdgeBase2 = __webpack_require__(196); + var _EdgeBase2 = __webpack_require__(200); var _EdgeBase3 = _interopRequireDefault(_EdgeBase2); @@ -39199,7 +39358,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = BezierEdgeBase; /***/ }, -/* 196 */ +/* 200 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -39208,15 +39367,15 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _slicedToArray2 = __webpack_require__(161); + var _slicedToArray2 = __webpack_require__(165); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -39778,7 +39937,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = EdgeBase; /***/ }, -/* 197 */ +/* 201 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -39787,31 +39946,31 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _slicedToArray2 = __webpack_require__(161); + var _slicedToArray2 = __webpack_require__(165); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _BezierEdgeBase2 = __webpack_require__(195); + var _BezierEdgeBase2 = __webpack_require__(199); var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); @@ -40011,7 +40170,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = BezierEdgeDynamic; /***/ }, -/* 198 */ +/* 202 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -40020,27 +40179,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _BezierEdgeBase2 = __webpack_require__(195); + var _BezierEdgeBase2 = __webpack_require__(199); var _BezierEdgeBase3 = _interopRequireDefault(_BezierEdgeBase2); @@ -40289,7 +40448,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = BezierEdgeStatic; /***/ }, -/* 199 */ +/* 203 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -40298,27 +40457,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _EdgeBase2 = __webpack_require__(196); + var _EdgeBase2 = __webpack_require__(200); var _EdgeBase3 = _interopRequireDefault(_EdgeBase2); @@ -40409,7 +40568,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = StraightEdge; /***/ }, -/* 200 */ +/* 204 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -40422,43 +40581,43 @@ return /******/ (function(modules) { // webpackBootstrap var _keys2 = _interopRequireDefault(_keys); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _BarnesHutSolver = __webpack_require__(201); + var _BarnesHutSolver = __webpack_require__(205); var _BarnesHutSolver2 = _interopRequireDefault(_BarnesHutSolver); - var _RepulsionSolver = __webpack_require__(202); + var _RepulsionSolver = __webpack_require__(206); var _RepulsionSolver2 = _interopRequireDefault(_RepulsionSolver); - var _HierarchicalRepulsionSolver = __webpack_require__(203); + var _HierarchicalRepulsionSolver = __webpack_require__(207); var _HierarchicalRepulsionSolver2 = _interopRequireDefault(_HierarchicalRepulsionSolver); - var _SpringSolver = __webpack_require__(204); + var _SpringSolver = __webpack_require__(208); var _SpringSolver2 = _interopRequireDefault(_SpringSolver); - var _HierarchicalSpringSolver = __webpack_require__(205); + var _HierarchicalSpringSolver = __webpack_require__(209); var _HierarchicalSpringSolver2 = _interopRequireDefault(_HierarchicalSpringSolver); - var _CentralGravitySolver = __webpack_require__(206); + var _CentralGravitySolver = __webpack_require__(210); var _CentralGravitySolver2 = _interopRequireDefault(_CentralGravitySolver); - var _FA2BasedRepulsionSolver = __webpack_require__(207); + var _FA2BasedRepulsionSolver = __webpack_require__(211); var _FA2BasedRepulsionSolver2 = _interopRequireDefault(_FA2BasedRepulsionSolver); - var _FA2BasedCentralGravitySolver = __webpack_require__(208); + var _FA2BasedCentralGravitySolver = __webpack_require__(212); var _FA2BasedCentralGravitySolver2 = _interopRequireDefault(_FA2BasedCentralGravitySolver); @@ -41237,7 +41396,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = PhysicsEngine; /***/ }, -/* 201 */ +/* 205 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -41246,11 +41405,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -41756,7 +41915,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = BarnesHutSolver; /***/ }, -/* 202 */ +/* 206 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -41765,11 +41924,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -41855,7 +42014,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = RepulsionSolver; /***/ }, -/* 203 */ +/* 207 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -41864,11 +42023,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -41951,7 +42110,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = HierarchicalRepulsionSolver; /***/ }, -/* 204 */ +/* 208 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -41960,11 +42119,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -42067,7 +42226,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = SpringSolver; /***/ }, -/* 205 */ +/* 209 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -42076,11 +42235,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -42201,7 +42360,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = HierarchicalSpringSolver; /***/ }, -/* 206 */ +/* 210 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -42210,11 +42369,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -42275,7 +42434,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = CentralGravitySolver; /***/ }, -/* 207 */ +/* 211 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -42284,27 +42443,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _BarnesHutSolver2 = __webpack_require__(201); + var _BarnesHutSolver2 = __webpack_require__(205); var _BarnesHutSolver3 = _interopRequireDefault(_BarnesHutSolver2); @@ -42359,7 +42518,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = ForceAtlas2BasedRepulsionSolver; /***/ }, -/* 208 */ +/* 212 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -42368,27 +42527,27 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _CentralGravitySolver2 = __webpack_require__(206); + var _CentralGravitySolver2 = __webpack_require__(210); var _CentralGravitySolver3 = _interopRequireDefault(_CentralGravitySolver2); @@ -42425,7 +42584,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = ForceAtlas2BasedCentralGravitySolver; /***/ }, -/* 209 */ +/* 213 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -42442,19 +42601,19 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _NetworkUtil = __webpack_require__(210); + var _NetworkUtil = __webpack_require__(214); var _NetworkUtil2 = _interopRequireDefault(_NetworkUtil); - var _Cluster = __webpack_require__(211); + var _Cluster = __webpack_require__(215); var _Cluster2 = _interopRequireDefault(_Cluster); @@ -43412,7 +43571,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = ClusterEngine; /***/ }, -/* 210 */ +/* 214 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -43421,11 +43580,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -43555,7 +43714,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = NetworkUtil; /***/ }, -/* 211 */ +/* 215 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -43564,23 +43723,23 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _getPrototypeOf = __webpack_require__(166); + var _getPrototypeOf = __webpack_require__(170); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _possibleConstructorReturn2 = __webpack_require__(169); + var _possibleConstructorReturn2 = __webpack_require__(173); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - var _inherits2 = __webpack_require__(170); + var _inherits2 = __webpack_require__(174); var _inherits3 = _interopRequireDefault(_inherits2); - var _Node2 = __webpack_require__(159); + var _Node2 = __webpack_require__(163); var _Node3 = _interopRequireDefault(_Node2); @@ -43609,7 +43768,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Cluster; /***/ }, -/* 212 */ +/* 216 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -43618,11 +43777,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -43987,7 +44146,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = CanvasRenderer; /***/ }, -/* 213 */ +/* 217 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -43996,18 +44155,18 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var Hammer = __webpack_require__(108); - var hammerUtil = __webpack_require__(121); + var Hammer = __webpack_require__(112); + var hammerUtil = __webpack_require__(125); var util = __webpack_require__(1); @@ -44462,7 +44621,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = Canvas; /***/ }, -/* 214 */ +/* 218 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -44471,15 +44630,15 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _NetworkUtil = __webpack_require__(210); + var _NetworkUtil = __webpack_require__(214); var _NetworkUtil2 = _interopRequireDefault(_NetworkUtil); @@ -44815,7 +44974,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = View; /***/ }, -/* 215 */ +/* 219 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -44824,19 +44983,19 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _NavigationHandler = __webpack_require__(216); + var _NavigationHandler = __webpack_require__(220); var _NavigationHandler2 = _interopRequireDefault(_NavigationHandler); - var _Popup = __webpack_require__(128); + var _Popup = __webpack_require__(132); var _Popup2 = _interopRequireDefault(_Popup); @@ -45217,29 +45376,27 @@ return /******/ (function(modules) { // webpackBootstrap var selection = this.drag.selection; if (selection && selection.length && this.options.dragNodes === true) { - (function () { - _this2.selectionHandler._generateClickEvent('dragging', event, pointer); - - // calculate delta's and new location - var deltaX = pointer.x - _this2.drag.pointer.x; - var deltaY = pointer.y - _this2.drag.pointer.y; - - // update position of all selected nodes - selection.forEach(function (selection) { - var node = selection.node; - // only move the node if it was not fixed initially - if (selection.xFixed === false) { - node.x = _this2.canvas._XconvertDOMtoCanvas(_this2.canvas._XconvertCanvasToDOM(selection.x) + deltaX); - } - // only move the node if it was not fixed initially - if (selection.yFixed === false) { - node.y = _this2.canvas._YconvertDOMtoCanvas(_this2.canvas._YconvertCanvasToDOM(selection.y) + deltaY); - } - }); + this.selectionHandler._generateClickEvent('dragging', event, pointer); + + // calculate delta's and new location + var deltaX = pointer.x - this.drag.pointer.x; + var deltaY = pointer.y - this.drag.pointer.y; + + // update position of all selected nodes + selection.forEach(function (selection) { + var node = selection.node; + // only move the node if it was not fixed initially + if (selection.xFixed === false) { + node.x = _this2.canvas._XconvertDOMtoCanvas(_this2.canvas._XconvertCanvasToDOM(selection.x) + deltaX); + } + // only move the node if it was not fixed initially + if (selection.yFixed === false) { + node.y = _this2.canvas._YconvertDOMtoCanvas(_this2.canvas._YconvertCanvasToDOM(selection.y) + deltaY); + } + }); - // start the simulation of the physics - _this2.body.emitter.emit('startSimulation'); - })(); + // start the simulation of the physics + this.body.emitter.emit('startSimulation'); } else { // move the network if (this.options.dragView === true) { @@ -45605,7 +45762,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = InteractionHandler; /***/ }, -/* 216 */ +/* 220 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -45614,20 +45771,20 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var Hammer = __webpack_require__(108); - var hammerUtil = __webpack_require__(121); - var keycharm = __webpack_require__(111); + var Hammer = __webpack_require__(112); + var hammerUtil = __webpack_require__(125); + var keycharm = __webpack_require__(115); var NavigationHandler = function () { function NavigationHandler(body, canvas) { @@ -45955,7 +46112,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = NavigationHandler; /***/ }, -/* 217 */ +/* 221 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -45964,19 +46121,19 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _Node = __webpack_require__(159); + var _Node = __webpack_require__(163); var _Node2 = _interopRequireDefault(_Node); - var _Edge = __webpack_require__(192); + var _Edge = __webpack_require__(196); var _Edge2 = _interopRequireDefault(_Edge); @@ -46769,7 +46926,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = SelectionHandler; /***/ }, -/* 218 */ +/* 222 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -46782,7 +46939,7 @@ return /******/ (function(modules) { // webpackBootstrap var _keys2 = _interopRequireDefault(_keys); - var _slicedToArray2 = __webpack_require__(161); + var _slicedToArray2 = __webpack_require__(165); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); @@ -46790,15 +46947,15 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _NetworkUtil = __webpack_require__(210); + var _NetworkUtil = __webpack_require__(214); var _NetworkUtil2 = _interopRequireDefault(_NetworkUtil); @@ -47143,7 +47300,6 @@ return /******/ (function(modules) { // webpackBootstrap // if the user defined some levels but not all, alert and run without hierarchical layout if (undefinedLevel === true && definedLevel === true) { throw new Error('To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.'); - return; } else { // define levels if undefined by the users. Based on hubsize. if (undefinedLevel === true) { @@ -47246,6 +47402,9 @@ return /******/ (function(modules) { // webpackBootstrap // get a map of all nodes in this branch var getBranchNodes = function getBranchNodes(source, map) { + if (map[source.id]) { + return; + } map[source.id] = true; if (_this2.hierarchicalChildrenReference[source.id]) { var children = _this2.hierarchicalChildrenReference[source.id]; @@ -47295,16 +47454,24 @@ return /******/ (function(modules) { // webpackBootstrap // get the maximum level of a branch. var getMaxLevel = function getMaxLevel(nodeId) { - var level = _this2.hierarchicalLevels[nodeId]; - if (_this2.hierarchicalChildrenReference[nodeId]) { - var children = _this2.hierarchicalChildrenReference[nodeId]; - if (children.length > 0) { - for (var i = 0; i < children.length; i++) { - level = Math.max(level, getMaxLevel(children[i])); + var accumulator = {}; + var _getMaxLevel = function _getMaxLevel(nodeId) { + if (accumulator[nodeId] !== undefined) { + return accumulator[nodeId]; + } + var level = _this2.hierarchicalLevels[nodeId]; + if (_this2.hierarchicalChildrenReference[nodeId]) { + var children = _this2.hierarchicalChildrenReference[nodeId]; + if (children.length > 0) { + for (var i = 0; i < children.length; i++) { + level = Math.max(level, _getMaxLevel(children[i])); + } } } - } - return level; + accumulator[nodeId] = level; + return level; + }; + return _getMaxLevel(nodeId); }; // check what the maximum level is these nodes have in common. @@ -47359,8 +47526,8 @@ return /******/ (function(modules) { // webpackBootstrap var diffAbs = Math.abs(pos2 - pos1); //console.log("NOW CHEcKING:", node1.id, node2.id, diffAbs); if (diffAbs > _this2.options.hierarchical.nodeSpacing) { - var branchNodes1 = {};branchNodes1[node1.id] = true; - var branchNodes2 = {};branchNodes2[node2.id] = true; + var branchNodes1 = {}; + var branchNodes2 = {}; getBranchNodes(node1, branchNodes1); getBranchNodes(node2, branchNodes2); @@ -47478,7 +47645,6 @@ return /******/ (function(modules) { // webpackBootstrap // check movable area of the branch if (branches[node.id] === undefined) { var branchNodes = {}; - branchNodes[node.id] = true; getBranchNodes(node, branchNodes); branches[node.id] = branchNodes; } @@ -48134,16 +48300,26 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_shiftBlock', value: function _shiftBlock(parentId, diff) { - if (this.options.hierarchical.direction === 'UD' || this.options.hierarchical.direction === 'DU') { - this.body.nodes[parentId].x += diff; - } else { - this.body.nodes[parentId].y += diff; - } - if (this.hierarchicalChildrenReference[parentId] !== undefined) { - for (var i = 0; i < this.hierarchicalChildrenReference[parentId].length; i++) { - this._shiftBlock(this.hierarchicalChildrenReference[parentId][i], diff); + var _this8 = this; + + var progress = {}; + var shifter = function shifter(parentId) { + if (progress[parentId]) { + return; } - } + progress[parentId] = true; + if (_this8.options.hierarchical.direction === 'UD' || _this8.options.hierarchical.direction === 'DU') { + _this8.body.nodes[parentId].x += diff; + } else { + _this8.body.nodes[parentId].y += diff; + } + if (_this8.hierarchicalChildrenReference[parentId] !== undefined) { + for (var i = 0; i < _this8.hierarchicalChildrenReference[parentId].length; i++) { + shifter(_this8.hierarchicalChildrenReference[parentId][i]); + } + } + }; + shifter(parentId); } /** @@ -48157,22 +48333,22 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_findCommonParent', value: function _findCommonParent(childA, childB) { - var _this8 = this; + var _this9 = this; var parents = {}; var iterateParents = function iterateParents(parents, child) { - if (_this8.hierarchicalParentReference[child] !== undefined) { - for (var i = 0; i < _this8.hierarchicalParentReference[child].length; i++) { - var parent = _this8.hierarchicalParentReference[child][i]; + if (_this9.hierarchicalParentReference[child] !== undefined) { + for (var i = 0; i < _this9.hierarchicalParentReference[child].length; i++) { + var parent = _this9.hierarchicalParentReference[child][i]; parents[parent] = true; iterateParents(parents, parent); } } }; var findParent = function findParent(parents, child) { - if (_this8.hierarchicalParentReference[child] !== undefined) { - for (var i = 0; i < _this8.hierarchicalParentReference[child].length; i++) { - var parent = _this8.hierarchicalParentReference[child][i]; + if (_this9.hierarchicalParentReference[child] !== undefined) { + for (var i = 0; i < _this9.hierarchicalParentReference[child].length; i++) { + var parent = _this9.hierarchicalParentReference[child][i]; if (parents[parent] !== undefined) { return { foundParent: parent, withChild: child }; } @@ -48268,7 +48444,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = LayoutEngine; /***/ }, -/* 219 */ +/* 223 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -48281,7 +48457,7 @@ return /******/ (function(modules) { // webpackBootstrap var _keys2 = _interopRequireDefault(_keys); - var _stringify = __webpack_require__(82); + var _stringify = __webpack_require__(90); var _stringify2 = _interopRequireDefault(_stringify); @@ -48289,19 +48465,19 @@ return /******/ (function(modules) { // webpackBootstrap var _typeof3 = _interopRequireDefault(_typeof2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var util = __webpack_require__(1); - var Hammer = __webpack_require__(108); - var hammerUtil = __webpack_require__(121); + var Hammer = __webpack_require__(112); + var hammerUtil = __webpack_require__(125); /** * clears the toolbar div element of children @@ -48660,8 +48836,6 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'editEdgeMode', value: function editEdgeMode() { - var _this3 = this; - // when using the gui, enable edit mode if it wasn't already. if (this.editMode !== true) { this.enableEditMode(); @@ -48692,46 +48866,44 @@ return /******/ (function(modules) { // webpackBootstrap this.edgeBeingEditedId = this.selectionHandler.getSelectedEdges()[0]; if (this.edgeBeingEditedId !== undefined) { - (function () { - var edge = _this3.body.edges[_this3.edgeBeingEditedId]; - - // create control nodes - var controlNodeFrom = _this3._getNewTargetNode(edge.from.x, edge.from.y); - var controlNodeTo = _this3._getNewTargetNode(edge.to.x, edge.to.y); - - _this3.temporaryIds.nodes.push(controlNodeFrom.id); - _this3.temporaryIds.nodes.push(controlNodeTo.id); - - _this3.body.nodes[controlNodeFrom.id] = controlNodeFrom; - _this3.body.nodeIndices.push(controlNodeFrom.id); - _this3.body.nodes[controlNodeTo.id] = controlNodeTo; - _this3.body.nodeIndices.push(controlNodeTo.id); - - // temporarily overload UI functions, cleaned up automatically because of _temporaryBindUI - _this3._temporaryBindUI('onTouch', _this3._controlNodeTouch.bind(_this3)); // used to get the position - _this3._temporaryBindUI('onTap', function () {}); // disabled - _this3._temporaryBindUI('onHold', function () {}); // disabled - _this3._temporaryBindUI('onDragStart', _this3._controlNodeDragStart.bind(_this3)); // used to select control node - _this3._temporaryBindUI('onDrag', _this3._controlNodeDrag.bind(_this3)); // used to drag control node - _this3._temporaryBindUI('onDragEnd', _this3._controlNodeDragEnd.bind(_this3)); // used to connect or revert control nodes - _this3._temporaryBindUI('onMouseMove', function () {}); // disabled - - // create function to position control nodes correctly on movement - // automatically cleaned up because we use the temporary bind - _this3._temporaryBindEvent('beforeDrawing', function (ctx) { - var positions = edge.edgeType.findBorderPositions(ctx); - if (controlNodeFrom.selected === false) { - controlNodeFrom.x = positions.from.x; - controlNodeFrom.y = positions.from.y; - } - if (controlNodeTo.selected === false) { - controlNodeTo.x = positions.to.x; - controlNodeTo.y = positions.to.y; - } - }); + var _edge = this.body.edges[this.edgeBeingEditedId]; + + // create control nodes + var controlNodeFrom = this._getNewTargetNode(_edge.from.x, _edge.from.y); + var controlNodeTo = this._getNewTargetNode(_edge.to.x, _edge.to.y); + + this.temporaryIds.nodes.push(controlNodeFrom.id); + this.temporaryIds.nodes.push(controlNodeTo.id); + + this.body.nodes[controlNodeFrom.id] = controlNodeFrom; + this.body.nodeIndices.push(controlNodeFrom.id); + this.body.nodes[controlNodeTo.id] = controlNodeTo; + this.body.nodeIndices.push(controlNodeTo.id); + + // temporarily overload UI functions, cleaned up automatically because of _temporaryBindUI + this._temporaryBindUI('onTouch', this._controlNodeTouch.bind(this)); // used to get the position + this._temporaryBindUI('onTap', function () {}); // disabled + this._temporaryBindUI('onHold', function () {}); // disabled + this._temporaryBindUI('onDragStart', this._controlNodeDragStart.bind(this)); // used to select control node + this._temporaryBindUI('onDrag', this._controlNodeDrag.bind(this)); // used to drag control node + this._temporaryBindUI('onDragEnd', this._controlNodeDragEnd.bind(this)); // used to connect or revert control nodes + this._temporaryBindUI('onMouseMove', function () {}); // disabled + + // create function to position control nodes correctly on movement + // automatically cleaned up because we use the temporary bind + this._temporaryBindEvent('beforeDrawing', function (ctx) { + var positions = _edge.edgeType.findBorderPositions(ctx); + if (controlNodeFrom.selected === false) { + controlNodeFrom.x = positions.from.x; + controlNodeFrom.y = positions.from.y; + } + if (controlNodeTo.selected === false) { + controlNodeTo.x = positions.to.x; + controlNodeTo.y = positions.to.y; + } + }); - _this3.body.emitter.emit('_redraw'); - })(); + this.body.emitter.emit('_redraw'); } else { this.showManipulatorToolbar(); } @@ -48744,7 +48916,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: 'deleteSelected', value: function deleteSelected() { - var _this4 = this; + var _this3 = this; // when using the gui, enable edit mode if it wasnt already. if (this.editMode !== true) { @@ -48779,15 +48951,15 @@ return /******/ (function(modules) { // webpackBootstrap var data = { nodes: selectedNodes, edges: selectedEdges }; if (deleteFunction.length === 2) { deleteFunction(data, function (finalizedData) { - if (finalizedData !== null && finalizedData !== undefined && _this4.inMode === 'delete') { + if (finalizedData !== null && finalizedData !== undefined && _this3.inMode === 'delete') { // if for whatever reason the mode has changes (due to dataset change) disregard the callback) { - _this4.body.data.edges.getDataSet().remove(finalizedData.edges); - _this4.body.data.nodes.getDataSet().remove(finalizedData.nodes); - _this4.body.emitter.emit('startSimulation'); - _this4.showManipulatorToolbar(); + _this3.body.data.edges.getDataSet().remove(finalizedData.edges); + _this3.body.data.nodes.getDataSet().remove(finalizedData.nodes); + _this3.body.emitter.emit('startSimulation'); + _this3.showManipulatorToolbar(); } else { - _this4.body.emitter.emit('startSimulation'); - _this4.showManipulatorToolbar(); + _this3.body.emitter.emit('startSimulation'); + _this3.showManipulatorToolbar(); } }); } else { @@ -49448,7 +49620,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_performAddNode', value: function _performAddNode(clickData) { - var _this5 = this; + var _this4 = this; var defaultData = { id: util.randomUUID(), @@ -49460,10 +49632,10 @@ return /******/ (function(modules) { // webpackBootstrap if (typeof this.options.addNode === 'function') { if (this.options.addNode.length === 2) { this.options.addNode(defaultData, function (finalizedData) { - if (finalizedData !== null && finalizedData !== undefined && _this5.inMode === 'addNode') { + if (finalizedData !== null && finalizedData !== undefined && _this4.inMode === 'addNode') { // if for whatever reason the mode has changes (due to dataset change) disregard the callback - _this5.body.data.nodes.getDataSet().add(finalizedData); - _this5.showManipulatorToolbar(); + _this4.body.data.nodes.getDataSet().add(finalizedData); + _this4.showManipulatorToolbar(); } }); } else { @@ -49485,17 +49657,17 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_performAddEdge', value: function _performAddEdge(sourceNodeId, targetNodeId) { - var _this6 = this; + var _this5 = this; var defaultData = { from: sourceNodeId, to: targetNodeId }; if (typeof this.options.addEdge === 'function') { if (this.options.addEdge.length === 2) { this.options.addEdge(defaultData, function (finalizedData) { - if (finalizedData !== null && finalizedData !== undefined && _this6.inMode === 'addEdge') { + if (finalizedData !== null && finalizedData !== undefined && _this5.inMode === 'addEdge') { // if for whatever reason the mode has changes (due to dataset change) disregard the callback - _this6.body.data.edges.getDataSet().add(finalizedData); - _this6.selectionHandler.unselectAll(); - _this6.showManipulatorToolbar(); + _this5.body.data.edges.getDataSet().add(finalizedData); + _this5.selectionHandler.unselectAll(); + _this5.showManipulatorToolbar(); } }); } else { @@ -49517,7 +49689,7 @@ return /******/ (function(modules) { // webpackBootstrap }, { key: '_performEditEdge', value: function _performEditEdge(sourceNodeId, targetNodeId) { - var _this7 = this; + var _this6 = this; var defaultData = { id: this.edgeBeingEditedId, from: sourceNodeId, to: targetNodeId, label: this.body.data.edges._data[this.edgeBeingEditedId].label }; var eeFunct = this.options.editEdge; @@ -49527,15 +49699,15 @@ return /******/ (function(modules) { // webpackBootstrap if (typeof eeFunct === 'function') { if (eeFunct.length === 2) { eeFunct(defaultData, function (finalizedData) { - if (finalizedData === null || finalizedData === undefined || _this7.inMode !== 'editEdge') { + if (finalizedData === null || finalizedData === undefined || _this6.inMode !== 'editEdge') { // if for whatever reason the mode has changes (due to dataset change) disregard the callback) { - _this7.body.edges[defaultData.id].updateEdgeType(); - _this7.body.emitter.emit('_redraw'); - _this7.showManipulatorToolbar(); + _this6.body.edges[defaultData.id].updateEdgeType(); + _this6.body.emitter.emit('_redraw'); + _this6.showManipulatorToolbar(); } else { - _this7.body.data.edges.getDataSet().update(finalizedData); - _this7.selectionHandler.unselectAll(); - _this7.showManipulatorToolbar(); + _this6.body.data.edges.getDataSet().update(finalizedData); + _this6.selectionHandler.unselectAll(); + _this6.showManipulatorToolbar(); } }); } else { @@ -49554,7 +49726,7 @@ return /******/ (function(modules) { // webpackBootstrap exports['default'] = ManipulationSystem; /***/ }, -/* 220 */ +/* 224 */ /***/ function(module, exports) { 'use strict'; @@ -49843,7 +50015,11 @@ return /******/ (function(modules) { // webpackBootstrap __type__: { object: object } }, id: { string: string, number: number }, - image: { string: string, 'undefined': 'undefined' }, // --> URL + image: { + selected: { string: string, 'undefined': 'undefined' }, // --> URL + unselected: { string: string, 'undefined': 'undefined' }, // --> URL + __type__: { object: object, string: string } + }, label: { string: string, 'undefined': 'undefined' }, labelHighlightBold: { boolean: bool }, level: { number: number, 'undefined': 'undefined' }, @@ -50172,7 +50348,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.configureOptions = configureOptions; /***/ }, -/* 221 */ +/* 225 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -50181,19 +50357,19 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _slicedToArray2 = __webpack_require__(161); + var _slicedToArray2 = __webpack_require__(165); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); - var _FloydWarshall = __webpack_require__(222); + var _FloydWarshall = __webpack_require__(226); var _FloydWarshall2 = _interopRequireDefault(_FloydWarshall); @@ -50465,7 +50641,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = KamadaKawai; /***/ }, -/* 222 */ +/* 226 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -50474,11 +50650,11 @@ return /******/ (function(modules) { // webpackBootstrap value: true }); - var _classCallCheck2 = __webpack_require__(115); + var _classCallCheck2 = __webpack_require__(119); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - var _createClass2 = __webpack_require__(116); + var _createClass2 = __webpack_require__(120); var _createClass3 = _interopRequireDefault(_createClass2); @@ -50540,7 +50716,7 @@ return /******/ (function(modules) { // webpackBootstrap exports["default"] = FloydWarshall; /***/ }, -/* 223 */ +/* 227 */ /***/ function(module, exports) { 'use strict'; @@ -50838,7 +51014,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 224 */ +/* 228 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -51742,7 +51918,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.DOTToGraph = DOTToGraph; /***/ }, -/* 225 */ +/* 229 */ /***/ function(module, exports) { 'use strict'; @@ -51820,7 +51996,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.parseGephi = parseGephi; /***/ }, -/* 226 */ +/* 230 */ /***/ function(module, exports) { 'use strict'; diff --git a/dist/vis.map b/dist/vis.map index 80d7bbeb..987a4721 100644 --- a/dist/vis.map +++ b/dist/vis.map @@ -1 +1 @@ -{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","extend","_interopRequireDefault","obj","__esModule","default","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","_stringify","_stringify2","moment","uuid","isNumber","object","Number","elementsCensor","replacer","key","value","Element","JSON","parse","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","scale","Math","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","throttle","fn","scheduled","requestAnimationFrame","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","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","isOk","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","enabled","binarySearchCustom","orderedItems","comparator","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","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","global","hide","Iterators","TO_STRING_TAG","collections","NAME","Collection","proto","prototype","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","O","Arguments","IObject","defined","it","cof","propertyIsEnumerable","LIBRARY","$export","redefine","has","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","name","values","P","F","core","ctx","PROTOTYPE","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","that","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","defineProperty","Attributes","isObject","get","is","val","bitmap","enumerable","configurable","writable","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","ceil","shared","uid","SHARED","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","$exports","toObject","ObjectProto","$at","point","TO_STRING","pos","l","charCodeAt","charAt","getIterator","iterFn","classof","getIteratorMethod","ARG","tryGet","T","callee","$Object","D","fails","KEY","exp","_iterator2","_symbol","_symbol2","_typeof","DESCRIPTORS","META","$fails","wks","wksExt","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","gOPD","gOPN","$Symbol","$JSON","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","set","symbols","for","keyFor","useSetter","useSimple","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","$replacer","args","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","pIE","getSymbols","arg","windowNames","getWindowNames","hiddenKeys","hooks","hookCallback","setHookCallback","input","isObjectEmpty","res","hasOwnProp","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","isUndefined","copyConfig","to","from","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","deprecations","isFunction","_config","_ordinalParseLenient","RegExp","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","pow","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","code","getSetGlobalLocale","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","addSubtract","createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","inspect","zone","prefix","datetime","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$1","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","asSeconds","some","fun","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","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","ordinalParse","meridiemParse","prototypeMin","prototypeMax","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","invalid","relativeTimeRounding","relativeTimeThreshold","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Hammer","keycharm","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","subscriber","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","allowedValues","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","av","bv","remove","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","original","method","context","entry","clearTimeout","setTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","container","SyntaxError","containerElement","dataTable","dataPoints","Settings","setDefaults","DEFAULTS","colX","colY","colZ","colValue","colFilter","getMouseX","clientX","targetTouches","getMouseY","clientY","Emitter","Range","STYLE","autoByDefault","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter","DOT","tooltip","showLegend","backgroundColor","dataColor","fill","stroke","strokeWidth","cameraPosition","horizontal","vertical","distance","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep","_setScale","xRange","range","yRange","zRange","z","valueRange","center","zCenter","camera","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","cameraLocation","getCameraLocation","cameraRotation","getCameraRotation","ax","ay","az","cx","cy","cz","sinTx","sin","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","eye","ey","ez","getArmLength","currentXCenter","frame","canvas","currentYCenter","_calcTranslations","points","trans","screen","transBottom","bottom","dist","sortDepth","getNumberOfRows","getNumberOfColumns","counter","column","getDistinctValues","distinctValues","getColumnRange","_checkValueField","hasValueField","BARCOLOR","BARSIZE","DOTCOLOR","DOTSIZE","_setRangeDefaults","defaultMin","defaultMax","_dataInitialize","rawData","_onChange","withBars","BAR","defaultXBarWidth","dataX","defaultYBarWidth","dataY","NUMSTEPS","expand","defaultXMin","defaultXMax","defaultXStep","defaultYMin","defaultYMax","defaultYStep","defaultZMin","defaultZMax","defaultZStep","defaultValueMin","defaultValueMax","dataFilter","setOnLoadCallback","redraw","_getDataPoints","GRID","SURFACE","sortNumber","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","LINE","pointNext","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onclick","_onClick","onkeydown","_setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","getCameraPosition","getArmRotation","_readData","_redrawFilter","setPointDrawingMethod","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","DOTLINE","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","lineJoin","lineCap","clearRect","_dotSize","_getLegendWidth","dotSize","isSizeLegend","isValueLegend","margin","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","widthMin","fillStyle","closePath","gridLineLen","legendMin","legendMax","start","end","getCurrent","_line","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","drawAxisLabelX","text","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","prettyStep","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","from3d","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","borderColor","surface","surfaces","corners","avg","transCenter","_polygon","_drawCircle","radius","_calcRadius","arc","PI","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","cross","topSideVisible","showGrayBottom","aDiff","bDiff","crossproduct","crossProduct","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","getOffset","leftButtonDown","_onMouseUp","which","button","touchDown","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","moving","diffX","diffY","ctrlKey","scaleX","scaleY","offXNew","armLength","offYNew","setOffset","horizontalNew","verticalNew","snapAngle","snapValue","setArmRotation","parameters","emit","onclick_callback","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","showTooltip","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","setArmLength","_insideTriangle","triangle","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","setCameraPosition","setSize","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","cameraOffset","offsetMultiplier","calculateCameraOrientation","_sign","_sign2","mul","rot","xa","za","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","precision","_current","setRange","isNumeric","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","combine","newMin","newMax","isEmpty","capitalize","str","prefixFieldName","fieldName","forceCopy","dst","srcKey","dstKey","safeCopy","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","setBackgroundColor","setDataColor","setStyle","setShowLegend","isAutoByDefault","isLegendGraphStyle","getStyleNumberByName","styleName","STYLENAME","checkStyleNumber","valid","styleNumber","borderWidth","borderStyle","camPos","dot-line","dot-color","dot-size","grid","bar-color","bar-size","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","srcEvent","_handled","stopped","stopPropagation","srcStop","bind","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","assign","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","each","message","deprecationMessage","inherit","child","properties","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","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","TouchAction","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","getTouchActionProps","NATIVE_TOUCH_ACTION","touchMap","cssSupports","CSS","supports","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","oldCssProps","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","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","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_MAP","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","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","force","curRecognizer","existing","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","_exportFunctions","_bound","keydown","keyup","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","groups","forthArgument","throttleRedraw","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","rtl","directionFromDom","domNode","getComputedStyle","parentElement","rollingMode","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","ondblclick","oncontextmenu","onmouseover","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","errorFound","validate","selection","getSelection","setSelection","newDataSet","group","focus","itemData","dataset","getDataRange","_this","minItem","maxItem","factor","lhs","rhs","getStart","getEnd","groupShowing","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_arguments","_this2","_len","_key","_ret2","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","popupString","popupValue","oninput","itemIndex","_setupPopup","_this3","html","hideTimeout","deleteTimeout","_this4","correspondingElement","checkbox","checked","_this5","defaultColor","_showColorPicker","_this6","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","pointer","getOptions","instance","_defineProperty","_defineProperty2","protoProps","staticProps","desc","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","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","_rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","storePrevious","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","drag","pinch","onTouch","_moveSelector","sat","hfac","sfac","fillRect","getImageData","centerY","centerX","newTop","newLeft","onRelease","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","localSearchThreshold","globalSearchThreshold","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","_j","_j2","matrix","rolling","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","rollingModeBtn","startRolling","validateDirection","stopRolling","conversion","currentTimeTimer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","_applyRange","updateHiddenDates","getMillisecondsPerPixel","newStart","newEnd","compensation","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","horizontalScroll","pointerDate","getPointer","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","newTime","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","verticalScroll","scrollTop","adjusted","_setScrollTop","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","getData","_onAddItem","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","_origRedraw","initialItemSetDrawn","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","zoomIn","percentage","newInterval","zoomOut","borderRootHeight","borderRootWidth","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","contentsOverflow","MAX_REDRAW","centerWidth","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","align","stackSubgroups","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","overrideItems","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","followMouse","overflowMethod","tooltipOnItemUpdateTime","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","touchParams","groupTouchParams","_Popup","_Popup2","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","_onMouseOver","_onMouseOut","addCallback","dirty","displayed","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","nestedGroups","nestedGroupId","updatedNestedGroup","nestedInGroup","showNested","_order","getGroups","removeItem","itemObj","popup","_getType","_removeItem","groupData","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","itemIsDragging","selectedItem","initialX","dragLeft","_cloneItemData","dragRight","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","updateTimeAllowed","initialEnd","initialStart","newOffset","_moveToGroup","collapsedDirClassName","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","related","itemFromRelatedTarget","getTitle","setPopup","setPosition","offsetTop","_onUpdateItem","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","Popup","doShow","maxWidth","isLeft","isTop","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","_moment","currentWeek","currentMonth","currentYear","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","isVisible","itemsInRange","byStart","byEnd","checkRangedItems","marker","templateFunction","paddingRight","paddingLeft","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","_isGroupVisible","limitSize","customOrderedItems","_updateItemsInRange","nostack","_updateSubgroupsSizes","_calculateHeight","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","EPSILON","aTime","bTime","collidingItem","jj","collision","otherSubgroup","collisionByTimes","baseClassName","visibleFrame","_updateContents","_updateTitle","_updateDataAttributes","_updateStyle","_repaintOnItemUpdateTimeTooltip","_repaintDeleteButton","_repaintDragCenter","_repaintDragLeft","_repaintDragRight","contentStartPosition","parentWidth","boxWidth","groupChanged","dragCenter","dragCenterItem","deleteButton","onItemUpdateTimeTooltip","itemDistanceFromTop","tooltipOffset","isCloseToTop","template","itemVisibleFrameContent","visibleFrameTemplateFunction","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","setText","dataAttributes","attributes","setAttribute","removeAttribute","outerHTML","widthInMs","previousRight","previousLeft","itemSetHeight","marginLeft","marginRight","itemSubgroup","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","nextIsMajor","prevWidth","labelMinor","xFirstMajorLabel","MAX","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","showCurrentTime","bool","any","boolean","function","null","groupsDraggable","linegraph","initialLoad","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","svgElements","groupsUsingDefaultStyles","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","idMap","groupCounts","existing_items","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","changeCalled","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_x","screen_y","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconHeight","iconOffset","groupArray","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","stepSize","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","accumulatedNegative","accumulatedPositive","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","normalization","d1","d2","d3","A","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","Network","network","Images","dotparser","gephiParser","convertDot","DOTToGraph","convertGephi","parseGephi","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_Images2","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_Clustering2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_KamadaKawai2","_Images","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_Clustering","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_KamadaKawai","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","Image","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_index","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","vadjust","multi","bold","mod","boldital","ital","mono","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","nodeOptions","parseOptions","updateShape","updateLabelModule","_reset","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","constructorClass","clearPositions","dataArray","_node","_node2","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_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","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","choosify","imageObj","load","propagateFonts","chooser","chosen","chosenNode","shadowColor","shadowSize","shadowX","shadowY","constrain","distanceToBorder","sizeDiff","fontDiff","getFormattingValues","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray2","_slicedToArray3","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","elementOptions","labelDirty","constrainWidth","maxWdt","minWdt","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","constrainHeight","minHgt","valign","heightConstraint","heightConstraintMinimum","heightConstraintValign","chosenLabel","margins","widthBias","heightBias","mods","optionsFontMod","modOptionsArray","ratio","_ratio","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","lineMargin","fontSize","_setAlignment2","_setAlignment","_setAlignment3","labelHeight","lineCount","blocks","block","_getColor2","_getColor","_getColor3","fontColor","strokeText","initialStrokeColor","_processLabel","markupSystem","system","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","beginable","spacing","buffer","modStack","modName","emitBlock","ch","unshift","selectedState","hoverState","accumulate","addAndAccumulate","_nlLines","splitBlocks","_values","words","atStart","measure","lastMeasure","pre","measureText","_values2","_measure","_values3","_words","_text","_measure2","_lastMeasure","_pre","_text2","_measure3","newOptionsArray","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_e","_s","isIterable","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","Box","_NodeBase","__proto__","_setMargins","differentState","textSize","getTextSize","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","$getPrototypeOf","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","setPrototypeOf","buggy","NodeBase","adjustSizes","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","globalAlpha","can2","ctx2","drawImage","iterations","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","iconTextSpacing","neutralborderWidth","selectionLineWidth","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","edgeType","connected","_setInteractionWidths","chosenEdge","toArrow","fromArrow","middleArrow","inheritsColor","toArrowScale","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","selectedWidth","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","colorsDefined","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","CubicBezierEdge","_CubicBezierEdgeBase","viaNodes","via1","via2","bezierCurveTo","x1","y1","x2","y2","_getViaCoordinates","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","via","EdgeBase","colorDirty","getColor","_drawDashedLine","_drawLine","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","py","something","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","xi","yi","arrowCore","circleEndpoint","arrowEndpoint","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","cr","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_BarnesHutSolver","_BarnesHutSolver2","_RepulsionSolver","_RepulsionSolver2","_HierarchicalRepulsionSolver","_HierarchicalRepulsionSolver2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_FA2BasedRepulsionSolver","_FA2BasedRepulsionSolver2","_FA2BasedCentralGravitySolver","_FA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","physicsTime","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","dpos","reference","maxNodeVelocity","averageNodeVelocity","velocityAdaptiveThreshold","nodeVelocity","_performStep","totalVelocity","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","colorFactor","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","minimumTreeSize","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","steepness","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","_i2","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","CentralGravitySolver","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_NetworkUtil","_NetworkUtil2","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","edgeReplacedById","_backupEdgeOptions","allowSingleNodeCluster","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","_containedNode","_nodeId4","_containedNode2","_nodeId5","_containedNode3","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","baseEdgeId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","canvasViewCenter","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","numberOfNodes","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","InteractionHandler","navigationHandler","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanged","edgesChanged","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","edgeIds","idArray","RangeError","LayoutEngine","initialRandomSeed","setPhysics","optionsBackup","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","MAX_LEVELS","clusterThreshold","startLength","before","clusterBridges","after","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","definedPositions","undefinedLevel","hierarchicalLevels","lastNodeOnLevel","hierarchicalChildrenReference","hierarchicalParentReference","hierarchicalTrees","treeIndex","distributionOrdering","distributionIndex","distributionOrderingPresence","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTrees","treeSizes","getTreeSizes","shiftBy","shiftTree","_getPositionForHierarchy","_setPositionForHierarchy","getTreeSize","treeWidths","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getMaxLevel","getCollisionLevel","maxLevel1","maxLevel2","hasSameParent","parents1","parents2","shiftElementsCloser","levels","centerParents","levelNodes","branchShiftCallback","centerParent","diffAbs","branchNodes1","branchNodes2","_getBranchBoundary","_getBranchBoundary2","max1","_getBranchBoundary3","_getBranchBoundary4","min2","minSpace2","diffBranch","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","otherNode","getFx","getDFx","getGuess","guess","guessMap","dfx","moveBranch","branchNodes","_getBranchBoundary5","_getBranchBoundary6","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","minimizeEdgeLengthBottomUp","shiftBranchesCloserBottomUp","centerAllParents","centerAllParentsBottomUp","useMap","prevNode","prevPos","nextNode","nextPos","parents","parentId","minPos","maxPos","_i5","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","handledNodeCount","_validataPositionAndContinue","parentLevel","_i6","childNodeLevel","_i7","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","minLevel","customCallback","levelByDirection","levelA","_setMinLevelToZero","fillInRelations","_this7","startingNodeId","crawler","tree","childA","childB","_this8","iterateParents","findParent","foundParent","doNotUpdate","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","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","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","editWithoutDrag","edgeBeingEditedId","_performEditEdge","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","maximum","minimum","_FloydWarshall","_FloydWarshall2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","innerThreshold","maxInnerIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","kappa","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xl","yl","xr","yr","xc","yc","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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WD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAC3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,OAASF,OAAQ,UAAWD,WAAY,aAE3IC,OAAQ,UAAWD,WAAY,UAAWE,WAAaD,OAAQ,UAAWD,WAAY,WAAaG,O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","file":"vis"} \ No newline at end of file +{"version":3,"sources":["vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","extend","_interopRequireDefault","obj","__esModule","default","_getIterator2","_getIterator3","_create","_create2","_keys","_keys2","_typeof2","_typeof3","moment","uuid","isNumber","object","Number","recursiveDOMDelete","DOMobject","hasChildNodes","firstChild","removeChild","giveRange","min","max","total","value","scale","Math","isString","String","isDate","Date","ASPDateRegex","exec","isNaN","parse","randomUUID","v4","assignAllKeys","prop","hasOwnProperty","fillIfDefined","a","b","allowDeletion","arguments","length","undefined","protoExtend","i","other","selectiveExtend","props","Array","isArray","Error","selectiveDeepExtend","TypeError","constructor","Object","deepExtend","selectiveNotDeepExtend","indexOf","push","equalArray","len","convert","type","match","Boolean","valueOf","isMoment","toDate","getType","toISOString","format","copyAndExtendArray","arr","newValue","newArr","copyArray","getAbsoluteLeft","elem","getBoundingClientRect","left","getAbsoluteRight","right","getAbsoluteTop","top","addClassName","className","classes","split","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","throttle","fn","scheduled","requestAnimationFrame","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","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","cssUtil","cssText","styles","style","trim","parts","addCssText","currentStyles","newStyles","removeCssText","removeStyles","HSVToRGB","floor","f","q","t","test","isValidRGBA","rgba","selectiveBridgeObject","fields","referenceObject","objectTo","bridgeObject","insertSort","compare","k","j","mergeOptions","mergeTarget","options","globalOptions","enabled","binarySearchCustom","orderedItems","comparator","field","field2","iteration","low","high","middle","item","searchResult","binarySearchValue","sidePreference","prevValue","nextValue","easingFunctions","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getScrollBarWidth","inner","document","createElement","width","height","outer","position","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","topMost","pile","accessors","candidate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","member","err","global","hide","Iterators","TO_STRING_TAG","collections","NAME","Collection","proto","prototype","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","O","Arguments","IObject","defined","it","cof","propertyIsEnumerable","LIBRARY","$export","redefine","has","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","name","values","P","F","core","ctx","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","apply","Function","virtual","R","U","self","__g","version","__e","aFunction","that","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","defineProperty","Attributes","isObject","get","is","val","bitmap","enumerable","configurable","writable","create","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","open","write","lt","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","toInteger","ceil","shared","uid","store","px","random","concat","documentElement","def","tag","stat","Symbol","USE_SYMBOL","toObject","ObjectProto","$at","point","TO_STRING","pos","l","charCodeAt","charAt","getIterator","iterFn","classof","getIteratorMethod","ARG","tryGet","T","callee","$Object","D","fails","KEY","exp","_iterator2","_symbol","_symbol2","_typeof","DESCRIPTORS","META","$fails","wks","wksExt","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","gOPD","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","set","symbols","for","keyFor","useSetter","useSimple","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","replacer","$replacer","args","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","gOPS","pIE","getSymbols","arg","windowNames","getWindowNames","hiddenKeys","hooks","hookCallback","input","isObjectEmpty","res","hasOwnProp","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","some$1","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","isUndefined","copyConfig","to","from","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","config","updateInProgress","updateOffset","absFloor","number","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","stack","deprecateSimple","deprecations","isFunction","_config","_ordinalParseLenient","RegExp","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","calendar","mom","now","output","_calendar","longDateFormat","_longDateFormat","formatUpper","toUpperCase","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","aliases","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","u","sort","makeGetSet","keepTime","set$1","stringGet","stringSet","prioritized","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","addFormatToken","token","padded","func","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","lastIndex","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInMonth","year","month","UTC","getUTCDate","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","months","indexOf$1","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","monthsParse","date","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","isLeapYear","getIsLeapYear","createDate","y","M","ms","getFullYear","setFullYear","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","weekdays","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","code","getSetGlobalLocale","data","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","x","updateLocale","listLocales","keys$1","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","weekYear","temp","weekdayOverflow","GG","createLocal","curWeek","gg","ISO_8601","parsedInput","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","hour","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","duration","years","quarters","quarter","weeks","days","seconds","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","matcher","matches","chunk","chunkOffset","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","addSubtract","createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","ret","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","parseFloat","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","delta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","inspect","zone","prefix","suffix","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","isoWeekday","unix","toJSON","isValid$1","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","toISOString$1","abs$1","Y","asSeconds","some","fun","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","defaultRelativeTime","future","past","mm","hh","dd","MM","yy","match6","matchWord","o","defaultLocaleMonths","defaultLocaleMonthsShort","parseTwoDigitYear","getSetYear","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos1","pos2","getSetHour","ordinalParse","meridiemParse","prototypeMin","prototypeMax","lang","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","firstDayOfYear","firstDayOfWeek","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","proto$2","toIsoString","invalid","relativeTimeRounding","relativeTimeThreshold","webpackPolyfill","paths","children","webpackContext","req","resolve","buf","oct","_hexToByte","unparse","bth","_byteToHex","v1","clockseq","_clockseq","msecs","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","n","rnds","rng","_rng","globalVar","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","_seedBytes","DOMutil","DataSet","DataView","Queue","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Hammer","keycharm","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","resetElements","getSVGElement","svgContainer","createElementNS","getDOMElement","DOMContainer","insertBefore","drawPoint","groupTemplate","labelObj","setAttributeNS","size","label","xOffset","yOffset","content","textContent","drawBar","rect","_options","_fieldId","fieldId","_type","_subscribers","setOptions","_stringify2","queue","_queue","destroy","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","subscriber","addedIds","me","_addItem","items","update","updatedIds","oldData","updatedData","addOrUpdate","oldItem","_updateItem","ids","firstType","returnType","itemIds","itemId","_getItem","order","_sort","_filterFields","resultant","getIds","getDataSet","mappedItems","filteredItem","itemFields","av","bv","remove","removedIds","removedItems","_remove","ident","clear","maxField","itemField","minField","distinct","fieldType","count","exists","types","raw","converted","delay","Infinity","_timeout","_extended","_flushIfNeeded","flush","original","method","context","entry","clearTimeout","setTimeout","_ids","_onEvent","setData","refresh","oldIds","newIds","viewOptions","getArguments","defaultFilter","dataSet","oldItems","updatedItems","container","SyntaxError","containerElement","dataTable","dataPoints","Settings","setDefaults","DEFAULTS","colX","colY","colZ","colValue","colFilter","getMouseX","clientX","targetTouches","getMouseY","clientY","_assign","_assign2","Emitter","Range","STYLE","autoByDefault","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter","DOT","tooltip","tooltipStyle","padding","borderRadius","boxShadow","line","borderLeft","dot","showLegend","backgroundColor","dataColor","fill","stroke","strokeWidth","cameraPosition","horizontal","vertical","distance","xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep","_setScale","xRange","range","yRange","zRange","z","valueRange","center","zCenter","camera","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","cameraLocation","getCameraLocation","cameraRotation","getCameraRotation","ax","ay","az","cx","cy","cz","sinTx","sin","cosTx","cos","sinTy","cosTy","sinTz","cosTz","bx","by","ex","eye","ey","ez","dx","dy","dz","getArmLength","currentXCenter","frame","canvas","currentYCenter","_calcTranslations","points","trans","screen","transBottom","bottom","dist","sortDepth","getNumberOfRows","getNumberOfColumns","counter","column","getDistinctValues","distinctValues","getSmallestDifference","smallest_diff","getColumnRange","_checkValueField","BARCOLOR","BARSIZE","DOTCOLOR","DOTSIZE","_setRangeDefaults","defaultMin","defaultMax","_dataInitialize","rawData","_onChange","withBars","BAR","defaultXBarWidth","defaultYBarWidth","expand","defaultXMin","defaultXMax","defaultXStep","defaultYMin","defaultYMax","defaultYStep","defaultZMin","defaultZMax","defaultZStep","defaultValueMin","defaultValueMax","dataFilter","setOnLoadCallback","redraw","_getDataPoints","GRID","SURFACE","dataX","dataY","sortNumber","dataMatrix","xIndex","yIndex","pointRight","pointTop","pointCross","LINE","pointNext","noCanvas","fontWeight","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onclick","_onClick","_setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","getCameraPosition","getArmRotation","_readData","_redrawFilter","setPointDrawingMethod","_redrawBarGraphPoint","_redrawBarColorGraphPoint","_redrawBarSizeGraphPoint","_redrawDotGraphPoint","DOTLINE","_redrawDotLineGraphPoint","_redrawDotColorGraphPoint","_redrawDotSizeGraphPoint","_redrawSurfaceGraphPoint","_redrawGridGraphPoint","_redrawLineGraphPoint","_pointDrawingMethod","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGraph","_redrawInfo","_redrawLegend","_getContext","getContext","lineJoin","lineCap","clearRect","_dotSize","_getLegendWidth","dotSize","isSizeLegend","isValueLegend","margin","lineWidth","font","ymax","hue","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","widthMin","fillStyle","closePath","legendMin","legendMax","start","end","getCurrent","_line","textAlign","textBaseline","fillText","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","drawAxisLabelX","text","armAngle","yMargin","point2d","drawAxisLabelY","drawAxisLabelZ","_line3d","from2d","to2d","prettyStep","xText","yText","zText","gridLenX","gridLenY","textMargin","armVector","from3d","xMin2d","xMax2d","H","V","Hi","X","_getStrokeWidth","_redrawBar","xWidth","yWidth","borderColor","surface","surfaces","corners","avg","transCenter","_polygon","_drawCircle","radius","_calcRadius","arc","PI","_getColorsRegular","_getColorsColor","_getColorsSize","colors","fraction","cross","topSideVisible","showGrayBottom","aDiff","bDiff","crossproduct","crossProduct","zAvg","_drawGridLine","_storeMousePosition","startMouseX","startMouseY","_startCameraOffset","getOffset","leftButtonDown","_onMouseUp","which","button","touchDown","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","moving","diffX","diffY","ctrlKey","scaleX","scaleY","offXNew","armLength","offYNew","setOffset","horizontalNew","verticalNew","snapValue","setArmRotation","parameters","emit","onclick_callback","boundingRect","mouseX","mouseY","dataPoint","_dataPointFromXY","showTooltip","tooltipTimeout","_hideTooltip","_showTooltip","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","wheelDelta","detail","oldLength","newLength","setArmLength","_insideTriangle","triangle","bs","cs","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","dom","contentWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","setCameraPosition","setSize","assign","$assign","A","K","aLen","mixin","_callbacks","once","removeListener","removeAllListeners","callbacks","cb","listeners","hasListeners","sub","sum","armLocation","armRotation","cameraOffset","offsetMultiplier","calculateCameraOrientation","_sign","_sign2","mul","rot","xa","za","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","getValue","dataView","progress","prev","bar","MozBorderRadius","slide","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","precision","_current","setRange","isNumeric","setStep","calculatePrettyStep","log10","log","LN10","step1","step2","step5","toPrecision","getStep","checkFirst","combine","newMin","newMax","isEmpty","capitalize","str","prefixFieldName","fieldName","forceCopy","dst","srcKey","dstKey","safeCopy","OPTIONKEYS","PREFIXEDOPTIONKEYS","setSpecialSettings","setBackgroundColor","setDataColor","setStyle","setShowLegend","isLegendGraphStyle","getStyleNumberByName","styleName","STYLENAME","checkStyleNumber","valid","styleNumber","borderWidth","borderStyle","camPos","dot-line","dot-color","dot-size","grid","bar-color","bar-size","propagating","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_firstTarget","hammer","events","propagatedHandler","srcEvent","_handled","stopped","stopPropagation","srcStop","bind","firstTarget","elemHammer","_handlers","Manager","PropagatingHammer","wrapper","pointerType","isFirst","handler","eventType","hammers","idx","exportName","setTimeoutContext","timeout","bindFn","invokeArrayArg","each","message","deprecationMessage","inherit","child","properties","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","enable","init","createInputInstance","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","pointersLen","pointers","changedPointersLen","changedPointers","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","offsetDelta","prevDelta","velocity","velocityX","velocityY","last","lastInterval","COMPUTE_INTERVAL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","PROPS_XY","atan2","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","changedTargetTouches","touch","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","DEDUP_TIMEOUT","isSyntheticEvent","DEDUP_DISTANCE","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","oldCssProps","touchAction","toggleCssProps","recognizeWith","requireFailure","cssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","nextKey","dest","merge","MOBILE_REGEX","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","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","compute","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","process","attrTest","optionPointers","isRecognized","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","force","curRecognizer","existing","STATE_FAILED","Tap","Pan","Swipe","Pinch","Rotate","Press","_exportFunctions","_bound","keydown","keyup","fromCharCode","down","handleEvent","up","keyCode","bound","shiftKey","bindAll","getKey","unbind","newBindings","Timeline","Graph2d","timeline","Core","DateUtil","TimeStep","components","Item","BackgroundItem","BoxItem","PointItem","RangeItem","BackgroundGroup","Component","CurrentTime","CustomTime","DataAxis","DataScale","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","groups","forthArgument","throttleRedraw","defaultOptions","autoResize","orientation","axis","maxHeight","minHeight","rtl","directionFromDom","domNode","getComputedStyle","parentElement","rollingMode","domProps","emitter","hiddenDates","timeAxis","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis2","currentTime","itemSet","itemsData","groupsData","getEventProperties","ondblclick","oncontextmenu","onmouseover","fitDone","getItemRange","setWindow","animation","fit","setGroups","setItems","_redraw","_Configurator","_Configurator2","_Validator","_Validator2","printStyle","allOptions","configureOptions","_createConfigurator","markDirty","refreshItems","validate","selection","getSelection","setSelection","newDataSet","group","focus","itemData","dataset","getDataRange","minItem","maxItem","getStart","getEnd","factor","groupShowing","show","repositionX","startSide","getWidthRight","endSide","getWidthLeft","lhs","rhs","centerContainer","itemFromTarget","groupFromTarget","customTime","customTimeFromTarget","snap","snappedTime","what","foreground","labelSet","groupId","pageX","pageY","toggleRollingMode","rolling","stopRolling","startRolling","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_ColorPicker","_ColorPicker2","Configurator","parentModule","defaultContainer","pixelRatio","changedOptions","allowCreation","initialized","popupCounter","showButton","moduleOptions","domElements","popupDiv","popupLimit","popupHistory","colorPicker","_removePopup","_clean","_this","_handleObject","_makeItem","_makeHeader","generateButton","_printOptions","onmouseout","optionsContainer","_push","_showPopupIfNeeded","path","_len","_key","div","objectLabel","select","selectedValue","selected","_update","_makeLabel","popupString","popupValue","oninput","itemIndex","_setupPopup","_this2","html","hideTimeout","deleteTimeout","_this3","correspondingElement","checkbox","checked","_this4","defaultColor","_showColorPicker","_this5","insertTo","setColor","setUpdateCallback","colorString","setCloseCallback","checkOnly","visibleInSet","subObj","newPath","_getValue","_handleArray","_makeTextInput","_makeCheckbox","draw","physics","solver","enabledPath","enabledValue","_label","error","_makeColorField","_makeDropdown","_makeRange","_constructOptions","optionsObj","pointer","getOptions","instance","_defineProperty","_defineProperty2","protoProps","staticProps","desc","hammerUtil","ColorPicker","generated","centerCoordinates","hueCircle","initialColor","previousColor","applied","updateCallback","closeCallback","_bindHammer","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","_rgbaArray","rgbObj","alpha","_setColor","_generateHueCircle","_hide","_updatePicker","alert","angleConvert","colorPickerSelector","colorPickerCanvas","pixelRation","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","setTransform","putImageData","circle","brightnessRange","opacityRange","initialColorDiv","newColorDiv","colorPickerDiv","opacityDiv","brightnessDiv","arrowDiv","_setOpacity","_setBrightness","brightnessLabel","opacityLabel","cancelButton","applyButton","_apply","saveButton","_save","loadButton","_loadLast","drag","pinch","onTouch","_moveSelector","sat","sfac","fillRect","getImageData","centerY","centerX","newTop","newLeft","onRelease","offTouch","offRelease","disablePreventDefaultVertically","pinchRecognizer","errorFound","Validator","referenceOptions","subObject","usedOptions","check","__any__","getSuggestion","__type__","checkFields","referenceOption","refOptionObj","optionType","refOptionType","print","printLocation","localSearch","findInOptions","globalSearch","indexMatch","closestMatch","recursive","closestMatchPath","lowerCaseOption","op","levenshteinDistance","_j","_j2","matrix","deltaDifference","scaleOffset","startToFront","endToFront","moveable","zoomable","zoomMin","zoomMax","animationTimer","_onDragStart","_onDrag","_onDragEnd","_onMouseWheel","_onTouch","_onPinch","rollingModeBtn","validateDirection","conversion","currentTimeTimer","byUser","finalStart","finalEnd","_cancelAnimation","initStart","initEnd","easingName","easingFunction","initTime","anyChanged","dragging","ease","_applyRange","updateHiddenDates","getMillisecondsPerPixel","newStart","newEnd","getRange","totalHidden","previousDelta","_isInsideRange","allowDragging","getHiddenDurationBetween","diffRange","safeStart","snapAwayFromHidden","safeEnd","startDate","endDate","zoomKey","horizontalScroll","pointerDate","getPointer","_pointerToDate","zoom","centerDate","hiddenDuration","hiddenDurationBefore","getHiddenDurationBefore","hiddenDurationAfter","move","_isResized","resized","_previousWidth","_previousHeight","convertHiddenOptions","repeat","dateItem","totalRange","pixelTime","runUntil","dayOffset","removeDuplicates","startHidden","isHidden","endHidden","rangeStart","rangeEnd","hidden","safeDates","printDates","stepOverHiddenDates","timeStep","previousTime","stepInHidden","currentValue","current","switchedYear","switchedMonth","switchedDay","hiddenBeforeStart","getHiddenDurationBeforeStart","rangeAfterEnd","correctTimeForHidden","totalDuration","partialDuration","accumulatedHiddenDuration","getAccumulatedHiddenDuration","timeOffset","requiredDuration","previousPoint","correctionEnabled","Activator","onMouseWheel","isActive","verticalScroll","scrollTop","adjusted","_setScrollTop","onMouseScrollSide","handleDragOver","itemAddedToTimeline","dataTransfer","dropEffect","handleDrop","getData","_onAddItem","backgroundVertical","backgroundHorizontal","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","scrollTopMin","initialDrawDone","_origRedraw","initialItemSetDrawn","customTimes","redrawCount","drawPoints","onRender","clickToUse","activator","_initAutoResize","component","configurator","configure","appliedOptions","setModuleOptions","active","_stopAutoResize","setCustomTime","getCustomTime","setCustomTimeTitle","title","setCustomTitle","addCustomTime","timestamp","removeCustomTime","getVisibleItems","getWindow","zoomIn","percentage","newInterval","zoomOut","borderRootHeight","borderRootWidth","autoHeight","containerHeight","scrollbarWidth","_setDOM","_updateScrollTop","visibilityTop","visibilityBottom","contentsOverflow","centerWidth","repaint","setCurrentTime","getCurrentTime","_startAutoResize","_onResize","lastWidth","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","align","stackSubgroups","groupOrderSwap","fromGroup","toGroup","targetOrder","groupOrder","selectable","multiselect","itemsAlwaysDraggable","editable","updateTime","updateGroup","overrideItems","groupEditable","onAdd","onUpdate","onMove","onRemove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup","followMouse","overflowMethod","tooltipOnItemUpdateTime","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","stackDirty","popup","touchParams","groupTouchParams","_Popup","_Popup2","UNGROUPED","BACKGROUND","box","_updateUngrouped","backgroundGroup","_onSelectItem","_onMultiSelectItem","groupHammer","_onGroupClick","_onGroupDragStart","_onGroupDrag","_onGroupDragEnd","_onMouseOver","_onMouseOut","addCallback","dirty","displayed","unselect","rawVisibleItems","visibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","scrolled","lastRangeStart","restack","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","firstGroupIndex","firstGroupId","ungrouped","_getGroupId","getLabelSet","oldItemsData","getItems","nestedGroups","nestedGroupId","updatedNestedGroup","nestedInGroup","showNested","_order","getGroups","removeItem","_getType","_removeItem","groupData","groupOptions","_orderNestedGroups","newGroupIdsOrder","nestedGroup","nestedGroupIds","oldGroupId","oldSubGroupId","subgroup","oldGroup","_constructByEndArray","endArray","dragLeftItem","dragRightItem","itemProps","_getGroupIndex","itemIsDragging","selectedItem","initialX","dragLeft","_cloneItemData","dragRight","baseGroupIndex","itemsToDrag","groupIndex","groupOffset","metaKey","_onDragStartAddItem","xAbs","newItem","offsetLeft","updateGroupAllowed","newGroupBase","initial","initialEnd","initialStart","newOffset","_moveToGroup","collapsedDirClassName","originalOrder","movingUp","targetGroupTop","draggedGroupHeight","targetGroup","draggedGroup","newOrder","origOrder","draggedId","numGroups","curPos","orgOffset","slippedPosition","switchGroup","shouldBeGroup","switchGroupId","oldSelection","newSelection","itemFromRelatedTarget","getTitle","setText","setPosition","offsetTop","_onUpdateItem","newItemData","itemGroup","lastSelectedGroup","multiselectPerGroup","_getItemRange","_item","itemFromElement","cur","relatedTarget","itemSetFromTarget","Popup","Element","doShow","maxWidth","isLeft","isTop","minimumStep","autoScale","FORMAT","minorLabels","majorLabels","setMoment","setFormat","setMinimumStep","roundToMinor","hasNext","setScale","setAutoScale","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","isMajor","getLabelMinor","getLabelMajor","getClassName","even","today","_moment","currentMonth","subgroups","subgroupIndex","subgroupOrderer","subgroupOrder","isVisible","itemsInRange","byStart","byEnd","checkRangedItems","marker","templateFunction","paddingRight","paddingLeft","getLabelWidth","markerHeight","lastMarkerHeight","_calculateSubGroupHeights","_isGroupVisible","customOrderedItems","_updateItemsInRange","nostack","_updateSubgroupsSizes","_calculateHeight","repositionY","resetSubgroups","setParent","orderSubgroups","_checkIfVisible","sortArray","sortField","removeFromDataSet","startArray","orderByStart","orderByEnd","oldVisibleItems","visibleItemsLookup","lowerBound","upperBound","searchFunction","_checkIfVisibleWithReference","initialPosByStart","_traceVisible","initialPosByEnd","initialPos","breakCondition","collidingItem","jj","collision","otherSubgroup","collisionByTimes","baseClassName","visibleFrame","_updateContents","_updateDataAttributes","_updateStyle","_repaintOnItemUpdateTimeTooltip","_repaintDeleteButton","_repaintDragCenter","_repaintDragLeft","_repaintDragRight","limitSize","contentStartPosition","parentWidth","boxWidth","_updateEditStatus","dragCenter","dragCenterItem","deleteButton","onItemUpdateTimeTooltip","itemDistanceFromTop","template","itemVisibleFrameContent","visibleFrameTemplateFunction","frameElement","itemVisibleFrameContentElement","getElementsByClassName","visibleFrameTemplate","_contentToString","dataAttributes","attributes","setAttribute","removeAttribute","outerHTML","widthInMs","previousRight","previousLeft","itemSetHeight","marginLeft","marginRight","itemSubgroup","lines","majorTexts","minorTexts","lineTop","showMinorLabels","showMajorLabels","maxMinorChars","parentChanged","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineHeight","minorLineWidth","majorLineHeight","majorLineWidth","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","timeLabelsize","minorCharWidth","xNext","prevWidth","labelMinor","xFirstMajorLabel","showMinorGrid","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","warnedForOverflow","leftTime","leftText","widthText","majorCharWidth","pop","createTextNode","childNodes","measureCharMinor","measureCharMajor","overlay","_onTapOverlay","onClick","_hasParent","deactivate","escListener","activate","eventParams","warned","substring","elementsCensor","showCurrentTime","bool","boolean","function","any","null","groupsDraggable","linegraph","initialLoad","getLegend","isGroupVisible","yAxisLeft","yAxisRight","legendLeft","legendRight","screenToValue","yAxisOrientation","defaultGroup","sampling","graphHeight","shaded","barChart","sideBySide","interpolation","parametrization","dataAxis","legend","abortedGraphUpdate","updateSVGheight","updateSVGheightOnResize","forceGraphUpdate","lastStart","svgElements","groupsUsingDefaultStyles","svg","framework","Bars","Lines","Points","_removeGroup","_updateAllGroupData","removeGroup","_updateGroup","addGroup","groupsContent","idMap","groupCounts","existing_items","extended","orginalY","_updateGraph","rangePerPixelInv","_getSortedGroupIds","grouplist","zIndex","bz","groupRanges","minDate","maxDate","_getRelevantData","_applySampling","_convertXcoordinates","_getYRanges","_updateYAxis","below","excludeFromStacking","_stack","_convertYcoordinates","calcPath","subGroupId","drawShading","subData","subPrevPoint","subNextPoint","dateComparator","first","dataContainer","increment","amountOfPoints","xDistance","pointsPerPixel","sampledData","combinedDataLeft","combinedDataRight","getYRange","getStackedYRange","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","ignore","_toggleAxisVisiblity","drawIcons","master","masterAxis","lineOffset","tempGroups","axisUsed","datapoints","screen_x","screen_y","screen_end","svgHeight","convertValue","setZeroPosition","linegraphOptions","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","alignZeros","linegraphSVG","DOMelements","labels","conversionFactor","minWidth","stepPixels","zeroCrossing","amountOfSteps","iconsRemoved","amountOfGroups","lineContainer","graphOptions","_redrawGroupIcons","iconOffset","groupArray","iconHeight","_cleanupIcons","activeGroups","_redrawLabels","_redrawTitle","customRange","autoScaleEnd","autoScaleStart","followScale","maxLabelSize","getLines","major","_redrawLabel","_redrawLine","titleWidth","titleCharHeight","characterHeight","largestWidth","textMinor","textMajor","textTitle","measureCharTitle","titleCharWidth","zeroAlign","formattingFunction","majorSteps","minorSteps","customLines","minorStepIdx","magnitudefactor","determineScale","rounded","setCharHeight","setHeight","minimumStepValue","orderOfMagnitude","solutionFound","is_major","getFirstMajor","majorStep","formatValue","bottomOffset","oldStepIdx","oldStart","oldEnd","increaseMagnitude","decreaseMagnitude","otherZero","otherStep","newRange","myOriginalZero","majorOffset","zeroOffset","pixels","usingDefaultStyle","zeroPosition","drawIcon","icon","Bargraph","fillHeight","outline","barWidth","originalWidth","bar1Height","bar2Height","processedGroupData","coreDistance","drawData","combinedData","intersections","barPoints","_getDataIntersections","heightOffset","_getSafeDrawData","amount","resolved","accumulatedNegative","accumulatedPositive","dataWidth","pointData","groupLabel","_getStackedYRange","xpos","getGroupTemplate","callbackResult","getCallback","Line","_catmullRom","_linear","fillPath","pathArray","subPathArray","dFill","zero","serializePath","inverse","_catmullRomUniform","p0","bp1","bp2","d1","d2","d3","N","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","side","iconSize","iconSpacing","excludeFromLegend","textArea","scrollableHeight","drawLegendIcons","paddingTop","Network","network","Images","dotparser","gephiParser","convertDot","DOTToGraph","convertGephi","parseGephi","nodes","nodeIndices","edges","edgeIndices","eventListeners","onTap","onDoubleTap","onHold","onDragStart","onDrag","onDragEnd","onPinch","onMouseMove","onContext","functions","createNode","createEdge","view","bindEventListeners","images","_Images2","_Groups2","_Canvas2","selectionHandler","_SelectionHandler2","interactionHandler","_InteractionHandler2","_View2","renderer","_CanvasRenderer2","_PhysicsEngine2","layoutEngine","_LayoutEngine2","clustering","_Clustering2","manipulation","_ManipulationSystem2","nodesHandler","_NodesHandler2","edgesHandler","_EdgesHandler2","_KamadaKawai2","_Images","_Groups","_NodesHandler","_EdgesHandler","_PhysicsEngine","_Clustering","_CanvasRenderer","_Canvas","_View","_InteractionHandler","_SelectionHandler","_LayoutEngine","_ManipulationSystem","_KamadaKawai","layout","interaction","networkOptions","_updateVisibleIndices","nodeId","edgeId","_updateValueRange","unselectAll","dotData","gephi","gephiData","valueTotal","setValueRange","canvasToDOM","DOMtoCanvas","findNode","isCluster","openCluster","cluster","getNodesInCluster","clusterByConnection","clusterByHubsize","clusterOutliers","getSeed","enableEditMode","disableEditMode","addNodeMode","editNode","editNodeMode","addEdgeMode","editEdgeMode","deleteSelected","getPositions","storePositions","moveNode","getBoundingBox","getConnectedNodes","objectId","getConnectedEdges","startSimulation","stopSimulation","stabilize","getSelectedNodes","getSelectedEdges","getNodeAt","getEdgeAt","edge","selectNodes","selectEdges","getViewPosition","releaseNode","getOptionsFromConfigurator","imageBroken","url","imageToCache","brokenUrl","imageToLoadBrokenUrlOn","onerror","_addImageToCache","Image","imageToRedrawWith","cachedImage","img","onload","_redrawWithImage","_tryloadBrokenUrl","Groups","defaultIndex","groupsArray","defaultGroups","useDefaultGroups","optionFields","groupName","groupname","_index","_Node","_Node2","_Label","_Label2","NodesHandler","nodesListeners","borderWidthSelected","brokenImage","fixed","face","strokeColor","vadjust","multi","bold","mod","boldital","ital","mono","image","labelHighlightBold","level","mass","scaling","maxVisible","drawThreshold","customScalingFunction","shadow","shape","shapeProperties","borderDashes","useImageSize","useBorderWithImage","nodeOptions","parseOptions","updateShape","updateLabelModule","_reset","_nodeId2","doNotEmit","oldNodesData","newNodes","positionInitially","changedData","dataChanged","clearPositions","dataArray","_node","_node2","boundingBox","nodeList","nodeObj","toId","fromId","edgeList","_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","Node","imagelist","baseSize","baseFontSize","predefinedPosition","labelModule","currentShape","groupObj","choosify","imageObj","load","unselected","imageObjAlt","propagateFonts","chooser","chosen","chosenNode","shadowColor","shadowSize","shadowX","shadowY","constrain","distanceToBorder","sizeDiff","fontDiff","getFormattingValues","updateBoundingBox","resize","parentOptions","newOptions","parsedColor","_slicedToArray2","_slicedToArray3","Label","edgelabel","pointToSelf","fontOptions","yLine","isEdgeLabel","elementOptions","labelDirty","constrainWidth","maxWdt","minWdt","widthConstraint","widthConstraintMaximum","widthConstraintMinimum","constrainHeight","minHgt","valign","heightConstraint","heightConstraintMinimum","heightConstraintValign","chosenLabel","margins","widthBias","heightBias","mods","optionsFontMod","modOptionsArray","ratio","_ratio","baseline","viewFontSize","calculateLabelSize","_drawBackground","_drawText","fontSize","_setAlignment2","_setAlignment","_setAlignment3","labelHeight","lineCount","blocks","block","_getColor2","_getColor","_getColor3","fontColor","strokeText","initialStrokeColor","_processLabel","markupSystem","system","decodeMarkupSystem","splitMarkdownBlocks","splitHtmlBlocks","beginable","spacing","buffer","modStack","modName","emitBlock","ch","unshift","selectedState","hoverState","accumulate","addAndAccumulate","_nlLines","splitBlocks","_values","words","atStart","measure","lastMeasure","pre","measureText","_values2","_measure","_values3","_words","_text","_measure2","_lastMeasure","_pre","_text2","_measure3","newOptionsArray","_isIterable2","_isIterable3","sliceIterator","_arr","_n","_e","_s","isIterable","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_NodeBase2","_NodeBase3","Box","_NodeBase","__proto__","_setMargins","differentState","textSize","getTextSize","roundRect","enableShadow","disableShadow","save","enableBorderDashes","disableBorderDashes","restore","$getPrototypeOf","ReferenceError","_setPrototypeOf","_setPrototypeOf2","subClass","superClass","setPrototypeOf","buggy","NodeBase","adjustSizes","shadowBlur","shadowOffsetX","shadowOffsetY","setLineDash","dashes","_CircleImageBase2","_CircleImageBase3","Circle","_CircleImageBase","diameter","_drawRawCircle","CircleImageBase","labelOffset","imageLoaded","setImages","imageTmp","globalAlpha","can2","ctx2","drawImage","iterations","labelDimensions","CircularImage","_swapToImageResizeWhenImageLoaded","_resizeImage","switchImages","clip","_drawImageAtPosition","_drawImageLabel","Database","database","_distanceToBorder","_ShapeBase2","_ShapeBase3","Diamond","_ShapeBase","_resizeShape","_drawShape","ShapeBase","sizeMultiplier","Dot","Ellipse","ellipse","Icon","_icon","neutralborderWidth","selectionLineWidth","Square","Star","Text","Triangle","TriangleDown","_Edge","_Edge2","EdgesHandler","edgesListeners","arrows","scaleFactor","arrowStrikethrough","hoverWidth","selectionWidth","selfReferenceSize","smooth","forceDirection","roundness","emitChange","edgeData","edgeOptions","reconnectEdges","updateEdgeType","_edgeId","oldEdgesData","edgesData","oldEdge","disconnect","showInternalIds","connect","cleanup","_CubicBezierEdge","_CubicBezierEdge2","_BezierEdgeDynamic","_BezierEdgeDynamic2","_BezierEdgeStatic","_BezierEdgeStatic2","_StraightEdge","_StraightEdge2","Edge","baseWidth","edgeType","connected","_setInteractionWidths","chosenEdge","toArrow","fromArrow","middleArrow","inheritsColor","toArrowScale","toArrowType","middleArrowScale","middleArrowType","fromArrowScale","fromArrowType","selectedWidth","changeInType","attachEdge","detachEdge","widthDiff","viaNode","getViaNode","arrowData","fromPoint","toPoint","getArrowData","drawLine","drawArrows","drawLabel","drawArrowHead","node1","node2","getPoint","translate","_rotateForLabelAlignment","_pointOnCircle","xFrom","yFrom","xTo","yTo","xObj","yObj","getDistanceToEdge","angleInDegrees","rotate","colorsDefined","_CubicBezierEdgeBase2","_CubicBezierEdgeBase3","CubicBezierEdge","_CubicBezierEdgeBase","viaNodes","via1","via2","bezierCurveTo","x1","y1","x2","y2","_getViaCoordinates","nearNode","_findBorderPositionBezier","x3","y3","_ref","_ref2","_getDistanceToBezierEdge","_ref3","_ref4","vec","_BezierEdgeBase2","_BezierEdgeBase3","CubicBezierEdgeBase","_BezierEdgeBase","minDistance","lastX","lastY","_getDistanceToLine","_EdgeBase2","_EdgeBase3","BezierEdgeBase","_EdgeBase","distanceToPoint","difference","via","EdgeBase","colorDirty","getColor","_drawDashedLine","_drawLine","_getCircleData2","_getCircleData","_getCircleData3","_circle","pattern","lineDashOffset","_getCircleData4","_getCircleData5","dashedLine","_getCircleData6","_getCircleData7","_x","_y","_radius","_findBorderPosition","_findBorderPositionCircle","_getCircleData8","_getCircleData9","grd","createLinearGradient","fromColor","toColor","addColorStop","_getDistanceToEdge","_getCircleData10","_getCircleData11","py","something","arrowPoint","guideOffset","findBorderPosition","guidePos","_getCircleData12","_getCircleData13","circleEndpoint","arrowEndpoint","BezierEdgeDynamic","_boundFunction","positionBezierNode","physicsChange","setupSupportNode","parentEdgeId","quadraticCurveTo","cr","BezierEdgeStatic","xVia","yVia","pi","originalAngle","myAngle","_pi","_originalAngle","_myAngle","StraightEdge","edgeSegmentLength","toBorderDist","toBorderPoint","borderPos","_BarnesHutSolver","_BarnesHutSolver2","_RepulsionSolver","_RepulsionSolver2","_HierarchicalRepulsionSolver","_HierarchicalRepulsionSolver2","_SpringSolver","_SpringSolver2","_HierarchicalSpringSolver","_HierarchicalSpringSolver2","_CentralGravitySolver","_CentralGravitySolver2","_FA2BasedRepulsionSolver","_FA2BasedRepulsionSolver2","_FA2BasedCentralGravitySolver","_FA2BasedCentralGravitySolver2","PhysicsEngine","physicsBody","physicsNodeIndices","physicsEdgeIndices","forces","velocities","physicsEnabled","simulationInterval","requiresTimeout","previousStates","referenceState","freezeCache","renderTimer","adaptiveTimestep","adaptiveTimestepEnabled","adaptiveCounter","adaptiveInterval","stabilized","startedStabilization","stabilizationIterations","ready","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","avoidOverlap","forceAtlas2Based","repulsion","nodeDistance","hierarchicalRepulsion","maxVelocity","minVelocity","stabilization","updateInterval","onlyDynamicEdges","timestep","layoutFailed","initPhysics","updatePhysicsData","nodesSolver","edgesSolver","gravitySolver","modelOptions","viewFunction","simulationStep","_emitStabilized","startTime","physicsTick","runDoubleSpeed","amountOfIterations","calculateForces","moveNodes","revert","_evaluateStepQuality","nodeIds","positions","vx","vy","reference","maxNodeVelocity","averageNodeVelocity","nodeVelocity","_performStep","solve","targetIterations","_freezeNodes","_stabilizationBatch","_finalizeStabilization","_restoreFrozenNodes","forceSize","arrowSize","BarnesHutSolver","barnesHutTree","randomSeed","thetaInversed","overlapAvoidanceFactor","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","_calculateForces","gravityForce","fx","fy","minX","minY","maxX","maxY","rootSize","halfRootSize","_splitBranch","_placeInTree","totalMass","totalMassInv","biggestSize","skipMassUpdate","_updateBranchMass","_placeInRegion","region","seededRandom","containedNode","_insertRegion","childSize","_drawBranch","branch","RepulsionSolver","repulsingForce","HierarchicalRepulsionSolver","SpringSolver","edgeLength","node3","_calculateSpringForce","springForce","HierarchicalSpringSolver","springFx","springFy","_i2","totalFx","totalFy","_i3","correctionFx","correctionFy","_i4","_nodeId3","CentralGravitySolver","_BarnesHutSolver3","ForceAtlas2BasedRepulsionSolver","degree","_CentralGravitySolver3","ForceAtlas2BasedCentralGravitySolver","_NetworkUtil","_NetworkUtil2","_Cluster","_Cluster2","ClusterEngine","clusteredNodes","clusteredEdges","hubsize","_getHubSize","_checkOptions","nodesToCluster","refreshData","joinCondition","childNodesObj","childEdgesObj","clonedOptions","cloneOptions","_cluster","edgeCount","clusters","usedNodes","relevantEdgeCount","gatheringSuccessful","childNodeId","_getConnectedId","clusterByEdgeCount","clusterNodeProperties","parentNodeId","parentClonedOptions","childClonedOptions","childNodeIDs","childNode","childEdge","clusterEdgeProperties","otherNodeId","childKeys","createEdges","_edge","newEdge","clusteringEdgeReplacingId","edgeReplacedById","_backupEdgeOptions","allowSingleNodeCluster","processProperties","childNodesOptions","childEdgesOptions","_clonedOptions","clusterId","_getClusterPosition","clusterNode","containedNodes","containedEdges","_createClusterEdges","originalOptions","clusterNodeId","releaseFunction","clusterPosition","newPositions","_containedNode","_nodeId4","_containedNode2","_nodeId5","_containedNode3","edgesToBeDeleted","otherCluster","transferEdge","replacedEdge","_restoreEdge","nodesArray","reverse","clusteredNodeId","startEdgeId","allEdgeIds","getClusteredEdges","clusteredEdgeId","baseEdgeId","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","hubThreshold","NetworkUtil","allNodes","specificNodes","amountOfConnections","_Node3","Cluster","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","CanvasRenderer","redrawRequested","renderingActive","renderRequests","allowRedraw","hideEdgesOnDrag","hideNodesOnDrag","_determineBrowserMethod","_resizeNodes","_requestRedraw","_startRendering","cancelAnimationFrame","_renderStep","_drawEdges","_drawNodes","alwaysShow","topLeft","bottomRight","viewableArea","isSelected","isBoundingBoxOverlappingWith","browserType","Canvas","resizeTimer","resizeFunction","cameraState","canvasViewCenter","hammerFrame","_cleanUp","previousWidth","previousHeight","widthRatio","heightRatio","newScale","currentViewCenter","distanceFromCenter","tabIndex","_prepareValue","emitEvent","oldWidth","oldHeight","previousRatio","_getCameraState","_setCameraState","_XconvertCanvasToDOM","_YconvertCanvasToDOM","_XconvertDOMtoCanvas","_YconvertDOMtoCanvas","View","animationSpeed","renderRefreshRate","animationEasingFunction","easingTime","sourceScale","targetScale","sourceTranslation","targetTranslation","lockedOnNodeId","lockedOnNodeOffset","touchTime","initialZoom","zoomLevel","positionDefined","yDistance","xZoomLevel","yZoomLevel","findCenter","animationOptions","nodePosition","lockedOnNode","animateView","locked","_transitionRedraw","viewCenter","_lockedRedraw","finished","_NavigationHandler","_NavigationHandler2","InteractionHandler","navigationHandler","popupObj","popupTimer","dragNodes","dragView","keyboard","speed","bindToWindow","navigationButtons","tooltipDelay","zoomView","pinched","checkSelectionChanges","_generateClickEvent","previouslySelectedEdgeCount","_getSelectedEdgeCount","previouslySelectedNodeCount","_getSelectedNodeCount","previousSelection","selectAdditionalOnPoint","selectOnPoint","selectedEdgesCount","selectedNodesCount","currentSelection","_determineIfDifferent2","_determineIfDifferent","nodesChanged","edgesChanged","nodeSelected","selectObject","selectionObj","xFixed","yFixed","scaleOld","preScaleDragPointer","scaleFrac","tx","ty","postScaleDragPointer","popupVisible","_checkHidePopup","_checkShowPopup","hoverObject","pointerObj","previousPopupObjId","nodeUnderCursor","popupType","overlappingNodes","isOverlappingWith","overlappingEdges","popupTargetType","popupTargetId","_pointerToPositionObject","stillOnObj","overNode","NavigationHandler","iconsCreated","navigationHammers","boundFunctions","activated","configureKeyboardBindings","loadNavigationElements","cleanNavigation","navigationDOM","navigationDivs","navigationDivActions","_fit","bindToRedraw","_stopMovement","boundAction","unbindFromRedraw","SelectionHandler","hoverObj","selectConnectedEdges","hoverConnectedEdges","updateSelection","selectionChanged","deselectObject","emptySelection","DOM","highlightEdges","_selectConnectedEdges","_addToSelection","_removeFromSelection","canvasPos","returnNode","positionObject","_getAllNodesOverlappingWith","_getEdgesOverlappingWith","returnEdge","mindist","overlappingEdge","_unselectConnectedEdges","clusterSize","_addToHover","hoverChanged","blurObject","_hoverConnectedEdges","idArray","RangeError","LayoutEngine","initialRandomSeed","setPhysics","optionsBackup","improvedLayout","hierarchical","levelSeparation","nodeSpacing","treeSpacing","blockShifting","edgeMinimization","parentCentralization","sortMethod","setupHierarchicalLayout","layoutNetwork","prevHierarchicalState","adaptAllOptionsForHierarchicalLayout","startLength","before","clusterBridges","_declusterAll","info","kamadaKawai","_shiftToCenter","getRangeCore","clustersPresent","definedLevel","undefinedLevel","hierarchicalLevels","lastNodeOnLevel","hierarchicalChildrenReference","hierarchicalParentReference","hierarchicalTrees","treeIndex","distributionOrdering","distributionIndex","distributionOrderingPresence","_determineLevelsByHubsize","_determineLevelsDirected","_determineLevelsCustomCallback","distribution","_getDistribution","_generateMap","_placeNodesByHierarchy","_condenseHierarchy","stillShifting","branches","shiftTree","_getPositionForHierarchy","_setPositionForHierarchy","getTreeSize","getTreeSizes","treeWidths","getBranchNodes","getBranchBoundary","branchMap","maxLevel","minSpace","maxSpace","branchNode","_getSpaceAroundNode2","_getSpaceAroundNode","_getSpaceAroundNode3","minSpaceNode","maxSpaceNode","getMaxLevel","accumulator","_getMaxLevel","getCollisionLevel","maxLevel1","maxLevel2","hasSameParent","parents1","parents2","shiftElementsCloser","levels","centerParents","levelNodes","branchShiftCallback","centerParent","branchNodes1","branchNodes2","_getBranchBoundary","_getBranchBoundary2","max1","_getBranchBoundary3","_getBranchBoundary4","min2","minSpace2","_shiftBlock","_centerParent","minimizeEdgeLength","allEdges","nodeLevel","C2","referenceNodes","aboveEdges","otherNode","getFx","getDFx","getGuess","guess","guessMap","dfx","branchNodes","_getBranchBoundary5","_getBranchBoundary6","minSpaceBranch","maxSpaceBranch","branchOffset","_getSpaceAroundNode4","_getSpaceAroundNode5","newPosition","treeSizes","shiftBy","useMap","prevNode","nextNode","nextPos","parents","parentId","minPos","maxPos","_i5","_getSpaceAroundNode6","_getSpaceAroundNode7","positionedNodes","nodeArray","_indexArrayToNodes","_sortNodeArray","handledNodeCount","_validataPositionAndContinue","parentLevel","_i6","childNodeLevel","_i7","previousPos","sharedParent","_findCommonParent","withChild","_placeBranchNodes","hubSize","levelDownstream","nodeA","nodeB","_crawlNetwork","levelByDirection","_setMinLevelToZero","minLevel","_this6","fillInRelations","_this7","startingNodeId","crawler","tree","_this8","shifter","childA","childB","_this9","iterateParents","findParent","foundParent","ManipulationSystem","editMode","manipulationDiv","editModeDiv","closeDiv","manipulationHammers","temporaryUIFunctions","temporaryEventFunctions","temporaryIds","guiEnabled","inMode","selectedControlNode","initiallyActive","addNode","addEdge","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","_temporaryBindUI","_handleConnect","_finishConnect","_dragControlNode","editWithoutDrag","edgeBeingEditedId","_performEditEdge","controlNodeFrom","_getNewTargetNode","controlNodeTo","_controlNodeTouch","_controlNodeDragStart","_controlNodeDrag","_controlNodeDragEnd","findBorderPositions","selectedNodes","selectedEdges","deleteFunction","_createWrappers","_removeManipulationDOM","_createButton","_cleanManipulatorHammers","_cleanupTemporaryNodesAndEdges","_unbindTemporaryUIs","_unbindTemporaryEvents","deleteBtnClass","labelClassName","newFunction","boundFunction","UIfunctionName","functionName","eventName","domElement","indexTempEdge","indexTempNode","fromSelect","toSelect","overlappingNodeIds","targetNode","connectionEdge","connectFromId","_performAddEdge","clickData","defaultData","sourceNodeId","targetNodeId","eeFunct","maximum","minimum","_FloydWarshall","_FloydWarshall2","KamadaKawai","edgeStrength","distanceSolver","edgesArray","ignoreClusters","D_matrix","getDistances","_createL_matrix","_createK_matrix","maxIterations","maxEnergy","highE_nodeId","dE_dx","dE_dy","delta_m","subIterations","_getHighestEnergyNode2","_getHighestEnergyNode","_getHighestEnergyNode3","_moveNode","_getEnergy2","_getEnergy","_getEnergy3","maxEnergyNodeId","dE_dx_max","dE_dy_max","nodeIdx","_getEnergy4","_getEnergy5","x_m","y_m","iIdx","x_i","y_i","denominator","K_matrix","L_matrix","d2E_dx2","d2E_dxdy","d2E_dy2","FloydWarshall","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","diamond","r2d","ox","oy","xe","ye","xm","ym","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","xc","yc","patternLength","slope","distRemaining","patternIndex","dashLength","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","setValue","graphs","attr","getToken","tokenType","TOKENTYPE","NULL","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","maxLength","forEach2","elem1","elem2","setProp","convertAttr","mapping","visProp","visPropI","graphData","dotNode","graphNode","NODE_ATTR_MAPPING","convertEdge","dotEdge","graphEdge","EDGE_ATTR_MAPPING","subEdge","fontsize","fontcolor","labelfontcolor","fontname","fillcolor","labeltooltip","{","}","[","]",";","=",",","->","--","gephiJSON","inheritColor","gEdges","gNodes","gEdge","gNode","edit","del","back","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","editClusterError"],"mappings":"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","file":"vis"} \ No newline at end of file diff --git a/dist/vis.min.css b/dist/vis.min.css index bb67cb35..f345ff53 100644 --- a/dist/vis.min.css +++ b/dist/vis.min.css @@ -1 +1 @@ -.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380', GradientType=0 );box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8', GradientType=0 )}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8', GradientType=0 );border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313', GradientType=0 )}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{width:140px;height:20px;top:380px;font-size:10px;color:rgba(0,0,0,.4);line-height:20px;vertical-align:middle;position:absolute}div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}div.vis-network div.vis-manipulation{box-sizing:content-box;border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0 );padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}.vis-current-time{background-color:#FF7F6E;width:2px;z-index:1;pointer-events:none}.vis-rolling-mode-btn{height:40px;width:40px;position:absolute;top:7px;right:20px;border-radius:50%;font-size:28px;cursor:pointer;opacity:.8;color:#fff;font-weight:700;text-align:center;background:#3876c2}.vis-rolling-mode-btn:before{content:"\26F6"}.vis-rolling-mode-btn:hover{opacity:1}.vis-custom-time{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block}.vis-item.vis-point.vis-selected,.vis-item.vis-selected{background-color:#FFF785}.vis-item.vis-selected{border-color:#FFC200;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item-visible-frame{white-space:nowrap}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-onUpdateTime-tooltip{position:absolute;background:#4f81bd;color:#fff;width:200px;text-align:center;white-space:nowrap;padding:5px;border-radius:1px}.vis-item .vis-delete,.vis-item .vis-delete-rtl{position:absolute;top:0;width:24px;height:24px;box-sizing:border-box;padding:0 5px;cursor:pointer;-webkit-transition:background .2s linear;-moz-transition:background .2s linear;-ms-transition:background .2s linear;-o-transition:background .2s linear;transition:background .2s linear}.vis-item .vis-delete{right:-24px}.vis-item .vis-delete-rtl{left:-24px}.vis-item .vis-delete-rtl:after,.vis-item .vis-delete:after{content:"\00D7";color:red;font-family:arial,sans-serif;font-size:22px;font-weight:700;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-ms-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.vis-item .vis-delete-rtl:hover,.vis-item .vis-delete:hover{background:red}.vis-item .vis-delete-rtl:hover:after,.vis-item .vis-delete:hover:after{color:#fff}.vis-item .vis-drag-center{position:absolute;width:100%;height:100%;top:0;left:0;cursor:move}.vis-item.vis-range .vis-drag-left,.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0}.vis-item.vis-range .vis-drag-left{left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-labelset .vis-label.draggable,.vis-nesting-group{cursor:pointer}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-nested-group{background:#f5f5f5}.vis-label.vis-nesting-group.expanded:before{content:"\25BC"}.vis-label.vis-nesting-group.collapsed-rtl:before{content:"\25C0"}.vis-label.vis-nesting-group.collapsed:before{content:"\25B6"}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-labelset,.vis-labelset .vis-label{position:relative;box-sizing:border-box}.vis-labelset{overflow:hidden}.vis-labelset .vis-label{left:0;top:0;width:100%;color:#4d4d4d;border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll,.vis-right.vis-panel.vis-vertical-scroll{height:100%;overflow-x:hidden;overflow-y:scroll}.vis-background,.vis-time-axis,.vis-timeline{overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll{direction:rtl}.vis-left.vis-panel.vis-vertical-scroll .vis-content,.vis-right.vis-panel.vis-vertical-scroll{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll .vis-content{direction:rtl}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-time-axis{position:relative}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-timeline{position:relative;border:1px solid #bfbfbf;padding:0;margin:0;box-sizing:border-box} \ No newline at end of file +.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper::after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:rgba(0,0,0,0);width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2 0,#385380 100%);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(to bottom,#3876c2 0,#385380 100%);box-shadow:#111927 0 0 1px 0;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(to bottom,#9d9d9d 0,#c8c8c8 99%)}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(to bottom,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:#aaa 0 0 3px 0;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0);border-left-color:rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0);border-left-color:#f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:rgba(0,0,0,.5) 0 0 10px 0}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow::after,div.vis-color-picker div.vis-arrow::before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(to bottom,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%)}div.vis-color-picker div.vis-new-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,.1);border-radius:5px;top:380px;left:159px;text-align:right;padding-right:2px;font-size:10px;color:rgba(0,0,0,.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-initial-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,.1);border-radius:5px;top:380px;left:10px;text-align:left;padding-left:2px;font-size:10px;color:rgba(0,0,0,.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px}div.vis-network div.vis-manipulation{box-sizing:content-box;border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px 0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(img/network/backIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(img/network/addNodeIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(img/network/editIcon.png)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(img/network/connectIcon.png)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(img/network/deleteIcon.png)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}.vis-current-time{background-color:#ff7f6e;width:2px;z-index:1;pointer-events:none}.vis-rolling-mode-btn{height:40px;width:40px;position:absolute;top:7px;right:20px;border-radius:50%;font-size:28px;cursor:pointer;opacity:.8;color:#fff;font-weight:700;text-align:center;background:#3876c2}.vis-rolling-mode-btn:before{content:"\26F6"}.vis-rolling-mode-btn:hover{opacity:1}.vis-custom-time{background-color:#6e94ff;width:2px;cursor:move;z-index:1}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor{border-color:#e5e5e5}.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major{border-color:#bfbfbf}.vis-data-axis .vis-y-axis.vis-major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-major.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis-data-axis .vis-y-axis.vis-minor.vis-measure{padding:0;margin:0;border:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title{position:absolute;color:#4d4d4d;white-space:nowrap;bottom:20px;text-align:center}.vis-data-axis .vis-y-axis.vis-title.vis-measure{padding:0;margin:0;visibility:hidden;width:auto}.vis-data-axis .vis-y-axis.vis-title.vis-left{bottom:0;-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.vis-data-axis .vis-y-axis.vis-title.vis-right{bottom:0;-webkit-transform-origin:right bottom;-moz-transform-origin:right bottom;-ms-transform-origin:right bottom;-o-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.vis-legend{background-color:rgba(247,252,255,.65);padding:5px;border:1px solid #b3b3b3;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis-legend-text{white-space:nowrap;display:inline-block}.vis-item{position:absolute;color:#1a1a1a;border-color:#97b0f8;border-width:1px;background-color:#d5ddf6;display:inline-block;z-index:1}.vis-item.vis-selected{border-color:#ffc200;background-color:#fff785;z-index:2}.vis-editable.vis-selected{cursor:move}.vis-item.vis-point.vis-selected{background-color:#fff785}.vis-item.vis-box{text-align:center;border-style:solid;border-radius:2px}.vis-item.vis-point{background:0 0}.vis-item.vis-dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis-item.vis-range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis-item.vis-background{border:none;background-color:rgba(213,221,246,.4);box-sizing:border-box;padding:0;margin:0}.vis-item .vis-item-overflow{position:relative;width:100%;height:100%;padding:0;margin:0;overflow:hidden}.vis-item-visible-frame{white-space:nowrap}.vis-item.vis-range .vis-item-content{position:relative;display:inline-block}.vis-item.vis-background .vis-item-content{position:absolute;display:inline-block}.vis-item.vis-line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis-item .vis-item-content{white-space:nowrap;box-sizing:border-box;padding:5px}.vis-item .vis-onUpdateTime-tooltip{position:absolute;background:#4f81bd;color:#fff;width:200px;text-align:center;white-space:nowrap;padding:5px;border-radius:1px;transition:.4s;-o-transition:.4s;-moz-transition:.4s;-webkit-transition:.4s}.vis-item .vis-delete,.vis-item .vis-delete-rtl{position:absolute;top:0;width:24px;height:24px;box-sizing:border-box;padding:0 5px;cursor:pointer;-webkit-transition:background .2s linear;-moz-transition:background .2s linear;-ms-transition:background .2s linear;-o-transition:background .2s linear;transition:background .2s linear}.vis-item .vis-delete{right:-24px}.vis-item .vis-delete-rtl{left:-24px}.vis-item .vis-delete-rtl:after,.vis-item .vis-delete:after{content:"\00D7";color:red;font-family:arial,sans-serif;font-size:22px;font-weight:700;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-ms-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.vis-item .vis-delete-rtl:hover,.vis-item .vis-delete:hover{background:red}.vis-item .vis-delete-rtl:hover:after,.vis-item .vis-delete:hover:after{color:#fff}.vis-item .vis-drag-center{position:absolute;width:100%;height:100%;top:0;left:0;cursor:move}.vis-item.vis-range .vis-drag-left{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;left:-4px;cursor:w-resize}.vis-item.vis-range .vis-drag-right{position:absolute;width:24px;max-width:20%;min-width:2px;height:100%;top:0;right:-4px;cursor:e-resize}.vis-range.vis-item.vis-readonly .vis-drag-left,.vis-range.vis-item.vis-readonly .vis-drag-right{cursor:auto}.vis-itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis-itemset .vis-background,.vis-itemset .vis-foreground{position:absolute;width:100%;height:100%;overflow:visible}.vis-axis{position:absolute;width:100%;height:0;left:0;z-index:1}.vis-foreground .vis-group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis-foreground .vis-group:last-child{border-bottom:none}.vis-nesting-group{cursor:pointer}.vis-nested-group{background:#f5f5f5}.vis-label.vis-nesting-group.expanded:before{content:"\25BC"}.vis-label.vis-nesting-group.collapsed-rtl:before{content:"\25C0"}.vis-label.vis-nesting-group.collapsed:before{content:"\25B6"}.vis-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-labelset{position:relative;overflow:hidden;box-sizing:border-box}.vis-labelset .vis-label{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box}.vis-labelset .vis-label{border-bottom:1px solid #bfbfbf}.vis-labelset .vis-label.draggable{cursor:pointer}.vis-labelset .vis-label:last-child{border-bottom:none}.vis-labelset .vis-label .vis-inner{display:inline-block;padding:5px}.vis-labelset .vis-label .vis-inner.vis-hidden{padding:0}.vis-panel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right,.vis-panel.vis-top{border:1px #bfbfbf}.vis-panel.vis-center,.vis-panel.vis-left,.vis-panel.vis-right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis-left.vis-panel.vis-vertical-scroll,.vis-right.vis-panel.vis-vertical-scroll{height:100%;overflow-x:hidden;overflow-y:scroll}.vis-left.vis-panel.vis-vertical-scroll{direction:rtl}.vis-left.vis-panel.vis-vertical-scroll .vis-content{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll{direction:ltr}.vis-right.vis-panel.vis-vertical-scroll .vis-content{direction:rtl}.vis-panel.vis-bottom,.vis-panel.vis-center,.vis-panel.vis-top{border-left-style:solid;border-right-style:solid}.vis-background{overflow:hidden}.vis-panel>.vis-content{position:relative}.vis-panel .vis-shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis-panel .vis-shadow.vis-top{top:-1px;left:0}.vis-panel .vis-shadow.vis-bottom{bottom:-1px;left:0}.vis-graph-group0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis-graph-group1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis-graph-group2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis-graph-group3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis-graph-group4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis-graph-group5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis-graph-group6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis-graph-group7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis-graph-group8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis-graph-group9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis-timeline .vis-fill{fill-opacity:.1;stroke:none}.vis-timeline .vis-bar{fill-opacity:.5;stroke-width:1px}.vis-timeline .vis-point{stroke-width:2px;fill-opacity:1}.vis-timeline .vis-legend-background{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis-timeline .vis-outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis-timeline .vis-icon-fill{fill-opacity:.3;stroke:none}.vis-time-axis{position:relative;overflow:hidden}.vis-time-axis.vis-foreground{top:0;left:0;width:100%}.vis-time-axis.vis-background{position:absolute;top:0;left:0;width:100%;height:100%}.vis-time-axis .vis-text{position:absolute;color:#4d4d4d;padding:3px;overflow:hidden;box-sizing:border-box;white-space:nowrap}.vis-time-axis .vis-text.vis-measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis-time-axis .vis-grid.vis-vertical{position:absolute;border-left:1px solid}.vis-time-axis .vis-grid.vis-vertical-rtl{position:absolute;border-right:1px solid}.vis-time-axis .vis-grid.vis-minor{border-color:#e5e5e5}.vis-time-axis .vis-grid.vis-major{border-color:#bfbfbf}.vis-timeline{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box} \ No newline at end of file diff --git a/dist/vis.min.js b/dist/vis.min.js index 828c9378..3486c348 100644 --- a/dist/vis.min.js +++ b/dist/vis.min.js @@ -4,11 +4,11 @@ * * A dynamic, browser-based visualization library. * - * @version 4.18.1 - * @date 2017-01-29 + * @version 4.19.0 + * @date 2017-03-18 * * @license - * Copyright (C) 2011-2016 Almende B.V, http://almende.com + * Copyright (C) 2011-2017 Almende B.V, http://almende.com * * Vis.js is dual licensed under both * @@ -22,25 +22,25 @@ * * 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){var o=i(1);o.extend(e,i(89)),o.extend(e,i(112)),o.extend(e,i(154))},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}var n=i(2),s=o(n),r=i(55),a=o(r),h=i(58),d=o(h),l=i(62),u=o(l),c=i(82),p=o(c),f=i(84),m=i(88);e.isNumber=function(t){return t instanceof Number||"number"==typeof t},e.elementsCensor=function(t){if(t){var e=function(t,e){return e instanceof Element?"DOM Element":e};return JSON.parse((0,p.default)(t,e))}},e.recursiveDOMDelete=function(t){if(t)for(;t.hasChildNodes()===!0;)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=v.exec(t);if(i)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},e.randomUUID=function(){return m.v4()},e.assignAllKeys=function(t,e){for(var i in t)t.hasOwnProperty(i)&&"object"!==(0,u.default)(t[i])&&(t[i]=e)},e.fillIfDefined=function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,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 g={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(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=g.split(t.style.cssText),n=g.split(i),s=e.extend(o,n);t.style.cssText=g.join(s)},e.removeCssText=function(t,e){var i=g.split(t.style.cssText),o=g.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=g.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"==("undefined"==typeof i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=1e4,s=0,r=0,a=t.length-1;r<=a&&s0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?u=h+1:c=h-1,l++}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 t<.5?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 t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),c=i(47)("iterator"),p=!([].keys&&"next"in[].keys()),f="@@iterator",m="keys",v="values",g=function(){return this};t.exports=function(t,e,i,y,b,_,w){d(i,e,y);var x,k,O,D=function(t){if(!p&&t in T)return T[t];switch(t){case m:return function(){return new i(this,t)};case v:return function(){return new i(this,t)}}return function(){return new i(this,t)}},M=e+" Iterator",S=b==v,C=!1,T=t.prototype,E=T[c]||T[f]||b&&T[b],P=E||D(b),I=b?S?D("entries"):P:void 0,N="Array"==e?T.entries||E:E;if(N&&(O=u(N.call(new t)),O!==Object.prototype&&(l(O,M,!0),o||a(O,c)||r(O,c,g))),S&&E&&E.name!==v&&(C=!0,P=function(){return E.call(this)}),o&&!w||!p&&!C&&T[c]||r(T,c,P),h[e]=P,h[M]=g,b)if(x={values:S?P:D(v),keys:_?P:D(m),entries:I},w)for(k in x)k in T||s(T,k,x[k]);else n(n.P+n.F*(p||C),e,x);return x}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a="prototype",h=function(t,e,i){var d,l,u,c=t&h.F,p=t&h.G,f=t&h.S,m=t&h.P,v=t&h.B,g=t&h.W,y=p?n:n[e]||(n[e]={}),b=y[a],_=p?o:f?o[e]:(o[e]||{})[a];p&&(i=e);for(d in i)l=!c&&_&&void 0!==_[d],l&&d in y||(u=l?_[d]:i[d],y[d]=p&&"function"!=typeof _[d]?i[d]:v&&l?s(u,o):g&&_[d]==u?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e[a]=t[a],e}(u):m&&"function"==typeof u?s(Function.call,u):u,m&&((y.virtual||(y.virtual={}))[d]=u,t&h.R&&b&&!b[d]&&r(b,d,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h="prototype",d=function(){var t,e=i(27)("iframe"),o=s.length,n="<",r=">";for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(n+"script"+r+"document.F=Object"+n+"/script"+r),t.close(),d=t.F;o--;)delete d[h][s[o]];return d()};t.exports=Object.create||function(t,e){var i;return null!==t?(a[h]=o(t),i=new a,a[h]=null,i[r]=t):i=d(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if(a=h[l++],a!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n="__core-js_shared__",s=o[n]||(o[n]={});t.exports=function(t){return s[t]||(s[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s,a=t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))};a.store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):(s-55296<<10)+(r-56320)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return"undefined"==typeof t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":"undefined"==typeof t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),c=i(43),p=i(47),f=i(65),m=i(70),v=i(71),g=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),k=i(33),O=i(76),D=i(78),M=i(21),S=i(35),C=D.f,T=M.f,E=O.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,z="prototype",R=p("_hidden"),L=p("toPrimitive"),A={}.propertyIsEnumerable,B=l("symbol-registry"),F=l("symbols"),H=l("op-symbols"),j=Object[z],W="function"==typeof P,Y=o.QObject,G=!Y||!Y[z]||!Y[z].findChild,V=s&&d(function(){return 7!=k(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(j,e);o&&delete j[e],T(t,e,i),o&&t!==j&&T(j,e,o)}:T,U=function(t){var e=F[t]=k(P[z]);return e._k=t,e},q=W&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},X=function(t,e,i){return t===j&&X(H,e,i),b(t),e=w(e,!0),b(i),n(F,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||T(t,R,x(1,{})),t[R][e]=!0),V(t,e,i)):T(t,e,i)},Z=function(t,e){b(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)X(t,i=o[n++],e[i]);return t},K=function(t,e){return void 0===e?k(t):Z(k(t),e)},Q=function(t){var e=A.call(this,t=w(t,!0));return!(this===j&&n(F,t)&&!n(H,t))&&(!(e||!n(this,t)||!n(F,t)||n(this,R)&&this[R][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(F,e)||n(H,e)){var i=C(t,e);return!i||!n(F,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},$=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(F,e=i[s++])||e==R||e==h||o.push(e);return o},tt=function(t){for(var e,i=t===j,o=E(i?H:_(t)),s=[],r=0;o.length>r;)!n(F,e=o[r++])||i&&!n(j,e)||s.push(F[e]);return s};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(H,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),V(this,t,x(1,i))};return s&&G&&V(j,t,{configurable:!0,set:e}),U(t)},a(P[z],"toString",function(){return this._k}),D.f=J,M.f=X,i(77).f=O.f=$,i(74).f=Q,i(73).f=tt,s&&!i(14)&&a(j,"propertyIsEnumerable",Q,!0),f.f=function(t){return U(p(t))}),r(r.G+r.W+r.F*!W,{Symbol:P});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),it=0;et.length>it;)p(et[it++]);for(var et=S(p.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!W,"Symbol",{for:function(t){return n(B,t+="")?B[t]:B[t]=P(t)},keyFor:function(t){if(q(t))return v(B,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){G=!0},useSimple:function(){G=!1}}),r(r.S+r.F*!W,"Object",{create:K,defineProperty:X,defineProperties:Z,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:tt}),I&&r(r.S+r.F*(!W||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!q(e))return e}),o[1]=e,N.apply(I,o)}}}),P[z][L]||i(20)(P[z],L,P[z].valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports={default:i(83),__esModule:!0}},function(t,e,i){var o=i(17),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(85)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(this,function(){function e(){return vo.apply(null,arguments)}function i(t){vo=t}function o(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){var e;for(e in t)return!1;return!0}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i in bo)o=bo[i],n=e[o],v(n)||(t[o]=n);return t}function y(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_o===!1&&(_o=!0,e.updateOffset(this),_o=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=_(e)),i}function x(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return M(i)?i(e):i.replace(/%s/i,e)}function L(t,e){var i=t.toLowerCase();Po[i]=Po[i+"s"]=Po[e]=t}function A(t){return"string"==typeof t?Po[t]||Po[t.toLowerCase()]:void 0}function B(t){var e,i,o={};for(i in t)d(t,i)&&(e=A(i),e&&(o[e]=t[i]));return o}function F(t,e){Io[t]=e}function H(t){var e=[];for(var i in t)e.push({unit:i,priority:Io[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,i){return function(o){return null!=o?(Y(this,t,o),e.updateOffset(this,i),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Y(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function G(t){return t=A(t),M(this[t])?this[t]():this}function V(t,e){if("object"==typeof t){t=B(t);for(var i=H(t),o=0;o=0;return(s?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function q(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Lo[t]=n),e&&(Lo[e[0]]=function(){return U(n.apply(this,arguments),e[1],e[2])}),i&&(Lo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function X(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Z(t){var e,i,o=t.match(No);for(e=0,i=o.length;e=0&&zo.test(t);)t=t.replace(zo,i),zo.lastIndex=0,o-=1;return t}function J(t,e,i){tn[t]=M(e)?e:function(t,o){return t&&i?i:e}}function $(t,e){return d(tn,t)?tn[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function it(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=w(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i,n=(7+_t(t,0,o).getUTCDay()-e)%7;return-n+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=vt(s)+d):d>vt(t)?(s=t+1,r=d-vt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function kt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+Ot(n,e,i)):r>Ot(t.year(),e,i)?(o=r-Ot(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function Ot(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(vt(t)-o+n)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function St(){return this._week.doy}function Ct(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Tt(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?o(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function zt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):"ddd"===e?(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:null))):(n=cn.call(this._minWeekdaysParse,r),n!==-1?n:(n=cn.call(this._weekdaysParse,r),n!==-1?n:(n=cn.call(this._shortWeekdaysParse,r),n!==-1?n:null)))}function Lt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Bt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ft(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=kn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=On),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Dn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=et(a[e]),h[e]=et(h[e]),d[e]=et(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Gt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Qt(t){for(var e,i,o,n,s=0;s0;){if(o=Jt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&x(n,i,!0)>=e-1)break;e--}s++}return null}function Jt(e){var i=null;if(!En[e]&&"undefined"!=typeof t&&t&&t.exports)try{i=Mn._abbr,!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),$t(i)}catch(t){}return En[e]}function $t(t,e){var i;return t&&(i=v(e)?ie(t):te(t,e),i&&(Mn=i)),Mn._abbr}function te(t,e){if(null!==e){var i=Tn;if(e.abbr=t,null!=En[t])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=En[t]._config;else if(null!=e.parentLocale){if(null==En[e.parentLocale])return Pn[e.parentLocale]||(Pn[e.parentLocale]=[]),Pn[e.parentLocale].push({name:t,config:e}),null;i=En[e.parentLocale]._config}return En[t]=new T(C(i,e)),Pn[t]&&Pn[t].forEach(function(t){te(t.name,t.config)}),$t(t),En[t]}return delete En[t],null}function ee(t,e){if(null!=e){var i,o=Tn;null!=En[t]&&(o=En[t]._config),e=C(o,e),i=new T(e),i.parentLocale=En[t],En[t]=i,$t(t)}else null!=En[t]&&(null!=En[t].parentLocale?En[t]=En[t].parentLocale:null!=En[t]&&delete En[t]);return En[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Mn;if(!o(t)){if(e=Jt(t))return e;t=[t]}return Qt(t)}function oe(){return Oo(En)}function ne(t){var e,i=t._a;return i&&p(t).overflow===-2&&(e=i[nn]<0||i[nn]>11?nn:i[sn]<1||i[sn]>st(i[on],i[nn])?sn:i[rn]<0||i[rn]>24||24===i[rn]&&(0!==i[an]||0!==i[hn]||0!==i[dn])?rn:i[an]<0||i[an]>59?an:i[hn]<0||i[hn]>59?hn:i[dn]<0||i[dn]>999?dn:-1,p(t)._overflowDayOfYear&&(esn)&&(e=sn),p(t)._overflowWeeks&&e===-1&&(e=ln),p(t)._overflowWeekday&&e===-1&&(e=un),p(t).overflow=e),t}function se(t){var e,i,o,n,s,r,a=t._i,h=In.exec(a)||Nn.exec(a);if(h){for(p(t).iso=!0,e=0,i=Rn.length;evt(n)&&(p(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[nn]=i.getUTCMonth(),t._a[sn]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[rn]&&0===t._a[an]&&0===t._a[hn]&&0===t._a[dn]&&(t._nextDay=!0,t._a[rn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[rn]=24)}}function le(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=ae(e.GG,t._a[on],kt(be(),1,4).year),o=ae(e.W,1),n=ae(e.E,1),(n<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=kt(be(),s,r);i=ae(e.gg,t._a[on],d.year),o=ae(e.w,d.week),null!=e.d?(n=e.d,(n<0||n>6)&&(h=!0)):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>Ot(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[on]=a.year,t._dayOfYear=a.dayOfYear)}function ue(t){if(t._f===e.ISO_8601)return void se(t);t._a=[],p(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=Q(t._f,t._locale).match(No)||[],i=0;i0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Lo[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),nt(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[rn]<=12&&p(t).bigHour===!0&&t._a[rn]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[rn]=ce(t._locale,t._a[rn],t._meridiem),de(t),ne(t)}function ce(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function pe(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ae(){if(!v(this._isDSTShifted))return this._isDSTShifted;var t={};if(g(t,this),t=ve(t),t._a){var e=t._isUTC?u(t._a):be(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Be(){return!!this.isValid()&&!this._isUTC}function Fe(){return!!this.isValid()&&this._isUTC}function He(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var i,o,n,s=t,a=null;return Oe(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Wn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:w(a[sn])*i,h:w(a[rn])*i,m:w(a[an])*i,s:w(a[hn])*i,ms:w(De(1e3*a[dn]))*i}):(a=Yn.exec(t))?(i="-"===a[1]?-1:1,s={y:We(a[2],i),M:We(a[3],i),w:We(a[4],i),d:We(a[5],i),h:We(a[6],i),m:We(a[7],i),s:We(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Ge(be(s.from),be(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new ke(s),Oe(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function We(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function Ye(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 Ge(t,e){var i;return t.isValid()&&e.isValid()?(e=Ce(e,t),t.isBefore(e)?i=Ye(t,e):(i=Ye(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ve(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=je(i,o),Ue(this,n,t),this}}function Ue(t,i,o,n){var s=i._milliseconds,r=De(i._days),a=De(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&Y(t,"Date",W(t,"Date")+r*o),a&<(t,W(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function qe(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function Xe(t,i){var o=t||be(),n=Ce(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(M(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,be(o)))}function Ze(){return new y(this)}function Ke(t,e){var i=b(t)?t:be(t);return!(!this.isValid()||!i.isValid())&&(e=A(v(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Ii.call(this,t,e,i,o,n))}function Ii(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ni(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function zi(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 Ri(t,e){e[dn]=w(1e3*("0."+t))}function Li(){return this._isUTC?"UTC":""}function Ai(){return this._isUTC?"Coordinated Universal Time":""}function Bi(t){return be(1e3*t)}function Fi(){return be.apply(null,arguments).parseZone()}function Hi(t){return t}function ji(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Wi(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return ji(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=ji(t,o,i,"month");return n}function Yi(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return ji(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=ji(e,(a+s)%7,o,"day");return h}function Gi(t,e){return Wi(t,e,"months")}function Vi(t,e){return Wi(t,e,"monthsShort")}function Ui(t,e,i){return Yi(t,e,i,"weekdays")}function qi(t,e,i){return Yi(t,e,i,"weekdaysShort")}function Xi(t,e,i){return Yi(t,e,i,"weekdaysMin")}function Zi(){var t=this._data;return this._milliseconds=ts(this._milliseconds),this._days=ts(this._days),this._months=ts(this._months),t.milliseconds=ts(t.milliseconds),t.seconds=ts(t.seconds),t.minutes=ts(t.minutes),t.hours=ts(t.hours),t.months=ts(t.months),t.years=ts(t.years),this}function Ki(t,e,i,o){var n=je(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Qi(t,e){return Ki(this,t,e,1)}function Ji(t,e){return Ki(this,t,e,-1)}function $i(t){return t<0?Math.floor(t):Math.ceil(t)}function to(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*$i(io(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=_(s/1e3),h.seconds=t%60,e=_(t/60),h.minutes=e%60,i=_(e/60),h.hours=i%24,r+=_(i/24),n=_(eo(r)),a+=n,r-=$i(io(n)),o=_(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function eo(t){return 4800*t/146097}function io(t){return 146097*t/4800}function oo(t){var e,i,o=this._milliseconds;if(t=A(t),"month"===t||"year"===t)return e=this._days+o/864e5,i=this._months+eo(e), -"month"===t?i:i/12;switch(e=this._days+Math.round(io(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function no(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function so(t){return function(){return this.as(t)}}function ro(t){return t=A(t),this[t+"s"]()}function ao(t){return function(){return this._data[t]}}function ho(){return _(this.days()/7)}function lo(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function uo(t,e,i){var o=je(t).abs(),n=vs(o.as("s")),s=vs(o.as("m")),r=vs(o.as("h")),a=vs(o.as("d")),h=vs(o.as("M")),d=vs(o.as("y")),l=n0,l[4]=i,lo.apply(null,l)}function co(t){return void 0===t?vs:"function"==typeof t&&(vs=t,!0)}function po(t,e){return void 0!==gs[t]&&(void 0===e?gs[t]:(gs[t]=e,!0))}function fo(t){var e=this.localeData(),i=uo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function mo(){var t,e,i,o=ys(this._milliseconds)/1e3,n=ys(this._days),s=ys(this._months);t=_(o/60),e=_(t/60),o%=60,t%=60,i=_(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var vo,go;go=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn=j("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),F("week",5),F("isoWeek",5),J("w",Wo),J("ww",Wo,Bo),J("W",Wo),J("WW",Wo,Bo),ot(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=w(t)});var bn={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),q("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),q("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),J("d",Wo),J("e",Wo),J("E",Wo),J("dd",function(t,e){return e.weekdaysMinRegex(t)}),J("ddd",function(t,e){return e.weekdaysShortRegex(t)}),J("dddd",function(t,e){return e.weekdaysRegex(t)}),ot(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:p(i).invalidWeekday=t}),ot(["d","e","E"],function(t,e,i,o){e[o]=w(t)});var _n="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),kn=$o,On=$o,Dn=$o;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Gt),q("k",["kk",2],0,Vt),q("hmm",0,0,function(){return""+Gt.apply(this)+U(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Gt.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Ut("a",!0),Ut("A",!1),L("hour","h"),F("hour",13),J("a",qt),J("A",qt),J("H",Wo),J("h",Wo),J("HH",Wo,Bo),J("hh",Wo,Bo),J("hmm",Yo),J("hmmss",Go),J("Hmm",Yo),J("Hmmss",Go),it(["H","HH"],rn),it(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),it(["h","hh"],function(t,e,i){e[rn]=w(t),p(i).bigHour=!0}),it("hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o)),p(i).bigHour=!0}),it("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n)),p(i).bigHour=!0}),it("Hmm",function(t,e,i){var o=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o))}),it("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[rn]=w(t.substr(0,o)),e[an]=w(t.substr(o,2)),e[hn]=w(t.substr(n))});var Mn,Sn=/[ap]\.?m?\.?/i,Cn=j("Hours",!0),Tn={calendar:Do,longDateFormat:Mo,invalidDate:So,ordinal:Co,ordinalParse:To,relativeTime:Eo,months:fn,monthsShort:mn,week:bn,weekdays:_n,weekdaysMin:xn,weekdaysShort:wn,meridiemParse:Sn},En={},Pn={},In=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,zn=/Z|[+-]\d\d(?::?\d\d)?/,Rn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ln=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],An=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=O("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Bn=O("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=be.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:m()}),Hn=function(){return Date.now?Date.now():+new Date};Me("Z",":"),Me("ZZ",""),J("Z",Qo),J("ZZ",Qo),it(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=Se(Qo,t)});var jn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Wn=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Yn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=ke.prototype;var Gn=Ve(1,"add"),Vn=Ve(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Un=O("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)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Mi("gggg","weekYear"),Mi("ggggg","weekYear"),Mi("GGGG","isoWeekYear"),Mi("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),J("G",Zo),J("g",Zo),J("GG",Wo,Bo),J("gg",Wo,Bo),J("GGGG",Uo,Ho),J("gggg",Uo,Ho),J("GGGGG",qo,jo),J("ggggg",qo,jo),ot(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=w(t)}),ot(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),L("quarter","Q"),F("quarter",7),J("Q",Ao),it("Q",function(t,e){e[nn]=3*(w(t)-1)}),q("D",["DD",2],"Do","date"),L("date","D"),F("date",9),J("D",Wo),J("DD",Wo,Bo),J("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),it(["D","DD"],sn),it("Do",function(t,e){e[sn]=w(t.match(Wo)[0],10)});var qn=j("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),F("dayOfYear",4),J("DDD",Vo),J("DDDD",Fo),it(["DDD","DDDD"],function(t,e,i){i._dayOfYear=w(t)}),q("m",["mm",2],0,"minute"),L("minute","m"),F("minute",14),J("m",Wo),J("mm",Wo,Bo),it(["m","mm"],an);var Xn=j("Minutes",!1);q("s",["ss",2],0,"second"),L("second","s"),F("second",15),J("s",Wo),J("ss",Wo,Bo),it(["s","ss"],hn);var Zn=j("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),F("millisecond",16),J("S",Vo,Ao),J("SS",Vo,Bo),J("SSS",Vo,Fo);var Kn;for(Kn="SSSS";Kn.length<=9;Kn+="S")J(Kn,Xo);for(Kn="S";Kn.length<=9;Kn+="S")it(Kn,Ri);var Qn=j("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Jn=y.prototype;Jn.add=Gn,Jn.calendar=Xe,Jn.clone=Ze,Jn.diff=ii,Jn.endOf=mi,Jn.format=ai,Jn.from=hi,Jn.fromNow=di,Jn.to=li,Jn.toNow=ui,Jn.get=G,Jn.invalidAt=Oi,Jn.isAfter=Ke,Jn.isBefore=Qe,Jn.isBetween=Je,Jn.isSame=$e,Jn.isSameOrAfter=ti,Jn.isSameOrBefore=ei,Jn.isValid=xi,Jn.lang=Un,Jn.locale=ci,Jn.localeData=pi,Jn.max=Fn,Jn.min=Bn,Jn.parsingFlags=ki,Jn.set=V,Jn.startOf=fi,Jn.subtract=Vn,Jn.toArray=bi,Jn.toObject=_i,Jn.toDate=yi,Jn.toISOString=si,Jn.inspect=ri,Jn.toJSON=wi,Jn.toString=ni,Jn.unix=gi,Jn.valueOf=vi,Jn.creationData=Di,Jn.year=yn,Jn.isLeapYear=yt,Jn.weekYear=Si,Jn.isoWeekYear=Ci,Jn.quarter=Jn.quarters=Ni,Jn.month=ut,Jn.daysInMonth=ct,Jn.week=Jn.weeks=Ct,Jn.isoWeek=Jn.isoWeeks=Tt,Jn.weeksInYear=Ei,Jn.isoWeeksInYear=Ti,Jn.date=qn,Jn.day=Jn.days=At,Jn.weekday=Bt,Jn.isoWeekday=Ft,Jn.dayOfYear=zi,Jn.hour=Jn.hours=Cn,Jn.minute=Jn.minutes=Xn,Jn.second=Jn.seconds=Zn,Jn.millisecond=Jn.milliseconds=Qn,Jn.utcOffset=Ee,Jn.utc=Ie,Jn.local=Ne,Jn.parseZone=ze,Jn.hasAlignedHourOffset=Re,Jn.isDST=Le,Jn.isLocal=Be,Jn.isUtcOffset=Fe,Jn.isUtc=He,Jn.isUTC=He,Jn.zoneAbbr=Li,Jn.zoneName=Ai,Jn.dates=O("dates accessor is deprecated. Use date instead.",qn),Jn.months=O("months accessor is deprecated. Use month instead",ut),Jn.years=O("years accessor is deprecated. Use year instead",yn),Jn.zone=O("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Pe),Jn.isDSTShifted=O("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ae);var $n=T.prototype;$n.calendar=E,$n.longDateFormat=P,$n.invalidDate=I,$n.ordinal=N,$n.preparse=Hi,$n.postformat=Hi,$n.relativeTime=z,$n.pastFuture=R,$n.set=S,$n.months=rt,$n.monthsShort=at,$n.monthsParse=dt,$n.monthsRegex=ft,$n.monthsShortRegex=pt,$n.week=Dt,$n.firstDayOfYear=St,$n.firstDayOfWeek=Mt,$n.weekdays=It,$n.weekdaysMin=zt,$n.weekdaysShort=Nt,$n.weekdaysParse=Lt,$n.weekdaysRegex=Ht,$n.weekdaysShortRegex=jt,$n.weekdaysMinRegex=Wt,$n.isPM=Xt,$n.meridiem=Zt,$t("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,i=1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+i}}),e.lang=O("moment.lang is deprecated. Use moment.locale instead.",$t),e.langData=O("moment.langData is deprecated. Use moment.localeData instead.",ie);var ts=Math.abs,es=so("ms"),is=so("s"),os=so("m"),ns=so("h"),ss=so("d"),rs=so("w"),as=so("M"),hs=so("y"),ds=ao("milliseconds"),ls=ao("seconds"),us=ao("minutes"),cs=ao("hours"),ps=ao("days"),fs=ao("months"),ms=ao("years"),vs=Math.round,gs={s:45,m:45,h:22,d:26,M:11},ys=Math.abs,bs=ke.prototype;return bs.abs=Zi,bs.add=Qi,bs.subtract=Ji,bs.as=oo,bs.asMilliseconds=es,bs.asSeconds=is,bs.asMinutes=os,bs.asHours=ns,bs.asDays=ss,bs.asWeeks=rs,bs.asMonths=as,bs.asYears=hs,bs.valueOf=no,bs._bubble=to,bs.get=ro,bs.milliseconds=ds,bs.seconds=ls,bs.minutes=us,bs.hours=cs,bs.days=ps,bs.weeks=ho,bs.months=fs,bs.years=ms,bs.humanize=fo,bs.toISOString=mo,bs.toString=mo,bs.toJSON=mo,bs.locale=ci,bs.localeData=pi,bs.toIsoString=O("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",mo),bs.lang=Un,q("X",0,0,"unix"),q("x",0,0,"valueOf"),J("x",Zo),J("X",Jo),it("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),it("x",function(t,e,i){i._d=new Date(w(t))}),e.version="2.17.1",i(be),e.fn=Jn,e.min=we,e.max=xe,e.now=Hn,e.utc=u,e.unix=Bi,e.months=Gi,e.isDate=a,e.locale=$t,e.invalid=m,e.duration=je,e.isMoment=b,e.weekdays=Ui,e.parseZone=Fi,e.localeData=ie,e.isDuration=Oe,e.monthsShort=Vi,e.weekdaysMin=Xi,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=qi,e.normalizeUnits=A,e.relativeTimeRounding=co,e.relativeTimeThreshold=po,e.calendarFormat=qe,e.prototype=Jn,e})}).call(e,i(86)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=87},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)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(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||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;p<6;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;a<16;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;e<16;e++)0===(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;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){e.util=i(1),e.DOMutil=i(90),e.DataSet=i(91),e.DataView=i(93),e.Queue=i(92),e.Graph3d=i(94),e.graph3d={Camera:i(98),Filter:i(103),Point2d:i(97),Point3d:i(96),Slider:i(104),StepNumber:i(105)},e.moment=i(84),e.Hammer=i(108),e.keycharm=i(111)},function(t,e){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.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.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){n<0&&(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){return t&&t.__esModule?t:{default:t}}function n(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var s=i(58),r=o(s),a=i(1),h=i(91);n.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;o0&&(h[n-1].pointNext=r),h.push(r);return h},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};d.addEventListener(this.frame.canvas,"keydown",onkeydown),d.addEventListener(this.frame.canvas,"mousedown",i),d.addEventListener(this.frame.canvas,"touchstart",o),d.addEventListener(this.frame.canvas,"mousewheel",n),d.addEventListener(this.frame.canvas,"mousemove",s),d.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},o.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setOptions=function(t){this.animationStop(),v.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",t===!1){var l,c=0,p=i;for(l=c;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,c,p=this._getContext();p.font=24/this.camera.getArmLength()+"px arial";var m=.025/this.scale.x,v=.025/this.scale.y,g=5/this.camera.getArmLength(),y=this.camera.getArmRotation().horizontal,b=new u(Math.cos(y),Math.sin(y)),_=this.xRange,w=this.yRange,x=this.zRange;for(p.lineWidth=1,o=void 0===this.defaultXStep,i=new f(_.min,_.max,this.xStep,o),i.start(!0);!i.end();){var k=i.getCurrent();this.showGrid?(t=new l(k,w.min,x.min),e=new l(k,w.max,x.min),this._line3d(p,t,e,this.gridColor)):(t=new l(k,w.min,x.min),e=new l(k,w.min+m,x.min),this._line3d(p,t,e,this.axisColor),t=new l(k,w.max,x.min),e=new l(k,w.max-m,x.min),this._line3d(p,t,e,this.axisColor)),r=b.x>0?w.min:w.max;var O=new l(k,r,x.min),D=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(p,O,D,y,g),i.next()}for(p.lineWidth=1,o=void 0===this.defaultYStep,i=new f(w.min,w.max,this.yStep,o),i.start(!0);!i.end();){var M=i.getCurrent();this.showGrid?(t=new l(_.min,M,x.min),e=new l(_.max,M,x.min),this._line3d(p,t,e,this.gridColor)):(t=new l(_.min,M,x.min),e=new l(_.min+v,M,x.min),this._line3d(p,t,e,this.axisColor),t=new l(_.max,M,x.min),e=new l(_.max-v,M,x.min),this._line3d(p,t,e,this.axisColor)),s=b.y>0?_.min:_.max,O=new l(s,M,x.min);var D=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(p,O,D,y,g),i.next()}for(p.lineWidth=1,o=void 0===this.defaultZStep,i=new f(x.min,x.max,this.zStep,o),i.start(!0),s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max;!i.end();){var S=i.getCurrent(),C=new l(s,r,S),T=this._convert3Dto2D(C);e=new u(T.x-g,T.y),this._line(p,T,e,this.axisColor);var D=this.zValueLabel(S)+" ";this.drawAxisLabelZ(p,C,D,5),i.next()}p.lineWidth=1,t=new l(s,r,x.min),e=new l(s,r,x.max),this._line3d(p,t,e,this.axisColor);var E,P;p.lineWidth=1,E=new l(_.min,w.min,x.min),P=new l(_.max,w.min,x.min),this._line3d(p,E,P,this.axisColor),E=new l(_.min,w.max,x.min),P=new l(_.max,w.max,x.min),this._line3d(p,E,P,this.axisColor),p.lineWidth=1,t=new l(_.min,w.min,x.min),e=new l(_.min,w.max,x.min),this._line3d(p,t,e,this.axisColor),t=new l(_.max,w.min,x.min),e=new l(_.max,w.max,x.min),this._line3d(p,t,e,this.axisColor);var I=this.xLabel;I.length>0&&(c=.1/this.scale.y,s=(_.max+3*_.min)/4,r=b.x>0?w.min-c:w.max+c,n=new l(s,r,x.min),this.drawAxisLabelX(p,n,I,y));var N=this.yLabel;N.length>0&&(d=.1/this.scale.x,s=b.y>0?_.min-d:_.max+d,r=(w.max+3*w.min)/4,n=new l(s,r,x.min),this.drawAxisLabelY(p,n,N,y));var z=this.zLabel;z.length>0&&(h=30,s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max,a=(x.max+3*x.min)/4,n=new l(s,r,a),this.drawAxisLabelZ(p,n,z,h))},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._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a,h=this,d=e.point,u=this.zRange.min,c=[{point:new l(d.x-i,d.y-o,d.z)},{point:new l(d.x+i,d.y-o,d.z)},{point:new l(d.x+i,d.y+o,d.z)},{point:new l(d.x-i,d.y+o,d.z)}],p=[{point:new l(d.x-i,d.y-o,u)},{point:new l(d.x+i,d.y-o,u)},{point:new l(d.x+i,d.y+o,u)},{point:new l(d.x-i,d.y+o,u)}];c.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),p.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var f=[{corners:c,center:l.avg(p[0].point,p[2].point)},{corners:[c[0],c[1],p[1],p[0]],center:l.avg(p[1].point,p[0].point)},{corners:[c[1],c[2],p[2],p[1]],center:l.avg(p[2].point,p[1].point)},{corners:[c[2],c[3],p[3],p[2]],center:l.avg(p[3].point,p[2].point)},{corners:[c[3],c[0],p[0],p[3]],center:l.avg(p[0].point,p[3].point)}];for(e.surfaces=f,r=0;r0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio),v=1;this.showShadow?(p=Math.min(1+u.x/c/2,1),s=this._hsv2rgb(m,v,p),r=s):(p=1,s=this._hsv2rgb(m,v,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var g=[e,i,n,o];this._polygon(t,g,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-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;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+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)}}},o.prototype.setCameraPosition=function(t){v.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.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},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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;ns&&(t=o(t)*s),i(e)>s&&(e=o(e)*s),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},n.prototype.getOffset=function(t,e){return this.cameraOffset},n.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},n.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()},n.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},n.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())},n.prototype.getArmLength=function(){return this.armLength},n.prototype.getCameraLocation=function(){return this.cameraLocation},n.prototype.getCameraRotation=function(){return this.cameraRotation},n.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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=n},function(t,e,i){t.exports={default:i(100),__esModule:!0}},function(t,e,i){i(101),t.exports=i(17).Math.sign},function(t,e,i){var o=i(15);o(o.S,"Math",{sign:i(102)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},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:t0&&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(93);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(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new 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 new 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(!(tthis.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){function i(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)}i.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},i.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.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),s<=0&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=i},function(t,e){function i(){this.min=void 0,this.max=void 0}i.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},i.prototype.range=function(){return this.max-this.min},i.prototype.center=function(){return(this.min+this.max)/2},t.exports=i},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function r(t,e){return void 0===t||""===t?e:t+s(e)}function a(t,e,i,o){var n,s;for(var a in i)n=i[a],s=r(o,n),e[s]=t[n]}function h(t,e,i,o){var n,s;for(var a in i)n=i[a],void 0!==t[n]&&(s=r(o,n),e[s]=t[n])}function d(t,e){if(void 0===t||n(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");S=t,a(t,e,D),a(t,e,M,"default"),u(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new x(0,0,-1)}function l(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===S||n(S))throw new Error("DEFAULTS not set for module Settings");h(t,e,D),h(t,e,M,"default"),u(t,e)}}function u(t,e){void 0!==t.backgroundColor&&v(t.backgroundColor,e),g(t.dataColor,e),m(t.style,e),c(t.showLegend,e),y(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick)}function c(t,e){if(void 0===t){var i=void 0===S.showLegend;if(i){var o=e.style===k.DOTCOLOR||e.style===k.DOTSIZE;e.showLegend=o}}else e.showLegend=t}function p(t){var e=O[t];return void 0===e?-1:e}function f(t){var e=!1;for(var i in k)if(k[i]===t){e=!0;break}return e}function m(t,e){if(void 0!==t){var i;if("string"==typeof t){if(i=p(t),i===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!f(t))throw new Error("Style '"+t+"' is invalid");i=t}e.style=i}}function v(t,e){var i="white",o="gray",n=1;if("string"==typeof t)i=t,o="none",n=0;else{if("object"!==("undefined"==typeof t?"undefined":(0,_.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(i=t.fill),void 0!==t.stroke&&(o=t.stroke),void 0!==t.strokeWidth&&(n=t.strokeWidth)}e.frame.style.backgroundColor=i,e.frame.style.borderColor=o,e.frame.style.borderWidth=n+"px",e.frame.style.borderStyle="solid"}function g(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function y(t,e){var i=t;void 0!==i&&(void 0===e.camera&&(e.camera=new w),e.camera.setArmRotation(i.horizontal,i.vertical),e.camera.setArmLength(i.distance))}var b=i(62),_=o(b),w=i(98),x=i(96),k={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},O={dot:k.DOT,"dot-line":k.DOTLINE,"dot-color":k.DOTCOLOR,"dot-size":k.DOTSIZE,line:k.LINE,grid:k.GRID,surface:k.SURFACE,bar:k.BAR,"bar-color":k.BARCOLOR,"bar-size":k.BARSIZE},D=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],M=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],S=void 0;t.exports.STYLE=k,t.exports.setDefaults=d,t.exports.setOptions=l,t.exports.setCameraPosition=y},function(t,e,i){if("undefined"!=typeof window){var o=i(109),n=window.Hammer||i(110);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},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;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(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};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}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\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&mt(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==yt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(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=N(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=wt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=A(a,h),P(i,e),e.offsetDirection=L(e.deltaX,e.deltaY);var d=R(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=_t(d.x)>_t(d.y)?d.x:d.y,e.scale=r?H(r.pointers,o):1,e.rotation=r?F(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==zt&&s.eventType!==Lt||(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 I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=At&&(h>Nt||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=R(h,d,l);o=u.x,n=u.y,i=_t(u.x)>_t(u.y)?u.x:u.y,s=L(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 N(t){for(var e=[],i=0;i=_t(e)?t<0?Ft:Ht:e<0?jt:Wt}function A(t,e,i){i||(i=Ut);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=Ut);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function F(t,e){return B(e[1],e[0],qt)+B(t[1],t[0],qt)}function H(t,e){return A(e[0],e[1],qt)/A(t[0],t[1],qt)}function j(){this.evEl=Zt,this.evWin=Kt,this.pressed=!1,S.apply(this,arguments)}function W(){this.evEl=$t,this.evWin=te,S.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=ie,this.evWin=oe,this.started=!1,S.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Lt|At)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=se,this.targetIds={},S.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(zt|Rt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===zt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,re)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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(e,t)}var i=this,o=this.state;o<_e&&e(i.options.event+et(o)),e(i.options.event),t.additionalEvent&&e(t.additionalEvent),o>=_e&&e(i.options.event+et(o))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=ke)},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return nt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=it(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(rt,nt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[pe]; -},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(at,tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ue]},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&(Lt|At)&&!n)this.reset();else if(t.eventType&zt)this.reset(),this._timer=h(function(){this.state=we,this.tryEmit()},e.time,this);else if(t.eventType&Lt)return we;return ke},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===we&&(t&&t.eventType&Lt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=wt(),this.manager.emit(this.options.event,this._input)))}}),c(ht,nt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[pe]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),c(dt,nt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Yt|Gt,pointers:1},getTouchAction:function(){return st.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Yt|Gt)?e=t.overallVelocity:i&Yt?e=t.overallVelocityX:i&Gt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&_t(e)>this.options.velocity&&t.eventType&Lt},emit:function(t){var e=it(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances)&&(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;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this,e=this.getDataRange(),i=null!==e.min?e.min.valueOf():null,o=null!==e.max?e.max.valueOf():null,n=null,s=null;if(null!=i&&null!=o){var r,a,h,d,u;!function(){var e=function(t){return l.convert(t.data.start,"Date").valueOf()},c=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()};r=o-i,r<=0&&(r=10),a=r/t.props.center.width,l.forEach(t.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var r=e(t),h=c(t);if(this.options.rtl)var d=r-(t.getWidthRight()+10)*a,l=h+(t.getWidthLeft()+10)*a;else var d=r-(t.getWidthLeft()+10)*a,l=h+(t.getWidthRight()+10)*a;do&&(o=l,s=t)}.bind(t)),n&&s&&(h=n.getWidthLeft()+10,d=s.getWidthRight()+10,u=t.props.center.width-h-d,u>0&&(t.options.rtl?(i=e(n)-d*r/u,o=c(s)+h*r/u):(i=e(n)-h*r/u,o=c(s)+d*r/u)))}()}return{min:null!=i?new Date(i):null,max:null!=o?new Date(o):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=g.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:c,snappedTime:p}},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(82),s=o(n),r=i(62),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(120),p=o(c),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);this.options.showButton===!0&&!function(){var e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerHTML="generate options",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className="vis-configuration vis-config-button hover"},e.onmouseout=function(){e.className="vis-configuration vis-config-button"},t.optionsContainer=document.createElement("div"),t.optionsContainer.className="vis-configuration vis-config-option-container",t.domElements.push(t.optionsContainer),t.domElements.push(e)}(),this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?o-1:0),s=1;s2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-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-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(e*l),d=a.max,h="range increased"),a.value=e}else a.value=o;var u=document.createElement("input");u.className="vis-configuration vis-config-rangeinput",u.value=a.value;var c=this;a.onchange=function(){u.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){u.value=this.value};var p=this._makeLabel(i[i.length-1],i),f=this._makeItem(i,p,a,u);""!==h&&this.popupHistory[f]!==d&&(this.popupHistory[f]=d,this._setupPopup(h,f))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e),o===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1)),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(r,h,!0);this._makeItem(h,p),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{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.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0, -s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e===!0&&(this.initialColor=c.extend({},t)),this.color=t;var i=c.RGBToHSV(t.r,t.g,t.b),o=2*Math.PI,n=this.r*i.s,s=this.centerCoordinates.x+n*Math.sin(o*i.h),r=this.centerCoordinates.y+n*Math.cos(o*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/360,d=1/this.r,l=void 0;for(s=0;s<360;s++)for(r=0;rs.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,""),g):n.distance<=r?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),g):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?c.convert(t,"Date").valueOf():null,r=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,p=this.end,f="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,v="object"===("undefined"==typeof i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1,_=function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=g(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,v=d||null===r?r:p+(r-p)*a;w=h._applyRange(u,v),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||w;var _={start:new Date(h.start),end:new Date(h.end),byUser:o,event:c.elementsCensor(n)};w&&h.body.emitter.emit("rangechange",_),d?b&&h.body.emitter.emit("rangechanged",_):h.animationTimer=setTimeout(t,20)}};return _()}var w=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),w){var x={start:new Date(this.start),end:new Date(this.end),byUser:o,event:c.elementsCensor(n)};this.body.emitter.emit("rangechange",x),this.body.emitter.emit("rangechanged",x)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-h&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var d=parseFloat(this.options.zoomMax);d<0&&(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},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start,n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);o-=n;var r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var a=i/r*o;else var a=-i/r*o;var h=this.props.touch.start+a,d=this.props.touch.end+a,l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0),u=m.snapAwayFromHidden(this.body.hiddenDates,d,this.previousDelta-i,!0);if(l!=h||u!=d)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=u,void this._onDrag(t);this.previousDelta=i,this._applyRange(h,d);var p=new Date(this.start),f=new Date(this.end);this.body.emitter.emit("rangechange",{start:p,end:f,byUser:!0,event:c.elementsCensor(t)}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:c.elementsCensor(t)}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-c.getAbsoluteLeft(this.body.dom.centerContainer);else var i=c.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,event)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.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){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var c=0,p=s.clone();switch(o[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:",o[h].repeat)}for(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a),d=new Date(h+a+t.range.start);return d},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.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?o<0?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&&t-1||h))return t.dataTransfer.dropEffect="move",h=!0,!1}function n(t){try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e.content)return}catch(t){return!1}return h=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={};var a=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];a.forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var h=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(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 p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.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 "+(0,r.default)(e)+" already exists");var n=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(n),this.components.push(n),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=c.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=n/(1+t),r=(n-s)/2,a=i+r,h=o-r;this.setWindow({start:a,end:h})}},n.prototype.zoomOut=function(t){if(!(!t||t<0||t>1)){var e=this.getWindow(),i=e.start.valueOf(),o=e.end.valueOf(),n=o-i,s=i-n*t/2,r=o+n*t/2;this.setWindow({start:s,end:r})}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});var p=5;if(t){if(this.redrawCount0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var h=e.get(i.groupId),d=e.get(this.groupTouchParams.group.groupId);d&&h&&(this.options.groupOrderSwap(d,h,e),e.update(d),e.update(h));var l=e.getIds({order:this.options.groupOrder});if(!c.equalArray(l,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,m=Math.min(u.length,l.length),v=0,g=0,y=0;v=m)break;if(l[v+g]!=p)if(u[v+y]!=p){var b=l.indexOf(u[v+y]),_=e.get(l[v+g]),w=e.get(u[v+y]);this.options.groupOrderSwap(_,w,e),e.update(_),e.update(w);var x=l[v+g];l[v+g]=u[v+y],l[b]=x,v++}else y=1;else g=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=c.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!c.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),groupsData.update(d),groupsData.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:c.elementsCensor(t)})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);if(e!==i){if(e.getTitle()){null==e.popup&&e.setPopup(new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip"));var o=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-c.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-c.getAbsoluteTop(o)+o.offsetTop),e.popup.show()}this.body.emitter.emit("itemover",{item:e.id,event:c.elementsCensor(t)})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){var i=this.itemFromRelatedTarget(t);e!==i&&(null!=e.popup&&e.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:c.elementsCensor(t)}))}},n.prototype._onMouseMove=function(t){var e=this.itemFromTarget(t);if(e&&this.options.tooltip.followMouse&&e.popup&&!e.popup.hidden){var i=this.body.dom.centerContainer;e.popup.setPosition(t.clientX-c.getAbsoluteLeft(i)+i.offsetLeft,t.clientY-c.getAbsoluteTop(i)+i.offsetTop),e.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.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){if(this.options.rtl)var n=c.getAbsoluteRight(this.dom.frame),s=n-t.center.x;else var n=c.getAbsoluteLeft(this.dom.frame),s=t.center.x-n;var r=this.body.util.toTime(s),a=this.body.util.getScale(),h=this.body.util.getStep(),d={start:i?i(r,a,h):r,content:"new item"};if("drop"==t.type){var l=JSON.parse(t.dataTransfer.getData("text"));if(d.content=l.content,d.type=l.type||"box",d[this.itemsData._fieldId]=l.id||c.randomUUID(),"range"==l.type||l.end&&l.start)if(l.end)d.end=l.end,d.start=l.start;else{var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}}else if(d[this.itemsData._fieldId]=c.randomUUID(),"range"===this.options.type){var u=this.body.util.toTime(s+this.props.width/5);d.end=i?i(u,a,h):u}var p=this.groupFromTarget(t);p&&(d.group=p.groupId),d=this._cloneItemData(d),this.options.onAdd(d,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[],o=t.srcEvent&&t.srcEvent.shiftKey||!1;if(o&&this.options.multiselect){var s=this.itemsData.get(e.id).group,r=void 0;this.options.multiselectPerGroup&&i.length>0&&(r=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=r&&r!=s||i.push(e.id);var a=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||r==s){i=[];for(var h in this.items)if(this.items.hasOwnProperty(h)){var d=this.items[h],l=d.data.start,u=void 0!==d.data.end?d.data.end:l;!(l>=a.min&&u<=a.max)||this.options.multiselectPerGroup&&r!=this.itemsData.get(d.id).group||d instanceof x||i.push(d.id)}}}else{var p=i.indexOf(e.id);p==-1?i.push(e.id):i.splice(p,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:c.elementsCensor(t)})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()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=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(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.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.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/h%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(s().add(1,"day"),"day")?" vis-tomorrow":t.isSame(s().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}function n(t){return t.isSame(new Date,"year")?" vis-current-year":""}var s=this.moment,r=this.moment(this.current),a=r.locale?r.locale("en"):r.lang("en"),h=this.step;switch(this.scale){case"millisecond":return e(a)+t(a.milliseconds()).trim();case"second":return e(a)+t(a.seconds()).trim();case"minute":return e(a)+t(a.minutes()).trim();case"hour":return"vis-h"+a.hours()+(4==this.step?"-h"+(a.hours()+4):"")+e(a)+t(a.hours());case"weekday":return"vis-"+a.format("dddd").toLowerCase()+e(a)+i(a)+t(a.date());case"day":return"vis-day"+a.date()+" vis-"+a.format("MMMM").toLowerCase()+e(a)+o(a)+(this.step<=2?e(a):"")+(this.step<=2?" vis-"+a.format("dddd").toLowerCase():""+t(a.date()-1));case"month":return"vis-"+a.format("MMMM").toLowerCase()+o(a)+t(a.month());case"year":var d=a.year();return"vis-year"+d+n(a)+t(d);default:return""}},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var s=i(58),r=o(s),a=i(1),h=i(131);i(132);n.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},n.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):void 0!==e&&null!==e?this.dom.inner.innerHTML=e:this.dom.inner.innerHTML=this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?a.removeClassName(this.dom.inner,"vis-hidden"):a.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,a.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)a.removeClassName(this.dom.label,"collapsed"),a.addClassName(this.dom.label,"expanded");else{a.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";a.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(a.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(a.removeClassName(this.dom.label,this.className),a.removeClassName(this.dom.foreground,this.className),a.removeClassName(this.dom.background,this.className),a.removeClassName(this.dom.axis,this.className)),a.addClassName(this.dom.label,n),a.addClassName(this.dom.foreground,n),a.addClassName(this.dom.background,n),a.addClassName(this.dom.axis,n),this.className=n),this.style&&(a.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(a.addCssText(this.dom.label,t.style),this.style=t.style)},n.prototype.getLabelWidth=function(){return this.props.label.width},n.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,a.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var r=this,d=!1;a.forEach(this.items,function(t){t.displayed||(t.redraw(),r.visibleItems.push(t)),t.repositionX(d)});var l=this.orderedItems.byStart.slice().sort(function(t,e){return r.itemSet.options.order(t.data,e.data)});h.stack(l,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?h.stack(this.visibleItems,e,i):h.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var u=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=a.updateProperty(this,"height",u)||o,o=a.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=a.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=u+"px",this.dom.foreground.style.height=u+"px",this.dom.label.style.height=u+"px";for(var c=0,p=this.visibleItems.length;c0){var e=this;this.resetSubgroups(),a.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},n.prototype._isGroupVisible=function(t,e){var i=this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop;return i},n.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(a.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,a.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},n.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)},n.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)},n.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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},n.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},n.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;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-o.vertical+ie.top:t.left-o.horizontal+ie.left&&t.top-o.vertical+ie.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(108),i(133));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return 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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=(this.options.editable.updateTime||this.options.editable.updateGroup||this.editable===!0)&&this.editable!==!1,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.popup=null,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this.data&&this.data.hasOwnProperty("editable")&&("boolean"==typeof this.data.editable?this.editable={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(i.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable)))}var s=i(58),r=o(s),a=i(62),h=o(a),d=i(108),l=i(1),u=i(84);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){var e=void 0!=t.group&&this.data.group!=t.group;e&&this.parent.itemSet._moveToGroup(this,t.group),t.hasOwnProperty("editable")&&("boolean"==typeof t.editable?this.editable={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"===(0,h.default)(options.editable)&&(this.editable={},l.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,t.editable))),this.data=t,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=50,s=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;var r=o+this.parent.top-n<-s;r?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var a,h;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(h=this.options.tooltipOnItemUpdateTime.template.bind(this),a=h(this.data)):(a="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(a+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=a}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.prototype._updateTitle=function(){null!=this.data.title&&null!=this.popup&&this.popup.setText(this.data.title||"")},n.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=(0,r.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-ot.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-o/2t.start&&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),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._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;if(void 0!==this.data.subgroup){var i=this.data.subgroup,o=this.parent.subgroups;o[i].index;this.dom.box.style.height=this.parent.subgroups[i].height+"px";var n=this.options.orientation.item;"top"==n?this.dom.box.style.top=this.parent.top+this.parent.subgroups[i].top+"px":this.dom.box.style.top=this.parent.top+this.parent.height-this.parent.subgroups[i].top-this.parent.subgroups[i].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.top="top"==n?"0":"",this.dom.box.style.bottom="top"==n?"":"0"):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:d.FORMAT,moment:u,timeAxis:null},this.options=a.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var s=i(62),r=o(s),a=i(1),h=i(124),d=i(129),l=i(125),u=i(84);n.prototype=new h,n.prototype.setOptions=function(t){t&&(a.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),a.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,r.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof u.locale?u.locale(t.locale):u.lang(t.locale)))},n.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},n.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},n.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},n.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=a.convert(this.body.range.start,"Number"),i=a.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-l.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new d(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var r=this.dom;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];var h,u,p,f,m,v,g,y,b,_,w=0,x=void 0,k=0,O=1e3;for(s.start(),u=s.getCurrent(),f=this.body.util.toScreen(u);s.hasNext()&&k=.4*g;if(this.options.showMinorLabels&&D){var M=this._repaintMinorText(p,b,t,_);M.style.width=w+"px"}m&&this.options.showMajorLabels?(p>0&&(void 0==x&&(x=p),M=this._repaintMajorText(p,s.getLabelMajor(),t,_)),y=this._repaintMajorLine(p,w,t,_)):D?y=this._repaintMinorLine(p,w,t,_):y&&(y.style.width=parseInt(y.style.width)+w+"px")}if(k!==O||c||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to "+O+" lines."), -c=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),C=s.getLabelMajor(S),T=C.length*(this.props.majorCharWidth||10)+10;(void 0==x||T1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),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){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="date",a="object",h="dom",d="moment",l="any",u={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:h},__type__:{object:a,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:s},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},end:{number:n,date:r,string:i,moment:d},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:a,function:"function"}},__type__:{object:a}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:a}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:r,number:n,string:i,moment:d},end:{date:r,number:n,string:i,moment:d},repeat:{string:i},__type__:{object:a,array:s}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:l},__type__:{object:a}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:a,number:n}},__type__:{object:a,number:n}},max:{date:r,number:n,string:i,moment:d},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:r,number:n,string:i,moment:d},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:a}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:r,number:n,string:i,moment:d},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:a}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:a}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:a}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:a}},c={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=u,e.configureOptions=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof c)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new v(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(114),r=o(s),a=i(122),h=o(a),d=(i(95),i(108),i(84)),l=i(1),u=i(91),c=i(93),p=i(123),f=i(126),m=i(138),v=i(142),g=i(140),y=i(145),b=i(122).printStyle,_=i(153).allOptions,w=i(153).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){var e=h.default.validate(t,_);e===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof c?t:new u(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})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=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;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!c.hidden&&this.itemsData.length>0&&d.push(c.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){this.id=a.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=a.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;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.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=a.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var s=i(62),r=o(s),a=i(1),h=i(90),d=i(91),l=i(93),u=i(124),c=i(146),p=i(148),f=i(152),m=i(149),v=i(151),g=i(150),y="__ungrouped__";n.prototype=new u,n.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new c(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new c(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new f(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new f(this.body,this.options.legend,"right",this.options.groups),this.show()},n.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var a={};for(this._getRelevantData(r,a,n,s),this._applySampling(r,a),e=0;e0)switch(t.options.style){case"line":l.hasOwnProperty(r[e])||(l[r[e]]=v.calcPath(a[r[e]],t)),v.draw(l[r[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||g.draw(a[r[e]],t,this.framework);break;case"bar":}}}return h.cleanupElements(this.svgElements),!1},n.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break} -}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,0==o?t[a].y=t[a].orginalY+r.y:t[a].y=t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},n.prototype._getRelevantData=function(t,e,i,o){var n,s,r,h;if(t.length>0)for(s=0;s0)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=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(n.getItems()):h=h.concat(n.getItems()):i[t[s]]=n.getYRange(o,t[s]));m.getStackedYRange(a,i,t,"__barStackLeft","left"),m.getStackedYRange(h,i,t,"__barStackRight","right")}},n.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=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var a=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(a=this.props.titleCharHeight);var d=this.options.icons===!0?Math.max(this.options.iconWidth,a)+this.options.labelOffsetX+15:a+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-d&&this.options.visible===!0?(this.width=this.maxLabelSize+d,this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+d),this.options.width=this.width+"px",h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(h.cleanupElements(this.DOMelements.lines),h.cleanupElements(this.DOMelements.labels),e=!1),e},n.prototype.convertValue=function(t){return this.scale.convertValue(t)},n.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},n.prototype._redrawLabel=function(t,e,i,o,n){var s=h.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>.5*(h.magnitudefactor*h.minorSteps[h.minorStepIdx])?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])===0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},n.prototype.getItems=function(){return this.itemsData},n.prototype.setZeroPosition=function(t){this.zeroPosition=t},n.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];a.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),a.mergeOptions(this.options,t,"interpolation"),a.mergeOptions(this.options,t,"drawPoints"),a.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,r.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},n.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},n.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){var s=document.createElementNS("http://www.w3.org/2000/svg","svg");i={svg:s,svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":d.drawIcon(this,o,n,t,e,i);break;case"points":case"point":l.drawIcon(this,o,n,t,e,i);break;case"bar":h.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},n.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){var i=[];return i=1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=s,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},n.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,r.default)(this.groups);t.sort(function(t,e){return t0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(159),d=o(h),l=i(160),u=o(l),c=i(1),p=i(91),f=i(93),m=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(d.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.nodes;if(t instanceof p||t instanceof f)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new p,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new p}o&&c.forEach(this.nodesListeners,function(t,e){o.off(e,t)}),this.body.nodes={},this.body.data.nodes&&!function(){var t=e;c.forEach(e.nodesListeners,function(e,i){t.body.data.nodes.on(i,e)});var i=e.body.data.nodes.getIds();e.add(i,!0)}(),i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:d.default;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(j.selectiveNotDeepExtend(n,t,e,i),j.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=j.parseColor(e.color);j.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=j.bridgeObject(o.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))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=j.bridgeObject(o.font)),void 0!==e.scaling&&j.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(2),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(1),m=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,p.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=f.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,d.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=f.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=f.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=f.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===("undefined"==typeof a?"undefined":(0,d.default)(a))){var h=f.topMost(o,["heightConstraint","minimum"]);"number"==typeof h&&(this.fontOptions.minHgt=Number(h));var l=f.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=f.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var h,d=(0,a.default)(o);!(n=(h=d.next()).done);n=!0){var l=h.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*p}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(f)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&d.return&&d.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,h=a*this.body.view.scale;h>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var d=this.size.yLine,l=this._setAlignment(t,o,d,r),u=(0,s.default)(l,2);o=u[0],d=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(d-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(d+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=m.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=y,m.strokeWidth>0&&t.strokeText(m.text,o+p,d+m.vadjust),t.fillText(m.text,o+p,d+m.vadjust),p+=m.width}d+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;var n=2;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=2*n):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=2*n):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=f.overrideOpacity(o,s),n=f.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,h,d){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:h,strokeColor:d})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,h,d){this.add(t,e,i,o,n,s,r,a,h,d),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),h=a.length;if(this.elementOptions.font.multi)for(var d=0;d0)for(var m=this.getFormattingValues(t,e,i,l[f].mod),v=l[f].text.split(" "),g=!0,y="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=m.height>c?m.height:c,s.add(r,y,m.font,m.color,_.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,_.width,c),y="",g=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(y=y+x+v[w],w===v.length-1&&(c=m.height>c?m.height:c,u+=b.width,s.add(r,y,m.font,m.color,b.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,b.width,c),f===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,g=!1)}else{var k=this.getFormattingValues(t,e,i,l[f].mod),O=t.measureText(l[f].text);s.addAndAccumulate(r,l[f].text,k.font,k.color,O.width,k.height,k.vadjust,l[f].mod,k.strokeWidth,k.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===f&&(n+=s[r].height,r++)}}}else for(var D=0;D0)for(var S=a[D].split(" "),C="",T={width:0},E=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=E.width?(s.addAndAccumulate(r,C,M.font,M.color,E.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,C="",r++):(C=C+I+S[P],P===S.length-1&&(s.addAndAccumulate(r,C,M.font,M.color,T.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var N=a[D],z=t.measureText(N);s.addAndAccumulate(r,N,M.font,M.color,z.width,M.size,M.vadjust,"normal",M.strokeWidth,M.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,d.default)(e.font)&&f.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(162),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(163),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(164)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){t.exports={default:i(167),__esModule:!0}},function(t,e,i){i(168),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(62),s=o(n);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"==typeof e?"undefined":(0,s.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(171),s=o(n),r=i(55),a=o(r),h=i(62),d=o(h);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,d.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(172),__esModule:!0}},function(t,e,i){i(173),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(174).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,d.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(e,i)){ -this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"setOptions",value:function(t,e){this.options=t,e&&(this.imageObj=e)}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,h=1;i>2&&h<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,h+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r._swapToImageResizeWhenImageLoaded=!0,r}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var h=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,h),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),h>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var d=n+.5*this.height+3;this.labelModule.draw(t,o,d,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){var r=5;this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+r,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){var i=5;this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+i)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(177),m=o(f),v=function(t){function e(t,i,o,n){(0,a.default)(this,e);var r=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return r.imageObj=n,r}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),h>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(175),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(192),d=o(h),l=i(160),u=o(l),c=i(1),p=i(91),f=i(93),m=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){"dynamic"===e&&(e="continuous");var i=!1;for(var o in t.body.edges)if(t.body.edges.hasOwnProperty(o)){var n=t.body.edges[o],s=t.body.data.edges._data[o];if(void 0!==s){var r=s.smooth;void 0!==r&&r.enabled===!0&&"dynamic"===r.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),i=!0)}}i===!0&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(this.edgeOptions=t,void 0!==t){d.default.parseOptions(this.options,t);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule()}void 0===t.hidden&&void 0===t.physics&&e!==!0||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof p||t instanceof f)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new p,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new p}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.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,this.hover)}}}},{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 h0&&i<0)&&(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:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,d.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var h=!1;void 0!==e.color.color&&(t.color.color=e.color.color,h=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,h=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,h=!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&&h===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?m.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=D},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(166),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(169),p=o(c),f=i(170),m=o(f),v=i(194),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3);var h=a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,d=a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y;return{x:h,y:d}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(195),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=10,d=0,l=0,u=1,c=.2,p=this.to,f=!1;for(t.id===this.from.id&&(p=this.from,f=!0);l<=u&&d0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=ho.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);s<=r&&d0?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,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:d}},{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:d<0&&(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:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=h.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=h.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}var w=15*c+3*f,x=h.x-.9*w*Math.cos(a),k=h.y-.9*w*Math.sin(a),O={x:x,y:k};return{point:h,core:O,angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(166),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(169),p=o(c),f=i(170),m=o(f),v=i(195),g=o(v),y=function(t){function e(t,i,o){(0,d.default)(this,e);var n=(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,m.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(195),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.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=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.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=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.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.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.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(166),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(169),u=o(l),c=i(170),p=o(c),f=i(196),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(201),u=o(l),c=i(202),p=o(c),f=i(203),m=o(f),v=i(204),g=o(v),y=i(205),b=o(y),_=i(206),w=o(_),x=i(207),k=o(x),O=i(208),D=o(O),M=i(1),S=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},M.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,M.selectiveNotDeepExtend(["stabilization"],this.options,t),M.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new k.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new D.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new p.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new m.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick();var e=Date.now()-t;(e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){var t=1.2;this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=t*this.timestep:this.timestep/ts))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=5,s=0;se?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=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;return"number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length?void(this.ready=!0):(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,void setTimeout(function(){return t._stabilizationBatch()},0))}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){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;s0&&(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,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));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;h0&&(dr&&(r=d),la&&(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 y=0;y0&&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+=this.seededRandom(),e.y+=this.seededRandom()):(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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,p=4/3,f=0;f0){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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),h=i(115),d=o(h),l=i(116),u=o(l),c=i(210),p=o(c),f=i(211),m=o(f),v=i(1),g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},v.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===("undefined"==typeof t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=0;u0&&(0,s.default)(f).length>0&&v===!0&&o.push({nodes:c,edges:f})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.default.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],f=0;f0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=v.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var h in t)if(t.hasOwnProperty(h)){var d=p.default.cloneOptions(t[h]);a.push(d)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=p.default.cloneOptions(e[u],"edge");l.push(c)}if(r=i.processProperties(r,a,l),!r)throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+v.randomUUID());var f=r.id;void 0===r.label&&(r.label="cluster");var g=void 0;void 0===r.x&&(g=this._getClusterPosition(t),r.x=g.x),void 0===r.y&&(void 0===g&&(g=this._getClusterPosition(t)),r.y=g.y),r.id=f;var y=this.body.functions.createNode(r,m.default);y.isCluster=!0,y.containedNodes=t,y.containedEdges=e,y.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=y,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,h=1;ho?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];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 o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var h in n)if(n.hasOwnProperty(h)){var d=this.body.nodes[h];r[h]={x:d.x,y:d.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var f in n)if(n.hasOwnProperty(f)){var m=this.body.nodes[f];m=n[f],m.options.fixed.x===!1&&(m.x=o.x),m.options.fixed.y===!1&&(m.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_o&&(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=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(1),d=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,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"];h.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(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0, -this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!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(),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;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),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),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[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&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(210),d=o(h),l=i(1),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.default.getRange(this.body.nodes,t.nodes);var a=this.body.nodeIndices.length;o=12.662/(a+7.4147)+.0964822;var h=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600);o*=h}else{this.body.emitter.emit("_resizeNodes"),i=d.default.getRange(this.body.nodes,t.nodes);var l=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),c=this.canvas.frame.canvas.clientWidth/l,p=this.canvas.frame.canvas.clientHeight/u;o=c<=p?c:p}o>1?o=1:0===o&&(o=1);var f=d.default.findCenter(i),m={position:f,scale:o,animation:t.animation};this.moveTo(m)}},{key:"focus",value:function(t){var e=arguments.length>1&&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.getViewPosition()),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.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.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=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(216),d=o(h),l=i(128),u=o(l),c=i(1),p=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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||t.changedPointers[0].metaKey);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.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&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(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanged,c=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):u===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):h-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(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"),i0&&(this.popupObj=h[l[l.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=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.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=void 0!==o&&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=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=(i(1),i(108)),d=i(121),l=i(111),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o; -this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),s=o(n),r=i(116),a=o(r),h=i(159),d=o(h),l=i(192),u=o(l),c=i(1),p=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];c.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,i.isSelected()===!0?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof d.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(161),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(210),m=o(f),v=i(1),g=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},v.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,p.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(v.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),v.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),v.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,d.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.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:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),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){this.randomSeed=this.initialRandomSeed;for(var e=0;es){for(var r=this.body.nodeIndices.length;this.body.nodeIndices.length>s;){n+=1;var a=this.body.nodeIndices.length;n%3===0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();var h=this.body.nodeIndices.length;if(a==h&&n%3!==0||n>o)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*r)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var d=70,l=0;l0){var t=void 0,e=void 0,i=!1,o=!0,n=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&(o=!1),void 0!==t.options.level?(i=!0,this.hierarchicalLevels[e]=t.options.level):n=!0);if(n===!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.");n===!0&&("hubsize"===this.options.hierarchical.sortMethod?this._determineLevelsByHubsize():"directed"===this.options.hierarchical.sortMethod?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&void 0===this.hierarchicalLevels[s]&&(this.hierarchicalLevels[s]=0);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(){for(var e=h(),i=0,o=0;o0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchicalLevels[d.id],u=t._getPositionForHierarchy(d),c=t._getSpaceAroundNode(d,e),p=(0,a.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},u=function e(i){var o=t.hierarchicalLevels[i];if(t.hierarchicalChildrenReference[i]){var n=t.hierarchicalChildrenReference[i];if(n.length>0)for(var s=0;s1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o),h=Math.abs(r-s);if(h>t.options.hierarchical.nodeSpacing){var u={};u[i.id]=!0;var p={};p[o.id]=!0,d(i,u),d(o,p);var f=c(i,o),m=l(u,f),v=(0,a.default)(m,4),g=(v[0],v[1]),y=(v[2],v[3],l(p,f)),b=(0,a.default)(y,4),_=b[0],w=(b[1],b[2]),x=(b[3],Math.abs(g-_));if(x>t.options.hierarchical.nodeSpacing){var k=g-_+t.options.hierarchical.nodeSpacing;k<-w+t.options.hierarchical.nodeSpacing&&(k=-w+t.options.hierarchical.nodeSpacing),k<0&&(t._shiftBlock(o.id,k),e=!0,n===!0&&t._centerParent(o))}}},v=function(o,n){for(var s=n.id,r=n.edges,h=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):f<0&&(m=-Math.min(-f,c-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)},w=function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),h=r[0],d=r[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)},x=b(o,p);_(x),x=b(o,r),w(x)},g=function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var d=0;d0&&Math.abs(g)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&(e=this._getHubSize(),0!==e);)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=1e5,i=function(t,e,i){},o=function(o,n,s){var r=t.hierarchicalLevels[o.id];void 0===r&&(t.hierarchicalLevels[o.id]=e);var a=i(m.default.cloneOptions(o,"node"),m.default.cloneOptions(n,"node"),m.default.cloneOptions(s,"edge"));t.hierarchicalLevels[n.id]=t.hierarchicalLevels[o.id]+a};this._crawlNetwork(o),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=1e4,i=function(i,o,n){var s=t.hierarchicalLevels[i.id];void 0===s&&(t.hierarchicalLevels[i.id]=e),n.toId==o.id?t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]+1:t.hierarchicalLevels[o.id]=t.hierarchicalLevels[i.id]-1};this._crawlNetwork(i),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3];o!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(82),a=o(r),h=i(62),d=o(h),l=i(115),u=o(l),c=i(116),p=o(c),f=i(1),m=i(108),v=i(121),g=function(){ -function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){var t=this;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var e=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(e.from,e.to)}if(this.guiEnabled===!0){var i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId?!function(){var e=t.body.edges[t.edgeBeingEditedId],i=t._getNewTargetNode(e.from.x,e.from.y),o=t._getNewTargetNode(e.to.x,e.to.y);t.temporaryIds.nodes.push(i.id),t.temporaryIds.nodes.push(o.id),t.body.nodes[i.id]=i,t.body.nodeIndices.push(i.id),t.body.nodes[o.id]=o,t.body.nodeIndices.push(o.id),t._temporaryBindUI("onTouch",t._controlNodeTouch.bind(t)),t._temporaryBindUI("onTap",function(){}),t._temporaryBindUI("onHold",function(){}),t._temporaryBindUI("onDragStart",t._controlNodeDragStart.bind(t)),t._temporaryBindUI("onDrag",t._controlNodeDrag.bind(t)),t._temporaryBindUI("onDragEnd",t._controlNodeDragEnd.bind(t)),t._temporaryBindUI("onMouseMove",function(){}),t._temporaryBindEvent("beforeDrawing",function(t){var n=e.edgeType.findBorderPositions(t);i.selected===!1&&(i.x=n.from.x,i.y=n.from.y),o.selected===!1&&(o.x=n.to.x,o.y=n.to.y)}),t.body.emitter.emit("_redraw")}():this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){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.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{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=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.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&&(f.recursiveDOMDelete(this.editModeDiv),f.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=f.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"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:f.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.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().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.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===("undefined"==typeof n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="array",r="object",a="dom",h="any",d={configure:{enabled:{boolean:o},filter:{boolean:o,string:i,array:s,function:"function"},container:{dom:a},showButton:{boolean:o},__type__:{object:r,boolean:o,string:i,array:s,function:"function"}},edges:{arrows:{to:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},middle:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},from:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:r,boolean:o}},__type__:{string:["from","to","middle"],object:r}},arrowStrikethrough:{boolean:o},chosen:{label:{boolean:o,function:"function"},edge:{boolean:o,function:"function"},__type__:{object:r,boolean:o}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],boolean:o},opacity:{number:n},__type__:{object:r,string:i}},dashes:{boolean:o,array:s},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},__type__:{object:r,string:i}},hidden:{boolean:o},hoverWidth:{function:"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},length:{number:n,undefined:"undefined"},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:r}},selectionWidth:{function:"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,boolean:o}},smooth:{enabled:{boolean:o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],boolean:o},__type__:{object:r,boolean:o}},title:{string:i,undefined:"undefined"},width:{number:n},widthConstraint:{maximum:{number:n},__type__:{object:r,boolean:o,number:n}},value:{number:n,undefined:"undefined"},__type__:{object:r}},groups:{useDefaultGroups:{boolean:o},__any__:"get from nodes, will be overwritten below",__type__:{object:r}},interaction:{dragNodes:{boolean:o},dragView:{boolean:o},hideEdgesOnDrag:{boolean:o},hideNodesOnDrag:{boolean:o},hover:{boolean:o},keyboard:{enabled:{boolean:o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:r}},bindToWindow:{boolean:o},__type__:{object:r,boolean:o}},multiselect:{boolean:o},navigationButtons:{boolean:o},selectable:{boolean:o},selectConnectedEdges:{boolean:o},hoverConnectedEdges:{boolean:o},tooltipDelay:{number:n},zoomView:{boolean:o},__type__:{object:r}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{boolean:o},hierarchical:{enabled:{boolean:o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{boolean:o},edgeMinimization:{boolean:o},parentCentralization:{boolean:o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:r,boolean:o}},__type__:{object:r}},manipulation:{enabled:{boolean:o},initiallyActive:{boolean:o},addNode:{boolean:o,function:"function"},addEdge:{boolean:o,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:r,boolean:o,function:"function"}},deleteNode:{boolean:o,function:"function"},deleteEdge:{boolean:o,function:"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:r,boolean:o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},chosen:{label:{boolean:o,function:"function"},node:{boolean:o,function:"function"},__type__:{object:r,boolean:o}},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:r,string:i}},__type__:{object:r,string:i}},fixed:{x:{boolean:o},y:{boolean:o},__type__:{object:r,boolean:o}},font:{align:{string:i},color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:r,string:i}},__type__:{object:r,string:i}},group:{string:i,number:n,undefined:"undefined"},heightConstraint:{minimum:{number:n},valign:{string:i},__type__:{object:r,boolean:o,number:n}},hidden:{boolean:o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:r}},id:{string:i,number:n},image:{string:i,undefined:"undefined"},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},level:{number:n,undefined:"undefined"},margin:{top:{number:n},right:{number:n},bottom:{number:n},left:{number:n},__type__:{object:r,number:n}},mass:{number:n},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:r,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:r}},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:r,boolean:o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{boolean:o,array:s},borderRadius:{number:n},interpolation:{boolean:o},useImageSize:{boolean:o},useBorderWithImage:{boolean:o},__type__:{object:r}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},widthConstraint:{minimum:{number:n},maximum:{number:n},__type__:{object:r,boolean:o,number:n}},x:{number:n},y:{number:n},__type__:{object:r}},physics:{enabled:{boolean:o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:r}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:r}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{boolean:o},fit:{boolean:o},__type__:{object:r,boolean:o}},timestep:{number:n},adaptiveTimestep:{boolean:o},__type__:{object:r,boolean:o}},autoResize:{boolean:o},clickToUse:{boolean:o},locale:{string:i},locales:{__any__:{any:h},__type__:{object:r}},height:{string:i},width:{string:i},__type__:{object:r}};d.groups.__any__=d.nodes,d.manipulation.controlNodeStyle=d.nodes;var l={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,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",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"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},arrowStrikethrough:!0,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:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,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:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",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","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,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,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0 -},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.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,1.2,.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,.01,1,.01]}};e.allOptions=d,e.configureOptions=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(161),s=o(n),r=i(115),a=o(r),h=i(116),d=o(h),l=i(222),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=.01,r=1,a=0,h=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),d=5,l=1e9,u=0,c=0,p=0,f=0,m=0;l>n&&ar&&m=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-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){return t&&t.__esModule?t:{default:t}}function n(t){return R=t,m()}function s(){L=0,A=R.charAt(0)}function r(){L++,A=R.charAt(L)}function a(){return R.charAt(L+1)}function h(t){return H.test(t)}function d(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function l(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 u(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;i=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&a.nodes.push(n)}e.attr&&(n.attr=d(n.attr,e.attr))}function c(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=d({},t.edge);e.attr=d(i,e.attr)}}function p(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=d({},t.edge)),s.attr=d(s.attr||{},n),s}function f(){for(F=N.NULL,B="";" "===A||"\t"===A||"\n"===A||"\r"===A;)r();do{var t=!1;if("#"===A){for(var e=L-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=A&&"\n"!=A;)r();t=!0}}if("/"===A&&"/"===a()){for(;""!=A&&"\n"!=A;)r();t=!0}if("/"===A&&"*"===a()){for(;""!=A;){if("*"===A&&"/"===a()){r(),r();break}r()}t=!0}for(;" "===A||"\t"===A||"\n"===A||"\r"===A;)r()}while(t);if(""===A)return void(F=N.DELIMITER);var i=A+a();if(z[i])return F=N.DELIMITER,B=i,r(),void r();if(z[A])return F=N.DELIMITER,B=A,void r();if(h(A)||"-"===A){for(B+=A,r();h(A);)B+=A,r();return"false"===B?B=!1:"true"===B?B=!0:isNaN(Number(B))||(B=Number(B)),void(F=N.IDENTIFIER)}if('"'===A){for(r();""!=A&&('"'!=A||'"'===A&&'"'===a());)B+=A,'"'===A&&r(),r();if('"'!=A)throw k('End of string " expected');return r(),void(F=N.IDENTIFIER)}for(F=N.UNKNOWN;""!=A;)B+=A,r();throw new SyntaxError('Syntax error in part "'+O(B,30)+'"')}function m(){var t={};if(s(),f(),"strict"===B&&(t.strict=!0,f()),"graph"!==B&&"digraph"!==B||(t.type=B,f()),F===N.IDENTIFIER&&(t.id=B,f()),"{"!=B)throw k("Angle bracket { expected");if(f(),v(t),"}"!=B)throw k("Angle bracket } expected");if(f(),""!==B)throw k("End of file expected");return f(),delete t.node,delete t.edge,delete t.graph,t}function v(t){for(;""!==B&&"}"!=B;)g(t),";"===B&&f()}function g(t){var e=y(t);if(e)return void w(t,e);var i=b(t);if(!i){if(F!=N.IDENTIFIER)throw k("Identifier expected");var o=B;if(f(),"="===B){if(f(),F!=N.IDENTIFIER)throw k("Identifier expected");t[o]=B,f()}else _(t,o)}}function y(t){var e=null;if("subgraph"===B&&(e={},e.type="subgraph",f(),F===N.IDENTIFIER&&(e.id=B,f())),"{"===B){if(f(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,v(e),"}"!=B)throw k("Angle bracket } expected");f(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function b(t){return"node"===B?(f(),t.node=x(),"node"):"edge"===B?(f(),t.edge=x(),"edge"):"graph"===B?(f(),t.graph=x(),"graph"):null}function _(t,e){var i={id:e},o=x();o&&(i.attr=o),u(t,i),w(t,e)}function w(t,e){for(;"->"===B||"--"===B;){var i,o=B;f();var n=y(t);if(n)i=n;else{if(F!=N.IDENTIFIER)throw k("Identifier or subgraph expected");i=B,u(t,{id:i}),f()}var s=x(),r=p(t,e,i,o,s);c(t,r),e=i}}function x(){for(var t=null;"["===B;){for(f(),t={};""!==B&&"]"!=B;){if(F!=N.IDENTIFIER)throw k("Attribute name expected");var e=B;if(f(),"="!=B)throw k("Equal sign = expected");if(f(),F!=N.IDENTIFIER)throw k("Attribute value expected");var i=B;l(t,e,i),f(),","==B&&f()}if("]"!=B)throw k("Bracket ] expected");f()}return t}function k(t){return new SyntaxError(t+', got "'+O(B,30)+'" (char '+L+")")}function O(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function D(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 M(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",L=0,A="",B="",F=N.NULL,H=/[a-zA-Z_0-9.:#]/;e.parseDOT=n,e.DOTToGraph=C},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2];for(var n in t)void 0!==i[n]&&("object"!==(0,u.default)(i[n])?void 0!==i[n]&&null!==i[n]||void 0===t[n]||o!==!0?t[n]=i[n]:delete t[n]:"object"===(0,u.default)(t[n])&&e.fillIfDefined(t[n],i[n],o))},e.protoExtend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s=2;s3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var s in o)if(o.hasOwnProperty(s)&&t.indexOf(s)==-1)if(o[s]&&o[s].constructor===Object)void 0===i[s]&&(i[s]={}),i[s].constructor===Object?e.deepExtend(i[s],o[s]):null===o[s]&&void 0!==i[s]&&n===!0?delete i[s]:i[s]=o[s];else if(Array.isArray(o[s])){i[s]=[];for(var r=0;r=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){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,o){return e+e+i+i+o+o});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null},e.overrideOpacity=function(t,i){if(t.indexOf("rgba")!=-1)return t;if(t.indexOf("rgb")!=-1){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:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,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;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var m={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(0,d.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=m.split(t.style.cssText),n=m.split(i),s=e.extend(o,n);t.style.cssText=m.join(s)},e.removeCssText=function(t,e){var i=m.split(t.style.cssText),o=m.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=m.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){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if("object"==(void 0===i?"undefined":(0,u.default)(i))){for(var o=(0,a.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=(arguments.length>3&&void 0!==arguments[3]&&arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:{});if(null===e[i])t[i]=(0,a.default)(o[i]);else if(void 0!==e[i])if("boolean"==typeof e[i])t[i].enabled=e[i];else{void 0===e[i].enabled&&(t[i].enabled=!0);for(var n in e[i])e[i].hasOwnProperty(n)&&(t[i][n]=e[i][n])}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;l==-1?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){for(var s,r,a,h,d=0,l=0,u=t.length-1,n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-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 t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?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 t<.5?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 t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,r=void 0;try{for(var a,h=(0,s.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;l=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports={}},function(t,e,i){var o=i(10),n=i(12);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==o(t)?t.split(""):Object(t)}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,i){var o=i(14),n=i(15),s=i(30),r=i(20),a=i(31),h=i(8),d=i(32),l=i(46),u=i(48),c=i(47)("iterator"),p=!([].keys&&"next"in[].keys()),f=function(){return this};t.exports=function(t,e,i,m,v,g,y){d(i,e,m);var b,_,w,x=function(t){if(!p&&t in D)return D[t];switch(t){case"keys":return function(){return new i(this,t)};case"values":return function(){return new i(this,t)}}return function(){return new i(this,t)}},k=e+" Iterator",O="values"==v,S=!1,D=t.prototype,M=D[c]||D["@@iterator"]||v&&D[v],C=M||x(v),T=v?O?x("entries"):C:void 0,E="Array"==e?D.entries||M:M;if(E&&(w=u(E.call(new t)))!==Object.prototype&&(l(w,k,!0),o||a(w,c)||r(w,c,f)),O&&M&&"values"!==M.name&&(S=!0,C=function(){return M.call(this)}),o&&!y||!p&&!S&&D[c]||r(D,c,C),h[e]=C,h[k]=f,v)if(b={values:O?C:x("values"),keys:g?C:x("keys"),entries:T},y)for(_ in b)_ in D||s(D,_,b[_]);else n(n.P+n.F*(p||S),e,b);return b}},function(t,e){t.exports=!0},function(t,e,i){var o=i(16),n=i(17),s=i(18),r=i(20),a=function(t,e,i){var h,d,l,u=t&a.F,c=t&a.G,p=t&a.S,f=t&a.P,m=t&a.B,v=t&a.W,g=c?n:n[e]||(n[e]={}),y=g.prototype,b=c?o:p?o[e]:(o[e]||{}).prototype;c&&(i=e);for(h in i)(d=!u&&b&&void 0!==b[h])&&h in g||(l=d?b[h]:i[h],g[h]=c&&"function"!=typeof b[h]?i[h]:m&&d?s(l,o):v&&b[h]==l?function(t){var e=function(e,i,o){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,o)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):f&&"function"==typeof l?s(Function.call,l):l,f&&((g.virtual||(g.virtual={}))[h]=l,t&a.R&&y&&!y[h]&&r(y,h,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var o=i(19);t.exports=function(t,e,i){if(o(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,o){return t.call(e,i,o)};case 3:return function(i,o,n){return t.call(e,i,o,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(21),n=i(29);t.exports=i(25)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(22),n=i(24),s=i(28),r=Object.defineProperty;e.f=i(25)?Object.defineProperty:function(t,e,i){if(o(t),e=s(e,!0),o(i),n)try{return r(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){var o=i(23);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){t.exports=!i(25)&&!i(26)(function(){return 7!=Object.defineProperty(i(27)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){t.exports=!i(26)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){var o=i(23),n=i(16).document,s=o(n)&&o(n.createElement);t.exports=function(t){return s?n.createElement(t):{}}},function(t,e,i){var o=i(23);t.exports=function(t,e){if(!o(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!o(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!o(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,i){t.exports=i(20)},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var o=i(33),n=i(29),s=i(46),r={};i(20)(r,i(47)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(22),n=i(34),s=i(44),r=i(41)("IE_PROTO"),a=function(){},h=function(){var t,e=i(27)("iframe"),o=s.length;for(e.style.display="none",i(45).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(""),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e,i){var o=i(21),n=i(22),s=i(35);t.exports=i(25)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(36),n=i(44);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){var o=i(31),n=i(9),s=i(37)(!1),r=i(41)("IE_PROTO");t.exports=function(t,e){var i,a=n(t),h=0,d=[];for(i in a)i!=r&&o(a,i)&&d.push(i);for(;e.length>h;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(9),n=i(38),s=i(40);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(39),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(39),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(42)("keys"),n=i(43);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(16),n=o["__core-js_shared__"]||(o["__core-js_shared__"]={});t.exports=function(t){return n[t]||(n[t]={})}},function(t,e){var i=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+o).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){t.exports=i(16).document&&document.documentElement},function(t,e,i){var o=i(21).f,n=i(31),s=i(47)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(42)("wks"),n=i(43),s=i(16).Symbol,r="function"==typeof s;(t.exports=function(t){return o[t]||(o[t]=r&&s[t]||(r?s:n)("Symbol."+t))}).store=o},function(t,e,i){var o=i(31),n=i(49),s=i(41)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(12);t.exports=function(t){return Object(o(t))}},function(t,e,i){var o=i(51)(!0);i(13)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){var o=i(39),n=i(12);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(22),n=i(53);t.exports=i(17).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){var o=i(11),n=i(47)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){t.exports={default:i(56),__esModule:!0}},function(t,e,i){i(57);var o=i(17).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(15);o(o.S,"Object",{create:i(33)})},function(t,e,i){t.exports={default:i(59),__esModule:!0}},function(t,e,i){i(60),t.exports=i(17).Object.keys},function(t,e,i){var o=i(49),n=i(35);i(61)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){var o=i(15),n=i(17),s=i(26);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(63),s=o(n),r=i(66),a=o(r),h="function"==typeof a.default&&"symbol"==typeof s.default?function(t){return typeof t}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":typeof t};e.default="function"==typeof a.default&&"symbol"===h(s.default)?function(t){return void 0===t?"undefined":h(t)}:function(t){return t&&"function"==typeof a.default&&t.constructor===a.default&&t!==a.default.prototype?"symbol":void 0===t?"undefined":h(t)}},function(t,e,i){t.exports={default:i(64),__esModule:!0}},function(t,e,i){i(50),i(4),t.exports=i(65).f("iterator")},function(t,e,i){e.f=i(47)},function(t,e,i){t.exports={default:i(67),__esModule:!0}},function(t,e,i){i(68),i(79),i(80),i(81),t.exports=i(17).Symbol},function(t,e,i){var o=i(16),n=i(31),s=i(25),r=i(15),a=i(30),h=i(69).KEY,d=i(26),l=i(42),u=i(46),c=i(43),p=i(47),f=i(65),m=i(70),v=i(71),g=i(72),y=i(75),b=i(22),_=i(9),w=i(28),x=i(29),k=i(33),O=i(76),S=i(78),D=i(21),M=i(35),C=S.f,T=D.f,E=O.f,P=o.Symbol,I=o.JSON,N=I&&I.stringify,R=p("_hidden"),z=p("toPrimitive"),A={}.propertyIsEnumerable,L=l("symbol-registry"),B=l("symbols"),F=l("op-symbols"),j=Object.prototype,H="function"==typeof P,W=o.QObject,Y=!W||!W.prototype||!W.prototype.findChild,G=s&&d(function(){return 7!=k(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(j,e);o&&delete j[e],T(t,e,i),o&&t!==j&&T(j,e,o)}:T,V=function(t){var e=B[t]=k(P.prototype);return e._k=t,e},U=H&&"symbol"==typeof P.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof P},q=function(t,e,i){return t===j&&q(F,e,i),b(t),e=w(e,!0),b(i),n(B,e)?(i.enumerable?(n(t,R)&&t[R][e]&&(t[R][e]=!1),i=k(i,{enumerable:x(0,!1)})):(n(t,R)||T(t,R,x(1,{})),t[R][e]=!0),G(t,e,i)):T(t,e,i)},X=function(t,e){b(t);for(var i,o=g(e=_(e)),n=0,s=o.length;s>n;)q(t,i=o[n++],e[i]);return t},Z=function(t,e){return void 0===e?k(t):X(k(t),e)},K=function(t){var e=A.call(this,t=w(t,!0));return!(this===j&&n(B,t)&&!n(F,t))&&(!(e||!n(this,t)||!n(B,t)||n(this,R)&&this[R][t])||e)},Q=function(t,e){if(t=_(t),e=w(e,!0),t!==j||!n(B,e)||n(F,e)){var i=C(t,e);return!i||!n(B,e)||n(t,R)&&t[R][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=E(_(t)),o=[],s=0;i.length>s;)n(B,e=i[s++])||e==R||e==h||o.push(e);return o},$=function(t){for(var e,i=t===j,o=E(i?F:_(t)),s=[],r=0;o.length>r;)!n(B,e=o[r++])||i&&!n(j,e)||s.push(B[e]);return s};H||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===j&&e.call(F,i),n(this,R)&&n(this[R],t)&&(this[R][t]=!1),G(this,t,x(1,i))};return s&&Y&&G(j,t,{configurable:!0,set:e}),V(t)},a(P.prototype,"toString",function(){return this._k}),S.f=Q,D.f=q,i(77).f=O.f=J,i(74).f=K,i(73).f=$,s&&!i(14)&&a(j,"propertyIsEnumerable",K,!0),f.f=function(t){return V(p(t))}),r(r.G+r.W+r.F*!H,{Symbol:P});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)p(tt[et++]);for(var tt=M(p.store),et=0;tt.length>et;)m(tt[et++]);r(r.S+r.F*!H,"Symbol",{for:function(t){return n(L,t+="")?L[t]:L[t]=P(t)},keyFor:function(t){if(U(t))return v(L,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),r(r.S+r.F*!H,"Object",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:J,getOwnPropertySymbols:$}),I&&r(r.S+r.F*(!H||d(function(){var t=P();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&y(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!U(e))return e}),o[1]=e,N.apply(I,o)}}}),P.prototype[z]||i(20)(P.prototype,z,P.prototype.valueOf),u(P,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(43)("meta"),n=i(23),s=i(31),r=i(21).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(26)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(16),n=i(17),s=i(14),r=i(65),a=i(21).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e,i){var o=i(35),n=i(9);t.exports=function(t,e){for(var i,s=n(t),r=o(s),a=r.length,h=0;a>h;)if(s[i=r[h++]]===e)return i}},function(t,e,i){var o=i(35),n=i(73),s=i(74);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var o=i(11);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(9),n=i(77).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e,i){var o=i(36),n=i(44).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(74),n=i(29),s=i(9),r=i(28),a=i(31),h=i(24),d=Object.getOwnPropertyDescriptor;e.f=i(25)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e){},function(t,e,i){i(70)("asyncIterator")},function(t,e,i){i(70)("observable")},function(t,e,i){t.exports="undefined"!=typeof window&&window.moment||i(83)},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return mo.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){var e;for(e in t)return!1;return!0}function s(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function r(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function a(t,e){var i,o=[];for(i=0;i0)for(i in yo)o=yo[i],n=e[o],m(n)||(t[o]=n);return t}function g(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),bo===!1&&(bo=!0,e.updateOffset(this),bo=!1)}function y(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function b(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function _(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=b(e)),i}function w(t,e,i){var o,n=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),r=0;for(o=0;o0?"future":"past"];return S(i)?i(e):i.replace(/%s/i,e)}function z(t,e){var i=t.toLowerCase();Mo[i]=Mo[i+"s"]=Mo[e]=t}function A(t){return"string"==typeof t?Mo[t]||Mo[t.toLowerCase()]:void 0}function L(t){var e,i,o={};for(i in t)h(t,i)&&(e=A(i))&&(o[e]=t[i]);return o}function B(t,e){Co[t]=e}function F(t){var e=[];for(var i in t)e.push({unit:i,priority:Co[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,i){return function(o){return null!=o?(W(this,t,o),e.updateOffset(this,i),this):H(this,t)}}function H(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function W(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}function Y(t){return t=A(t),S(this[t])?this[t]():this}function G(t,e){if("object"==typeof t){t=L(t);for(var i=F(t),o=0;o=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function U(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Io[t]=n),e&&(Io[e[0]]=function(){return V(n.apply(this,arguments),e[1],e[2])}),i&&(Io[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function q(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function X(t){var e,i,o=t.match(To);for(e=0,i=o.length;e=0&&Eo.test(t);)t=t.replace(Eo,i),Eo.lastIndex=0,o-=1;return t}function Q(t,e,i){Lo[t]=S(e)?e:function(t,o){return t&&i?i:e}}function J(t,e){return h(Lo,t)?Lo[t](e._strict,e._locale):new RegExp($(t))}function $(t){return tt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function tt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function et(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),s(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function bt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function _t(t,e,i){var o=7+e-i;return-((7+bt(t,0,o).getUTCDay()-e)%7)+o-1}function wt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=_t(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=mt(s)+d):d>mt(t)?(s=t+1,r=d-mt(t)):(s=t,r=d),{year:s,dayOfYear:r}}function xt(t,e,i){var o,n,s=_t(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+kt(n,e,i)):r>kt(t.year(),e,i)?(o=r-kt(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function kt(t,e,i){var o=_t(t,e,i),n=_t(t+1,e,i);return(mt(t)-o+n)/7}function Ot(t){return xt(t,this._week.dow,this._week.doy).week}function St(){return this._week.dow}function Dt(){return this._week.doy}function Mt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ct(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Et(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Pt(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:this._weekdays}function It(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Nt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Rt(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=l([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=Xo.call(this._weekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=Xo.call(this._shortWeekdaysParse,r),n!==-1?n:null):(n=Xo.call(this._minWeekdaysParse,r),n!==-1?n:null):"dddd"===e?(n=Xo.call(this._weekdaysParse,r))!==-1?n:(n=Xo.call(this._shortWeekdaysParse,r))!==-1?n:(n=Xo.call(this._minWeekdaysParse,r),n!==-1?n:null):"ddd"===e?(n=Xo.call(this._shortWeekdaysParse,r))!==-1?n:(n=Xo.call(this._weekdaysParse,r))!==-1?n:(n=Xo.call(this._minWeekdaysParse,r),n!==-1?n:null):(n=Xo.call(this._minWeekdaysParse,r))!==-1?n:(n=Xo.call(this._weekdaysParse,r))!==-1?n:(n=Xo.call(this._shortWeekdaysParse,r),n!==-1?n:null)}function zt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return Rt.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=l([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function At(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function Lt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Et(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ft(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=rn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function jt(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=an),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ht(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=hn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Wt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=l([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=tt(a[e]),h[e]=tt(h[e]),d[e]=tt(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Yt(){return this.hours()%12||12}function Gt(){return this.hours()||24}function Vt(t,e){U(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Ut(t,e){return e._meridiemParse}function qt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Xt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Kt(t){for(var e,i,o,n,s=0;s0;){if(o=Qt(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return null}function Qt(e){var i=null;if(!cn[e]&&void 0!==t&&t&&t.exports)try{i=dn._abbr,function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Jt(i)}catch(t){}return cn[e]}function Jt(t,e){var i;return t&&(i=m(e)?ee(t):$t(t,e))&&(dn=i),dn._abbr}function $t(t,e){if(null!==e){var i=un;if(e.abbr=t,null!=cn[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=cn[t]._config;else if(null!=e.parentLocale){if(null==cn[e.parentLocale])return pn[e.parentLocale]||(pn[e.parentLocale]=[]),pn[e.parentLocale].push({name:t,config:e}),null;i=cn[e.parentLocale]._config}return cn[t]=new C(M(i,e)),pn[t]&&pn[t].forEach(function(t){$t(t.name,t.config)}),Jt(t),cn[t]}return delete cn[t],null}function te(t,e){if(null!=e){var i,o=un;null!=cn[t]&&(o=cn[t]._config),e=M(o,e),i=new C(e),i.parentLocale=cn[t],cn[t]=i,Jt(t)}else null!=cn[t]&&(null!=cn[t].parentLocale?cn[t]=cn[t].parentLocale:null!=cn[t]&&delete cn[t]);return cn[t]}function ee(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return dn;if(!i(t)){if(e=Qt(t))return e;t=[t]}return Kt(t)}function ie(){return ko(cn)}function oe(t){var e,i=t._a;return i&&c(t).overflow===-2&&(e=i[jo]<0||i[jo]>11?jo:i[Ho]<1||i[Ho]>nt(i[Fo],i[jo])?Ho:i[Wo]<0||i[Wo]>24||24===i[Wo]&&(0!==i[Yo]||0!==i[Go]||0!==i[Vo])?Wo:i[Yo]<0||i[Yo]>59?Yo:i[Go]<0||i[Go]>59?Go:i[Vo]<0||i[Vo]>999?Vo:-1,c(t)._overflowDayOfYear&&(eHo)&&(e=Ho),c(t)._overflowWeeks&&e===-1&&(e=Uo),c(t)._overflowWeekday&&e===-1&&(e=qo),c(t).overflow=e),t}function ne(t){var e,i,o,n,s,r,a=t._i,h=fn.exec(a)||mn.exec(a);if(h){for(c(t).iso=!0,e=0,i=gn.length;emt(n)&&(c(t)._overflowDayOfYear=!0),i=bt(n,0,t._dayOfYear),t._a[jo]=i.getUTCMonth(),t._a[Ho]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Wo]&&0===t._a[Yo]&&0===t._a[Go]&&0===t._a[Vo]&&(t._nextDay=!0,t._a[Wo]=0),t._d=(t._useUTC?bt:yt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wo]=24)}}function de(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=re(e.GG,t._a[Fo],xt(ye(),1,4).year),o=re(e.W,1),((n=re(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=xt(ye(),s,r);i=re(e.gg,t._a[Fo],d.year),o=re(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>kt(i,s,r)?c(t)._overflowWeeks=!0:null!=h?c(t)._overflowWeekday=!0:(a=wt(i,o,n,s,r),t._a[Fo]=a.year,t._dayOfYear=a.dayOfYear)}function le(t){if(t._f===e.ISO_8601)return void ne(t);t._a=[],c(t).empty=!0;var i,o,n,s,r,a=""+t._i,h=a.length,d=0;for(n=K(t._f,t._locale).match(To)||[],i=0;i0&&c(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Io[s]?(o?c(t).empty=!1:c(t).unusedTokens.push(s),ot(s,o,t)):t._strict&&!o&&c(t).unusedTokens.push(s);c(t).charsLeftOver=h-d,a.length>0&&c(t).unusedInput.push(a),t._a[Wo]<=12&&c(t).bigHour===!0&&t._a[Wo]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[Wo]=ue(t._locale,t._a[Wo],t._meridiem),he(t),oe(t)}function ue(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function ce(t){var e,i,o,n,s;if(0===t._f.length)return c(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ae(){if(!m(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=me(t),t._a){var e=t._isUTC?l(t._a):ye(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Le(){return!!this.isValid()&&!this._isUTC}function Be(){return!!this.isValid()&&this._isUTC}function Fe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function je(t,e){var i,o,n,r=t,a=null;return ke(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:s(t)?(r={},e?r[e]=t:r.milliseconds=t):(a=On.exec(t))?(i="-"===a[1]?-1:1,r={y:0,d:_(a[Ho])*i,h:_(a[Wo])*i,m:_(a[Yo])*i,s:_(a[Go])*i,ms:_(Oe(1e3*a[Vo]))*i}):(a=Sn.exec(t))?(i="-"===a[1]?-1:1,r={y:He(a[2],i),M:He(a[3],i),w:He(a[4],i),d:He(a[5],i),h:He(a[6],i),m:He(a[7],i),s:He(a[8],i)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=Ye(ye(r.from),ye(r.to)),r={},r.ms=n.milliseconds,r.M=n.months),o=new xe(r),ke(t)&&h(t,"_locale")&&(o._locale=t._locale),o}function He(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function We(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 Ye(t,e){var i;return t.isValid()&&e.isValid()?(e=Me(e,t),t.isBefore(e)?i=We(t,e):(i=We(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Ge(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=je(i,o),Ve(this,n,t),this}}function Ve(t,i,o,n){var s=i._milliseconds,r=Oe(i._days),a=Oe(i._months);t.isValid()&&(n=null==n||n,s&&t._d.setTime(t._d.valueOf()+s*o),r&&W(t,"Date",H(t,"Date")+r*o),a&&dt(t,H(t,"Month")+a*o),n&&e.updateOffset(t,r||a))}function Ue(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function qe(t,i){var o=t||ye(),n=Me(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(S(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,ye(o)))}function Xe(){return new g(this)}function Ze(t,e){var i=y(t)?t:ye(t);return!(!this.isValid()||!i.isValid())&&(e=A(m(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()s&&(e=s),Pi.call(this,t,e,i,o,n))}function Pi(t,e,i,o,n){var s=wt(t,e,i,o,n),r=bt(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Ii(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ni(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 Ri(t,e){e[Vo]=_(1e3*("0."+t))}function zi(){return this._isUTC?"UTC":""}function Ai(){return this._isUTC?"Coordinated Universal Time":""}function Li(t){return ye(1e3*t)}function Bi(){return ye.apply(null,arguments).parseZone()}function Fi(t){return t}function ji(t,e,i,o){var n=ee(),s=l().set(o,e);return n[i](s,t)}function Hi(t,e,i){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return ji(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=ji(t,o,i,"month");return n}function Wi(t,e,i,o){"boolean"==typeof t?(s(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,s(e)&&(i=e,e=void 0),e=e||"");var n=ee(),r=t?n._week.dow:0;if(null!=i)return ji(e,(i+r)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=ji(e,(a+r)%7,o,"day");return h}function Yi(t,e){return Hi(t,e,"months")}function Gi(t,e){return Hi(t,e,"monthsShort")}function Vi(t,e,i){return Wi(t,e,i,"weekdays")}function Ui(t,e,i){return Wi(t,e,i,"weekdaysShort")}function qi(t,e,i){return Wi(t,e,i,"weekdaysMin")}function Xi(){var t=this._data;return this._milliseconds=An(this._milliseconds),this._days=An(this._days),this._months=An(this._months),t.milliseconds=An(t.milliseconds),t.seconds=An(t.seconds),t.minutes=An(t.minutes),t.hours=An(t.hours),t.months=An(t.months),t.years=An(t.years),this}function Zi(t,e,i,o){var n=je(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function Ki(t,e){return Zi(this,t,e,1)}function Qi(t,e){return Zi(this,t,e,-1)}function Ji(t){return t<0?Math.floor(t):Math.ceil(t)}function $i(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Ji(eo(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(to(r)),a+=n,r-=Ji(eo(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function to(t){return 4800*t/146097}function eo(t){return 146097*t/4800}function io(t){var e,i,o=this._milliseconds;if("month"===(t=A(t))||"year"===t)return e=this._days+o/864e5,i=this._months+to(e),"month"===t?i:i/12;switch(e=this._days+Math.round(eo(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function oo(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12)}function no(t){return function(){ +return this.as(t)}}function so(t){return t=A(t),this[t+"s"]()}function ro(t){return function(){return this._data[t]}}function ao(){return b(this.days()/7)}function ho(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function lo(t,e,i){var o=je(t).abs(),n=Jn(o.as("s")),s=Jn(o.as("m")),r=Jn(o.as("h")),a=Jn(o.as("d")),h=Jn(o.as("M")),d=Jn(o.as("y")),l=n<$n.s&&["s",n]||s<=1&&["m"]||s<$n.m&&["mm",s]||r<=1&&["h"]||r<$n.h&&["hh",r]||a<=1&&["d"]||a<$n.d&&["dd",a]||h<=1&&["M"]||h<$n.M&&["MM",h]||d<=1&&["y"]||["yy",d];return l[2]=e,l[3]=+t>0,l[4]=i,ho.apply(null,l)}function uo(t){return void 0===t?Jn:"function"==typeof t&&(Jn=t,!0)}function co(t,e){return void 0!==$n[t]&&(void 0===e?$n[t]:($n[t]=e,!0))}function po(t){var e=this.localeData(),i=lo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function fo(){var t,e,i,o=ts(this._milliseconds)/1e3,n=ts(this._days),s=ts(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o,c=this.asSeconds();return c?(c<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(h?h+"D":"")+(d||l||u?"T":"")+(d?d+"H":"")+(l?l+"M":"")+(u?u+"S":""):"P0D"}var mo,vo;vo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var tn=j("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),B("week",5),B("isoWeek",5),Q("w",/\d\d?/),Q("ww",/\d\d?/,/\d\d/),Q("W",/\d\d?/),Q("WW",/\d\d?/,/\d\d/),it(["w","ww","W","WW"],function(t,e,i,o){e[o.substr(0,1)]=_(t)});var en={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),U("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),U("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),B("day",11),B("weekday",11),B("isoWeekday",11),Q("d",/\d\d?/),Q("e",/\d\d?/),Q("E",/\d\d?/),Q("dd",function(t,e){return e.weekdaysMinRegex(t)}),Q("ddd",function(t,e){return e.weekdaysShortRegex(t)}),Q("dddd",function(t,e){return e.weekdaysRegex(t)}),it(["dd","ddd","dddd"],function(t,e,i,o){var n=i._locale.weekdaysParse(t,o,i._strict);null!=n?e.d=n:c(i).invalidWeekday=t}),it(["d","e","E"],function(t,e,i,o){e[o]=_(t)});var on="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),nn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),sn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),rn=Ao,an=Ao,hn=Ao;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Yt),U("k",["kk",2],0,Gt),U("hmm",0,0,function(){return""+Yt.apply(this)+V(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Yt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Vt("a",!0),Vt("A",!1),z("hour","h"),B("hour",13),Q("a",Ut),Q("A",Ut),Q("H",/\d\d?/),Q("h",/\d\d?/),Q("HH",/\d\d?/,/\d\d/),Q("hh",/\d\d?/,/\d\d/),Q("hmm",/\d\d\d\d?/),Q("hmmss",/\d\d\d\d\d\d?/),Q("Hmm",/\d\d\d\d?/),Q("Hmmss",/\d\d\d\d\d\d?/),et(["H","HH"],Wo),et(["a","A"],function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t}),et(["h","hh"],function(t,e,i){e[Wo]=_(t),c(i).bigHour=!0}),et("hmm",function(t,e,i){var o=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o)),c(i).bigHour=!0}),et("hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o,2)),e[Go]=_(t.substr(n)),c(i).bigHour=!0}),et("Hmm",function(t,e,i){var o=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o))}),et("Hmmss",function(t,e,i){var o=t.length-4,n=t.length-2;e[Wo]=_(t.substr(0,o)),e[Yo]=_(t.substr(o,2)),e[Go]=_(t.substr(n))});var dn,ln=j("Hours",!0),un={calendar:Oo,longDateFormat:So,invalidDate:"Invalid date",ordinal:"%d",ordinalParse:/\d{1,2}/,relativeTime:Do,months:Ko,monthsShort:Qo,week:en,weekdays:on,weekdaysMin:sn,weekdaysShort:nn,meridiemParse:/[ap]\.?m?\.?/i},cn={},pn={},fn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,vn=/Z|[+-]\d\d(?::?\d\d)?/,gn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],yn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],bn=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=k("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){};var _n=k("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=ye.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:f()}),xn=function(){return Date.now?Date.now():+new Date};Se("Z",":"),Se("ZZ",""),Q("Z",zo),Q("ZZ",zo),et(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=De(zo,t)});var kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var On=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Sn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;je.fn=xe.prototype;var Dn=Ge(1,"add"),Mn=Ge(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Cn=k("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)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Si("gggg","weekYear"),Si("ggggg","weekYear"),Si("GGGG","isoWeekYear"),Si("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),B("weekYear",1),B("isoWeekYear",1),Q("G",/[+-]?\d+/),Q("g",/[+-]?\d+/),Q("GG",/\d\d?/,/\d\d/),Q("gg",/\d\d?/,/\d\d/),Q("GGGG",/\d{1,4}/,/\d{4}/),Q("gggg",/\d{1,4}/,/\d{4}/),Q("GGGGG",/[+-]?\d{1,6}/,No),Q("ggggg",/[+-]?\d{1,6}/,No),it(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),it(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),U("Q",0,"Qo","quarter"),z("quarter","Q"),B("quarter",7),Q("Q",/\d/),et("Q",function(t,e){e[jo]=3*(_(t)-1)}),U("D",["DD",2],"Do","date"),z("date","D"),B("date",9),Q("D",/\d\d?/),Q("DD",/\d\d?/,/\d\d/),Q("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),et(["D","DD"],Ho),et("Do",function(t,e){e[Ho]=_(t.match(/\d\d?/)[0],10)});var Tn=j("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),B("dayOfYear",4),Q("DDD",/\d{1,3}/),Q("DDDD",/\d{3}/),et(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),U("m",["mm",2],0,"minute"),z("minute","m"),B("minute",14),Q("m",/\d\d?/),Q("mm",/\d\d?/,/\d\d/),et(["m","mm"],Yo);var En=j("Minutes",!1);U("s",["ss",2],0,"second"),z("second","s"),B("second",15),Q("s",/\d\d?/),Q("ss",/\d\d?/,/\d\d/),et(["s","ss"],Go);var Pn=j("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),B("millisecond",16),Q("S",/\d{1,3}/,/\d/),Q("SS",/\d{1,3}/,/\d\d/),Q("SSS",/\d{1,3}/,/\d{3}/);var In;for(In="SSSS";In.length<=9;In+="S")Q(In,/\d+/);for(In="S";In.length<=9;In+="S")et(In,Ri);var Nn=j("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Rn=g.prototype;Rn.add=Dn,Rn.calendar=qe,Rn.clone=Xe,Rn.diff=ei,Rn.endOf=fi,Rn.format=ri,Rn.from=ai,Rn.fromNow=hi,Rn.to=di,Rn.toNow=li,Rn.get=Y,Rn.invalidAt=ki,Rn.isAfter=Ze,Rn.isBefore=Ke,Rn.isBetween=Qe,Rn.isSame=Je,Rn.isSameOrAfter=$e,Rn.isSameOrBefore=ti,Rn.isValid=wi,Rn.lang=Cn,Rn.locale=ui,Rn.localeData=ci,Rn.max=wn,Rn.min=_n,Rn.parsingFlags=xi,Rn.set=G,Rn.startOf=pi,Rn.subtract=Mn,Rn.toArray=yi,Rn.toObject=bi,Rn.toDate=gi,Rn.toISOString=ni,Rn.inspect=si,Rn.toJSON=_i,Rn.toString=oi,Rn.unix=vi,Rn.valueOf=mi,Rn.creationData=Oi,Rn.year=tn,Rn.isLeapYear=gt,Rn.weekYear=Di,Rn.isoWeekYear=Mi,Rn.quarter=Rn.quarters=Ii,Rn.month=lt,Rn.daysInMonth=ut,Rn.week=Rn.weeks=Mt,Rn.isoWeek=Rn.isoWeeks=Ct,Rn.weeksInYear=Ti,Rn.isoWeeksInYear=Ci,Rn.date=Tn,Rn.day=Rn.days=At,Rn.weekday=Lt,Rn.isoWeekday=Bt,Rn.dayOfYear=Ni,Rn.hour=Rn.hours=ln,Rn.minute=Rn.minutes=En,Rn.second=Rn.seconds=Pn,Rn.millisecond=Rn.milliseconds=Nn,Rn.utcOffset=Te,Rn.utc=Pe,Rn.local=Ie,Rn.parseZone=Ne,Rn.hasAlignedHourOffset=Re,Rn.isDST=ze,Rn.isLocal=Le,Rn.isUtcOffset=Be,Rn.isUtc=Fe,Rn.isUTC=Fe,Rn.zoneAbbr=zi,Rn.zoneName=Ai,Rn.dates=k("dates accessor is deprecated. Use date instead.",Tn),Rn.months=k("months accessor is deprecated. Use month instead",lt),Rn.years=k("years accessor is deprecated. Use year instead",tn),Rn.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ee),Rn.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ae);var zn=C.prototype;zn.calendar=T,zn.longDateFormat=E,zn.invalidDate=P,zn.ordinal=I,zn.preparse=Fi,zn.postformat=Fi,zn.relativeTime=N,zn.pastFuture=R,zn.set=D,zn.months=st,zn.monthsShort=rt,zn.monthsParse=ht,zn.monthsRegex=pt,zn.monthsShortRegex=ct,zn.week=Ot,zn.firstDayOfYear=Dt,zn.firstDayOfWeek=St,zn.weekdays=Pt,zn.weekdaysMin=Nt,zn.weekdaysShort=It,zn.weekdaysParse=zt,zn.weekdaysRegex=Ft,zn.weekdaysShortRegex=jt,zn.weekdaysMinRegex=Ht,zn.isPM=qt,zn.meridiem=Xt,Jt("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",Jt),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ee);var An=Math.abs,Ln=no("ms"),Bn=no("s"),Fn=no("m"),jn=no("h"),Hn=no("d"),Wn=no("w"),Yn=no("M"),Gn=no("y"),Vn=ro("milliseconds"),Un=ro("seconds"),qn=ro("minutes"),Xn=ro("hours"),Zn=ro("days"),Kn=ro("months"),Qn=ro("years"),Jn=Math.round,$n={s:45,m:45,h:22,d:26,M:11},ts=Math.abs,es=xe.prototype;return es.abs=Xi,es.add=Ki,es.subtract=Qi,es.as=io,es.asMilliseconds=Ln,es.asSeconds=Bn,es.asMinutes=Fn,es.asHours=jn,es.asDays=Hn,es.asWeeks=Wn,es.asMonths=Yn,es.asYears=Gn,es.valueOf=oo,es._bubble=$i,es.get=so,es.milliseconds=Vn,es.seconds=Un,es.minutes=qn,es.hours=Xn,es.days=Zn,es.weeks=ao,es.months=Kn,es.years=Qn,es.humanize=po,es.toISOString=fo,es.toString=fo,es.toJSON=fo,es.locale=ui,es.localeData=ci,es.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",fo),es.lang=Cn,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Q("x",/[+-]?\d+/),Q("X",/[+-]?\d+(\.\d{1,3})?/),et("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),et("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.17.1",function(t){mo=t}(ye),e.fn=Rn,e.min=_e,e.max=we,e.now=xn,e.utc=l,e.unix=Li,e.months=Yi,e.isDate=r,e.locale=Jt,e.invalid=f,e.duration=je,e.isMoment=y,e.weekdays=Vi,e.parseZone=Bi,e.localeData=ee,e.isDuration=ke,e.monthsShort=Gi,e.weekdaysMin=qi,e.defineLocale=$t,e.updateLocale=te,e.locales=ie,e.weekdaysShort=Ui,e.normalizeUnits=A,e.relativeTimeRounding=uo,e.relativeTimeThreshold=co,e.calendarFormat=Ue,e.prototype=Rn,e})}).call(e,i(84)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=85},function(t,e){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)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(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||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;p<6;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;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==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;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;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){e.util=i(1),e.DOMutil=i(88),e.DataSet=i(89),e.DataView=i(93),e.Queue=i(92),e.Graph3d=i(94),e.graph3d={Camera:i(102),Filter:i(107),Point2d:i(101),Point3d:i(100),Slider:i(108),StepNumber:i(109)},e.moment=i(82),e.Hammer=i(112),e.keycharm=i(115)},function(t,e){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.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.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){n<0&&(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){return t&&t.__esModule?t:{default:t}}function n(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=(0,l.default)(this._options.type),o=0,n=i.length;on?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;ethis.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)}},i.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=i},function(t,e,i){function o(t,e){this._data=null,this._ids={},this.length=0,this._options=e||{},this._fieldId="id",this._subscribers={};var i=this;this.listener=function(){i._onEvent.apply(i,arguments)},this.setData(t)}var n=i(58),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(89);o.prototype.setData=function(t){var e,i,o,n,s;if(this._data){for(this._data.off&&this._data.off("*",this.listener),e=this._data.getIds({filter:this._options&&this._options.filter}),s=[],o=0,n=e.length;os)&&(o=s)}return o},o.prototype.getColumnRange=function(t,e){for(var i=new g,o=0;o0&&(h[n-1].pointNext=r),h.push(r);return h},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};u.addEventListener(this.frame.canvas,"mousedown",i),u.addEventListener(this.frame.canvas,"touchstart",o),u.addEventListener(this.frame.canvas,"mousewheel",n),u.addEventListener(this.frame.canvas,"mousemove",s),u.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this._dataInitialize(t,this.style),this.dataFilter?this.dataPoints=this.dataFilter._getDataPoints():this.dataPoints=this._getDataPoints(this.dataTable),this._redrawFilter()},o.prototype.setData=function(t){this._readData(t),this.redraw(),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setOptions=function(t){this.animationStop(),y.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.dataTable&&this.setData(this.dataTable),this.animationAutoStart&&this.dataFilter&&this.animationStart()},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){var e=this._dotSize();t=e/2+2*e}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(this.showLegend===!0&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",t===!1){var l,u=i;for(l=0;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,l,u=this._getContext();u.font=24/this.camera.getArmLength()+"px arial";var f=.025/this.scale.x,m=.025/this.scale.y,g=5/this.camera.getArmLength(),y=this.camera.getArmRotation().horizontal,b=new p(Math.cos(y),Math.sin(y)),_=this.xRange,w=this.yRange,x=this.zRange;for(u.lineWidth=1,o=void 0===this.defaultXStep,i=new v(_.min,_.max,this.xStep,o),i.start(!0);!i.end();){var k=i.getCurrent();if(this.showGrid?(t=new c(k,w.min,x.min),e=new c(k,w.max,x.min),this._line3d(u,t,e,this.gridColor)):this.showXAxis&&(t=new c(k,w.min,x.min),e=new c(k,w.min+f,x.min),this._line3d(u,t,e,this.axisColor),t=new c(k,w.max,x.min),e=new c(k,w.max-f,x.min),this._line3d(u,t,e,this.axisColor)),this.showXAxis){r=b.x>0?w.min:w.max;var O=new c(k,r,x.min),S=" "+this.xValueLabel(k)+" ";this.drawAxisLabelX(u,O,S,y,g)}i.next()}for(u.lineWidth=1,o=void 0===this.defaultYStep,i=new v(w.min,w.max,this.yStep,o),i.start(!0);!i.end();){var D=i.getCurrent();if(this.showGrid?(t=new c(_.min,D,x.min),e=new c(_.max,D,x.min),this._line3d(u,t,e,this.gridColor)):this.showYAxis&&(t=new c(_.min,D,x.min),e=new c(_.min+m,D,x.min),this._line3d(u,t,e,this.axisColor),t=new c(_.max,D,x.min),e=new c(_.max-m,D,x.min),this._line3d(u,t,e,this.axisColor)),this.showYAxis){s=b.y>0?_.min:_.max,O=new c(s,D,x.min);var S=" "+this.yValueLabel(D)+" ";this.drawAxisLabelY(u,O,S,y,g)}i.next()}if(this.showZAxis){for(u.lineWidth=1,o=void 0===this.defaultZStep,i=new v(x.min,x.max,this.zStep,o),i.start(!0),s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max;!i.end();){var M=i.getCurrent(),C=new c(s,r,M),T=this._convert3Dto2D(C);e=new p(T.x-g,T.y),this._line(u,T,e,this.axisColor);var S=this.zValueLabel(M)+" ";this.drawAxisLabelZ(u,C,S,5),i.next()}u.lineWidth=1,t=new c(s,r,x.min),e=new c(s,r,x.max),this._line3d(u,t,e,this.axisColor)}if(this.showXAxis){var E,P;u.lineWidth=1,E=new c(_.min,w.min,x.min),P=new c(_.max,w.min,x.min),this._line3d(u,E,P,this.axisColor),E=new c(_.min,w.max,x.min),P=new c(_.max,w.max,x.min),this._line3d(u,E,P,this.axisColor)}this.showYAxis&&(u.lineWidth=1,t=new c(_.min,w.min,x.min),e=new c(_.min,w.max,x.min),this._line3d(u,t,e,this.axisColor),t=new c(_.max,w.min,x.min),e=new c(_.max,w.max,x.min),this._line3d(u,t,e,this.axisColor));var I=this.xLabel;I.length>0&&this.showXAxis&&(l=.1/this.scale.y,s=(_.max+3*_.min)/4,r=b.x>0?w.min-l:w.max+l,n=new c(s,r,x.min),this.drawAxisLabelX(u,n,I,y));var N=this.yLabel;N.length>0&&this.showYAxis&&(d=.1/this.scale.x,s=b.y>0?_.min-d:_.max+d,r=(w.max+3*w.min)/4,n=new c(s,r,x.min),this.drawAxisLabelY(u,n,N,y));var R=this.zLabel;R.length>0&&this.showZAxis&&(h=30,s=b.x>0?_.min:_.max,r=b.y<0?w.min:w.max,a=(x.max+3*x.min)/4,n=new c(s,r,a),this.drawAxisLabelZ(u,n,R,h))},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._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-(this.eye.z/this.camera.getArmLength())*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a,h=this,d=e.point,l=this.zRange.min,u=[{point:new c(d.x-i,d.y-o,d.z)},{point:new c(d.x+i,d.y-o,d.z)},{point:new c(d.x+i,d.y+o,d.z)},{point:new c(d.x-i,d.y+o,d.z)}],p=[{point:new c(d.x-i,d.y-o,l)},{point:new c(d.x+i,d.y-o,l)},{point:new c(d.x+i,d.y+o,l)},{point:new c(d.x-i,d.y+o,l)}];u.forEach(function(t){t.screen=h._convert3Dto2D(t.point)}),p.forEach(function(t){t.screen=h._convert3Dto2D(t.point)});var f=[{corners:u,center:c.avg(p[0].point,p[2].point)},{corners:[u[0],u[1],p[1],p[0]],center:c.avg(p[1].point,p[0].point)},{corners:[u[1],u[2],p[2],p[1]],center:c.avg(p[2].point,p[1].point)},{corners:[u[2],u[3],p[3],p[2]],center:c.avg(p[3].point,p[2].point)},{corners:[u[3],u[0],p[0],p[3]],center:c.avg(p[0].point,p[3].point)}];for(e.surfaces=f,r=0;r0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(p=Math.min(1+l.x/u/2,1),s=this._hsv2rgb(m,1,p),r=s):(p=1,s=this._hsv2rgb(m,1,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var v=[e,i,n,o];this._polygon(t,v,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-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=null,s=null,r=null,a=new p(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--){n=this.dataPoints[i];var h=n.surfaces;if(h)for(var d=h.length-1;d>=0;d--){var l=h[d],u=l.corners,c=[u[0].screen,u[1].screen,u[2].screen],f=[u[2].screen,u[3].screen,u[0].screen];if(this._insideTriangle(a,c)||this._insideTriangle(a,f))return n}}else for(i=0;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+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,h=o.offsetWidth,d=o.offsetHeight,l=t.screen.x-n/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=l+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-h/2+"px",o.style.top=t.screen.y-d/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)}}},o.prototype.setCameraPosition=function(t){y.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e,i){t.exports={default:i(96),__esModule:!0}},function(t,e,i){i(97),t.exports=i(17).Object.assign},function(t,e,i){var o=i(15);o(o.S+o.F,"Object",{assign:i(98)})},function(t,e,i){var o=i(35),n=i(73),s=i(74),r=i(49),a=i(10),h=Object.assign;t.exports=!h||i(26)(function(){var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach(function(t){e[t]=t}),7!=h({},t)[i]||Object.keys(h({},e)).join("")!=o})?function(t,e){for(var i=r(t),h=arguments.length,d=1,l=n.f,u=s.f;h>d;)for(var c,p=a(arguments[d++]),f=l?o(p).concat(l(p)):o(p),m=f.length,v=0;m>v;)u.call(p,c=f[v++])&&(i[c]=p[c]);return i}:h},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.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},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.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;nr&&(t=o(t)*r),i(e)>r&&(e=o(e)*r),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},o.prototype.getOffset=function(t,e){return this.cameraOffset},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.setOffset(this.cameraOffset.x,this.cameraOffset.y),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;var t=this.cameraRotation.x,e=(this.cameraRotation.y,this.cameraRotation.z),i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=o},function(t,e,i){t.exports={default:i(104),__esModule:!0}},function(t,e,i){i(105),t.exports=i(17).Math.sign},function(t,e,i){var o=i(15);o(o.S,"Math",{sign:i(106)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},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:t0&&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(93);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(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new 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 new 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(!(tthis.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;return t/(this.values.length-1)*e+3},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){function i(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)}i.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},i.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t?t:0,this._end=e?e:0,this.setStep(i,o)},i.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),this.prettyStep===!0?this._step=i.calculatePrettyStep(t):this._step=t)},i.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),s<=0&&(s=1),s},i.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},i.prototype.getStep=function(){return this._step},i.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=i},function(t,e){function i(){this.min=void 0,this.max=void 0}i.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},i.prototype.range=function(){return this.max-this.min},i.prototype.center=function(){return(this.min+this.max)/2},t.exports=i},function(t,e,i){function o(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function n(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+n(e)}function r(t,e,i,o){var n,r;for(var a in i)n=i[a],r=s(o,n),e[r]=t[n]}function a(t,e,i,o){var n,r;for(var a in i)n=i[a],void 0!==t[n]&&(r=s(o,n),e[r]=t[n])}function h(t,e){if(void 0===t||o(t))throw new Error("No DEFAULTS passed");if(void 0===e)throw new Error("No dst passed");M=t,r(t,e,S),r(t,e,D,"default"),l(t,e),e.margin=10,e.showGrayBottom=!1,e.showTooltip=!1,e.onclick_callback=null,e.eye=new x(0,0,-1)}function d(t,e){if(void 0!==t){if(void 0===e)throw new Error("No dst passed");if(void 0===M||o(M))throw new Error("DEFAULTS not set for module Settings");a(t,e,S),a(t,e,D,"default"),l(t,e)}}function l(t,e){void 0!==t.backgroundColor&&m(t.backgroundColor,e),v(t.dataColor,e),f(t.style,e),u(t.showLegend,e),g(t.cameraPosition,e),void 0!==t.tooltip&&(e.showTooltip=t.tooltip),void 0!=t.onclick&&(e.onclick_callback=t.onclick),void 0!==t.tooltipStyle&&_.selectiveDeepExtend(["tooltipStyle"],e,t)}function u(t,e){if(void 0===t){if(void 0===M.showLegend){var i=e.style===k.DOTCOLOR||e.style===k.DOTSIZE;e.showLegend=i}}else e.showLegend=t}function c(t){var e=O[t];return void 0===e?-1:e}function p(t){var e=!1;for(var i in k)if(k[i]===t){e=!0;break}return e}function f(t,e){if(void 0!==t){var i;if("string"==typeof t){if((i=c(t))===-1)throw new Error("Style '"+t+"' is invalid")}else{if(!p(t))throw new Error("Style '"+t+"' is invalid");i=t}e.style=i}}function m(t,e){var i="white",o="gray",n=1;if("string"==typeof t)i=t,o="none",n=0;else{if("object"!==(void 0===t?"undefined":(0,b.default)(t)))throw new Error("Unsupported type of backgroundColor");void 0!==t.fill&&(i=t.fill),void 0!==t.stroke&&(o=t.stroke),void 0!==t.strokeWidth&&(n=t.strokeWidth)}e.frame.style.backgroundColor=i,e.frame.style.borderColor=o,e.frame.style.borderWidth=n+"px",e.frame.style.borderStyle="solid"}function v(t,e){void 0!==t&&(void 0===e.dataColor&&(e.dataColor={}),"string"==typeof t?(e.dataColor.fill=t,e.dataColor.stroke=t):(t.fill&&(e.dataColor.fill=t.fill),t.stroke&&(e.dataColor.stroke=t.stroke),void 0!==t.strokeWidth&&(e.dataColor.strokeWidth=t.strokeWidth)))}function g(t,e){var i=t;void 0!==i&&(void 0===e.camera&&(e.camera=new w),e.camera.setArmRotation(i.horizontal,i.vertical),e.camera.setArmLength(i.distance))}var y=i(62),b=function(t){return t&&t.__esModule?t:{default:t}}(y),_=i(1),w=i(102),x=i(100),k={BAR:0,BARCOLOR:1,BARSIZE:2,DOT:3,DOTLINE:4,DOTCOLOR:5,DOTSIZE:6,GRID:7,LINE:8,SURFACE:9},O={dot:k.DOT,"dot-line":k.DOTLINE,"dot-color":k.DOTCOLOR,"dot-size":k.DOTSIZE,line:k.LINE,grid:k.GRID,surface:k.SURFACE,bar:k.BAR,"bar-color":k.BARCOLOR,"bar-size":k.BARSIZE},S=["width","height","filterLabel","legendLabel","xLabel","yLabel","zLabel","xValueLabel","yValueLabel","zValueLabel","showXAxis","showYAxis","showZAxis","showGrid","showPerspective","showShadow","keepAspectRatio","verticalRatio","dotSizeRatio","showAnimationControls","animationInterval","animationPreload","animationAutoStart","axisColor","gridColor","xCenter","yCenter"],D=["xBarWidth","yBarWidth","valueMin","valueMax","xMin","xMax","xStep","yMin","yMax","yStep","zMin","zMax","zStep"],M=void 0;t.exports.STYLE=k,t.exports.setDefaults=h,t.exports.setOptions=d,t.exports.setCameraPosition=g},function(t,e,i){if("undefined"!=typeof window){var o=i(113),n=window.Hammer||i(114);t.exports=o(n,{preventDefault:"mouse"})}else t.exports=function(){throw Error("hammer.js is only available in a browser, not in node.js.")}},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(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};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);e!==-1&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}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\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ft(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(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=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=_t(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B(a,h),e.distance=L(a,h),P(i,e),e.offsetDirection=A(e.deltaX,e.deltaY);var d=z(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=bt(d.x)>bt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?F(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Tt&&s.eventType!==Pt||(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 I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=It&&(h>Ct||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=z(h,d,l);o=u.x,n=u.y,i=bt(u.x)>bt(u.y)?u.x:u.y,s=A(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 N(t){for(var e=[],i=0;i=bt(e)?t<0?Rt:zt:e<0?At:Lt}function L(t,e,i){i||(i=Ht);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=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function F(t,e){return B(e[1],e[0],Wt)+B(t[1],t[0],Wt)}function j(t,e){return L(e[0],e[1],Wt)/L(t[0],t[1],Wt)}function H(){this.evEl=Gt,this.evWin=Vt,this.pressed=!1,M.apply(this,arguments)}function W(){this.evEl=Xt,this.evWin=Zt,M.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Qt,this.evWin=Jt,this.started=!1,M.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|It)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=te,this.targetIds={},M.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Tt|Et)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Tt)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,ee)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-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(e,t)}var i=this,o=this.state;o=fe&&e(i.options.event+tt(o))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return ot.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=et(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(st,ot,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(rt,$,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},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&(Pt|It)&&!n)this.reset();else if(t.eventType&Tt)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=_t(),this.manager.emit(this.options.event,this._input)))}}),c(at,ot,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),c(ht,ot,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Bt|Ft,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Bt|Ft)?e=t.overallVelocity:i&Bt?e=t.overallVelocityX:i&Ft&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&bt(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=et(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(dt,$,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distances)&&(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;this.range.setRange(r-a/2,r+a/2,h)}}},n.prototype.fit=function(t){var e,i=!t||void 0===t.animation||t.animation,o=this.itemsData&&this.itemsData.getDataSet();1===o.length&&void 0===o.get()[0].end?(e=this.getDataRange(),this.moveTo(e.min.valueOf(),{animation:i})):(e=this.getItemRange(),this.range.setRange(e.min,e.max,i))},n.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,n=null;if(null!=e&&null!=i){var s=function(t){return l.convert(t.data.start,"Date").valueOf()},r=function(t){var e=void 0!=t.data.end?t.data.end:t.data.start;return l.convert(e,"Date").valueOf()},a=i-e;a<=0&&(a=10);var h=a/this.props.center.width;if(l.forEach(this.itemSet.items,function(t){t.groupShowing&&(t.show(),t.repositionX());var a=s(t),d=r(t);if(this.options.rtl)var l=a-(t.getWidthRight()+10)*h,u=d+(t.getWidthLeft()+10)*h;else var l=a-(t.getWidthLeft()+10)*h,u=d+(t.getWidthRight()+10)*h;li&&(i=u,n=t)}.bind(this)),o&&n){var d=o.getWidthLeft()+10,u=n.getWidthRight()+10,c=this.props.center.width-d-u;c>0&&(this.options.rtl?(e=s(o)-u*a/c,i=r(n)+d*a/c):(e=s(o)-d*a/c,i=r(n)+u*a/c))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},n.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=l.convert(i.start,"Date").valueOf(),n=l.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},n.prototype.getEventProperties=function(t){var e=t.center?t.center.x:t.clientX,i=t.center?t.center.y:t.clientY;if(this.options.rtl)var o=l.getAbsoluteRight(this.dom.centerContainer)-e;else var o=e-l.getAbsoluteLeft(this.dom.centerContainer);var n=i-l.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=g.customTimeFromTarget(t),h=this.itemSet.options.snap||null,d=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(o),p=h?h(c,d,u):c,f=l.getTarget(t),m=null;return null!=s?m="item":null!=a?m="custom-time":l.hasParent(f,this.timeAxis.dom.foreground)?m="axis":this.timeAxis2&&l.hasParent(f,this.timeAxis2.dom.foreground)?m="axis":l.hasParent(f,this.itemSet.dom.labelSet)?m="group-label":l.hasParent(f,this.currentTime.bar)?m="current-time":l.hasParent(f,this.dom.center)&&(m="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:m,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:c,snappedTime:p}},n.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(90),s=o(n),r=i(62),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(124),p=o(c),f=i(1),m=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},f.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p.default(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),this.options.filter===!1&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,this.options.enabled===!0&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):e!==!0&&e.indexOf(n)===-1||(o=!0),o!==!1&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(this.options.showButton===!0){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=i===!0?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&t.indexOf(e)!==-1&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var c=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,c,a,l);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=f.copyAndExtendArray(e,r);if("function"==typeof n&&(o=n(r,e))===!1&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=i===!1),o!==!1){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(e.indexOf("physics")!==-1&&this.moduleOptions.physics.solver!==r&&(l=!1),l===!0)if(void 0!==a.enabled){var u=f.copyAndExtendArray(h,"enabled"),c=this._getValue(u);if(c===!0){var p=this._makeLabel(r,h,!0);this._makeItem(h,p),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,c,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{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.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;e0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9", +navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),c.isString(t)===!0){if(c.isValidRGB(t)===!0){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(c.isValidRGBA(t)===!0){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(c.isValidHex(t)===!0){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])===!0&&(this.previousColor=c.extend({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])===!0&&(this.initialColor=c.extend({},t)),this.color=t;var e=c.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,o=this.r*e.s,n=this.centerCoordinates.x+o*Math.sin(i*e.h),s=this.centerCoordinates.y+o*Math.cos(i*e.h);this.colorPickerSelector.style.left=n-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,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+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(this.generated===!1){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/this.r,d=void 0;for(s=0;s<360;s++)for(r=0;rs.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,""),g):n.distance<=8?console.log('%cUnknown option detected: "'+e+'". Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e),g):console.log('%cUnknown option detected: "'+e+'". Did you mean one of these: '+t.print((0,d.default)(i))+t.printLocation(o,e),g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&n===!0){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else l.toLowerCase().indexOf(h)!==-1&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){o!==!0&&(o=!1);var s=void 0!=t?c.convert(t,"Date").valueOf():null,r=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),i){var h=this,l=this.start,p=this.end,f="object"===(void 0===i?"undefined":(0,u.default)(i))&&"duration"in i?i.duration:500,v="object"===(void 0===i?"undefined":(0,u.default)(i))&&"easingFunction"in i?i.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!h.props.touch.dragging){var e=(new Date).valueOf(),i=e-y,a=g(i/f),d=i>f,u=d||null===s?s:l+(s-l)*a,c=d||null===r?r:p+(r-p)*a;_=h._applyRange(u,c),m.updateHiddenDates(h.options.moment,h.body,h.options.hiddenDates),b=b||_;var v={start:new Date(h.start),end:new Date(h.end),byUser:o,event:n};_&&h.body.emitter.emit("rangechange",v),d?b&&h.body.emitter.emit("rangechanged",v):h.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(s,r);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:o,event:n};this.body.emitter.emit("rangechange",w),this.body.emitter.emit("rangechanged",w)}},n.prototype.getMillisecondsPerPixel=function(){return(this.end-this.start)/this.body.dom.center.clientWidth},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.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(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=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,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.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}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),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"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;if(this.options.rtl)var r=i/n*o;else var r=-i/n*o;var a=this.props.touch.start+r,h=this.props.touch.end+r,d=m.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&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,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable){if(this.options.horizontalScroll){t.preventDefault();var i=e*(this.end-this.start)/20,o=this.start-i,n=this.end-i;this.setRange(o,n,!1,!0,t)}}else if(this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var s;s=e<0?1-e/5:1/(1+e/5);var r;if(this.rolling)r=(this.start+this.end)/2;else{var a=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);r=this._pointerToDate(a)}this.zoom(s,r,e,t),t.preventDefault()}},n.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},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d),this.setRange(r,a,!1,!0,t),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e=t.center?t.center.x:t.clientX;if(this.options.rtl)var i=e-c.getAbsoluteLeft(this.body.dom.centerContainer);else var i=c.getAbsoluteRight(this.body.dom.centerContainer)-e;var o=this.body.util.toTime(i);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(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},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l),this.setRange(a,h,!1,!0,o),this.startToFront=!1,this.endToFront=!0},n.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},n.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,!1,!0,null)},t.exports=n},function(t,e,i){function o(t,e){this.options=null,this.props=null}var n=i(1);o.prototype.setOptions=function(t){t&&n.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){e.convertHiddenOptions=function(t,i,o){if(o&&!Array.isArray(o))return e.convertHiddenOptions(t,i,[o]);if(i.hiddenDates=[],o&&1==Array.isArray(o)){for(var n=0;n=4*a){var c=0,p=s.clone();switch(o[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:",o[h].repeat)}for(;d=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&&nt.range.end){var h={start:t.range.start,end:i};i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale}i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i);var n=t.range.conversion(o,r);return(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.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?o<0?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&&t-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{if(!JSON.parse(t.dataTransfer.getData("text")).content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},s.itemSet._onAddItem(t),!1}this.dom={},this.dom.container=t,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.rollingModeBtn=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.rollingModeBtn.className="vis-rolling-mode-btn",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.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),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.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){this.initialDrawDone===!0&&this._redraw()}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),this.options.orientation={item:void 0,axis:void 0},"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(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 p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);o!==-1&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(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)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.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},n.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 "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.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 "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.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 "+(0,r.default)(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))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t){var e=this.getDataRange();if(null!==e.min||null!==e.max){var i=e.max-e.min,o=new Date(e.min.valueOf()-.01*i),n=new Date(e.max.valueOf()+.01*i),s=!t||void 0===t.animation||t.animation;this.range.setRange(o,n,s)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i){var o;if(1==arguments.length){var n=arguments[0];o=void 0===n.animation||n.animation,this.range.setRange(n.start,n.end,o)}else o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,o)},n.prototype.moveTo=function(t,e){var i=this.range.end-this.range.start,o=c.convert(t,"Date").valueOf(),n=o-i/2,s=o+i/2,r=!e||void 0===e.animation||e.animation;this.range.setRange(n,s,r)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=s/(1+t),a=(s-r)/2,h=o+a,d=n-a;this.setWindow(h,d,e)}},n.prototype.zoomOut=function(t,e){if(!(!t||t<0||t>1)){var i=this.getWindow(),o=i.start.valueOf(),n=i.end.valueOf(),s=n-o,r=o-s*t/2,a=n+s*t/2;this.setWindow(r,a,e)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.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,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=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&&(i.borderRootWidth=i.borderRootHeight),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 n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<5)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw?")}else this.redrawCount=0;this.initialDrawDone=!0,this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return m.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return m.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return m.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return m.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();t.dom.root&&(t.dom.root.offsetWidth==t.props.lastWidth&&t.dom.root.offsetHeight==t.props.lastHeight||(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.props.scrollbarWidth=c.getScrollBarWidth(),t.body.emitter.emit("_change")))},c.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(c.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTope&&o.push(h.id):h.lefti&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!c.equalArray(d,this.groupTouchParams.originalOrder))for(var l=this.groupTouchParams.originalOrder,u=this.groupTouchParams.group.groupId,p=Math.min(l.length,d.length),m=0,v=0,g=0;m=p)break;if(d[m+v]!=u)if(l[m+g]!=u){var y=d.indexOf(l[m+g]),b=e.get(d[m+v]),_=e.get(l[m+g]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[m+v];d[m+v]=l[m+g],d[y]=w,m++}else g=1;else v=1}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=c.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!c.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),l=o.get(s[a]);e.options.groupOrderSwap(d,l,o),o.update(d),o.update(l);var u=n[a];n[a]=s[a],n[h]=u,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(i){null==this.popup&&(this.popup=new l.default(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-c.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-c.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-c.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-c.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this,i=this.options.snap||null;if(!this.itemFromTarget(t)){if(this.options.rtl)var o=c.getAbsoluteRight(this.dom.frame),n=o-t.center.x;else var o=c.getAbsoluteLeft(this.dom.frame),n=t.center.x-o;var s=this.body.util.toTime(n),r=this.body.util.getScale(),a=this.body.util.getStep(),h={start:i?i(s,r,a):s,content:"new item"};if("drop"==t.type){var d=JSON.parse(t.dataTransfer.getData("text"));if(h.content=d.content,h.type=d.type||"box",h[this.itemsData._fieldId]=d.id||c.randomUUID(),"range"==d.type||d.end&&d.start)if(d.end)h.end=d.end,h.start=d.start;else{var l=this.body.util.toTime(n+this.props.width/5);h.end=i?i(l,r,a):l}}else if(h[this.itemsData._fieldId]=c.randomUUID(),"range"===this.options.type){var l=this.body.util.toTime(n+this.props.width/5);h.end=i?i(l,r,a):l}var u=this.groupFromTarget(t);u&&(h.group=u.groupId),h=this._cloneItemData(h),this.options.onAdd(h,function(i){i&&(e.itemsData.getDataSet().add(i),"drop"==t.type&&e.setSelection([i.id]))})}}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof x||i.push(h.id)}}}else{var u=i.indexOf(e.id);u==-1?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._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}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){for(var e=t.center?t.center.y:t.clientY,i=0;ir&&er)return n}else if(0===i&&en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(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.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.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return 1==t.date();case"month":return 0==t.month();case"year":return!1;default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/r%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(o().add(1,"day"),"day")?" vis-tomorrow":t.isSame(o().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"month")?" vis-current-month":""}var o=this.moment,n=this.moment(this.current),s=n.locale?n.locale("en"):n.lang("en"),r=this.step;switch(this.scale){case"millisecond":return e(s)+t(s.milliseconds()).trim();case"second":return e(s)+t(s.seconds()).trim();case"minute":return e(s)+t(s.minutes()).trim();case"hour":return"vis-h"+s.hours()+(4==this.step?"-h"+(s.hours()+4):"")+e(s)+t(s.hours());case"weekday":return"vis-"+s.format("dddd").toLowerCase()+e(s)+function(t){return t.isSame(new Date,"week")?" vis-current-week":""}(s)+t(s.date());case"day":return"vis-day"+s.date()+" vis-"+s.format("MMMM").toLowerCase()+e(s)+i(s)+(this.step<=2?e(s):"")+(this.step<=2?" vis-"+s.format("dddd").toLowerCase():""+t(s.date()-1));case"month":return"vis-"+s.format("MMMM").toLowerCase()+i(s)+t(s.month());case"year":var a=s.year();return"vis-year"+a+function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(s)+t(a);default:return""}},t.exports=o},function(t,e,i){function o(t,e,i){this.groupId=t,this.subgroups={},this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var o=this;this.itemSet.body.emitter.on("checkRangedItems",function(){o.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(58),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(135);i(136);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups)if(0==t.showNested?this.showNested=!1:this.showNested=!0,r.addClassName(this.dom.label,"vis-nesting-group"),this.showNested)r.removeClassName(this.dom.label,"collapsed"),r.addClassName(this.dom.label,"expanded");else{r.removeClassName(this.dom.label,"expanded");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";r.addClassName(this.dom.label,o)}t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype.redraw=function(t,e,i){var o=!1,n=this.dom.marker.clientHeight;n!=this.lastMarkerHeight&&(this.lastMarkerHeight=n,r.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()}),i=!0),this._calculateSubGroupHeights(e);var s=this.dom.foreground;if(this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,this.isVisible=this._isGroupVisible(t,e),"function"==typeof this.itemSet.options.order){if(i){var h=this;r.forEach(this.items,function(t){t.displayed||(t.redraw(),h.visibleItems.push(t)),t.repositionX(!1)});var d=this.orderedItems.byStart.slice().sort(function(t,e){return h.itemSet.options.order(t.data,e.data)});a.stack(d,e,!0)}this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t)}else this.visibleItems=this._updateItemsInRange(this.orderedItems,this.visibleItems,t),this.itemSet.options.stack?a.stack(this.visibleItems,e,i):a.nostack(this.visibleItems,e,this.subgroups,this.itemSet.options.stackSubgroups);this._updateSubgroupsSizes();var l=this._calculateHeight(e),s=this.dom.foreground;this.top=s.offsetTop,this.right=s.offsetLeft,this.width=s.offsetWidth,o=r.updateProperty(this,"height",l)||o,o=r.updateProperty(this.props.label,"width",this.dom.inner.clientWidth)||o,o=r.updateProperty(this.props.label,"height",this.dom.inner.clientHeight)||o,this.dom.background.style.height=l+"px",this.dom.foreground.style.height=l+"px",this.dom.label.style.height=l+"px";for(var u=0,c=this.visibleItems.length;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height +;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+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,top:0,start:t.data.start,end:t.data.end,visible:!1,index:this.subgroupIndex,items:[]},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[t.data.subgroup].end)&&(this.subgroups[t.data.subgroup].end=t.data.end),this.subgroups[t.data.subgroup].items.push(t)),this.orderSubgroups(),this.visibleItems.indexOf(t)==-1){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.end;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(o)&&(o=t.data.end)}),t.subgroups[e].start=i,t.subgroups[e].end=o}},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;i0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}for(var l=0;l=0;s--){var r=e[s];if(n(r))break;void 0===o[r.id]&&(o[r.id]=!0,i.push(r))}for(var s=t+1;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ae.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={content:{width:0}},this.overflow=!1,this.options=i,t){if(void 0==t.start)throw new Error('Property "start" missing in item '+t.id);if(void 0==t.end)throw new Error('Property "end" missing in item '+t.id)}n.call(this,t,e,i)}var n=(i(112),i(137));o.prototype=new n(null,null,null),o.prototype.baseClassName="vis-item vis-range",o.prototype.isVisible=function(t){return 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.visibleFrame=document.createElement("div"),t.visibleFrame.className="vis-item-visible-frame",t.box.appendChild(t.visibleFrame),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._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var i=this.editable.updateTime||this.editable.updateGroup,o=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(i?" vis-editable":" vis-readonly");t.box.className=this.baseClassName+o,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._repaintOnItemUpdateTimeTooltip(t.box),this._repaintDeleteButton(t.box),this._repaintDragCenter(),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||(n<-o&&(n=-o),s>2*o&&(s=2*o));var r=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=r+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=r,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=r+"px",this.options.align){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(r-i,0)+"px":this.dom.content.style.left=Math.max(r-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((r-i)/2,0)+"px":this.dom.content.style.left=Math.max((r-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":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){return t&&t.__esModule?t:{default:t}}function n(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.groupShowing=!0,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.editable=null,this._updateEditStatus()}var s=i(62),r=o(s),a=i(58),h=o(a),d=i(112),l=i(1),u=i(82);n.prototype.stack=!0,n.prototype.select=function(){this.selected=!0,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.unselect=function(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setData=function(t){void 0!=t.group&&this.data.group!=t.group&&this.parent.itemSet._moveToGroup(this,t.group),this.data=t,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()},n.prototype.setParent=function(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t},n.prototype.isVisible=function(t){return!1},n.prototype.show=function(){return!1},n.prototype.hide=function(){return!1},n.prototype.redraw=function(){},n.prototype.repositionX=function(){},n.prototype.repositionY=function(){},n.prototype._repaintDragCenter=function(){if(this.selected&&this.options.editable.updateTime&&!this.dom.dragCenter){var t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,new d(e).on("doubletap",function(e){e.stopPropagation(),t.parent.itemSet._onUpdateItem(t)}),this.dom.box?this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null)},n.prototype._repaintDeleteButton=function(t){var e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){var i=this,o=document.createElement("div");this.options.rtl?o.className="vis-delete-rtl":o.className="vis-delete",o.title="Delete this item",new d(o).on("tap",function(t){t.stopPropagation(),i.parent.removeFromDataSet(i)}),t.appendChild(o),this.dom.deleteButton=o}else!this.selected&&this.dom.deleteButton&&(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null)},n.prototype._repaintOnItemUpdateTimeTooltip=function(t){if(this.options.tooltipOnItemUpdateTime){var e=(this.options.editable.updateTime||this.data.editable===!0)&&this.data.editable!==!1;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){var i=document.createElement("div");i.className="vis-onUpdateTime-tooltip",t.appendChild(i),this.dom.onItemUpdateTimeTooltip=i}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.options.rtl?this.dom.onItemUpdateTimeTooltip.style.right=this.dom.content.style.right:this.dom.onItemUpdateTimeTooltip.style.left=this.dom.content.style.left;var o,n=this.parent.itemSet.body.domProps.scrollTop;o="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;o+this.parent.top-50<-n?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=this.height+2+"px"):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=this.height+2+"px");var s,r;this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(r=this.options.tooltipOnItemUpdateTime.template.bind(this),s=r(this.data)):(s="start: "+u(this.data.start).format("MM/DD/YYYY hh:mm"),this.data.end&&(s+="
end: "+u(this.data.end).format("MM/DD/YYYY hh:mm"))),this.dom.onItemUpdateTimeTooltip.innerHTML=s}}},n.prototype._updateContents=function(t){var e,i,o,n,s=this.parent.itemSet.itemsData.get(this.id),r=this.dom.box||this.dom.point,a=r.getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(n=this.options.visibleFrameTemplate.bind(this),o=n(s,r)):o="",a)if(o instanceof Object&&!(o instanceof Element))n(s,a);else{var h=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o);if(h){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(void 0!=o)a.innerHTML=o;else if("background"!=this.data.type||void 0!==this.data.content)throw new Error('Property "content" missing in item '+this.id);this.itemVisibleFrameContent=o}}if(this.options.template?(i=this.options.template.bind(this),e=i(s,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))i(s,t);else{var h=this._contentToString(this.content)!==this._contentToString(e);if(h){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}}},n.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=(0,h.default)(this.data)}for(var i=0;it.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&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),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._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,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup,n=this.parent.subgroups;n[o].index;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t,e){this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,maxMinorChars:7,format:h.FORMAT,moment:l,timeAxis:null},this.options=r.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}var n=i(62),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(128),h=i(133),d=i(129),l=i(82);o.prototype=new a,o.prototype.setOptions=function(t){t&&(r.selectiveExtend(["showMinorLabels","showMajorLabels","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),r.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"===(0,s.default)(t.orientation)&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof l.locale?l.locale(t.locale):l.lang(t.locale)))},o.prototype._create=function(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"},o.prototype.destroy=function(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null},o.prototype.redraw=function(){var t=this.props,e=this.dom.foreground,i=this.dom.background,o="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,n=e.parentNode!==o;this._calculateCharSize();var s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;var a=e.nextSibling,h=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=this.props.height+"px",this._repaintLabels(),a?o.insertBefore(e,a):o.appendChild(e),h?this.body.dom.backgroundVertical.insertBefore(i,h):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||n},o.prototype._repaintLabels=function(){var t=this.options.orientation.axis,e=r.convert(this.body.range.start,"Number"),i=r.convert(this.body.range.end,"Number"),o=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf(),n=o-d.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this.body.range,o);n-=this.body.util.toTime(0).valueOf();var s=new h(new Date(e),new Date(i),n,this.body.hiddenDates);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;var a=this.dom;a.redundant.lines=a.lines,a.redundant.majorTexts=a.majorTexts,a.redundant.minorTexts=a.minorTexts,a.lines=[],a.majorTexts=[],a.minorTexts=[];var l,c,p,f,m,v,g,y,b=0,_=void 0,w=0;for(s.start(),l=s.getCurrent(),p=this.body.util.toScreen(l);s.hasNext()&&w<1e3;){w++,f=s.isMajor(),y=s.getClassName(),g=s.getLabelMinor(),l,c=p,s.next(),l=s.getCurrent(),s.isMajor(),p=this.body.util.toScreen(l),m=b,b=p-c;var x=b>=.4*m;if(this.options.showMinorLabels&&x){var k=this._repaintMinorText(c,g,t,y);k.style.width=b+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==_&&(_=c), +k=this._repaintMajorText(c,s.getLabelMajor(),t,y)),v=this._repaintMajorLine(c,b,t,y)):x?v=this._repaintMinorLine(c,b,t,y):v&&(v.style.width=parseInt(v.style.width)+b+"px")}if(1e3!==w||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var O=this.body.util.toTime(0),S=s.getLabelMajor(O),D=S.length*(this.props.majorCharWidth||10)+10;(void 0==_||D<_)&&this._repaintMajorText(0,S,t,y)}r.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)}return this.dom.minorTexts.push(n),n.innerHTML=e,n.style.top="top"==i?this.props.majorLabelHeight+"px":"0",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",n.className="vis-text vis-minor "+o,n},o.prototype._repaintMajorText=function(t,e,i,o){var n=this.dom.redundant.majorTexts.shift();if(!n){var s=document.createElement("div");n=document.createElement("div"),n.appendChild(s),this.dom.foreground.appendChild(n)}return n.childNodes[0].innerHTML=e,n.className="vis-text vis-major "+o,n.style.top="top"==i?"0":this.props.minorLabelHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t+"px"):n.style.left=t+"px",this.dom.majorTexts.push(n),n},o.prototype._repaintMinorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return n.style.top="top"==i?s.majorLabelHeight+"px":this.body.domProps.top.height+"px",n.style.height=s.minorLineHeight+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-minor "+o):(n.style.left=t-s.minorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-minor "+o),n.style.width=e+"px",n},o.prototype._repaintMajorLine=function(t,e,i,o){var n=this.dom.redundant.lines.shift();n||(n=document.createElement("div"),this.dom.background.appendChild(n)),this.dom.lines.push(n);var s=this.props;return n.style.top="top"==i?"0":this.body.domProps.top.height+"px",this.options.rtl?(n.style.left="",n.style.right=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical-rtl vis-major "+o):(n.style.left=t-s.majorLineWidth/2+"px",n.className="vis-grid vis-vertical vis-major "+o),n.style.height=s.majorLineHeight+"px",n.style.width=e+"px",n},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};var u=!1;t.exports=o},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;["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){e.hammer.on(t,function(t){t.stopPropagation()})}),document&&document.body&&(this.onClick=function(i){n(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),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(115),r=i(99),a=i(112),h=i(1);r(o.prototype),o.current=null,o.prototype.destroy=function(){this.deactivate(),this.dom.overlay.parentNode.removeChild(this.dom.overlay),this.onClick&&document.body.removeEventListener("click",this.onClick),this.hammer.destroy(),this.hammer=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){function o(t,e){this.body=t,this.defaultOptions={moment:a,locales:h,locale:"en",id:void 0,title:void 0},this.options=s.extend({},this.defaultOptions),e&&e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this.setOptions(e),this._create()}var n=i(112),s=i(1),r=i(128),a=i(82),h=i(145);o.prototype=new r,o.prototype.setOptions=function(t){t&&s.selectiveExtend(["moment","locale","locales","id"],this.options,t)},o.prototype._create=function(){function t(t){this.body.range._onMouseWheel(t)}var e=document.createElement("div");e["custom-time"]=this,e.className="vis-custom-time "+(this.options.id||""),e.style.position="absolute",e.style.top="0px",e.style.height="100%",this.bar=e;var i=document.createElement("div");i.style.position="relative",i.style.top="0px",i.style.left="-10px",i.style.height="100%",i.style.width="20px",i.addEventListener?(i.addEventListener("mousewheel",t.bind(this),!1),i.addEventListener("DOMMouseScroll",t.bind(this),!1)):i.attachEvent("onmousewheel",t.bind(this)),e.appendChild(i),this.hammer=new n(i),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.get("pan").set({threshold:5,direction:n.DIRECTION_HORIZONTAL})},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/#Localization"),this.warned=!0),i=this.options.locales.en);var o=this.options.title;return void 0===o?(o=i.time+": "+this.options.moment(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss"),o=o.charAt(0).toUpperCase()+o.substring(1)):"function"==typeof o&&(o=o.call(this.customTime)),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.setCustomTitle=function(t){this.options.title=t},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()),event:s.elementsCensor(t)}),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()),event:s.elementsCensor(t)}),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){e.en={current:"current",time:"time"},e.en_EN=e.en,e.en_US=e.en,e.it={current:"attuale",time:"tempo"},e.it_IT=e.it,e.it_CH=e.it,e.nl={current:"huidige",time:"tijd"},e.nl_NL=e.nl,e.nl_BE=e.nl,e.de={current:"Aktuelle",time:"Zeit"},e.de_DE=e.de,e.fr={current:"actuel",time:"heure"},e.fr_FR=e.fr,e.fr_CA=e.fr,e.fr_BE=e.fr,e.es={current:"corriente",time:"hora"},e.es_ES=e.es},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(1),s=i(128),r=i(82),a=i(145);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(["rtl","showCurrentTime","moment","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=this.options.moment((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/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":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;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),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){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="object",r={configure:{enabled:{boolean:o},filter:{boolean:o,function:"function"},container:{dom:"dom"},__type__:{object:s,boolean:o,function:"function"}},align:{string:i},rtl:{boolean:o,undefined:"undefined"},rollingMode:{boolean:o,undefined:"undefined"},verticalScroll:{boolean:o,undefined:"undefined"},horizontalScroll:{boolean:o,undefined:"undefined"},autoResize:{boolean:o},throttleRedraw:{number:n},clickToUse:{boolean:o},dataAttributes:{string:i,array:"array"},editable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},updateGroup:{boolean:o,undefined:"undefined"},updateTime:{boolean:o,undefined:"undefined"},overrideItems:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:s}},end:{number:n,date:"date",string:i,moment:"moment"},format:{minorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:s,function:"function"}},majorLabels:{millisecond:{string:i,undefined:"undefined"},second:{string:i,undefined:"undefined"},minute:{string:i,undefined:"undefined"},hour:{string:i,undefined:"undefined"},weekday:{string:i,undefined:"undefined"},day:{string:i,undefined:"undefined"},month:{string:i,undefined:"undefined"},year:{string:i,undefined:"undefined"},__type__:{object:s,function:"function"}},__type__:{object:s}},moment:{function:"function"},groupOrder:{string:i,function:"function"},groupEditable:{add:{boolean:o,undefined:"undefined"},remove:{boolean:o,undefined:"undefined"},order:{boolean:o,undefined:"undefined"},__type__:{boolean:o,object:s}},groupOrderSwap:{function:"function"},height:{string:i,number:n},hiddenDates:{start:{date:"date",number:n,string:i,moment:"moment"},end:{date:"date",number:n,string:i,moment:"moment"},repeat:{string:i},__type__:{object:s,array:"array"}},itemsAlwaysDraggable:{boolean:o},locale:{string:i},locales:{__any__:{any:"any"},__type__:{object:s}},margin:{axis:{number:n},item:{horizontal:{number:n,undefined:"undefined"},vertical:{number:n,undefined:"undefined"},__type__:{object:s,number:n}},__type__:{object:s,number:n}},max:{date:"date",number:n,string:i,moment:"moment"},maxHeight:{number:n,string:i},maxMinorChars:{number:n},min:{date:"date",number:n,string:i,moment:"moment"},minHeight:{number:n,string:i},moveable:{boolean:o},multiselect:{boolean:o},multiselectPerGroup:{boolean:o},onAdd:{function:"function"},onUpdate:{function:"function"},onMove:{function:"function"},onMoving:{function:"function"},onRemove:{function:"function"},onAddGroup:{function:"function"},onMoveGroup:{function:"function"},onRemoveGroup:{function:"function"},order:{function:"function"},orientation:{axis:{string:i,undefined:"undefined"},item:{string:i,undefined:"undefined"},__type__:{string:i,object:s}},selectable:{boolean:o},showCurrentTime:{boolean:o},showMajorLabels:{boolean:o},showMinorLabels:{boolean:o},stack:{boolean:o},stackSubgroups:{boolean:o},snap:{function:"function",null:"null"},start:{date:"date",number:n,string:i,moment:"moment"},template:{function:"function"},groupTemplate:{function:"function"},visibleFrameTemplate:{string:i,function:"function"},tooltip:{followMouse:{boolean:o},overflowMethod:{string:["cap","flip"]},__type__:{object:s}},tooltipOnItemUpdateTime:{template:{function:"function"},__type__:{boolean:o,object:s}},timeAxis:{scale:{string:i,undefined:"undefined"},step:{number:n,undefined:"undefined"},__type__:{object:s}},type:{string:i},width:{string:i,number:n},zoomable:{boolean:o},zoomKey:{string:["ctrlKey","altKey","metaKey",""]},zoomMax:{number:n},zoomMin:{number:n},__type__:{object:s}},a={global:{align:["center","left","right"],direction:!1,autoResize:!0,clickToUse:!1,editable:{add:!1,remove:!1,updateGroup:!1,updateTime:!1},end:"",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:""}},groupsDraggable:!1,height:"",locale:"",margin:{axis:[20,0,100,1],item:{horizontal:[10,0,100,1],vertical:[10,0,100,1]}},max:"",maxHeight:"",maxMinorChars:[7,0,20,1],min:"",minHeight:"",moveable:!1,multiselect:!1,multiselectPerGroup:!1,orientation:{axis:["both","bottom","top"],item:["bottom","top"]},selectable:!0,showCurrentTime:!1,showMajorLabels:!0,showMinorLabels:!0,stack:!0,stackSubgroups:!0,start:"",tooltip:{followMouse:!1,overflowMethod:"flip"},tooltipOnItemUpdateTime:!1,type:["box","point","range","background"],width:"100%",zoomable:!0,zoomKey:["ctrlKey","altKey","metaKey",""],zoomMax:[31536e10,10,31536e10,1],zoomMin:[10,10,31536e10,1]}};e.allOptions=r,e.configureOptions=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e,i,o){if(!(Array.isArray(i)||i instanceof u||i instanceof c)&&i instanceof Object){var n=o;o=i,i=n}o&&o.throttleRedraw&&console.warn('Graph2d option "throttleRedraw" is DEPRICATED and no longer supported. It will be removed in the next MAJOR release.');var s=this;this.defaultOptions={start:null,end:null,autoResize:!0,orientation:{axis:"bottom",item:"bottom"},moment:d,width:null,height:null,maxHeight:null,minHeight:null},this.options=l.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:s._toScreen.bind(s),toGlobalScreen:s._toGlobalScreen.bind(s),toTime:s._toTime.bind(s),toGlobalTime:s._toGlobalTime.bind(s)}},this.range=new p(this.body),this.components.push(this.range),this.body.range=this.range,this.timeAxis=new m(this.body),this.components.push(this.timeAxis),this.currentTime=new v(this.body),this.components.push(this.currentTime),this.linegraph=new y(this.body),this.components.push(this.linegraph),this.itemsData=null,this.groupsData=null,this.on("tap",function(t){s.emit("click",s.getEventProperties(t))}),this.on("doubletap",function(t){s.emit("doubleClick",s.getEventProperties(t))}),this.dom.root.oncontextmenu=function(t){s.emit("contextmenu",s.getEventProperties(t))},o&&this.setOptions(o),i&&this.setGroups(i),e&&this.setItems(e),this._redraw()}var s=i(118),r=o(s),a=i(126),h=o(a),d=(i(99),i(112),i(82)),l=i(1),u=i(89),c=i(93),p=i(127),f=i(130),m=i(142),v=i(146),g=i(144),y=i(149),b=i(126).printStyle,_=i(157).allOptions,w=i(157).configureOptions;n.prototype=new f,n.prototype.setOptions=function(t){h.default.validate(t,_)===!0&&console.log("%cErrors have been found in the supplied options object.",b),f.prototype.setOptions.call(this,t)},n.prototype.setItems=function(t){var e,i=null==this.itemsData;if(e=t?t instanceof u||t instanceof c?t:new u(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})},n.prototype.setGroups=function(t){var e;e=t?t instanceof u||t instanceof c?t:new u(t):null,this.groupsData=e,this.linegraph.setGroups(e)},n.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+"'"},n.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]))},n.prototype.getDataRange=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;os?s:t,e=null==e?s:e0&&d.push(u.screenToValue(n)),!c.hidden&&this.itemsData.length>0&&d.push(c.screenToValue(n)),{event:t,what:h,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:s,value:d}},n.prototype._createConfigurator=function(){return new r.default(this,this.dom.container,w)},t.exports=n},function(t,e,i){function o(t,e){this.id=r.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,stack:!1,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,sideBySide:!1,align:"center"},interpolation:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{},legend:{},groups:{visibility:{}}},this.options=r.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1,this.updateSVGheight=!1,this.updateSVGheightOnResize=!1,this.forceGraphUpdate=!0;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.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=r.option.asSize(-i.props.width),i.forceGraphUpdate=!0,i.redraw.call(i)}),this._create(),this.framework={svg:this.svg,svgElements:this.svgElements,options:this.options,groups:this.groups}}var n=i(62),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(1),a=i(88),h=i(89),d=i(93),l=i(128),u=i(150),c=i(152),p=i(156),f=i(153),m=i(155),v=i(154);o.prototype=new l,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-line-graph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new u(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new u(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new p(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new p(this.body,this.options.legend,"right",this.options.groups),this.show()},o.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","stack","height","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];void 0===t.graphHeight&&void 0!==t.height?(this.updateSVGheight=!0,this.updateSVGheightOnResize=!0):void 0!==this.body.domProps.centerContainer.height&&void 0!==t.graphHeight&&parseInt((t.graphHeight+"").replace("px",""))0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=m.calcPath(r[s[e]],t)),m.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(r[s[e]],t,this.framework);break;case"bar":}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)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=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],r.stack===!0&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));f.getStackedYRange(a,i,t,"__barStackLeft","left"),f.getStackedYRange(h,i,t,"__barStackRight","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=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),t.master===!0&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=this.options.icons===!0?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&this.options.visible===!0?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}i.prototype.setCharHeight=function(t){this.majorCharHeight=t},i.prototype.setHeight=function(t){this.containerHeight=t},i.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(n===!0)break}},i.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},i.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},i.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},i.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},i.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},i.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o=e;if(i)for(var n=t.length-2;n>0;n--)o+=t[n][0]+","+t[n][1]+" ";else for(var n=1;n0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i")}this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t0){var i=this.groupIndex%this.groupsArray.length;this.groupIndex++,e={},e.color=this.groups[this.groupsArray[i]],this.groups[t]=e}else{var o=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,e={},e.color=this.defaultGroups[o],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=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(163),d=o(h),l=i(164),u=o(l),c=i(1),p=i(89),f=i(93),m=function(){function t(e,i,o,n){var r=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(this.nodeOptions=t,void 0!==t){if(d.default.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i]._reset())}if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o]._reset();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof p||t instanceof f)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new p,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new p}if(i&&c.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;c.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}e===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:d.default)(t,this.body,this.images,this.groups,this.options,this.defaultOptions,this.nodeOptions)}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.body.nodes;for(var i in e){var o=void 0;e.hasOwnProperty(i)&&(o=e[i]);var n=this.body.data.nodes._data[i];void 0!==o&&void 0!==n&&(t===!0&&o.setOptions({x:null,y:null}),o.setOptions({fixed:!1}),o.setOptions(n))}}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(Array.isArray(t)===!0){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=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["color","font","fixed","shadow"];if(H.selectiveNotDeepExtend(n,t,e,i),H.mergeOptions(t,e,"shadow",i,o),void 0!==e.color&&null!==e.color){var s=H.parseColor(e.color);H.fillIfDefined(t.color,s)}else i===!0&&null===e.color&&(t.color=H.bridgeObject(o.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))),void 0!==e.font&&null!==e.font?u.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=H.bridgeObject(o.font)),void 0!==e.scaling&&H.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)}}]),t}();e.default=W},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(2),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(1),m=function(){function t(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,u.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,p.default)(t,[{key:"setOptions",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.elementOptions=e,this.fontOptions=f.deepExtend({},e.font,!0),void 0!==e.label&&(this.labelDirty=!0),void 0!==e.font&&(t.parseOptions(this.fontOptions,e,i),"string"==typeof e.font?this.baseSize=this.fontOptions.size:"object"===(0,d.default)(e.font)&&void 0!==e.font.size&&(this.baseSize=e.font.size))}},{key:"constrain",value:function(t,e,i){this.fontOptions.constrainWidth=!1,this.fontOptions.maxWdt=-1,this.fontOptions.minWdt=-1;var o=[e,t,i],n=f.topMost(o,"widthConstraint");if("number"==typeof n)this.fontOptions.maxWdt=Number(n),this.fontOptions.minWdt=Number(n);else if("object"===(void 0===n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["widthConstraint","maximum"]);"number"==typeof s&&(this.fontOptions.maxWdt=Number(s));var r=f.topMost(o,["widthConstraint","minimum"]);"number"==typeof r&&(this.fontOptions.minWdt=Number(r))}this.fontOptions.constrainHeight=!1,this.fontOptions.minHgt=-1,this.fontOptions.valign="middle";var a=f.topMost(o,"heightConstraint");if("number"==typeof a)this.fontOptions.minHgt=Number(a);else if("object"===(void 0===a?"undefined":(0,d.default)(a))){var h=f.topMost(o,["heightConstraint","minimum"]);"number"==typeof h&&(this.fontOptions.minHgt=Number(h));var l=f.topMost(o,["heightConstraint","valign"]);"string"==typeof l&&("top"!==l&&"bottom"!==l||(this.fontOptions.valign=l))}}},{key:"choosify",value:function(t,e,i){this.fontOptions.chooser=!0;var o=[e,t,i],n=f.topMost(o,"chosen");if("boolean"==typeof n)this.fontOptions.chooser=n;else if("object"===(void 0===n?"undefined":(0,d.default)(n))){var s=f.topMost(o,["chosen","label"]);"boolean"!=typeof s&&"function"!=typeof s||(this.fontOptions.chooser=s)}}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"propagateFonts",value:function(t,e,i){if(this.fontOptions.multi){var o=["bold","ital","boldital","mono"],n=!0,s=!1,r=void 0;try{for(var h,d=(0,a.default)(o);!(n=(h=d.next()).done);n=!0){var l=h.value,u=void 0;if(t.font&&(u=t.font[l]),"string"==typeof u){var c=u.split(" ");this.fontOptions[l].size=c[0].replace("px",""),this.fontOptions[l].face=c[1],this.fontOptions[l].color=c[2],this.fontOptions[l].vadjust=this.fontOptions.vadjust,this.fontOptions[l].mod=i.font[l].mod}else{if(u&&u.hasOwnProperty("face")?this.fontOptions[l].face=u.face:e.font&&e.font[l]&&e.font[l].hasOwnProperty("face")?this.fontOptions[l].face=e.font[l].face:"mono"===l?this.fontOptions[l].face=i.font[l].face:e.font&&e.font.hasOwnProperty("face")?this.fontOptions[l].face=e.font.face:this.fontOptions[l].face=this.fontOptions.face,u&&u.hasOwnProperty("color")?this.fontOptions[l].color=u.color:e.font&&e.font[l]&&e.font[l].hasOwnProperty("color")?this.fontOptions[l].color=e.font[l].color:e.font&&e.font.hasOwnProperty("color")?this.fontOptions[l].color=e.font.color:this.fontOptions[l].color=this.fontOptions.color,u&&u.hasOwnProperty("mod")?this.fontOptions[l].mod=u.mod:e.font&&e.font[l]&&e.font[l].hasOwnProperty("mod")?this.fontOptions[l].mod=e.font[l].mod:e.font&&e.font.hasOwnProperty("mod")?this.fontOptions[l].mod=e.font.mod:this.fontOptions[l].mod=i.font[l].mod,u&&u.hasOwnProperty("size"))this.fontOptions[l].size=u.size;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("size"))this.fontOptions[l].size=e.font[l].size;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var p=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].size=i.font[l].size*p}else e.font&&e.font.hasOwnProperty("size")?this.fontOptions[l].size=e.font.size:this.fontOptions[l].size=this.fontOptions.size;if(u&&u.hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=u.vadjust;else if(e.font&&e.font[l]&&e.font[l].hasOwnProperty("vadjust"))this.fontOptions[l].vadjust=e.font[l].vadjust;else if(this.fontOptions[l].face===i.font[l].face&&this.fontOptions.face===i.font.face){var f=this.fontOptions.size/Number(i.font.size);this.fontOptions[l].vadjust=i.font[l].vadjust*Math.round(f)}else e.font&&e.font.hasOwnProperty("vadjust")?this.fontOptions[l].vadjust=e.font.vadjust:this.fontOptions[l].vadjust=this.fontOptions.vadjust}this.fontOptions[l].size=Number(this.fontOptions[l].size),this.fontOptions[l].vadjust=Number(this.fontOptions[l].vadjust)}}catch(t){s=!0,r=t}finally{try{!n&&d.return&&d.return()}finally{if(s)throw r}}}}},{key:"draw",value:function(t,e,i,o,n){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r5&&void 0!==arguments[5]?arguments[5]:"middle",a=this.fontOptions.size,h=a*this.body.view.scale;h>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale);var d=this.size.yLine,l=this._setAlignment(t,o,d,r),u=(0,s.default)(l,2);o=u[0],d=u[1],t.textAlign="left",o-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(d-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(d+=(this.size.height-this.size.labelHeight)/2));for(var c=0;c0&&(t.lineWidth=m.strokeWidth,t.strokeStyle=b,t.lineJoin="round"),t.fillStyle=y,m.strokeWidth>0&&t.strokeText(m.text,o+p,d+m.vadjust),t.fillText(m.text,o+p,d+m.vadjust),p+=m.width}d+=this.lines[c].height}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&this.pointToSelf===!1){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=f.overrideOpacity(o,s),n=f.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this.labelDirty===!0&&this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4),this.labelDirty=!1}},{key:"decodeMarkupSystem",value:function(t){var e="none";return"markdown"===t||"md"===t?e="markdown":t!==!0&&"html"!==t||(e="html"),e}},{key:"splitBlocks",value:function(t,e){var i=this.decodeMarkupSystem(e);return"none"===i?[{text:t,mod:"normal"}]:"markdown"===i?this.splitMarkdownBlocks(t):"html"===i?this.splitHtmlBlocks(t):void 0}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"getFormattingValues",value:function(t,e,i,o){var n={color:"normal"===o?this.fontOptions.color:this.fontOptions[o].color,size:"normal"===o?this.fontOptions.size:this.fontOptions[o].size,face:"normal"===o?this.fontOptions.face:this.fontOptions[o].face,mod:"normal"===o?"":this.fontOptions[o].mod,vadjust:"normal"===o?this.fontOptions.vadjust:this.fontOptions[o].vadjust,strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};return"normal"===o?(e||i)&&(this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?n.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i)):(e||i)&&"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(t,n,this.elementOptions.id,e,i),t.font=(n.mod+" "+n.size+"px "+n.face).replace(/"/g,""),n.font=t.font,n.height=n.size,n}},{key:"differentState",value:function(t,e){return t!==this.fontOptions.selectedState&&e!==this.fontOptions.hoverState}},{key:"_processLabel",value:function(t,e,i){var o=0,n=0,s=[],r=0;if(s.add=function(t,e,i,o,n,s,r,a,h,d){this.length==t&&(this[t]={width:0,height:0,blocks:[]}),this[t].blocks.push({text:e,font:i,color:o,width:n,height:s,vadjust:r,mod:a,strokeWidth:h,strokeColor:d})},s.accumulate=function(t,e,i){this[t].width+=e,this[t].height=i>this[t].height?i:this[t].height},s.addAndAccumulate=function(t,e,i,o,n,s,r,a,h,d){this.add(t,e,i,o,n,s,r,a,h,d),this.accumulate(t,n,s)},void 0!==this.elementOptions.label){var a=String(this.elementOptions.label).split("\n"),h=a.length;if(this.elementOptions.font.multi)for(var d=0;d0)for(var m=this.getFormattingValues(t,e,i,l[f].mod),v=l[f].text.split(" "),g=!0,y="",b={width:0},_=void 0,w=0;wthis.fontOptions.maxWdt&&0!=_.width?(c=m.height>c?m.height:c,s.add(r,y,m.font,m.color,_.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,_.width,c),y="",g=!0,u=0,o=s[r].width>o?s[r].width:o,n+=s[r].height,r++):(y=y+x+v[w],w===v.length-1&&(c=m.height>c?m.height:c,u+=b.width,s.add(r,y,m.font,m.color,b.width,m.height,m.vadjust,l[f].mod,m.strokeWidth,m.strokeColor),s.accumulate(r,b.width,c),f===l.length-1&&(o=s[r].width>o?s[r].width:o,n+=s[r].height,r++)),w++,g=!1)}else{var k=this.getFormattingValues(t,e,i,l[f].mod),O=t.measureText(l[f].text);s.addAndAccumulate(r,l[f].text,k.font,k.color,O.width,k.height,k.vadjust,l[f].mod,k.strokeWidth,k.strokeColor),o=s[r].width>o?s[r].width:o,l.length-1===f&&(n+=s[r].height,r++)}}}else for(var S=0;S0)for(var M=a[S].split(" "),C="",T={width:0},E=void 0,P=0;Pthis.fontOptions.maxWdt&&0!=E.width?(s.addAndAccumulate(r,C,D.font,D.color,E.width,D.size,D.vadjust,"normal",D.strokeWidth,D.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,C="",r++):(C=C+I+M[P],P===M.length-1&&(s.addAndAccumulate(r,C,D.font,D.color,T.width,D.size,D.vadjust,"normal",D.strokeWidth,D.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++),P++)}else{var N=a[S],R=t.measureText(N);s.addAndAccumulate(r,N,D.font,D.color,R.width,D.size,D.vadjust,"normal",D.strokeWidth,D.strokeColor),o=s[r].width>o?s[r].width:o,n+=s[r].height,r++}}}this.fontOptions.minWdt>0&&o0&&n2&&void 0!==arguments[2]&&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],t.vadjust=0}else"object"===(0,d.default)(e.font)&&f.fillIfDefined(t,e.font,i);t.size=Number(t.size),t.vadjust=Number(t.vadjust)}}]),t}();e.default=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(166),s=o(n),r=i(2),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e,i){t.exports={default:i(167),__esModule:!0}},function(t,e,i){i(4),i(50),t.exports=i(168)},function(t,e,i){var o=i(54),n=i(47)("iterator"),s=i(8);t.exports=i(17).isIterable=function(t){var e=Object(t);return void 0!==e[n]||"@@iterator"in e||s.hasOwnProperty(o(e))}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=this.width/2)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,t.strokeStyle=s.borderColor,t.lineWidth=s.borderWidth,t.lineWidth/=this.body.view.scale,t.lineWidth=Math.min(this.width,t.lineWidth),t.fillStyle=s.color,t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),s.borderWidth>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2;var s=this.options.shapeProperties.borderRadius;this.boundingBox.left=this.left-s,this.boundingBox.top=this.top-s,this.boundingBox.bottom=this.top+this.height+s,this.boundingBox.right=this.left+this.width+s}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){t.exports={default:i(171),__esModule:!0}},function(t,e,i){i(172),t.exports=i(17).Object.getPrototypeOf},function(t,e,i){var o=i(49),n=i(48);i(61)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){e.__esModule=!0;var o=i(62),n=function(t){return t&&t.__esModule?t:{default:t}}(o);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,n.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(175),s=o(n),r=i(55),a=o(r),h=i(62),d=o(h);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,d.default)(e)));t.prototype=(0,a.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(s.default?(0,s.default)(t,e):t.__proto__=e)}},function(t,e,i){t.exports={default:i(176),__esModule:!0}},function(t,e,i){i(177),t.exports=i(17).Object.setPrototypeOf},function(t,e,i){var o=i(15);o(o.S,"Object",{setPrototypeOf:i(178).set})},function(t,e,i){var o=i(23),n=i(22),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(18)(Function.call,i(78).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(62),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=function(){function t(e,i,o){(0,a.default)(this,t),this.body=i,this.labelModule=o,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return(0,d.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"_setMargins",value:function(t){this.margin={},this.options.margin&&("object"==(0,s.default)(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:"_distanceToBorder",value:function(t,e){var i=this.options.borderWidth;return this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:"enableShadow",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:"enableBorderDashes",value:function(t,e){if(e.borderDashes!==!1)if(void 0!==t.setLineDash){var i=e.borderDashes;i===!0&&(i=[5,15]),t.setLineDash(i) +}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:"disableBorderDashes",value:function(t,e){e.borderDashes!==!1&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options.size;if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=Math.max(this.textSize.width+this.margin.right+this.margin.left,this.textSize.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,o,n,s),this.boundingBox.top=i-s.size,this.boundingBox.left=e-s.size,this.boundingBox.right=e+s.size,this.boundingBox.bottom=i+s.size,this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n.labelOffset=0,n.imageLoaded=!1,n.selected=!1,n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"setOptions",value:function(t,e,i){this.options=t,this.setImages(e,i)}},{key:"setImages",value:function(t,e){t&&(this.imageObj=t,e&&(this.imageObjAlt=e))}},{key:"switchImages",value:function(t){if(t&&!this.selected||!t&&this.selected){var e=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=e}this.selected=t}},{key:"_resizeImage",value:function(){var t=!1;if(this.imageObj.width&&this.imageObj.height?this.imageLoaded===!1&&(this.imageLoaded=!0,t=!0):this.imageLoaded=!1,!this.width||!this.height||t===!0){var e,i,o;this.imageObj.width&&this.imageObj.height&&(e=0,i=0),this.options.shapeProperties.useImageSize===!1?this.imageObj.width>this.imageObj.height?(o=this.imageObj.width/this.imageObj.height,e=2*this.options.size*o||this.imageObj.width,i=2*this.options.size||this.imageObj.height):(o=this.imageObj.width&&this.imageObj.height?this.imageObj.height/this.imageObj.width:1,e=2*this.options.size,i=2*this.options.size*o):(e=this.imageObj.width,i=this.imageObj.height),this.width=e,this.height=i,this.radius=.5*this.width}}},{key:"_drawRawCircle",value:function(t,e,i,o,n,s){var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.circle(e,i,s.size),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore()}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=this.imageObj.width/this.width/this.body.view.scale;if(i>2&&this.options.shapeProperties.interpolation===!0){var o=this.imageObj.width,n=this.imageObj.height,s=document.createElement("canvas");s.width=o,s.height=o;var r=s.getContext("2d");i*=.5,o*=.5,n*=.5,r.drawImage(this.imageObj,0,0,o,n);for(var a=0,h=1;i>2&&h<4;)r.drawImage(s,a,0,o,n,a+o,0,o/2,n/2),a+=o,i*=.5,o*=.5,n*=.5,h+=1;t.drawImage(s,a,0,o,n,this.left,this.top,this.width,this.height)}else t.drawImage(this.imageObj,this.left,this.top,this.width,this.height);this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h._swapToImageResizeWhenImageLoaded=!0,h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height||this.labelModule.differentState(e,i)){var o=2*this.options.size;this.width=o,this.height=o,this._swapToImageResizeWhenImageLoaded=!0,this.radius=.5*this.width}else this._swapToImageResizeWhenImageLoaded&&(this.width=void 0,this.height=void 0,this._swapToImageResizeWhenImageLoaded=!1),this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.imageObjAlt&&this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2;Math.min(.5*this.height,.5*this.width);this._drawRawCircle(t,e,i,o,n,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(void 0===this.width||this.labelModule.differentState(e,i)){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_resizeShape",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selected,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.hover,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{size:this.options.size};if(void 0===this.width||this.labelModule.differentState(t,e)){var o=2*i.size;this.width=o,this.height=o,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){this._resizeShape(s,r,a),this.left=o-this.width/2,this.top=n-this.height/2;var h=a.borderWidth/this.body.view.scale;if(t.lineWidth=Math.min(this.width,h),t.strokeStyle=a.borderColor,t.fillStyle=a.color,t[e](o,n,a.size),this.enableShadow(t,a),t.fill(),this.disableShadow(t,a),t.save(),h>0&&(this.enableBorderDashes(t,a),t.stroke(),this.disableBorderDashes(t,a)),t.restore(),void 0!==this.options.label){var d=n+.5*this.height+3;this.labelModule.draw(t,o,d,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+3))}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments[3];this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.width||this.labelModule.differentState(e,i)){var o=this.labelModule.getTextSize(t,e,i);this.height=2*o.height,this.width=o.width+this.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height;var r=s.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,r),t.strokeStyle=s.borderColor,t.fillStyle=s.color,t.ellipse(this.left,this.top,this.width,this.height),this.enableShadow(t,s),t.fill(),this.disableShadow(t,s),t.save(),r>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-.5*this.width,this.top=e-.5*this.height,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(181),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.imageObjAlt&&this.switchImages(o),this.selected=o,this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this.options.shapeProperties.useBorderWithImage===!0){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),t.save(),h>0&&(this.enableBorderDashes(t,s),t.stroke(),this.disableBorderDashes(t,s)),t.restore(),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i,o){this._resizeShape(e,i,o)}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(179),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){(void 0===this.width||this.labelModule.differentState(e,i))&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.top=this.top,this.boundingBox.left=this.left,this.boundingBox.right=this.left+this.width,this.boundingBox.bottom=this.top+this.height}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(185),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){this._resizeShape()}},{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(196),d=o(h),l=i(164),u=o(l),c=i(1),p=i(89),f=i(93),m=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){"dynamic"===e&&(e="continuous");var i=!1;for(var o in t.body.edges)if(t.body.edges.hasOwnProperty(o)){var n=t.body.edges[o],s=t.body.data.edges._data[o];if(void 0!==s){var r=s.smooth;void 0!==r&&r.enabled===!0&&"dynamic"===r.type&&(void 0===e?n.setOptions({smooth:!1}):n.setOptions({smooth:{type:e}}),i=!0)}}i===!0&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){c.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(this.edgeOptions=t,void 0!==t){d.default.parseOptions(this.options,t);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font){u.default.parseOptions(this.options.font,t);for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule()}void 0===t.hidden&&void 0===t.physics&&e!==!0||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof p||t instanceof f)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new p,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new p}if(o&&c.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){c.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}i===!1&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;ni.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,this.hover)}}}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,s=t.left,r=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,s,r)<10}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);(o<-1&&i<0||o>0&&i<0)&&(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:"cleanup",value:function(){return this.edgeType.cleanup()}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=["arrowStrikethrough","id","from","hidden","hoverWidth","label","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width"];if(O.selectiveDeepExtend(n,t,e,i),O.mergeOptions(t,e,"smooth",i,o),O.mergeOptions(t,e,"shadow",i,o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:i===!0&&null===e.dashes&&(t.dashes=(0,a.default)(o.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),O.mergeOptions(t.scaling,e.scaling,"label",i,o.scaling)):i===!0&&null===e.scaling&&(t.scaling=(0,a.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var r=e.arrows.toLowerCase();t.arrows.to.enabled=r.indexOf("to")!=-1,t.arrows.middle.enabled=r.indexOf("middle")!=-1,t.arrows.from.enabled=r.indexOf("from")!=-1}else{if("object"!==(0,d.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));O.mergeOptions(t.arrows,e.arrows,"to",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"middle",i,o.arrows),O.mergeOptions(t.arrows,e.arrows,"from",i,o.arrows)}else i===!0&&null===e.arrows&&(t.arrows=(0,a.default)(o.arrows));if(void 0!==e.color&&null!==e.color)if(t.color=O.deepExtend({},t.color,!0),O.isString(e.color))t.color.color=e.color,t.color.highlight=e.color,t.color.hover=e.color,t.color.inherit=!1;else{var h=!1;void 0!==e.color.color&&(t.color.color=e.color.color,h=!0),void 0!==e.color.highlight&&(t.color.highlight=e.color.highlight,h=!0),void 0!==e.color.hover&&(t.color.hover=e.color.hover,h=!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&&h===!0&&(t.color.inherit=!1)}else i===!0&&null===e.color&&(t.color=O.bridgeObject(o.color));void 0!==e.font&&null!==e.font?m.default.parseOptions(t.font,e):i===!0&&null===e.font&&(t.font=O.bridgeObject(o.font))}}]),t}();e.default=S},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(170),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(173),p=o(c),f=i(174),m=o(f),v=i(198),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i||void 0===o.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.bezierCurveTo(o.x,o.y,n.x,n.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||this.options.smooth.forceDirection===!0||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];return a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3),{x:a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,y:a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(199),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=0,d=0,l=1,u=this.to,c=!1;for(t.id===this.from.id&&(u=this.from,c=!0);d<=l&&h<10;){var p=.5*(d+l);if(i=this.getPoint(p,a),o=Math.atan2(u.y-i.y,u.x-i.x),n=u.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-u.x,2)+Math.pow(i.y-u.y,2)),r=n-s,Math.abs(r)<.2)break;r<0?c===!1?d=p:l=p:c===!1?l=p:d=p,h++}return i.t=p,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;d<10;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=ho.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=0,d=this.options.selfReferenceSize,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=.5*(s+r);s<=r&&h<10&&(m=.5*(s+r),l=this._pointOnCircle(o,n,d,m),u=Math.atan2(t.y-l.y,t.x-l.x),c=t.distanceToBorder(e,u),p=Math.sqrt(Math.pow(l.x-t.x,2)+Math.pow(l.y-t.y,2)),f=c-p,!(Math.abs(f)<.05));)f>0?a>0?s=m:r=m:a>0?r=m:s=m,h++;return l.t=m,l}},{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,e,i,o){if(e.inheritsColor!==!1){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,this.from.selected===!1&&this.to.selected===!1?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):this.from.selected===!0&&this.to.selected===!1?r=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle",value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return this.labelModule.size.leftn&&this.labelModule.size.topr?0:d}},{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:d<0&&(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:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(this.options.smooth.enabled===!0){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=h.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=h.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}var w=15*c+3*f;return{point:h,core:{x:h.x-.9*w*Math.cos(a),y:h.y-.9*w*Math.sin(a)},angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,n.type&&"circle"===n.type.toLowerCase()?t.circleEndpoint(n.point.x,n.point.y,n.angle,n.length):t.arrowEndpoint(n.point.x,n.point.y,n.angle,n.length),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){e.shadow===!0&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(170),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(173),p=o(c),f=i(174),m=o(f),v=i(199),g=o(v),y=function(t){function e(t,i,o){(0,d.default)(this,e);var n=(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o));return n._boundFunction=function(){n.positionBezierNode()},n.body.emitter.on("_repositionBezierNodes",n._boundFunction),n}return(0,m.default)(e,t),(0,u.default)(e,[{key:"setOptions",value:function(t){var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],this.setupSupportNode(),this.connect(),e===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:"connect",value:function(){this.from=this.body.nodes[this.options.from],this.to=this.body.nodes[this.options.to],void 0===this.from||void 0===this.to||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:"cleanup",value:function(){return this.body.emitter.off("_repositionBezierNodes",this._boundFunction),void 0!==this.via&&(delete this.body.nodes[this.via.id],this.via=void 0,!0)}},{key:"setupSupportNode",value:function(){if(void 0===this.via){var t="edgeId:"+this.id,e=this.body.functions.createNode({id:t,shape:"circle",physics:!0,hidden:!0});this.body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:"positionBezierNode",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this.via}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(199),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),void 0===i.x?t.lineTo(this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o)Math.abs(this.from.x-this.to.x)<=Math.abs(this.from.y-this.to.y)?(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s):this.from.x>this.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=nMath.abs(this.from.y-this.to.y)&&(this.from.y>=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*n,e=this.from.y-i*n):this.from.x>this.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=sMath.abs(this.from.y-this.to.y)&&(t=this.from.x=this.to.y?this.from.x<=this.to.x?(t=this.from.x+i*s,e=this.from.y-i*s,t=this.to.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.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.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.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(170),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(173),u=o(l),c=i(174),p=o(c),f=i(200),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(205),u=o(l),c=i(206),p=o(c),f=i(207),m=o(f),v=i(208),g=o(v),y=i(209),b=o(y),_=i(210),w=o(_),x=i(211),k=o(x),O=i(212),S=o(O),D=i(1),M=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},D.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),t.ready===!0&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){t.ready===!0&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(t===!1?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):(this.physicsEnabled=!0,D.selectiveNotDeepExtend(["stabilization"],this.options,t),D.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new k.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new S.default(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new p.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new m.default(this.body,this.physicsBody,t),this.edgesSolver=new b.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new u.default(this.body,this.physicsBody,t),this.edgesSolver=new g.default(this.body,this.physicsBody,t),this.gravitySolver=new w.default(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){this.physicsEnabled===!0&&this.options.enabled===!0?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,t===!0&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,t===!0&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsTick",value:function(){if(this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0),this.stabilized===!1){if(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0){this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.calculateForces(),this.moveNodes(),this.revert(),this.timestep=.5*this.timestep,this.calculateForces(),this.moveNodes(),this.calculateForces(),this.moveNodes(),this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=this.options.maxVelocity?this.options.maxVelocity:1e9,i=0,o=0,n=0;ne?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;return Math.sqrt(Math.pow(s[t].x,2)+Math.pow(s[t].y,2))}},{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=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;if("number"!=typeof e&&(console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",this.options.stabilization.iterations),e=this.options.stabilization.iterations),0===this.physicsBody.physicsNodeIndices.length)return void(this.ready=!0);this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_stabilizationBatch",value:function(){this.startedStabilization===!1&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0);for(var t=0;this.stabilized===!1&&t0){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;s0&&(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,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));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;h0&&(dr&&(r=d),la&&(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=Math.max(1e-5,Math.abs(r-n)),p=.5*c,f=.5*(n+r),m=.5*(s+a),v={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:f-p,maxX:f+p,minY:m-p,maxY:m+p},size:c,calcSize:1/c,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(v.root);for(var g=0;g0&&this._placeInTree(v.root,i);return v}},{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+=this.seededRandom(),e.y+=this.seededRandom()):(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=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t,e,i,o,n,s,r,a,h=this.body.nodes,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces,u=this.options.nodeDistance,c=-2/3/u,p=0;p0){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}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(62),a=o(r),h=i(119),d=o(h),l=i(120),u=o(l),c=i(214),p=o(c),f=i(215),m=o(f),v=i(1),g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},v.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===t.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");t=this._checkOptions(t);for(var i={},o={},n=0;n2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o=[],n={},r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=0;u0&&(0,s.default)(f).length>0&&v===!0&&o.push({nodes:c,edges:f})}}}for(var _=0;_1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.default.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],f=0;f0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(0!=(0,s.default)(t).length&&(1!=(0,s.default)(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){for(var n in t)if(t.hasOwnProperty(n)&&void 0!==this.clusteredNodes[n])return;var r=v.deepExtend({},i.clusterNodeProperties);if(void 0!==i.processProperties){var a=[];for(var h in t)if(t.hasOwnProperty(h)){var d=p.default.cloneOptions(t[h]);a.push(d)}var l=[];for(var u in e)if(e.hasOwnProperty(u)&&"clusterEdge:"!==u.substr(0,12)){var c=p.default.cloneOptions(e[u],"edge");l.push(c)}if(!(r=i.processProperties(r,a,l)))throw new Error("The processProperties function does not return properties!")}void 0===r.id&&(r.id="cluster:"+v.randomUUID());var f=r.id;void 0===r.label&&(r.label="cluster");var g=void 0;void 0===r.x&&(g=this._getClusterPosition(t),r.x=g.x),void 0===r.y&&(void 0===g&&(g=this._getClusterPosition(t)),r.y=g.y),r.id=f;var y=this.body.functions.createNode(r,m.default);y.isCluster=!0,y.containedNodes=t,y.containedEdges=e,y.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[r.id]=y,this._createClusterEdges(t,e,r,i.clusterEdgeProperties);for(var b in e)if(e.hasOwnProperty(b)&&void 0!==this.body.edges[b]){var _=this.body.edges[b];this._backupEdgeOptions(_),_.setOptions({physics:!1,hidden:!0})}for(var w in t)t.hasOwnProperty(w)&&(this.clusteredNodes[w]={clusterId:r.id,node:this.body.nodes[w]},this.body.nodes[w].setOptions({hidden:!0,physics:!1}));r.id=void 0,o===!0&&this.body.emitter.emit("_dataChanged")}}},{key:"_backupEdgeOptions",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics,hidden:t.options.hidden})}},{key:"_restoreEdge",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics,hidden:e.hidden}),delete this.clusteredEdges[t.id])}},{key:"isCluster",value:function(t){return void 0!==this.body.nodes[t]?this.body.nodes[t].isCluster===!0:(console.log("Node does not exist."),!1)}},{key:"_getClusterPosition",value:function(t){for(var e=(0,s.default)(t),i=t[e[0]].x,o=t[e[0]].x,n=t[e[0]].y,r=t[e[0]].y,a=void 0,h=1;ho?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];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 o=this.body.nodes[t],n=o.containedNodes,s=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var r={},a={x:o.x,y:o.y};for(var h in n)if(n.hasOwnProperty(h)){var d=this.body.nodes[h];r[h]={x:d.x,y:d.y}}var l=e.releaseFunction(a,r);for(var u in n)if(n.hasOwnProperty(u)){var c=this.body.nodes[u];void 0!==l[u]&&(c.x=void 0===l[u].x?o.x:l[u].x,c.y=void 0===l[u].y?o.y:l[u].y)}}else for(var f in n)if(n.hasOwnProperty(f)){var m=this.body.nodes[f];m=n[f],m.options.fixed.x===!1&&(m.x=o.x),m.options.fixed.y===!1&&(m.y=o.y)}for(var g in n)if(n.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({hidden:!1,physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_o&&(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=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(1),d=function(){function t(){(0,s.default)(this,t)}return(0,a.default)(t,null,[{key:"getRange",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),n0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,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"];h.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(){var t=this;this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,this.requiresTimeout===!0?window.setTimeout(function(){t._redraw(!1)},0):window.requestAnimationFrame(function(){t._redraw(!1)}))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.allowRedraw===!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(),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;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),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),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),t===!0&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){var t=this.canvas.frame.canvas.getContext("2d");void 0===this.pixelRatio&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0),t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=this.canvas.DOMtoCanvas({x:-20,y:-20}),a=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),h={top:r.y,left:r.x,bottom:a.y,right:a.x},d=0;d0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(t.indexOf("%")!==-1||t.indexOf("px")!==-1)return t;if(t.indexOf("%")===-1)return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext){var t=this.frame.canvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.frame.canvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.frame.canvas.getContext("2d"),r=this.pixelRatio;return this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e?(this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0):(this.frame.canvas.width==Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&this.frame.canvas.height==Math.round(this.frame.canvas.clientHeight*this.pixelRatio)||this._getCameraState(r),this.frame.canvas.width!=Math.round(this.frame.canvas.clientWidth*this.pixelRatio)&&(this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),i=!0),this.frame.canvas.height!=Math.round(this.frame.canvas.clientHeight*this.pixelRatio)&&(this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),i=!0)),i===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(214),d=o(h),l=i(1),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),e===!0){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];r.predefinedPosition===!0&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.default.getRange(this.body.nodes,t.nodes);o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;o*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=d.default.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(i.maxX-i.minX),h=1.1*Math.abs(i.maxY-i.minY),l=this.canvas.frame.canvas.clientWidth/a,u=this.canvas.frame.canvas.clientHeight/h;o=l<=u?l:u}o>1?o=1:0===o&&(o=1);var c=d.default.findCenter(i),p={position:c,scale:o,animation:t.animation};this.moveTo(p)}},{key:"focus",value:function(t){var e=arguments.length>1&&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){if(void 0===t)return 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.getViewPosition()),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"),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.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.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=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=t===!0?1:this.easingTime;var e=l.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:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(220),d=o(h),l=i(132),u=o(l),c=i(1),p=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d.default(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},c.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];c.selectiveNotDeepExtend(e,this.options,t),c.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(c.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=c.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-c.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-c.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(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||t.changedPointers[0].metaKey);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.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&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(),d=this.selectionHandler.getSelection(),l=this._determineIfDifferent(s,d),u=l.nodesChanged,c=l.edgesChanged,p=!1;h-n>0?(this.selectionHandler._generateClickEvent("selectNode",e,t),r=!0,p=!0):u===!0&&h>0?(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),this.selectionHandler._generateClickEvent("selectNode",e,t),p=!0,r=!0):h-n<0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,s),r=!0),a-o>0&&p===!1?(this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a>0&&c===!0?(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),this.selectionHandler._generateClickEvent("selectEdge",e,t),r=!0):a-o<0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,s),r=!0),r===!0&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineIfDifferent",value:function(t,e){for(var i=!1,o=!1,n=0;n10&&(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"),i0&&(this.popupObj=h[l[l.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=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new u.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))===!0){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&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=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=(i(1),i(112)),d=i(125),l=i(115),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(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(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(119),s=o(n),r=i(120),a=o(r),h=i(163),d=o(h),l=i(196),u=o(l),c=i(1),p=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];c.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(this.options.selectable===!0){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,i.isSelected()===!0?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=void 0;s=n===!0?{nodes:[],edges:[]}:this.getSelection(),s.pointer={DOM:{x:i.x,y:i.y},canvas:this.canvas.DOMtoCanvas(i)},s.event=e,void 0!==o&&(s.previousSelection=o),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof d.default&&e===!0&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){t.isSelected()===!0&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?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;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}}]),t}();e.default=p},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(165),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(214),m=o(f),v=i(1),g=function(){function t(e){(0,u.default)(this,t),this.body=e,this.initialRandomSeed=Math.round(1e6*Math.random()),this.randomSeed=this.initialRandomSeed,this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},v.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,p.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",function(){t.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",function(){t.setupHierarchicalLayout()})}},{key:"setOptions",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical.enabled;if(v.selectiveDeepExtend(["randomSeed","improvedLayout"],this.options,t),v.mergeOptions(this.options,t,"hierarchical"),void 0!==t.randomSeed&&(this.initialRandomSeed=t.randomSeed),this.options.hierarchical.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),"RL"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?this.options.hierarchical.levelSeparation>0&&(this.options.hierarchical.levelSeparation*=-1):this.options.hierarchical.levelSeparation<0&&(this.options.hierarchical.levelSeparation*=-1),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(i===!0)return this.body.emitter.emit("refresh"),v.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(this.options.hierarchical.enabled===!0){void 0===t.physics||t.physics===!0?(t.physics={enabled:void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,solver:"hierarchicalRepulsion"},this.optionsBackup.physics.enabled=void 0===this.optionsBackup.physics.enabled||this.optionsBackup.physics.enabled,this.optionsBackup.physics.solver=this.optionsBackup.physics.solver||"barnesHut"):"object"===(0,d.default)(t.physics)?(this.optionsBackup.physics.enabled=void 0===t.physics.enabled||t.physics.enabled,this.optionsBackup.physics.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):t.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:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1}):void 0===t.edges.smooth?(this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1):"boolean"==typeof t.edges.smooth?(this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:e}):(void 0!==t.edges.smooth.type&&"dynamic"!==t.edges.smooth.type&&(e=t.edges.smooth.type),this.optionsBackup.edges={smooth:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:void 0===t.edges.smooth.type?"dynamic":t.edges.smooth.type,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection},t.edges.smooth={enabled:void 0===t.edges.smooth.enabled||t.edges.smooth.enabled,type:e,roundness:void 0===t.edges.smooth.roundness?.5:t.edges.smooth.roundness,forceDirection:void 0!==t.edges.smooth.forceDirection&&t.edges.smooth.forceDirection}),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){this.randomSeed=this.initialRandomSeed;for(var e=0;e100){for(var o=this.body.nodeIndices.length;this.body.nodeIndices.length>100;){i+=1;var n=this.body.nodeIndices.length;i%3==0?this.body.modules.clustering.clusterBridges():this.body.modules.clustering.clusterOutliers();if(n==this.body.nodeIndices.length&&i%3!=0||i>10)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*o)})}this.body.modules.kamadaKawai.solve(this.body.nodeIndices,this.body.edgeIndices,!0),this._shiftToCenter();for(var s=0;s0){var t=void 0,e=void 0,i=!1,o=!1;this.hierarchicalLevels={},this.lastNodeOnLevel={},this.hierarchicalChildrenReference={},this.hierarchicalParentReference={},this.hierarchicalTrees={},this.treeIndex=-1,this.distributionOrdering={},this.distributionIndex={},this.distributionOrderingPresence={};for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0===t.options.x&&void 0===t.options.y&&!1,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?this._determineLevelsDirected():"custom"===this.options.hierarchical.sortMethod&&this._determineLevelsCustomCallback());for(var n in this.body.nodes)this.body.nodes.hasOwnProperty(n)&&void 0===this.hierarchicalLevels[n]&&(this.hierarchicalLevels[n]=0);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){for(var o in t.hierarchicalTrees)if(t.hierarchicalTrees.hasOwnProperty(o)&&t.hierarchicalTrees[o]===e){var n=t.body.nodes[o],s=t._getPositionForHierarchy(n);t._setPositionForHierarchy(n,s+i,void 0,!0)}},n=function(e){var i=1e9,o=-1e9;for(var n in t.hierarchicalTrees)if(t.hierarchicalTrees.hasOwnProperty(n)&&t.hierarchicalTrees[n]===e){var s=t._getPositionForHierarchy(t.body.nodes[n]);i=Math.min(s,i),o=Math.max(s,o)}return{min:i,max:o}},r=function(){for(var e=[],i=0;i<=t.treeIndex;i++)e.push(n(i));return e},h=function e(i,o){if(!o[i.id]&&(o[i.id]=!0,t.hierarchicalChildrenReference[i.id])){var n=t.hierarchicalChildrenReference[i.id];if(n.length>0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,s=1e9,r=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchicalLevels[d.id],u=t._getPositionForHierarchy(d),c=t._getSpaceAroundNode(d,e),p=(0,a.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(s=Math.min(u,s),r=Math.max(u,r))}return[s,r,o,n]},l=function(e){var i={};return function e(o){if(void 0!==i[o])return i[o];var n=t.hierarchicalLevels[o];if(t.hierarchicalChildrenReference[o]){var s=t.hierarchicalChildrenReference[o];if(s.length>0)for(var r=0;r1)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=t._getPositionForHierarchy(i),r=t._getPositionForHierarchy(o);if(Math.abs(r-s)>t.options.hierarchical.nodeSpacing){var l={},c={};h(i,l),h(o,c);var p=u(i,o),f=d(l,p),m=(0,a.default)(f,4),v=(m[0],m[1]),g=(m[2],m[3],d(c,p)),y=(0,a.default)(g,4),b=y[0],_=(y[1],y[2]);if(y[3],Math.abs(v-b)>t.options.hierarchical.nodeSpacing){var w=v-b+t.options.hierarchical.nodeSpacing;w<-_+t.options.hierarchical.nodeSpacing&&(w=-_+t.options.hierarchical.nodeSpacing),w<0&&(t._shiftBlock(o.id,w),e=!0,n===!0&&t._centerParent(o))}}},m=function(o,n){for(var s=n.id,r=n.edges,l=t.hierarchicalLevels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?m=Math.min(f,p-t.options.hierarchical.nodeSpacing):f<0&&(m=-Math.min(-f,c-t.options.hierarchical.nodeSpacing)),0!=m&&(t._shiftBlock(n.id,m),e=!0)}(_),_=b(o,r),function(i){var o=t._getPositionForHierarchy(n),s=t._getSpaceAroundNode(n),r=(0,a.default)(s,2),h=r[0],d=r[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t._setPositionForHierarchy(n,u,void 0,!0),e=!0)}(_)};this.options.hierarchical.blockShifting===!0&&(function(i){var o=(0,s.default)(t.distributionOrdering);o=o.reverse();for(var n=0;n0)for(var d=0;d0&&Math.abs(g)0&&(a=this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing),this._setPositionForHierarchy(r,a,e),this._validataPositionAndContinue(r,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){if(void 0!==this.hierarchicalChildrenReference[t]){for(var i=[],o=0;oe&&void 0===this.positionedNodes[s.id]))return;var a=void 0;a=0===n?this._getPositionForHierarchy(this.body.nodes[t]):this._getPositionForHierarchy(i[n-1])+this.options.hierarchical.nodeSpacing,this._setPositionForHierarchy(s,a,r),this._validataPositionAndContinue(s,r,a)}for(var h=1e9,d=-1e9,l=0;l0&&0!==(e=this._getHubSize());)for(var o in this.body.nodes)if(this.body.nodes.hasOwnProperty(o)){var n=this.body.nodes[o];n.edges.length===e&&this._crawlNetwork(i,o)}}},{key:"_determineLevelsCustomCallback",value:function(){var t=this,e=function(e,i,o){void 0===t.hierarchicalLevels[e.id]&&(t.hierarchicalLevels[e.id]=1e5);var n=(m.default.cloneOptions(e,"node"),m.default.cloneOptions(i,"node"),void m.default.cloneOptions(o,"edge"));t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]+n};this._crawlNetwork(e),this._setMinLevelToZero()}},{key:"_determineLevelsDirected",value:function(){var t=this,e=function(e,i,o){void 0===t.hierarchicalLevels[e.id]&&(t.hierarchicalLevels[e.id]=1e4),o.toId==i.id?t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]+1:t.hierarchicalLevels[i.id]=t.hierarchicalLevels[e.id]-1};this._crawlNetwork(e),this._setMinLevelToZero()}},{key:"_setMinLevelToZero",value:function(){var t=1e9;for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&void 0!==this.hierarchicalLevels[e]&&(t=Math.min(this.hierarchicalLevels[e],t));for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&void 0!==this.hierarchicalLevels[i]&&(this.hierarchicalLevels[i]-=t)}},{key:"_generateMap",value:function(){var t=this,e=function(e,i){if(t.hierarchicalLevels[i.id]>t.hierarchicalLevels[e.id]){var o=e.id,n=i.id;void 0===t.hierarchicalChildrenReference[o]&&(t.hierarchicalChildrenReference[o]=[]),t.hierarchicalChildrenReference[o].push(n),void 0===t.hierarchicalParentReference[n]&&(t.hierarchicalParentReference[n]=[]),t.hierarchicalParentReference[n].push(o)}};this._crawlNetwork(e)}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=0,s=function i(n,s){if(void 0===o[n.id]){void 0===t.hierarchicalTrees[n.id]&&(t.hierarchicalTrees[n.id]=s,t.treeIndex=Math.max(s,t.treeIndex)),o[n.id]=!0;for(var r=void 0,a=0;a3&&void 0!==arguments[3]&&arguments[3])!==!0&&(void 0===this.distributionOrdering[i]&&(this.distributionOrdering[i]=[],this.distributionOrderingPresence[i]={}),void 0===this.distributionOrderingPresence[i][t.id]&&(this.distributionOrdering[i].push(t),this.distributionIndex[t.id]=this.distributionOrdering[i].length-1),this.distributionOrderingPresence[i][t.id]=!0),"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x=e:t.y=e}},{key:"_getPositionForHierarchy",value:function(t){return"UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.x:t.y}},{key:"_sortNodeArray",value:function(t){t.length>1&&("UD"===this.options.hierarchical.direction||"DU"===this.options.hierarchical.direction?t.sort(function(t,e){return t.x-e.x}):t.sort(function(t,e){return t.y-e.y}))}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(58),s=o(n),r=i(90),a=o(r),h=i(62),d=o(h),l=i(119),u=o(l),c=i(120),p=o(c),f=i(1),m=i(112),v=i(125),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),n=!0),this.options.addEdge!==!1&&(n===!0?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(n===!0?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&this.options.editEdge!==!1&&(n===!0?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&this.options.deleteNode!==!1?(n===!0&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&this.options.deleteEdge!==!1&&(n===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(e.isCluster!==!0){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",function(){}),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(this.guiEnabled===!0){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);o.selected===!1&&(o.x=e.from.x,o.y=e.from.y),n.selected===!1&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){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.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{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=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.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&&(f.recursiveDOMDelete(this.editModeDiv),f.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;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){if(this.options.rtl)var e="vis-button vis-delete-rtl";else var e="vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){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=f.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"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,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(this.temporaryIds.nodes.indexOf(n[r])===-1){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:f.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.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().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.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===(void 0===n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var i="string",o="boolean",n="number",s="object",r={configure:{enabled:{boolean:o},filter:{boolean:o,string:i,array:"array",function:"function"},container:{dom:"dom"},showButton:{boolean:o},__type__:{object:s,boolean:o,string:i,array:"array",function:"function"}},edges:{arrows:{to:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},middle:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},from:{enabled:{boolean:o},scaleFactor:{number:n},type:{string:["arrow","circle"]},__type__:{object:s,boolean:o}},__type__:{string:["from","to","middle"],object:s}},arrowStrikethrough:{boolean:o},chosen:{label:{boolean:o,function:"function"},edge:{boolean:o,function:"function"},__type__:{object:s,boolean:o}},color:{color:{string:i},highlight:{string:i},hover:{string:i},inherit:{string:["from","to","both"],boolean:o},opacity:{number:n},__type__:{object:s,string:i}},dashes:{boolean:o,array:"array"},font:{color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},__type__:{object:s,string:i}},hidden:{boolean:o},hoverWidth:{function:"function",number:n},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},length:{number:n,undefined:"undefined"},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:s,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:s}},selectionWidth:{function:"function",number:n},selfReferenceSize:{number:n},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:s,boolean:o}},smooth:{enabled:{boolean:o},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:n},forceDirection:{string:["horizontal","vertical","none"],boolean:o},__type__:{object:s,boolean:o}},title:{string:i,undefined:"undefined"},width:{number:n},widthConstraint:{maximum:{number:n},__type__:{object:s,boolean:o,number:n}},value:{number:n,undefined:"undefined"},__type__:{object:s}},groups:{useDefaultGroups:{boolean:o},__any__:"get from nodes, will be overwritten below",__type__:{object:s}},interaction:{dragNodes:{boolean:o},dragView:{boolean:o},hideEdgesOnDrag:{boolean:o},hideNodesOnDrag:{boolean:o},hover:{boolean:o},keyboard:{enabled:{boolean:o},speed:{x:{number:n},y:{number:n},zoom:{number:n},__type__:{object:s}},bindToWindow:{boolean:o},__type__:{object:s,boolean:o}},multiselect:{boolean:o},navigationButtons:{boolean:o},selectable:{boolean:o},selectConnectedEdges:{boolean:o},hoverConnectedEdges:{boolean:o},tooltipDelay:{number:n},zoomView:{boolean:o},__type__:{object:s}},layout:{randomSeed:{undefined:"undefined",number:n},improvedLayout:{boolean:o},hierarchical:{enabled:{boolean:o},levelSeparation:{number:n},nodeSpacing:{number:n},treeSpacing:{number:n},blockShifting:{boolean:o},edgeMinimization:{boolean:o},parentCentralization:{boolean:o},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},__type__:{object:s,boolean:o}},__type__:{object:s}},manipulation:{enabled:{boolean:o},initiallyActive:{boolean:o},addNode:{boolean:o,function:"function"},addEdge:{boolean:o,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:s,boolean:o,function:"function"}},deleteNode:{boolean:o,function:"function"},deleteEdge:{boolean:o,function:"function"},controlNodeStyle:"get from nodes, will be overwritten below",__type__:{object:s,boolean:o}},nodes:{borderWidth:{number:n},borderWidthSelected:{number:n,undefined:"undefined"},brokenImage:{string:i,undefined:"undefined"},chosen:{label:{boolean:o,function:"function"},node:{boolean:o,function:"function"},__type__:{object:s,boolean:o}},color:{border:{string:i},background:{string:i},highlight:{border:{string:i},background:{string:i},__type__:{object:s,string:i}},hover:{border:{string:i},background:{string:i},__type__:{object:s,string:i}},__type__:{object:s,string:i}},fixed:{x:{boolean:o},y:{boolean:o},__type__:{object:s,boolean:o}},font:{align:{string:i},color:{string:i},size:{number:n},face:{string:i},background:{string:i},strokeWidth:{number:n},strokeColor:{string:i},vadjust:{number:n},multi:{boolean:o,string:i},bold:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},boldital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},ital:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},mono:{color:{string:i},size:{number:n},face:{string:i},mod:{string:i},vadjust:{number:n},__type__:{object:s,string:i}},__type__:{object:s,string:i}},group:{string:i,number:n,undefined:"undefined"},heightConstraint:{minimum:{number:n},valign:{string:i},__type__:{object:s,boolean:o,number:n}},hidden:{boolean:o},icon:{face:{string:i},code:{string:i},size:{number:n},color:{string:i},__type__:{object:s}},id:{string:i,number:n},image:{selected:{string:i,undefined:"undefined"},unselected:{string:i,undefined:"undefined"},__type__:{object:s,string:i}},label:{string:i,undefined:"undefined"},labelHighlightBold:{boolean:o},level:{number:n,undefined:"undefined"},margin:{top:{number:n},right:{number:n},bottom:{number:n},left:{number:n},__type__:{object:s,number:n}},mass:{number:n},physics:{boolean:o},scaling:{min:{number:n},max:{number:n},label:{enabled:{boolean:o},min:{number:n},max:{number:n},maxVisible:{number:n},drawThreshold:{number:n},__type__:{object:s,boolean:o}},customScalingFunction:{function:"function"},__type__:{object:s}},shadow:{enabled:{boolean:o},color:{string:i},size:{number:n},x:{number:n},y:{number:n},__type__:{object:s,boolean:o}},shape:{string:["ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon"]},shapeProperties:{borderDashes:{boolean:o,array:"array"},borderRadius:{number:n},interpolation:{boolean:o},useImageSize:{boolean:o},useBorderWithImage:{boolean:o},__type__:{object:s}},size:{number:n},title:{string:i,undefined:"undefined"},value:{number:n,undefined:"undefined"},widthConstraint:{minimum:{number:n},maximum:{number:n},__type__:{object:s,boolean:o,number:n}},x:{number:n},y:{number:n},__type__:{object:s}},physics:{enabled:{boolean:o},barnesHut:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:s}},forceAtlas2Based:{gravitationalConstant:{number:n},centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},damping:{number:n},avoidOverlap:{number:n},__type__:{object:s}},repulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:s}},hierarchicalRepulsion:{centralGravity:{number:n},springLength:{number:n},springConstant:{number:n},nodeDistance:{number:n},damping:{number:n},__type__:{object:s}},maxVelocity:{number:n},minVelocity:{number:n},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:o},iterations:{number:n},updateInterval:{number:n},onlyDynamicEdges:{boolean:o},fit:{boolean:o},__type__:{object:s,boolean:o}},timestep:{number:n},adaptiveTimestep:{boolean:o},__type__:{object:s,boolean:o}},autoResize:{boolean:o},clickToUse:{boolean:o},locale:{string:i},locales:{__any__:{any:"any"},__type__:{object:s}},height:{string:i},width:{string:i},__type__:{object:s}};r.groups.__any__=r.nodes,r.manipulation.controlNodeStyle=r.nodes;var a={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,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",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"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1], +interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},arrowStrikethrough:!0,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:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,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:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",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","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,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,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.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,1.2,.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,.01,1,.01]}};e.allOptions=r,e.configureOptions=a},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(165),s=o(n),r=i(119),a=o(r),h=i(120),d=o(h),l=i(226),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o);for(var n=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),a=1e9,h=0,d=0,l=0,u=0,c=0;a>.01&&n1&&c<5;){c+=1,this._moveNode(h,d,l);var m=this._getEnergy(h),v=(0,s.default)(m,3);u=v[0],d=v[1],l=v[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;h=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-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){return R=t,f()}function n(){z=0,A=R.charAt(0)}function s(){z++,A=R.charAt(z)}function r(){return R.charAt(z+1)}function a(t){return F.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;i=0;i--){var a=s[i];a.nodes||(a.nodes=[]),a.nodes.indexOf(n)===-1&&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(B=I.NULL,L="";" "===A||"\t"===A||"\n"===A||"\r"===A;)s();do{var t=!1;if("#"===A){for(var e=z-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=A&&"\n"!=A;)s();t=!0}}if("/"===A&&"/"===r()){for(;""!=A&&"\n"!=A;)s();t=!0}if("/"===A&&"*"===r()){for(;""!=A;){if("*"===A&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===A||"\t"===A||"\n"===A||"\r"===A;)s()}while(t);if(""===A)return void(B=I.DELIMITER);var i=A+r();if(N[i])return B=I.DELIMITER,L=i,s(),void s();if(N[A])return B=I.DELIMITER,L=A,void s();if(a(A)||"-"===A){for(L+=A,s();a(A);)L+=A,s();return"false"===L?L=!1:"true"===L?L=!0:isNaN(Number(L))||(L=Number(L)),void(B=I.IDENTIFIER)}if('"'===A){for(s();""!=A&&('"'!=A||'"'===A&&'"'===r());)L+=A,'"'===A&&s(),s();if('"'!=A)throw x('End of string " expected');return s(),void(B=I.IDENTIFIER)}for(B=I.UNKNOWN;""!=A;)L+=A,s();throw new SyntaxError('Syntax error in part "'+k(L,30)+'"')}function f(){var t={};if(n(),p(),"strict"===L&&(t.strict=!0,p()),"graph"!==L&&"digraph"!==L||(t.type=L,p()),B===I.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)v(t),";"===L&&p()}function v(t){var e=g(t);if(e)return void _(t,e);if(!y(t)){if(B!=I.IDENTIFIER)throw x("Identifier expected");var i=L;if(p(),"="===L){if(p(),B!=I.IDENTIFIER)throw x("Identifier expected");t[i]=L,p()}else b(t,i)}}function g(t){var e=null;if("subgraph"===L&&(e={},e.type="subgraph",p(),B===I.IDENTIFIER&&(e.id=L,p())),"{"===L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)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"===L?(p(),t.node=w(),"node"):"edge"===L?(p(),t.edge=w(),"edge"):"graph"===L?(p(),t.graph=w(),"graph"):null}function b(t,e){var i={id:e},o=w();o&&(i.attr=o),l(t,i),_(t,e)}function _(t,e){for(;"->"===L||"--"===L;){var i,o=L;p();var n=g(t);if(n)i=n;else{if(B!=I.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,l(t,{id:i}),p()}u(t,c(t,e,i,o,w())),e=i}}function w(){for(var t=null;"["===L;){for(p(),t={};""!==L&&"]"!=L;){if(B!=I.IDENTIFIER)throw x("Attribute name expected");var e=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),B!=I.IDENTIFIER)throw x("Attribute value expected");d(t,e,L),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(L,30)+'" (char '+z+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function O(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 S(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",z=0,A="",L="",B=I.NULL,F=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=M},function(t,e){function i(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a