Files
RTG/webroot/js/jscharting/jscharting.js
2026-06-19 20:08:01 +06:00

34860 lines
1.4 MiB

/*
* jscharting.js v3.0.2.20210127
* (c) 2009-2021 Corporate Web Solutions Ltd.
* All client side / JavaScript code may not be used in any way without a valid JSCharting license.
* License holder usage is governed by the license.txt terms included with the distribution.
* To license JSCharting for your own use, please visit jscharting.com
*/
"use strict";
(function (aa, K) {
"object" === typeof exports && "undefined" !== typeof module ? K(exports) : "function" === typeof define && define.amd ? define(["exports"], K) : ((aa = aa || self), K((aa.JSC = {})));
})(this, function (aa) {
function K(a, c) {
function b() {
this.constructor = a;
}
nj(a, c);
a.prototype = null === c ? Object.create(c) : ((b.prototype = c.prototype), new b());
}
function Eb(a, c, b, d) {
var e = arguments.length,
f = 3 > e ? c : null === d ? (d = Object.getOwnPropertyDescriptor(c, b)) : d,
g;
if ("object" === typeof Reflect && "function" === typeof Reflect.decorate) f = Reflect.decorate(a, c, b, d);
else for (var h = a.length - 1; 0 <= h; h--) if ((g = a[h])) f = (3 > e ? g(f) : 3 < e ? g(c, b, f) : g(c, b)) || f;
return 3 < e && f && Object.defineProperty(c, b, f), f;
}
function ya(a) {
var c = "function" === typeof Symbol && a[Symbol.iterator],
b = 0;
return c
? c.call(a)
: {
next: function () {
a && b >= a.length && (a = void 0);
return { value: a && a[b++], done: !a };
},
};
}
function G(a, c) {
var b = "function" === typeof Symbol && a[Symbol.iterator];
if (!b) return a;
a = b.call(a);
var d,
e = [];
try {
for (; (void 0 === c || 0 < c--) && !(d = a.next()).done; ) e.push(d.value);
} catch (g) {
var f = { error: g };
} finally {
try {
d && !d.done && (b = a["return"]) && b.call(a);
} finally {
if (f) throw f.error;
}
}
return e;
}
function H() {
for (var a = [], c = 0; c < arguments.length; c++) a = a.concat(G(arguments[c]));
return a;
}
function t(a) {
return void 0 !== a;
}
function J(a, c) {
return ou.call(a, c);
}
function pb(a, c) {
c = a && a.indexOf(c);
-1 < c && a.splice(c, 1);
return c;
}
function C(a, c) {
if (c) {
c = c.split(".");
for (var b = 0; void 0 !== a && b < c.length; b++) a = a[c[b]];
}
return a;
}
function N(a, c) {
if (c) for (var b = 0; void 0 !== a && b < c.length; b++) a = a[c[b]];
return a;
}
function an(a) {
return null === a;
}
function I(a) {
var c = typeof a;
if ("undefined" !== c) {
if ("boolean" === c) return "boolean";
if ("number" === c) return "number";
if ("function" === c) return "function";
if (a && a.pop) return "array";
if ("string" === c) return "string";
if (null === a) return "null";
if ("object" === c) return a && a.getUTCMilliseconds ? "date" : "object";
}
return "undefined";
}
function ud(a) {
return null == a ? (void 0 === a ? "[object Undefined]" : "[object Null]") : pu.call(a);
}
function bn(a, c) {
return function (b) {
return a(c(b));
};
}
function Pc(a) {
return null != a && "object" == typeof a;
}
function Ke(a) {
return null == a ? "" : Mf(a);
}
function Wg(a) {
if (!Pc(a) || "[object Object]" != ud(a)) return !1;
a = oj(a);
if (null === a) return !0;
a = qb.call(a, "constructor") && a.constructor;
return "function" == typeof a && a instanceof a && Xg.call(a) == qu;
}
function pj(a, c) {
for (var b = -1, d = null == a ? 0 : a.length, e = 0, f = []; ++b < d; ) {
var g = a[b];
c(g, b, a) && (f[e++] = g);
}
return f;
}
function qj(a, c) {
for (var b = -1, d = Array(a); ++b < a; ) d[b] = c(b);
return d;
}
function cn(a) {
return Pc(a) && "[object Arguments]" == ud(a);
}
function ru() {
return !1;
}
function Yg(a, c) {
c = null == c ? 9007199254740991 : c;
return !!c && ("number" == typeof a || su.test(a)) && -1 < a && 0 == a % 1 && a < c;
}
function rj(a) {
return "number" == typeof a && -1 < a && 0 == a % 1 && 9007199254740991 >= a;
}
function tu(a) {
return Pc(a) && rj(a.length) && !!Ca[ud(a)];
}
function dn(a) {
return function (c) {
return a(c);
};
}
function en(a, c) {
var b = Za(a),
d = !b && Le(a),
e = !b && !d && Me(a),
f = !b && !d && !e && Zg(a);
d = (b = b || d || e || f) ? qj(a.length, String) : [];
var g = d.length,
h;
for (h in a) (!c && !qb.call(a, h)) || (b && ("length" == h || (e && ("offset" == h || "parent" == h)) || (f && ("buffer" == h || "byteLength" == h || "byteOffset" == h)) || Yg(h, g))) || d.push(h);
return d;
}
function $g(a) {
var c = a && a.constructor;
return a === (("function" == typeof c && c.prototype) || Nf);
}
function fn(a) {
if (!$g(a)) return uu(a);
var c = [],
b;
for (b in Object(a)) qb.call(a, b) && "constructor" != b && c.push(b);
return c;
}
function xb(a) {
var c = typeof a;
return null != a && ("object" == c || "function" == c);
}
function Fb(a) {
if (!xb(a)) return !1;
a = ud(a);
return "[object Function]" == a || "[object GeneratorFunction]" == a || "[object AsyncFunction]" == a || "[object Proxy]" == a;
}
function vd(a) {
return null != a && rj(a.length) && !Fb(a);
}
function Ne(a) {
return vd(a) ? en(a) : fn(a);
}
function vu(a, c) {
var b = [];
ah(a, function (a, e, f) {
c(a, e, f) && b.push(a);
});
return b;
}
function Pd(a, c) {
return a === c || (a !== a && c !== c);
}
function bh(a, c) {
for (var b = a.length; b--; ) if (Pd(a[b][0], c)) return b;
return -1;
}
function Qc(a) {
var c = -1,
b = null == a ? 0 : a.length;
for (this.clear(); ++c < b; ) {
var d = a[c];
this.set(d[0], d[1]);
}
}
function Qd(a) {
if (null != a) {
try {
return Xg.call(a);
} catch (c) {}
return a + "";
}
return "";
}
function Rd(a, c) {
a = null == a ? void 0 : a[c];
return (c = !xb(a) || (gn && gn in a) ? !1 : (Fb(a) ? wu : xu).test(Qd(a))) ? a : void 0;
}
function Sd(a) {
var c = -1,
b = null == a ? 0 : a.length;
for (this.clear(); ++c < b; ) {
var d = a[c];
this.set(d[0], d[1]);
}
}
function ch(a, c) {
a = a.__data__;
var b = typeof c;
return ("string" == b || "number" == b || "symbol" == b || "boolean" == b ? "__proto__" !== c : null === c) ? a["string" == typeof c ? "string" : "hash"] : a.map;
}
function Rc(a) {
var c = -1,
b = null == a ? 0 : a.length;
for (this.clear(); ++c < b; ) {
var d = a[c];
this.set(d[0], d[1]);
}
}
function kc(a) {
this.size = (this.__data__ = new Qc(a)).size;
}
function Td(a) {
var c = -1,
b = null == a ? 0 : a.length;
for (this.__data__ = new Rc(); ++c < b; ) this.add(a[c]);
}
function yu(a, c) {
for (var b = -1, d = null == a ? 0 : a.length; ++b < d; ) if (c(a[b], b, a)) return !0;
return !1;
}
function hn(a, c) {
return a.has(c);
}
function jn(a, c, b, d, e, f) {
var g = b & 1,
h = a.length,
k = c.length;
if (h != k && !(g && k > h)) return !1;
if ((k = f.get(a)) && f.get(c)) return k == c;
k = -1;
var l = !0,
m = b & 2 ? new Td() : void 0;
f.set(a, c);
for (f.set(c, a); ++k < h; ) {
var n = a[k],
p = c[k];
if (d) var q = g ? d(p, n, k, c, a, f) : d(n, p, k, a, c, f);
if (void 0 !== q) {
if (q) continue;
l = !1;
break;
}
if (m) {
if (
!yu(c, function (c, a) {
if (!m.has(a) && (n === c || e(n, c, b, d, f))) return m.push(a);
})
) {
l = !1;
break;
}
} else if (n !== p && !e(n, p, b, d, f)) {
l = !1;
break;
}
}
f["delete"](a);
f["delete"](c);
return l;
}
function sj(a) {
var c = -1,
b = Array(a.size);
a.forEach(function (a, e) {
b[++c] = [e, a];
});
return b;
}
function Of(a) {
var c = -1,
b = Array(a.size);
a.forEach(function (a) {
b[++c] = a;
});
return b;
}
function zu(a, c, b, d, e, f, g) {
switch (b) {
case "[object DataView]":
if (a.byteLength != c.byteLength || a.byteOffset != c.byteOffset) break;
a = a.buffer;
c = c.buffer;
case "[object ArrayBuffer]":
if (a.byteLength != c.byteLength || !f(new dh(a), new dh(c))) break;
return !0;
case "[object Boolean]":
case "[object Date]":
case "[object Number]":
return Pd(+a, +c);
case "[object Error]":
return a.name == c.name && a.message == c.message;
case "[object RegExp]":
case "[object String]":
return a == c + "";
case "[object Map]":
var h = sj;
case "[object Set]":
h || (h = Of);
if (a.size != c.size && !(d & 1)) break;
if ((b = g.get(a))) return b == c;
d |= 2;
g.set(a, c);
c = jn(h(a), h(c), d, e, f, g);
g["delete"](a);
return c;
case "[object Symbol]":
if (Pf) return Pf.call(a) == Pf.call(c);
}
return !1;
}
function tj(a, c) {
for (var b = -1, d = c.length, e = a.length; ++b < d; ) a[e + b] = c[b];
return a;
}
function kn(a, c, b) {
c = c(a);
return Za(a) ? c : tj(c, b(a));
}
function ln() {
return [];
}
function uj(a) {
return kn(a, Ne, vj);
}
function vc(a, c, b, d, e) {
if (a === c) return !0;
if (null == a || null == c || (!Pc(a) && !Pc(c))) return a !== a && c !== c;
a: {
var f = Za(a),
g = Za(c),
h = f ? "[object Array]" : wc(a),
k = g ? "[object Array]" : wc(c);
h = "[object Arguments]" == h ? "[object Object]" : h;
k = "[object Arguments]" == k ? "[object Object]" : k;
var l = "[object Object]" == h;
g = "[object Object]" == k;
if ((k = h == k) && Me(a)) {
if (!Me(c)) {
c = !1;
break a;
}
f = !0;
l = !1;
}
if (k && !l) e || (e = new kc()), (c = f || Zg(a) ? jn(a, c, b, d, vc, e) : zu(a, c, h, b, d, vc, e));
else if (b & 1 || ((f = l && qb.call(a, "__wrapped__")), (h = g && qb.call(c, "__wrapped__")), !f && !h))
if (k)
b: if ((e || (e = new kc()), (f = b & 1), (h = uj(a)), (g = h.length), (k = uj(c).length), g == k || f)) {
for (l = g; l--; ) {
var m = h[l];
if (!(f ? m in c : qb.call(c, m))) {
c = !1;
break b;
}
}
if ((k = e.get(a)) && e.get(c)) c = k == c;
else {
k = !0;
e.set(a, c);
e.set(c, a);
for (var n = f; ++l < g; ) {
m = h[l];
var p = a[m],
q = c[m];
if (d) var r = f ? d(q, p, m, c, a, e) : d(p, q, m, a, c, e);
if (void 0 === r ? p !== q && !vc(p, q, b, d, e) : !r) {
k = !1;
break;
}
n || (n = "constructor" == m);
}
k && !n && ((b = a.constructor), (d = c.constructor), b != d && "constructor" in a && "constructor" in c && !("function" == typeof b && b instanceof b && "function" == typeof d && d instanceof d) && (k = !1));
e["delete"](a);
e["delete"](c);
c = k;
}
} else c = !1;
else c = !1;
else (a = f ? a.value() : a), (c = h ? c.value() : c), e || (e = new kc()), (c = vc(a, c, b, d, e));
}
return c;
}
function Au(a, c, b, d) {
var e = b.length,
f = e,
g = !d;
if (null == a) return !f;
for (a = Object(a); e--; ) {
var h = b[e];
if (g && h[2] ? h[1] !== a[h[0]] : !(h[0] in a)) return !1;
}
for (; ++e < f; ) {
h = b[e];
var k = h[0],
l = a[k],
m = h[1];
if (g && h[2]) {
if (void 0 === l && !(k in a)) return !1;
} else {
h = new kc();
if (d) var n = d(l, m, k, a, c, h);
if (void 0 === n ? !vc(m, l, 3, d, h) : !n) return !1;
}
}
return !0;
}
function Bu(a) {
for (var c = Ne(a), b = c.length; b--; ) {
var d = c[b],
e = a[d];
c[b] = [d, e, e === e && !xb(e)];
}
return c;
}
function mn(a, c) {
return function (b) {
return null == b ? !1 : b[a] === c && (void 0 !== c || a in Object(b));
};
}
function Cu(a) {
var c = Bu(a);
return 1 == c.length && c[0][2]
? mn(c[0][0], c[0][1])
: function (b) {
return b === a || Au(b, a, c);
};
}
function Ud(a) {
return "symbol" == typeof a || (Pc(a) && "[object Symbol]" == ud(a));
}
function wj(a, c) {
if (Za(a)) return !1;
var b = typeof a;
return "number" == b || "symbol" == b || "boolean" == b || null == a || Ud(a) ? !0 : Du.test(a) || !Eu.test(a) || (null != c && a in Object(c));
}
function Vd(a, c) {
for (var b = -1, d = null == a ? 0 : a.length, e = Array(d); ++b < d; ) e[b] = c(a[b], b, a);
return e;
}
function Mf(a) {
if ("string" == typeof a) return a;
if (Za(a)) return Vd(a, Mf) + "";
if (Ud(a)) return nn ? nn.call(a) : "";
var c = a + "";
return "0" == c && 1 / a == -Qf ? "-0" : c;
}
function eh(a, c) {
return Za(a) ? a : wj(a, c) ? [a] : Fu(Ke(a));
}
function Rf(a) {
if ("string" == typeof a || Ud(a)) return a;
var c = a + "";
return "0" == c && 1 / a == -Qf ? "-0" : c;
}
function xj(a, c) {
c = eh(c, a);
for (var b = 0, d = c.length; null != a && b < d; ) a = a[Rf(c[b++])];
return b && b == d ? a : void 0;
}
function Gu(a, c) {
return wj(a) && c === c && !xb(c)
? mn(Rf(a), c)
: function (b) {
var d = null == b ? void 0 : xj(b, a);
d = void 0 === d ? void 0 : d;
if (void 0 === d && d === c) {
if ((d = null != b)) {
d = a;
d = eh(d, b);
for (var e = -1, f = d.length, g = !1; ++e < f; ) {
var h = Rf(d[e]);
if (!(g = null != b && null != b && h in Object(b))) break;
b = b[h];
}
g || ++e != f ? (d = g) : ((f = null == b ? 0 : b.length), (d = !!f && rj(f) && Yg(h, f) && (Za(b) || Le(b))));
}
h = d;
} else h = vc(c, d, 3);
return h;
};
}
function Wd(a) {
return a;
}
function on(a) {
return function (c) {
return null == c ? void 0 : c[a];
};
}
function Hu(a) {
return function (c) {
return xj(c, a);
};
}
function Xd(a, c) {
return "function" == typeof a ? a : null == a ? Wd : "object" == typeof a ? (Za(a) ? Gu(a[0], a[1]) : Cu(a)) : wj(a) ? on(Rf(a)) : Hu(a);
}
function pn(a, c, b, d) {
var e = a.length;
for (b += d ? 1 : -1; d ? b-- : ++b < e; ) if (c(a[b], b, a)) return b;
return -1;
}
function fh(a) {
if ("number" == typeof a) return a;
if (Ud(a)) return yj;
xb(a) && ((a = "function" == typeof a.valueOf ? a.valueOf() : a), (a = xb(a) ? a + "" : a));
if ("string" != typeof a) return 0 === a ? a : +a;
a = a.replace(qn, "");
var c = Iu.test(a);
return c || Ju.test(a) ? Ku(a.slice(2), c ? 2 : 8) : Lu.test(a) ? yj : +a;
}
function Oe(a) {
a ? ((a = fh(a)), (a = a === Qf || a === -Qf ? 1.7976931348623157e308 * (0 > a ? -1 : 1) : a === a ? a : 0)) : (a = 0 === a ? a : 0);
var c = a % 1;
return a === a ? (c ? a - c : a) : 0;
}
function Sf(a, c, b) {
var d = null == a ? 0 : a.length;
if (!d) return -1;
b = null == b ? 0 : Oe(b);
0 > b && (b = gh(d + b, 0));
return pn(a, Xd(c), b);
}
function zj(a, c, b) {
switch (b.length) {
case 0:
return a.call(c);
case 1:
return a.call(c, b[0]);
case 2:
return a.call(c, b[0], b[1]);
case 3:
return a.call(c, b[0], b[1], b[2]);
}
return a.apply(c, b);
}
function Aj(a, c, b) {
"__proto__" == c && hh ? hh(a, c, { configurable: !0, enumerable: !0, value: b, writable: !0 }) : (a[c] = b);
}
function rn(a, c, b) {
var d = a[c];
(qb.call(a, c) && Pd(d, b) && (void 0 !== b || c in a)) || Aj(a, c, b);
}
function Yd(a, c, b, d) {
var e = !b;
b || (b = {});
for (var f = -1, g = c.length; ++f < g; ) {
var h = c[f],
k = d ? d(b[h], a[h], h, b, a) : void 0;
void 0 === k && (k = a[h]);
e ? Aj(b, h, k) : rn(b, h, k);
}
return b;
}
function sn(a, c, b) {
c = gh(void 0 === c ? a.length - 1 : c, 0);
return function () {
for (var d = arguments, e = -1, f = gh(d.length - c, 0), g = Array(f); ++e < f; ) g[e] = d[c + e];
e = -1;
for (f = Array(c + 1); ++e < c; ) f[e] = d[e];
f[c] = b(g);
return zj(a, this, f);
};
}
function Mu(a) {
return function () {
return a;
};
}
function Zd(a, c) {
return tn(sn(a, c, Wd), a + "");
}
function ih(a, c, b) {
if (!xb(b)) return !1;
var d = typeof c;
return ("number" == d ? vd(b) && Yg(c, b.length) : "string" == d && c in b) ? Pd(b[c], a) : !1;
}
function Bj(a) {
return Zd(function (c, b) {
var d = -1,
e = b.length,
f = 1 < e ? b[e - 1] : void 0,
g = 2 < e ? b[2] : void 0;
f = 3 < a.length && "function" == typeof f ? (e--, f) : void 0;
g && ih(b[0], b[1], g) && ((f = 3 > e ? void 0 : f), (e = 1));
for (c = Object(c); ++d < e; ) (g = b[d]) && a(c, g, d, f);
return c;
});
}
function $d(a) {
if (vd(a)) a = en(a, !0);
else if (xb(a)) {
var c = $g(a),
b = [];
for (d in a) ("constructor" != d || (!c && qb.call(a, d))) && b.push(d);
a = b;
} else {
var d = [];
if (null != a) for (c in Object(a)) d.push(c);
a = d;
}
return a;
}
function Nu(a, c, b, d) {
return void 0 === a || (Pd(a, Nf[b]) && !qb.call(d, b)) ? c : a;
}
function un(a, c, b) {
((void 0 === b || Pd(a[c], b)) && (void 0 !== b || c in a)) || Aj(a, c, b);
}
function vn(a, c) {
if (c) return a.slice();
c = a.length;
c = wn ? wn(c) : new a.constructor(c);
a.copy(c);
return c;
}
function Cj(a) {
var c = new a.constructor(a.byteLength);
new dh(c).set(new dh(a));
return c;
}
function xn(a, c) {
c = c ? Cj(a.buffer) : a.buffer;
return new a.constructor(c, a.byteOffset, a.length);
}
function yn(a, c) {
var b = -1,
d = a.length;
for (c || (c = Array(d)); ++b < d; ) c[b] = a[b];
return c;
}
function zn(a) {
return "function" != typeof a.constructor || $g(a) ? {} : Ou(oj(a));
}
function Tf(a) {
return Pc(a) && vd(a);
}
function jh(a, c, b, d, e) {
a !== c &&
Dj(
c,
function (f, g) {
if (xb(f)) {
e || (e = new kc());
f = e;
var h = a[g],
k = c[g],
l = f.get(k);
if (!l) {
l = d ? d(h, k, g + "", a, c, f) : void 0;
var m = void 0 === l;
if (m) {
var n = Za(k),
p = !n && Me(k),
q = !n && !p && Zg(k);
l = k;
if (n || p || q) Za(h) ? (l = h) : Tf(h) ? (l = yn(h)) : p ? ((m = !1), (l = vn(k, !0))) : q ? ((m = !1), (l = xn(k, !0))) : (l = []);
else if (Wg(k) || Le(k))
if (((l = h), Le(h))) l = Yd(h, $d(h));
else {
if (!xb(h) || (b && Fb(h))) l = zn(k);
}
else m = !1;
}
m && (f.set(k, l), jh(l, k, b, d, f), f["delete"](k));
}
un(a, g, l);
} else (h = d ? d(a[g], f, g + "", a, c, e) : void 0), void 0 === h && (h = f), un(a, g, h);
},
$d
);
}
function An(a, c, b, d, e, f) {
xb(a) && xb(c) && (f.set(c, a), jh(a, c, void 0, An, f), f["delete"](c));
return a;
}
function Bn(a, c) {
for (var b = -1, d = null == a ? 0 : a.length; ++b < d && !1 !== c(a[b], b, a); );
return a;
}
function Pu(a, c) {
return a && Yd(c, Ne(c), a);
}
function Qu(a, c) {
return a && Yd(c, $d(c), a);
}
function Ru(a, c) {
return Yd(a, vj(a), c);
}
function Su(a, c) {
return Yd(a, Cn(a), c);
}
function Dn(a) {
return kn(a, $d, Cn);
}
function Tu(a) {
var c = a.length,
b = a.constructor(c);
c && "string" == typeof a[0] && qb.call(a, "index") && ((b.index = a.index), (b.input = a.input));
return b;
}
function Uu(a, c) {
a.set(c[0], c[1]);
return a;
}
function Ej(a, c, b, d) {
var e = -1,
f = null == a ? 0 : a.length;
for (d && f && (b = a[++e]); ++e < f; ) b = c(b, a[e], e, a);
return b;
}
function Vu(a, c) {
a.add(c);
return a;
}
function Wu(a, c, b, d) {
var e = a.constructor;
switch (c) {
case "[object ArrayBuffer]":
return Cj(a);
case "[object Boolean]":
case "[object Date]":
return new e(+a);
case "[object DataView]":
return (c = d ? Cj(a.buffer) : a.buffer), new a.constructor(c, a.byteOffset, a.byteLength);
case "[object Float32Array]":
case "[object Float64Array]":
case "[object Int8Array]":
case "[object Int16Array]":
case "[object Int32Array]":
case "[object Uint8Array]":
case "[object Uint8ClampedArray]":
case "[object Uint16Array]":
case "[object Uint32Array]":
return xn(a, d);
case "[object Map]":
return (c = d ? b(sj(a), 1) : sj(a)), Ej(c, Uu, new a.constructor());
case "[object Number]":
case "[object String]":
return new e(a);
case "[object RegExp]":
return (c = new a.constructor(a.source, Xu.exec(a))), (c.lastIndex = a.lastIndex), c;
case "[object Set]":
return (c = d ? b(Of(a), 1) : Of(a)), Ej(c, Vu, new a.constructor());
case "[object Symbol]":
return Pf ? Object(Pf.call(a)) : {};
}
}
function Uf(a, c, b, d, e, f) {
var g,
h = c & 1,
k = c & 2,
l = c & 4;
b && (g = e ? b(a, d, e, f) : b(a));
if (void 0 !== g) return g;
if (!xb(a)) return a;
if ((d = Za(a))) {
if (((g = Tu(a)), !h)) return yn(a, g);
} else {
var m = wc(a),
n = "[object Function]" == m || "[object GeneratorFunction]" == m;
if (Me(a)) return vn(a, h);
if ("[object Object]" == m || "[object Arguments]" == m || (n && !e)) {
if (((g = k || n ? {} : zn(a)), !h)) return k ? Su(a, Qu(g, a)) : Ru(a, Pu(g, a));
} else {
if (!za[m]) return e ? a : {};
g = Wu(a, m, Uf, h);
}
}
f || (f = new kc());
if ((e = f.get(a))) return e;
f.set(a, g);
k = l ? (k ? Dn : uj) : k ? $d : Ne;
var p = d ? void 0 : k(a);
Bn(p || a, function (d, e) {
p && ((e = d), (d = a[e]));
rn(g, e, Uf(d, c, b, e, a, f));
});
return g;
}
function Fj(a) {
return "function" == typeof a ? a : Wd;
}
function En(a, c) {
var b = -1,
d = vd(a) ? Array(a.length) : [];
ah(a, function (a, f, g) {
d[++b] = c(a, f, g);
});
return d;
}
function Yu(a, c, b, d, e) {
e(a, function (a, e, h) {
b = d ? ((d = !1), a) : c(b, a, e, h);
});
return b;
}
function Zu(a) {
return a !== a;
}
function Gj(a, c, b) {
if (c === c)
a: {
--b;
for (var d = a.length; ++b < d; )
if (a[b] === c) {
a = b;
break a;
}
a = -1;
}
else a = pn(a, Zu, b);
return a;
}
function kh(a, c) {
return !(null == a || !a.length) && -1 < Gj(a, c, 0);
}
function $u() {}
function av(a) {
return Za(a) || Le(a) || !!(Fn && a && a[Fn]);
}
function lh(a, c, b, d, e) {
var f = -1,
g = a.length;
b || (b = av);
for (e || (e = []); ++f < g; ) {
var h = a[f];
0 < c && b(h) ? (1 < c ? lh(h, c - 1, b, d, e) : tj(e, h)) : d || (e[e.length] = h);
}
return e;
}
function bv(a, c) {
var b = a.length;
for (a.sort(c); b--; ) a[b] = a[b].value;
return a;
}
function cv(a, c, b) {
var d = -1;
c = Vd(c.length ? c : [Wd], dn(Xd));
a = En(a, function (b, a, g) {
return {
criteria: Vd(c, function (a) {
return a(b);
}),
index: ++d,
value: b,
};
});
return bv(a, function (a, c) {
a: {
for (var d = -1, e = a.criteria, f = c.criteria, l = e.length, m = b.length; ++d < l; ) {
b: {
var n = e[d],
p = f[d];
if (n !== p) {
var q = void 0 !== n,
r = null === n,
u = n === n,
x = Ud(n),
v = void 0 !== p,
y = null === p,
D = p === p,
E = Ud(p);
if ((!y && !E && !x && n > p) || (x && v && D && !y && !E) || (r && v && D) || (!q && D) || !u) {
n = 1;
break b;
}
if ((!r && !x && !E && n < p) || (E && q && u && !r && !x) || (y && q && u) || (!v && u) || !D) {
n = -1;
break b;
}
}
n = 0;
}
if (n) {
if (d >= m) {
a = n;
break a;
}
a = n * ("desc" == b[d] ? -1 : 1);
break a;
}
}
a = a.index - c.index;
}
return a;
});
}
function Hj(a, c, b) {
var d = -1,
e = a.length;
0 > c && (c = -c > e ? 0 : e + c);
b = b > e ? e : b;
0 > b && (b += e);
e = c > b ? 0 : (b - c) >>> 0;
c >>>= 0;
for (b = Array(e); ++d < e; ) b[d] = a[d + c];
return b;
}
function Gn(a, c) {
c = eh(c, a);
a = 2 > c.length ? a : xj(a, Hj(c, 0, -1));
var b;
(b = null == a) || ((b = null == c ? 0 : c.length), (b = delete a[Rf(b ? c[b - 1] : void 0)]));
return b;
}
function dv(a) {
return Tf(a) ? a : [];
}
function ev(a) {
return Wg(a) ? void 0 : a;
}
function fv(a) {
return (null == a ? 0 : a.length) ? lh(a, 1) : [];
}
function Ij(a, c, b) {
a === a && (void 0 !== b && (a = a <= b ? a : b), void 0 !== c && (a = a >= c ? a : c));
return a;
}
function Hn(a, c) {
for (var b, d = -1, e = a.length; ++d < e; ) {
var f = c(a[d]);
void 0 !== f && (b = void 0 === b ? f : b + f);
}
return b;
}
function In(a, c) {
for (var b = {}, d = 0; d < a.length; d++) {
var e = a[d],
f = c(e, d);
t(f) && (b[f] = e);
}
return b;
}
function Ub(a, c, b, d, e, f, g) {
if (b && (a.length || c.length)) {
var h = function (a) {
(a = b(a)) && c.push(a);
},
k = function (b) {
pb(c, b);
e && e(b);
b.destroy && b.destroy();
};
if (!c.length) return w(a, h), c;
a = In(a, f || Jn);
g = In(c, g || Jn);
for (var l in a) J(g, l) ? d && d(a[l], g[l]) : h(a[l]);
for (l in g) !J(a, l) && k(g[l]);
return c;
}
}
function gv(a) {
return "number" === typeof a && isNaN(a);
}
function xc(a, c, b) {}
function Gb(a, c, b) {
return a;
}
function ae(a, c) {
return a.indexOf ? -1 < a.indexOf(c) : J(a, c);
}
function mh(a, c) {
var b;
if (a) {
if (J(a, c)) return c;
a = pa(a);
c = c.toLowerCase();
try {
for (var d = ya(a), e = d.next(); !e.done; e = d.next()) {
var f = e.value;
if (f.toLowerCase() === c) return f;
}
} catch (h) {
var g = { error: h };
} finally {
try {
e && !e.done && (b = d.return) && b.call(d);
} finally {
if (g) throw g.error;
}
}
}
}
function Da(a, c) {
for (var b in a) c(b);
}
function L(a, c) {
for (var b in c) a[b] = c[b];
return a;
}
function W(a, c) {
return L(L({}, a), c);
}
function Oa(a, c) {
return Na({}, a, c);
}
function Na(a, c, b) {
if (!b) return L(a, c);
for (var d in c) wd.call(b, d) && (a[d] = c[d]);
return a;
}
function Sc(a, c, b) {
if (!b) return L(a, c);
for (var d in c) wd.call(b, d) || (a[d] = c[d]);
return a;
}
function be(a, c, b) {
return Sc(L({}, a), c, b);
}
function Pe(a, c, b) {
return Na(L({}, a), c, b);
}
function Hb(a, c) {
var b = {},
d;
for (d in a) wd.call(c, d) || (b[d] = a[d]);
return b;
}
function fa(a) {
for (var c = {}, b = 0; b < a.length; b++) c[a[b]] = void 0;
return c;
}
function Tc(a) {
return a.length ? (1 === a.length ? a[0] : hv.apply([], a)) : [];
}
function Jj(a) {
return fa(a.split(","));
}
function Kj(a, c) {
return B(a, function (b, a) {
return b + c[a];
});
}
function P(a) {
return a[a.length - 1];
}
function Lj(a, c, b, d, e) {
var f = null,
g;
for (g in c) {
var h = null;
if (!wd.call(a, g) || (b && wd.call(b, g) ? (h = !vc(a[g], c[g])) : a[g] !== c[g])) (f = f || {}), (f[g] = h ? qa(c[g]) : c[g]), d || (a[g] = f[g]);
}
if (e) for (g in a) wd.call(c, g) || ((f = f || {}), (f[g] = null), d || delete a[g]);
return f;
}
function z(a, c, b, d, e) {
a = arguments;
var f,
g = a.length;
for (f = 0; f < g; f++) {
var h = a[f];
if (t(h) && null !== h) return h;
}
}
function O(a) {
return "string" === typeof a;
}
function Pa(a) {
return a && "object" === typeof a;
}
function Q(a) {
return void 0 === a;
}
function lc(a) {
return null === a || Q(a);
}
function pa(a) {
return Object.keys(a);
}
function Kn(a, c) {
void 0 === c && (c = ".");
var b = function (a, e, f) {
void 0 === f && (f = []);
if ("object" !== typeof a) return e && f.push(e), f;
for (var d = Object.keys(a), h = 0, k = d.length; h < k; h++) {
var l = d[h];
b(a[l], (e ? e + c : "") + l, f);
}
return f;
};
return b(a);
}
function yc(a, c) {
return S(a, function (b) {
return t(c[b]);
})
? !0
: !1;
}
function Ln(a, c) {
for (var b in a) if (wd.call(c, b)) return !0;
return !1;
}
function Mj(a, c) {
var b = {},
d;
w(c, function (c) {
if ((d = C(a, c))) b[c] = d;
});
return b;
}
function Z(a, c, b) {
if (a && c && "undefined" !== typeof b) {
c = c.split(".");
var d = c.length - 1,
e;
for (e = 0; e < d; e++) {
var f = c[e];
a = void 0 === a[f] ? (a[f] = {}) : a[f];
}
return (a[c[d]] = b);
}
}
function Vf(a, c, b) {
if (a && c && "undefined" !== typeof b) {
var d = c.length - 1,
e;
for (e = 0; e < d; e++) {
var f = c[e];
a = void 0 === a[f] ? (a[f] = {}) : a[f];
}
return (a[c[d]] = b);
}
}
function zc(a, c, b, d, e, f) {
c = C(c, d);
if (t(c)) return (c = e ? e(c) : c), "function" === typeof b ? b(a, c) : Z(a, b, c), !0;
}
function Mn(a, c, b, d) {
c = N(c, d);
if (t(c)) return Vf(a, b, c), !0;
}
function nh(a, c, b) {
for (var d = 0, e = a.length; d < e; d++) if (a[d][c] === b) return a[d];
}
function Qe(a, c) {
if (!a || c.length !== a.length) return !1;
for (var b = 0, d = c.length; b < d; b++)
if (c[b] instanceof Array && a[b] instanceof Array) {
if (!c[b].equals(a[b])) return !1;
} else if (c[b] != a[b]) return !1;
return !0;
}
function Nn(a) {
var c = a.name;
c || (c = (a = a.toString().match(iv)) && a[1]);
return c;
}
function Nj(a) {
return window.eval(a);
}
function On(a) {
if (!a) return a;
for (var c = [], b = 0; b < a.length; b++) {
var d = a[b],
e = d.toLowerCase(),
f = " " === d;
0 < b && (f || d !== e) && c.push("-");
!f && c.push(e);
}
return c.join("");
}
function Re(a, c, b) {
a = oh(a);
return a.split(c, b);
}
function Ib(a, c) {
return w(Re(a, ","), c);
}
function Ac(a) {
if (!a) return [0, 0, 0, 0];
if (4 === a.length && a.push) return a;
switch (I(a)) {
case "number":
return [a, a, a, a];
case "object":
return [a.top || 0, a.right || 0, a.bottom || 0, a.left || 0];
case "array":
return jv(a);
case "string":
return Ac(Oj(a));
}
return a;
}
function jv(a) {
switch (a.length) {
case 1:
var c = a[0] || 0;
return [c, c, c, c];
case 2:
return (c = a[0]), (a = a[1]), [c, a, c, a];
case 3:
return (c = a[1]), [a[0], c, a[2], c];
}
return a;
}
function Oj(a) {
return B(a.match(kv), function (a) {
return Number(a);
});
}
function Pn(a, c) {
for (var b = [], d = 0; d < a; d++) b.push(c(d));
return b;
}
function Sa(a, c, b) {
var d;
(d = c) && O(d) && (d = d.split(","));
var e = d
? function (b) {
if (-1 < d.indexOf(b)) return !0;
}
: function (b) {
return !1;
};
Qn(a, function (a, c, h) {
if (!e(c)) {
var f = -1 < c.indexOf("_") ? c.replace(lv, "$1.") : c,
g = I(a);
if (-1 < f.indexOf(".")) {
var m = C(h, f);
Q(m) ? Z(h, f, a) : "object" === g && Pa(m) && (a = A(m, a));
delete h[c];
}
"object" === g
? Sa(a, b && d)
: "array" === g &&
w(a, function (a) {
return Sa(a, b && d);
});
}
});
return a;
}
function ce(a) {
return 0 < a ? 1 : 0 > a ? -1 : 0;
}
function na(a, c) {
void 0 === c && (c = 0);
return Math.round(a * Math.pow(10, c)) / Math.pow(10, c);
}
function ph(a) {
a = a.slice();
var c = ea;
return a
.sort(function (b, d) {
return (
c(a, function (a) {
return a === b;
}).length -
c(a, function (b) {
return b === d;
}).length
);
})
.pop();
}
function qh(a) {
a = a.slice();
a.sort(function (b, a) {
return b - a;
});
var c = Vb.floor(a.length / 2);
return a.length % 2 ? a[c] : (a[c - 1] + a[c]) / 2;
}
function mv(a, c) {
var b,
d = c.length;
if (0 === d) return 0;
a.pop && (a = Ta(a) / a.length);
c = c.slice();
c.sort(function (b, a) {
return b - a;
});
for (b = 0; b < d && !(c[b] > a); b++);
return (b / d) * 100;
}
function Wf(a) {
return a.length && Ta(a) / a.length;
}
function Pj(a, c) {
return Math.round(a * Math.pow(10, c)) / Math.pow(10, c);
}
function Y(a, c, b, d, e) {
return Qj(b, d) ? a : a + ((e - b) / (d - b)) * (c - a);
}
function Rj(a) {
if (null === a) return "00";
a = parseInt(a);
if (0 === a || Ha(a)) return "00";
a = Math.round(a);
return "0123456789ABCDEF".charAt((a - (a % 16)) / 16) + "0123456789ABCDEF".charAt(a % 16);
}
function Rn(a) {
var c = function (b) {
return !Ha(b) && t(b) && null !== b;
};
if (a.pop) {
for (var b = 0, d = a.length; b < d; b++) if (!c(a[b])) return !1;
return !0;
}
return c(a);
}
function Sj(a, c) {
return a < c ? -1 : a > c ? 1 : 0;
}
function la(a, c) {
return a > c ? a - c : c - a;
}
function Sn(a) {
return a * a * Math.PI;
}
function Xf(a) {
return Vb.max.apply(
Vb,
H(
B(a, function (a) {
return Yf(a);
})
)
);
}
function Tn(a, c) {
var b = a,
d = [],
e = function () {
b = (9301 * b + 49297) % 233280;
return b / 233280;
};
-1 === a &&
(e = function () {
return Math.random();
});
for (a = 0; a < c; a++) d[a] = e();
return d;
}
function Qj(a, c, b) {
void 0 === b && (b = Tj);
return la(a, c) < b;
}
function Se(a) {
var c = a.charCodeAt(0);
return 64 < c && 91 > c ? String.fromCharCode(c + 32).concat(a.substr(1)) : a;
}
function de(a) {
void 0 === a && (a = 7);
for (var c = ""; a--; ) c += "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(51 * Math.random())];
return c;
}
function Un(a) {
return !Ha(parseFloat(a)) && isFinite(parseFloat(a));
}
function Vn(a) {
return (180 * a) / Math.PI;
}
function yb(a) {
return (a * Math.PI) / 180;
}
function rh(a) {
return 360 === a ? a : (a + 36e3) % 360;
}
function ee(a, c, b, d) {
return { x: a + d * Math.cos(b), y: c + d * Math.sin(b) };
}
function Uc(a, c, b, d) {
return ee(a, c, yb(b), d);
}
function ra(a, c, b) {
return Jb(a, yb(c), b);
}
function Jb(a, c, b) {
return [a[0] + b * Math.cos(c), a[1] + b * Math.sin(c)];
}
function Uj(a, c) {
return [(a[0] + c[0]) / 2, (a[1] + c[1]) / 2];
}
function Vj(a, c, b) {
void 0 === b && (b = 0.5);
return [a[0] + (c[0] - a[0]) * b, a[1] + (c[1] - a[1]) * b];
}
function Ia(a, c) {
a = Wb(a);
c = Wb(c);
return ((180 * Math.atan2(c.y - a.y, c.x - a.x)) / Math.PI + 360) % 360;
}
function Xb(a, c) {
a = Wb(a);
c = Wb(c);
var b = c.x - a.x;
a = c.y - a.y;
return Math.sqrt(b * b + a * a);
}
function mc(a, c) {
var b = c[0] - a[0];
a = c[1] - a[1];
return Math.sqrt(b * b + a * a);
}
function Te(a, c, b, d) {
a = Wb(a);
c = Wb(c);
b = Wb(b);
d = Wb(d);
var e = a.x;
a = a.y;
var f = b.x,
g = b.y;
b = { x: null, y: null, onLine1: !1, onLine2: !1 };
var h = d.x - f;
d = d.y - g;
var k = c.x - e,
l = c.y - a;
c = d * k - h * l;
if (0 == c)
return !Bc(d) || !Bc(h) || (Bc(k) && Bc(l)) || !Bc((f - e) * l - (g - a) * k)
? !Bc(l) || !Bc(k) || (Bc(h) && Bc(d)) || !Bc((e - f) * d - (a - g) * h)
? b
: { x: e, y: a, onLine1: !0, onLine2: !0 }
: { x: f, y: g, onLine1: !0, onLine2: !0 };
g = a - g;
f = e - f;
var m = k * g - l * f;
g = (h * g - d * f) / c;
f = m / c;
b.x = e + g * k;
b.y = a + g * l;
0 < g && 1 > g && (b.onLine1 = !0);
0 < f && 1 > f && (b.onLine2 = !0);
return b;
}
function Wn(a, c, b) {
var d = Ia(a, c);
b = Wb(b);
d = ee(b.x, b.y, yb(d + 90), 5);
d = Te(a, c, b, d);
return Xb(b, d);
}
function Zf(a, c) {
var b = a[0];
a = a[1];
for (var d = !1, e = 0, f = c.length - 1; e < c.length; f = e++) {
var g = c[e][0],
h = c[e][1],
k = c[f][0];
f = c[f][1];
h > a != f > a && b < ((k - g) * (a - h)) / (f - h) + g && (d = !d);
}
return d;
}
function nv(a, c) {
var b;
try {
for (var d = ya(a), e = d.next(); !e.done; e = d.next()) if (Zf(e.value, c)) return !0;
} catch (g) {
var f = { error: g };
} finally {
try {
e && !e.done && (b = d.return) && b.call(d);
} finally {
if (f) throw f.error;
}
}
}
function Xn(a, c, b) {
a = Wb(a);
c = Wb(c);
b = Wb(b);
a = (c.x - a.x) * (b.y - a.y) - (c.y - a.y) * (b.x - a.x);
return -1e-11 > a ? -1 : 1e-11 < a ? 1 : 0;
}
function $f(a, c, b, d) {
return function (e) {
if (0 >= e) {
var f = 0;
0 < a ? (f = c / a) : !c && 0 < b && (f = d / b);
return f * e;
}
if (1 <= e) return (f = 0), 1 > b ? (f = (d - 1) / (b - 1)) : 1 === b && 1 > a && (f = (c - 1) / (a - 1)), 1 + f * (e - 1);
f = 0;
for (var g = 1, h = 0; f < g; ) {
h = (f + g) / 2;
var k = 3 * a * (1 - h) * (1 - h) * h + 3 * b * (1 - h) * h * h + h * h * h;
if (1e-5 > Math.abs(e - k)) break;
k < e ? (f = h) : (g = h);
}
return 3 * c * (1 - h) * (1 - h) * h + 3 * d * (1 - h) * h * h + h * h * h;
};
}
function Wj(a, c) {
void 0 === c && (c = 1);
var b = G(a[0], 2),
d = b[0];
b = b[1];
var e = G(a[1], 2),
f = e[0];
e = e[1];
var g = G(a[2], 2),
h = g[0];
g = g[1];
var k = G(a[3], 2);
a = k[0];
k = k[1];
c /= 2;
for (
var l = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], m = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], n = 0, p = 0;
12 > p;
p++
) {
var q = c * l[p] + c,
r = q * (q * (-3 * d + 9 * f - 9 * h + 3 * a) + 6 * d - 12 * f + 6 * h) - 3 * d + 3 * f;
q = q * (q * (-3 * b + 9 * e - 9 * g + 3 * k) + 6 * b - 12 * e + 6 * g) - 3 * b + 3 * e;
n += m[p] * Math.sqrt(r * r + q * q);
}
return c * n;
}
function Xj(a, c) {
var b = G(a[0], 2),
d = b[0];
b = b[1];
var e = G(a[1], 2),
f = e[0],
g = e[1];
e = G(a[2], 2);
var h = e[0],
k = e[1];
e = G(a[3], 2);
a = e[0];
e = e[1];
var l = (f - d) * c + d,
m = (g - b) * c + b;
f = (h - f) * c + f;
g = (k - g) * c + g;
h = (a - h) * c + h;
k = (e - k) * c + k;
var n = (f - l) * c + l,
p = (g - m) * c + m;
f = (h - f) * c + f;
g = (k - g) * c + g;
return [
[d, b],
[l, m],
[n, p],
[(f - n) * c + n, (g - p) * c + p],
[f, g],
[h, k],
[a, e],
];
}
function ov(a, c, b, d, e, f) {
var g = [];
a: {
var h = a[0];
a = a[1];
var k = c[0];
c = c[1];
var l = b[0];
b = b[1];
var m = d[0];
d = d[1];
var n = e[0];
e = e[1];
var p = f[0];
f = f[1];
var q = Math.min(n, p),
r = Math.min(e, f),
u = Math.max(n, p),
x = Math.max(e, f),
v,
y = e - f,
D = p - n;
y = [y * (-1 * h + 3 * k + -3 * l + m) + D * (-1 * a + 3 * c + -3 * b + d), y * (3 * h + -6 * k + 3 * l) + D * (3 * a + -6 * c + 3 * b), y * (-3 * h + 3 * k) + D * (-3 * a + 3 * c), y * h + D * a + (n * f - p * e)];
D = v = y.length - 1;
var E = [];
for (var F = 0; F <= v; F++)
if (1e-8 >= Math.abs(y[F])) v--;
else break;
switch (v) {
case 1:
v = y[D - 1];
F = E;
void 0 === F && (F = []);
0 !== v && F.push(-y[D] / v);
break;
case 2:
var t = y[D - 2];
v = E;
void 0 === v && (v = []);
F = y[D - 1] / t;
y = F * F - (y[D] / t) * 4;
0 < y ? ((y = Math.sqrt(y)), v.push(0.5 * (-F + y)), v.push(0.5 * (-F - y))) : 0 === y && v.push(0.5 * -F);
break;
case 3:
var w = y[D - 3];
v = E;
void 0 === v && (v = []);
t = y[D - 2] / w;
var wa = y[D - 1] / w;
F = (3 * wa - t * t) / 3;
D = (2 * t * t * t - 9 * wa * t + (y[D] / w) * 27) / 27;
y = t / 3;
t = (D * D) / 4 + (F * F * F) / 27;
D /= 2;
1e-6 >= Math.abs(t) && (t = 0);
0 < t
? ((w = Math.sqrt(t)), (F = -D + w), (t = 0 <= F ? Math.pow(F, 1 / 3) : -Math.pow(-F, 1 / 3)), (F = -D - w), (t = 0 <= F ? t + Math.pow(F, 1 / 3) : t - Math.pow(-F, 1 / 3)), v.push(t - y))
: 0 > t
? ((F = Math.sqrt(-F / 3)), (t = Math.atan2(Math.sqrt(-t), -D) / 3), (D = Math.cos(t)), (t = Math.sin(t)), (w = Math.sqrt(3)), v.push(2 * F * D - y), v.push(-F * (D + w * t) - y), v.push(-F * (D - w * t) - y))
: ((F = 0 <= D ? -Math.pow(D, 1 / 3) : Math.pow(-D, 1 / 3)), v.push(2 * F - y), v.push(-F - y));
}
for (v = 0; v < E.length; v++)
if (((y = E[v]), 0 <= y && 1 >= y))
if (
((w = h + (k - h) * y),
(t = a + (c - a) * y),
(F = k + (l - k) * y),
(D = c + (b - c) * y),
(w += (F - w) * y),
(t += (D - t) * y),
(F = w + (F + (l + (m - l) * y - F) * y - w) * y),
(y = t + (D + (b + (d - b) * y - D) * y - t) * y),
1e-7 > Math.abs(n - p))
) {
if (r <= y && y <= x)
if (g) g.push([F, y]);
else break a;
} else if (1e-7 > Math.abs(e - f)) {
if (q <= F && F <= u)
if (g) g.push([F, y]);
else break a;
} else if (F >= q && y >= r && F <= u && y <= x)
if (g) g.push([F, y]);
else break a;
}
return g;
}
function pv() {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
var b = G(a[0], 2);
c = b[0];
b = b[1];
var d = G(a[1], 2),
e = d[0];
d = d[1];
var f = G(a[2], 2),
g = f[0];
f = f[1];
a = G(a[3], 2);
var h = a[0],
k = a[1],
l,
m,
n = (l = Number.POSITIVE_INFINITY),
p = (m = Number.NEGATIVE_INFINITY);
a = e - c;
var q = d - b,
r = g - e,
u = f - d;
h -= g;
k -= f;
for (var x = 0; 1.001 > x; x += 0.025) {
var v = c + x * a,
y = b + x * q,
D = e + x * r,
E = d + x * u,
F = g + x * h,
t = f + x * k,
w = D - v,
wa = E - y;
F -= D;
t -= E;
v += x * w;
y += x * wa;
D += x * F;
E += x * t;
D -= v;
E -= y;
D = v + x * D;
E = y + x * E;
n = Math.min(n, D);
l = Math.min(l, E);
p = Math.max(p, D);
m = Math.max(m, E);
}
return [n, l, p - n, m - l];
}
function Wb(a) {
a.pop && (a = { x: a[0], y: a[1] });
return a;
}
function qv(a, c, b, d, e, f) {
void 0 === f && (f = 0);
f = ((0 > e ? b : d)[1] - f) / Math.abs(Math.sin(yb(e)));
f = Math.min(f, (0 <= e ? b : d)[0]);
return c - a < f;
}
function Yn(a) {
var c = rh(a);
return 90 < c && 270 > c ? rh(c + 180) : a;
}
function Bc(a) {
return 1e-7 > Math.abs(a);
}
function ag(a, c) {
return S(a, function (b) {
return Kb(b, c);
});
}
function Ue(a, c) {
c = G(Zn([Ve(a), Ve(c)]), 2);
a = c[0];
c = c[1];
if ($n(a, c)) return c;
if ($n(c, a)) return a;
if (c[0] < a[1]) return [c[0], a[1]];
}
function bg(a, c) {
var b = [];
We(a, function (a) {
return Xe(b, Ue(a, c));
});
return b;
}
function Yj(a, c) {
var b = 0,
d = c[0] - a[0],
e = a[1] - c[1],
f = (a[1] + a[0]) / 2,
g = (c[1] + c[0]) / 2;
c[1] - c[0] > a[1] - a[0] ? (b = f - g) : 0 > d ? (b = -d) : 0 > e && (b = e);
c[0] += b;
c[1] += b;
return c;
}
function ao(a, c) {
for (var b = 0; b < a.length; b++) if (Kb(Ve(a[b]), c)) return b;
return -1;
}
function rv(a, c) {
We(c, function (b) {
var c;
try {
for (var e = ya(a), f = e.next(); !f.done; f = e.next()) {
var g = f.value,
h = g,
k = b;
if (fe(h, k[0]) || fe(h, k[1])) {
h = g;
k = b;
if (fe(h, k[0]) && fe(h, k[1]))
var l = g,
m = [
[g[0], b[0]],
[b[1], g[1]],
];
else var n = g;
break;
}
}
} catch (q) {
var p = { error: q };
} finally {
try {
f && !f.done && (c = e.return) && c.call(e);
} finally {
if (p) throw p.error;
}
}
l && ((p = a.indexOf(l)), a.splice.apply(a, H([p, 1], m)));
n && ((m = a.indexOf(n)), (b = fe(n, b[0]) ? [n[0], b[0]] : fe(n, b[1]) ? [b[1], n[1]] : void 0), (a[m] = b));
return a;
});
return a;
}
function Zj(a, c, b) {
var d;
b /= 2;
var e = [];
try {
for (var f = ya(a), g = f.next(); !g.done; g = f.next()) {
var h = g.value;
e.push([ua(h - b, c[0], c[1]), ua(h + b, c[0], c[1])]);
}
} catch (l) {
var k = { error: l };
} finally {
try {
g && !g.done && (d = f.return) && d.call(f);
} finally {
if (k) throw k.error;
}
}
return e;
}
function cg(a, c) {
var b = [],
d;
a = bo(a) ? a : Zn(a.slice(0));
if (bo(a))
return (
(c = c || sv(a)),
We(a, function (a, f, g) {
!f && a[0] > c[0] ? b.push([c[0], Math.min(a[0], c[1])]) : f && a[0] > c[0] && d[1] !== a[0] && b.push([Math.max(d[1], c[0]), Math.min(a[0], c[1])]);
g && a[1] < c[1] && b.push([Math.max(c[0], a[1]), c[1]]);
d = a;
}),
b
);
}
function sv(a) {
a = co(a);
return [Math.min.apply(Math, H(a)), Math.max.apply(Math, H(a))];
}
function tv(a) {
var c;
We(a, function (b) {
return (c = c && la(c[0], c[1]) > la(b[0], b[1]) ? c : b);
});
return c;
}
function co(a) {
var c = [];
We(a, function (b) {
return c.push.apply(c, H(b));
});
return c;
}
function eo(a) {
var c = 0;
We(a, function (b) {
return (c += b[1] - b[0]);
});
return c;
}
function Zn(a, c) {
void 0 === c && (c = !1);
return a.sort(function (b, a) {
return c ? a[0] - b[0] : b[0] - a[0];
});
}
function We(a, c) {
for (var b = 0, d = a.length; b < d && !1 !== c(a[b], b, b === a.length - 1, b ? a[b - 1] : void 0); b++);
}
function bo(a) {
for (var c = 0, b = a.length; c < b; c++) if (c && a[c][0] < a[c - 1][0]) return !1;
return !0;
}
function fo(a, c, b) {
b && ((a = go(a, b)), (c = go(c, b)));
b = a;
var d = c;
b = b[2] * b[3] === d[2] * d[3] && b[2] === d[2] ? 0 : b < d ? -1 : b > d ? 1 : 0;
return 0 === b && a[0] === c[0] && a[1] === c[1] ? 0 : 0 === b ? -1 : b;
}
function go(a, c) {
return B(a, function (b) {
return na(b, c);
});
}
function rb(a, c) {
return [a[0] + c, a[1] + c, a[2] - 2 * c, a[3] - 2 * c];
}
function Ye(a, c) {
return mb(va(a), c);
}
function Ea(a) {
var c = [],
b;
if (a && a.length) {
for (var d = 0, e = a.length; d < e; d++) if ((b = a[d])) c.push([b[0], b[1]]), c.push([b[0] + b[2], b[1] + b[3]]);
return Ua(c);
}
}
function ho(a) {
for (var c = a[0], b = 1, d = a.length; b < d; b++)
if (((c = sh(c, a[b])), 0 >= c[2] || 0 >= c[3])) {
c = null;
break;
}
return c;
}
function Ua(a) {
if (!a.length) return [0, 0, 0, 0];
var c = a[0],
b = c[0],
d = c[0],
e = c[1];
c = c[1];
for (var f, g, h = 0, k = a.length; h < k; h++) {
var l = a[h];
(f = l[0]) > d && (d = f);
f < b && (b = f);
(g = l[1]) > c && (c = g);
g < e && (e = g);
}
return [b, e, d - b, c - e];
}
function uv(a, c) {
return Ea([a, Ua(c)]);
}
function th(a, c) {
return mb(va(a), [Math.max(a[2], c[0]), Math.max(a[3], c[1])]);
}
function vv(a, c) {
var b = G(a, 4);
a = b[2];
b = b[3];
c = G(c, 4);
c = Math.min(c[3] / b, c[2] / a);
return [a * c, b * c];
}
function va(a) {
return [Vc(a), Wc(a)];
}
function sh(a, c) {
a = a.slice(0);
c = Yb(c);
a = ak(a, c[0]);
a = bk(a, c[1]);
a = ck(a, c[2]);
return dk(a, c[3]);
}
function ak(a, c) {
var b = Va(a);
a[0] = a[0] < c ? c : a[0];
a[2] = b < c ? c - a[0] : b - a[0];
return a;
}
function bk(a, c) {
var b = Wa(a);
a[1] = a[1] < c ? c : a[1];
a[3] = b < c ? c - a[1] : b - a[1];
return a;
}
function ck(a, c) {
var b = Va(a);
a[0] = a[0] > c ? c : a[0];
a[2] = b > c ? c - a[0] : b - a[0];
return a;
}
function dk(a, c) {
var b = Wa(a);
a[1] = a[1] > c ? c : a[1];
a[3] = b > c ? c - a[1] : b - a[1];
return a;
}
function io(a, c) {
return Ye(a, [a[2] + c[0] + c[2], a[3] + c[1] + c[3]]);
}
function jo(a, c) {
return io(
a,
c.map(function (b) {
return -b;
})
);
}
function ha(a) {
return [a.x, a.y, a.width, a.height];
}
function mb(a, c) {
return [a[0] - c[0] / 2, a[1] - c[1] / 2, c[0], c[1]];
}
function Cc(a) {
var c;
a.length &&
(c = a[0].pop
? B(a, function (b) {
return ko(b);
}).join(" ")
: ko(a));
return c;
}
function wv(a, c) {
var b = c[0][1] == c[1][1];
if (c[0][0] > c[1][0] || c[0][1] > c[1][1]) c = [c[1], c[0]];
var d = [],
e,
f;
b ? (c[0][0] < a[0] && (e = [c[0], [a[0], c[0][1]]]), c[1][0] > a[0] + a[2] && (f = [[a[0] + a[2], c[1][1]], c[1]])) : (c[0][1] < a[1] && (e = [c[0], [c[0][0], a[1]]]), c[1][1] > a[1] + a[3] && (f = [[c[1][0], a[1] + a[3]], c[1]]));
e && d.push(e);
f && d.push(f);
return d;
}
function lo(a, c, b, d, e, f) {
c = ek(a, c, [ge.x(b), ge.x(d), ge.y(e), ge.y(f)]);
return Xc(a, c);
}
function he(a, c, b, d) {
b = nc.x(b);
d = nc.y(d);
return { box: Xc(a, ek(a, c, [b[0], b[1], d[0], d[1]])), contentAlignment: [b[2], d[2]] };
}
function ek(a, c, b) {
var d = b[0];
d = (0, b[1])(c) - d(a);
var e = b[2];
a = (0, b[3])(c) - e(a);
return [d, a];
}
function fk(a, c) {
return [a[0] - c[0], a[1] - c[1]];
}
function mo(a, c) {
a = uh(a.slice(0), c);
for (var b = [], d = 0, e = a.length; d < e; d++) {
var f = a[d];
if (d) {
var g = vh(f, b, c);
f[0] = g[0];
f[1] = g[1];
}
b.push(f);
}
return b;
}
function vh(a, c, b) {
if (!Yc(c, a)) return a;
var d = [],
e = !1,
f = "v" === { u: "v", d: "v", l: "h", r: "h" }[b],
g = f ? xd : yd;
f = f ? Va : Wa;
for (var h = g(a), k = f(a), l = 0, m = c.length; l < m; l++) {
var n = c[l];
g(n) > k || f(n) < h || d.push(n);
}
d = uh(d, b);
c = 0;
for (a = a.slice(0); !e; ) {
g = d[c++];
if (zd(a, g) && ((e = a), (g = [g]), (f = b), (h = 1 < g.length ? Ea(g) : g[0]), Yc(g, e)))
switch (f) {
case "u":
e[1] = h[1] - e[3];
break;
case "l":
e[0] = h[0] - e[2];
break;
case "d":
e[1] = Wa(h);
break;
case "r":
e[0] = Va(h);
}
e = !Yc(d.slice(c), a) || c >= d.length;
}
return a;
}
function gk(a, c) {
var b = va(a),
d = Yb(a);
w(c, function (a) {
if (zd(Ze(d), a)) {
var c = va(a);
c = fk(b, c);
1 < Math.abs(c[1]) ? (0 < c[1] ? (d[1] = Wa(a)) : (d[3] = a[1])) : 1 < Math.abs(c[0]) && (0 > c[0] ? (d[2] = a[0]) : (d[0] = Va(a)));
}
});
return Ze(d);
}
function uh(a, c) {
c = { u: { getter: Wa, dir: "desc" }, d: { getter: yd }, l: { getter: Va, dir: "desc" }, r: { getter: xd } }[c];
var b = c.getter,
d = function (a, c) {
a = b(a);
c = b(c);
return a < c ? -1 : a > c ? 1 : 0;
};
a.sort(
"desc" === c.dir
? function (b, a) {
return d(a, b);
}
: d
);
return a;
}
function Zc(a, c) {
a = no(a, c);
return oo(a, c);
}
function no(a, c) {
c = Yj([c[0], Va(c)], [a[0], Va(a)]);
return [c[0], a[1], c[1] - c[0], a[3]];
}
function oo(a, c) {
c = Yj([c[1], Wa(c)], [a[1], Wa(a)]);
return [a[0], c[0], a[2], c[1] - c[0]];
}
function $c(a, c) {
var b = a[0],
d = c[0];
if ((b = !(d < b || d + c[2] > b + a[2]))) (b = a[1]), (d = c[1]), (b = !(d < b || d + c[3] > b + a[3]));
return b;
}
function Ad(a, c) {
return c[0] > a[0] && c[0] < a[0] + a[2] && c[1] > a[1] && c[1] < a[1] + a[3];
}
function po(a, c, b) {
return c[0] - a[0] > b && a[0] + a[2] - c[0] > b && c[1] - a[1] > b && a[1] + a[3] - c[1] > b;
}
function zd(a, c) {
var b = a[0],
d = c[0];
return b + 0.01 < d + c[2] && b + a[2] > d + 0.01 && a[1] + 0.01 < c[1] + c[3] && a[1] + a[3] > c[1] + 0.01;
}
function xv(a, c) {
if (!zd(a, c)) return 0;
var b = Math.max(a[0], c[0]) - Math.min(Va(a), Va(c)),
d = Math.max(a[1], c[1]) - Math.min(Wa(a), Wa(c));
b *= d;
return b / (a[2] * a[3] + c[2] * c[3] - b);
}
function Yc(a, c, b) {
for (var d = 0, e = a.length; d < e; d++) if ((!b || a[d].id !== b) && zd(a[d], c)) return !0;
}
function qo(a) {
for (var c = 0, b = a.length; c < b; c++) for (var d = c; d < b; d++) if (d !== c && zd(a[c], a[d])) return !0;
}
function ro(a, c) {
var b = [],
d = function (a) {
a = Te(a[0], a[1], c[0], c[1]);
a.onLine1 && a.onLine2 && b.push([a.x, a.y]);
},
e = ie(a, "bl,br"),
f = ie(a, "tl,tr"),
g = ie(a, "tr,br");
a = ie(a, "tl,bl");
d(f);
d(g);
d(e);
d(a);
return b.length ? b : void 0;
}
function hk(a, c, b) {
return Ua(ik(a, c, b));
}
function ik(a, c, b) {
var d = c[0],
e = G(a, 4);
a = e[0];
var f = e[1],
g = a + e[2];
e = f + e[3];
var h = [a + c[1], f + c[2]];
c = [a, f];
f = [g, f];
g = [g, e];
a = [a, e];
b = B(b ? [c, a] : [c, f, g, a], function (b) {
return { x: b[0], y: b[1], angle: Ia(h, b), len: Xb(h, b) };
});
return (b = B(b, function (b) {
b = Uc(h[0], h[1], b.angle + d, b.len);
return [b.x, b.y];
}));
}
function yv(a, c) {
w(a, function (b) {
sa(b, function (b) {
return b[3];
});
b.reverse();
});
return zv(a, c);
}
function zv(a, c) {
var b = c.limitBox,
d,
e,
f = Math.max.apply(
Math,
H(
B(a, function (b) {
return P(b)[2];
})
)
);
if (t(c.masterSet))
var g = B(a[c.masterSet], function (b) {
return [2];
});
else
(g = []),
w(a, function (b) {
g.push.apply(
g,
H(
B(b, function (b) {
return b[2];
})
)
);
});
g = ad(
ea(g, function (b) {
return b >= f;
}).sort(function (b, a) {
return b > a ? 1 : -1;
})
);
var h = function (b) {
var c = [],
d = B(a, function (a) {
a = a.slice(0);
a = S(a, function (a) {
return a[2] <= b;
});
c.push(a[2]);
return a;
}),
e = 0;
w(d, function (b) {
return (e += b[3]);
});
var f = [0, 0, Math.max.apply(Math, H(c)), e];
f.ids = B(d, function (b) {
return b.id;
});
return f;
};
w(g, function (a) {
a = h(a);
if (a[3] < b[3]) return (d = a), !1;
e = a;
});
return d || e;
}
function Av(a) {
for (var c = [], b = 1, d = Math.round(Math.sqrt(a)); b <= d; b++) c.push([b, Math.ceil(a / b)]);
a = B(c, function (b) {
return [b[1], b[0]];
}).reverse();
c.push.apply(c, H(a));
return c;
}
function Bv(a) {
return B(Av(a), function (a) {
return a[0];
});
}
function so() {
if (jk) return jk;
for (var a = ba.getElementsByTagName("script"), c = 0; c < a.length; c++) {
var b = a[c],
d = b.getAttribute("src");
if (d && 0 !== b.src.indexOf("file://") && ((b = d.split("?")[0]), (d = b.split("/").slice(-1)[0].toLowerCase()), "jscharting.js" === d || (0 === d.indexOf("jscharting") && d.indexOf(".js") === d.length - 3)))
return (jk = b.split("/").slice(0, -1).join("/"));
}
}
function je() {
return kk ? kk : (kk = so() || "https://code.jscharting.com/3.0.2");
}
function to() {
var a = T.JSC;
return !so() && (!a || !a.chart);
}
function lk(a, c, b, d) {
wh(a, c, b, d, Cv);
}
function Dv(a, c, b, d) {
wh(a, c, b, d, function (b) {
return b;
});
}
function wh(a, c, b, d, e) {
Ev(a, {
success: function (d) {
var f = d.responseText;
if (f)
try {
f = e(f);
} catch (h) {
b && b({ path: a, data: f, status: d.status, state: "parsererror", error: h });
}
c && c({ path: a, status: d.status, data: f });
},
error: function (c) {
b && b({ path: a, status: c.status });
},
async: !d,
});
}
function Fv(a) {
return "object" === typeof HTMLElement ? a instanceof HTMLElement : a && "object" === typeof a && null !== a && 1 === a.nodeType && "string" === typeof a.nodeName;
}
function Cv(a) {
var c = ba.createElement("script");
c.type = "text/javascript";
c.text = a;
ba.head.appendChild(c).parentNode.removeChild(c);
}
function Ev(a, c) {
var b = new XMLHttpRequest(),
d = c || {};
c = d.data;
var e = d.success,
f = d.error,
g = I(c);
d = !1 !== d.async;
if (b) {
if ("function" === g) (e = c), (c = null);
else if ("object" === g) {
g = [];
for (var h in c) c.hasOwnProperty(h) && g.push(encodeURIComponent(h) + "=" + encodeURIComponent(c[h]));
c = g.join("&");
}
b.open(c ? "POST" : "GET", a, d);
c && (b.setRequestHeader("X-Requested-With", "XMLHttpRequest"), b.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), b.setRequestHeader("Api-Key", "foobar"));
b.onreadystatechange = function () {
if (4 === b.readyState) {
var a = b.status;
a = (200 <= a && 300 > a) || 304 === a;
e && a && e(b);
if (f && !a) return f(b);
}
};
if (4 === b.readyState) return b;
b.send(c);
return b;
}
}
function Gv(a, c) {
function b() {
new Date().getTime() - d >= c ? a.call() : (e.value = T.requestAnimationFrame(b));
}
var d = new Date().getTime(),
e = {};
e.value = T.requestAnimationFrame(b);
return e;
}
function Hv(a) {
a && a.value && T.cancelAnimationFrame(a.value);
}
function uo(a, c) {
void 0 === c && (c = 1);
var b = c,
d = function () {
1 > b ? setTimeout(a, 0) : (b--, T.requestAnimationFrame(d));
};
d();
}
function Iv(a, c) {
return new T.Intl.DateTimeFormat(a, c);
}
function Jv(a, c) {
return new T.Intl.NumberFormat(a, c);
}
function Kv(a, c) {
var b = T.Intl.Collator;
return b ? new b(a, c) : null;
}
function Lv(a, c, b) {
var d = b._getNumberFormat(b.locale, b.options);
if (d) {
if (c || b.formatString) {
var e = c || b.formatString;
c = Ka.None;
var f = Mv.exec(e)[0];
switch (f.toLowerCase()) {
case "c":
c = Ka.Currency;
break;
case "n":
c = Ka.Number;
break;
case "p":
c = Ka.Percent;
break;
case "f":
c = Ka.Float;
break;
case "d":
c = Ka.Decimal;
break;
case "e":
c = Ka.Exponential;
break;
case "g":
c = Ka.General;
break;
case "a":
c = Ka.NumericSymbol;
break;
case "t":
c = Ka.PowersOfTen;
break;
case "x":
c = Ka.Hexadecimal;
var g = f === f.toLowerCase() ? "lower" : "upper";
}
e = Nv.exec(e);
e = null === e ? null : parseInt(e[0]);
g = { type: c, specifier: e, charCase: g };
if (g.type) return Ov(g, a, b);
}
return d.format(a);
}
return null !== a ? a.toLocaleString() : "";
}
function Pv(a, c, b) {
void 0 === c && (c = {});
if (!a) return "";
var d = O(c),
e = d ? c : c.formatString || b.formatString,
f = Qv[e];
if (f) {
var g = f.options;
if (!g && f.formatString) return vo(a, f.formatString, b);
if (!g && f.handler) return f.handler(a);
c = W(d ? {} : c, g || {});
c = b._getDateTimeFormat(b.locale, c);
} else c = b._getDateTimeFormat(b.locale, b.options);
return c ? (e && !f ? vo(a, e, b) : c.format(a)) : a.toLocaleDateString();
}
function Ov(a, c, b) {
var d = function (b, a) {
return function (c) {
return Math.min(Math.max(parseInt(c || 0), b), a);
};
},
e = function (b) {
return d(0, 20)(b);
},
f = function (b) {
return d(1, 21)(b);
},
g = W({ minimumFractionDigits: 0, maximumFractionDigits: 2 }, b.options),
h = !0,
k = T.Intl.NumberFormat;
if (!k) return c;
switch (a.type) {
case Ka.Number:
case Ka.Float:
g.style = "decimal";
null !== a.specifier && ((g.maximumFractionDigits = e(a.specifier)), (g.minimumFractionDigits = e(a.specifier)));
break;
case Ka.Currency:
g.style = "currency";
g.currency = Rv(b.locale);
a = lc(a.specifier) ? 2 : a.specifier;
g.minimumFractionDigits = e(a);
g.maximumFractionDigits = e(a);
break;
case Ka.Percent:
g.style = "percent";
a.specifier && (g.minimumFractionDigits = e(a.specifier));
break;
case Ka.Decimal:
g.style = "decimal";
g.useGrouping = g.useGrouping || !1;
null !== a.specifier && ((g.maximumFractionDigits = e(a.specifier)), (g.minimumFractionDigits = e(a.specifier)));
break;
case Ka.Exponential:
c = c.toExponential(a.specifier);
h = !1;
break;
case Ka.General:
g.style = "decimal";
a.specifier && (g.maximumSignificantDigits = f(a.specifier));
break;
case Ka.Hexadecimal:
c = c.toString(16);
a.specifier && (c = Zb(c, a.specifier));
"upper" === a.charCase && (c = c.toUpperCase());
h = !1;
break;
case Ka.NumericSymbol:
c = Sv(c, a.specifier);
h = !1;
break;
case Ka.PowersOfTen:
if (c) {
h = Math.floor(Pj(Math.log(Math.abs(c)) / Math.log(10), 6));
e = c / Math.pow(10, h);
var l = a.specifier || 0;
a = 1e-5 > Math.abs(Math.abs(e) - 1);
f = e % 1 ? 2 : 0;
if (Math.abs(c) >= Math.pow(10, l) || Math.abs(c) <= Math.pow(10, -l)) (c = "10<sup>" + h + "</sup>"), (c = (a ? (0 > e ? "-" : "") : e.toFixed(f) + "\u22c5") + c);
}
h = !1;
}
if (!h) return c.toString();
delete g.specifier;
return new k(b.locale, g).format(c);
}
function vo(a, c, b) {
var d = function (a, c) {
b.dateTimeFormatters[c] || (b.dateTimeFormatters[c] = b._getDateTimeFormat(b.locale, a));
};
return c.replace(Tv, function (c) {
if (!c) return "";
switch (c) {
case "h":
case "hh":
case "t":
case "tt":
d({ hour12: !0, hour: "numeric" }, c);
break;
case "MMM":
d({ month: "short" }, c);
break;
case "MMMM":
d({ month: "long" }, c);
break;
case "g":
d({ era: "short" }, c);
break;
case "gg":
d({ era: "long" }, c);
break;
case "ddd":
d({ weekday: "short" }, c);
break;
case "dddd":
d({ weekday: "long" }, c);
}
return $b[c](a, b.dateTimeFormatters[c]);
});
}
function Uv(a, c, b) {
var d = c.reverse(),
e = function () {
if (0 === d.length) b();
else {
var c = d.pop();
a(function () {
c();
e();
});
}
};
e();
}
function Xa(a, c, b, d) {
function e(a) {
var d = I(a),
e = c();
if ("undefined" === d) return f();
if ("array" === d) b && b(a);
else {
if ("number" === d) return 0 > a && e.length ? e[e.length + a] : e[a];
if ("string" === d)
return S(e, function (b) {
return (b.currentOptions && (b.currentOptions.name === a || b.currentOptions.id === a || b.currentOptions.key === a)) || b.id === a || b.key === a || b.prefix === a;
});
if ("object" === d || "function" === d) return f().filter(a);
}
}
var f = function () {
return new a(c(), d);
};
e.add = d
? function () {
for (var b = [], a = 0; a < arguments.length; a++) b[a] = arguments[a];
d.push.apply(d, H(b));
return f();
}
: f;
e.splice = d
? function () {
for (var b = [], a = 0; a < arguments.length; a++) b[a] = arguments[a];
d.splice.apply(d, H(b));
return f();
}
: f;
e.remove = d
? function () {
for (var b = [], a = 0; a < arguments.length; a++) b[a] = arguments[a];
d.remove.apply(d, H(b));
return f();
}
: f;
return e;
}
function wo(a, c) {
return function () {
var b = [];
a.each(function (a) {
b.push.apply(b, H(c(a)));
});
return b;
};
}
function mk(a, c) {
return function (b) {
c(a, b);
};
}
function Vv(a) {
if (!$e) {
var c = dg ? dg + "icons/" : void 0;
c || ((c = je()) ? ("/" !== c[c.length - 1] && (c += "/"), (c += "icons/")) : (c = null));
$e = c || "/dist/icons/";
}
"/" !== $e[$e.length - 1] && ($e += "/");
return $e + a + ".js";
}
function xo(a, c, b) {
void 0 === c && (c = null);
void 0 === b && (b = null);
if (a && "none" !== a) {
var d = a.replace("{os}", Wv),
e = af[d];
if (t(e)) return e;
af[d] = null;
void 0 === e &&
lk(
Vv(a),
function (b) {
if (c) {
var a = !dg && to();
b.displayCdnWarning = a;
c(b);
}
},
function (a) {
af[d] = null;
b && b(a);
},
!0
);
return af[d];
}
}
function nk(a, c) {
void 0 === c && (c = !1);
if (a)
for (var b = pa(a), d = 0; d < b.length; d++) {
var e = b[d];
if (!af[e] || c) af[e] = a[e];
}
}
function eg(a, c) {
return L(fa(a), c);
}
function Xv(a, c, b, d) {
var e = d ? d.noKerning : !1,
f = d ? d.delimiter : " ";
d = new RegExp("([^" + f + "]+)");
var g = c.fontSize || b.fontSize,
h = Yv(c, b);
O(g) && (g = parseInt(g));
var k = g * h.height;
g = { descent: h.descent * k, leading: (h.height - h.descent) * k, height: k, fontSize: g };
h = fg(a, c, b, e);
k = String.fromCharCode(8230);
f = { width: h, metrics: g, text: a, style: c, delimiter: { text: f, width: fg(f, c, b, e) }, ellipsis: { text: k, width: fg(k, c, b, e) } };
a = a.split(d);
if ((d = a.length)) for (f.parts = [], g = 0; g < d; g++) (h = a[g]), void 0 !== h && f.parts.push({ text: h, width: fg(h, c, b, e) });
return f;
}
function yo(a, c) {
var b = { font: a.fontFamily },
d = [].concat(xh).concat(ok);
d.push(". .");
d = pk(d, a, c);
for (var e = {}, f = {}, g = 0, h = xh.length; g < h; g++) e[xh[g]] = d[xh[g]];
e[" "] = d[". ."] - 2 * d["."];
var k = !1;
g = 0;
for (h = ok.length; g < h; g++) {
var l = ok[g],
m = d[l[0]] + d[l[1]];
m -= d[l];
0.001 < m && (k = !0);
}
if (k) for (a = pk(qk, a, c), g = 0, h = qk.length; g < h; g++) (l = qk[g]), (m = d[l[0]] + d[l[1]]), (m -= a[l]), 0.001 < m && (f[l] = m);
b.stringWidths = e;
b.kerning = f;
return b;
}
function yh(a) {
return a.getComputedTextLength ? a.getComputedTextLength() : 0;
}
function pk(a, c, b) {
var d = {},
e = ba.createElementNS("http://www.w3.org/2000/svg", "svg");
b.fontFamily && e.setAttribute("font-family", b.fontFamily);
b.fontWeight && e.setAttribute("font-weight", b.fontWeight);
b.textRendering && e.setAttribute("text-rendering", b.textRendering);
b = ba.createDocumentFragment();
var f = ba.createElementNS("http://www.w3.org/2000/svg", "g");
f.setAttribute("font-size", "100px");
c.fontFamily && f.setAttribute("font-family", c.fontFamily);
c.fontWeight && f.setAttribute("font-weight", c.fontWeight);
b.appendChild(f);
c = 0;
for (var g = a.length; c < g; c++) f.appendChild(rk(a[c]));
e.appendChild(b);
ba.body.appendChild(e);
b = e.childNodes[0].childNodes;
c = 0;
for (g = b.length; c < g; c++) d[a[c]] = yh(b[c]);
e.parentNode.removeChild(e);
return d;
}
function rk(a) {
var c = ba.createElementNS("http://www.w3.org/2000/svg", "text");
c.textContent = a;
return c;
}
function sk(a, c) {
if (!tk) {
uk || (uk = Zv());
var b = uk,
d =
"fontSize" === b.roundTarget
? function (a) {
return Math.round(a / b.roundStep) * b.roundStep;
}
: function (b) {
return b;
};
tk = function (a, c) {
c = d(c);
a *= c / 100;
return "width" === b.roundTarget && (!b.roundThreshold || c < b.roundThreshold) ? Math.round(a / b.roundStep) * b.roundStep : a;
};
}
return tk(a, c);
}
function Zv() {
var a = 1,
c = 0,
b = ba.createElementNS("http://www.w3.org/2000/svg", "svg"),
d = ba.createDocumentFragment(),
e = function (b) {
var a = rk("m");
a.setAttribute("font-size", b + "px");
d.appendChild(a);
};
b.setAttribute("text-rendering", "geometricPrecision");
e(100);
for (var f = [100], g = 10; 11 >= g; ) e(g), f.push(g), (g += 0.25);
for (g = 13; 20 > g; ) e(g), f.push(g), (g += 1);
b.appendChild(d);
ba.body.appendChild(b);
e = !0;
var h = !1;
h = 0;
g = b.childNodes;
for (var k = [], l = [], m = yh(g[0]), n = 1; 6 > n; n++) {
var p = yh(g[n]),
q = (f[n] * m) / 100,
r = k.length ? +!(0.01 >= Math.abs(k[k.length - 1] - p)) : 0;
0.1 >= Math.abs(q - p) || (e = !1);
0.01 >= Math.abs(q - p) && h++;
k.push(p);
l.push(r);
}
h = 2 <= h;
if (!e)
if (h) {
var u = "fontSize";
f = l.join("");
"01010" === f ? (a = 0.5) : "00100" === f && (a = 1);
} else
for (c = f[6], u = "width", a = 1, n = 6; 13 > n; n++)
if (((p = yh(g[n])), (q = (f[n] * m) / 100), 0.1 >= Math.abs(q - p))) {
c = f[n];
break;
}
b.parentNode.removeChild(b);
return { roundTarget: u, roundStep: a, roundThreshold: c };
}
function ke(a) {
a = {
chartType: {
type: "enum",
members: {
vertical: { isDefault: !0, chain: "enum_seriesType" },
horizontal: { chain: "enum_seriesType" },
pie: { chain: "enum_pieType", enumAttributes: { seriesLayout: "visualShape", behavior: "colorByPoint,labelConnector,noNameGrouping" } },
gauge: { chain: "enum_gaugeType", enumAttributes: { seriesLayout: "visualShape", behavior: "colorByPoint,noNameGrouping,snapToZero" } },
radar: { chain: "enum_radarType", enumAttributes: { seriesLayout: "visualShape" } },
funnel: { chain: "enum_funnelShapeType", enumAttributes: { seriesLayout: "visualShape", funnelNozzleType: "nozzle", behavior: "colorByPoint,labelConnector,noNameGrouping" } },
pyramid: { chain: "enum_funnelOrientationType", enumAttributes: { funnelShapeType: "square", seriesLayout: "visualShape", behavior: "colorByPoint,labelConnector,noNameGrouping" } },
cone: { chain: "enum_funnelOrientationType", enumAttributes: { funnelShapeType: "round", seriesLayout: "visualShape", behavior: "colorByPoint,labelConnector,noNameGrouping" } },
heatmap: { chain: "enum_columnType", enumAttributes: { behavior: "colorByPoint" } },
calendar: { chain: "enum_calendarType", enumAttributes: {} },
treemap: { chain: "enum_treemapMode", enumAttributes: { behavior: "noNameGrouping,tree" } },
map: { chain: "enum_columnType", enumAttributes: { behavior: "noNameGrouping" } },
organization: { chain: "enum_organizationType", enumAttributes: { behavior: "annotation,tree,noNameGrouping,noLegend" } },
venn: { chain: "enum_vennType", enumAttributes: { seriesLayout: "visualShape", behavior: "colorByPoint,noLegend" } },
},
terminateAt: "enum_seriesType",
},
treemapMode: { members: { squarify: { isDefault: !0, chain: "enum_treemapDirection" }, sliceanddice: { chain: "enum_treemapDirection" }, stripes: { chain: "enum_treemapDirection" } } },
treemapDirection: { members: { horizontal: { isDefault: !0, chain: "enum_columnType" }, vertical: { chain: "enum_columnType" } } },
radarType: { type: "enum", members: { auto: { isDefault: !0, chain: "enum_seriesType" }, polar: { chain: "enum_seriesType" }, spider: { chain: "enum_seriesType" } } },
gaugeType: { type: "enum", members: { circular: { isDefault: !0, chain: "enum_circularGaugeType" }, linear: { chain: "enum_linearGaugeType" } } },
linearGaugeType: { type: "enum", members: { vertical: { isDefault: !0, chain: "enum_seriesType" }, horizontal: { chain: "enum_seriesType" } } },
seriesType: {
type: "enum",
members: {
column: { chain: "enum_columnType", enumAttributes: { behavior: "snapToZero,clusters,drawRect" } },
line: { isDefault: !0, chain: "enum_lineSeriesType", enumAttributes: { behavior: "drawMarker,drawLine" } },
area: { chain: "enum_areaShadingType", enumAttributes: { behavior: "drawMarker,drawLine,drawArea,snapToZero" } },
marker: { enumAttributes: { behavior: "drawMarker" } },
bubble: { chain: "enum_bubbleSizingType", enumAttributes: { behavior: "" } },
ohlc: { enumAttributes: { behavior: "clusters" } },
candlestick: { chain: "enum_columnType", enumAttributes: { behavior: "clusters,drawRect" } },
map: { chain: "enum_columnType", enumAttributes: { behavior: "varyPalette" } },
heatmap: { chain: "enum_columnType", enumAttributes: {} },
calendar: { chain: "enum_calendarType", enumAttributes: {} },
variwide: { chain: "enum_variwideType", enumAttributes: { behavior: "snapToZero,clusters,drawRect" } },
},
},
bubbleSizingType: { type: "enum", members: { area: { isDefault: !0 }, width: {} } },
areaShadingType: { type: "enum", members: { subtle: { isDefault: !0, chain: "enum_lineSeriesType" }, none: { chain: "enum_lineSeriesType" } } },
lineSeriesType: { type: "enum", members: { normal: { isDefault: !0 }, spline: {}, step: {} } },
circularGaugeType: { type: "enum", members: { clip: { isDefault: !0, chain: "enum_seriesType" }, circle: { chain: "enum_seriesType" }, arc: { chain: "enum_seriesType" } } },
columnType: { type: "enum", members: { subtle: { isDefault: !0 }, solid: {}, aqua: {}, rounded: {}, roundCaps: {}, cushion: {} } },
pieType: { type: "enum", members: { normal: { isDefault: !0 }, donut: {} } },
vennType: { type: "enum", members: { normal: { isDefault: !0 }, colorbypoint: {} } },
funnelOrientationType: { type: "enum", members: { normal: { isDefault: !0 }, inverted: {} } },
funnelShapeType: { type: "enum", members: { round: { isDefault: !0, chain: "enum_funnelOrientationType" }, square: { chain: "enum_funnelOrientationType" } } },
organizationType: { type: "enum", members: { down: { isDefault: !0 }, left: {}, up: {}, right: {} } },
calendarType: {
type: "enum",
members: {
auto: { isDefault: !0, chain: "enum_columnType" },
decade: { chain: "enum_columnType" },
years: { chain: "enum_columnType" },
year: { chain: "enum_columnType" },
quarter: { chain: "enum_columnType" },
month: { chain: "enum_columnType" },
week30min: { chain: "enum_columnType" },
week: { chain: "enum_columnType" },
dayminutes: { chain: "enum_columnType" },
dayhours: { chain: "enum_columnType" },
day30min: { chain: "enum_columnType" },
day15min: { chain: "enum_columnType" },
day5min: { chain: "enum_columnType" },
day: { chain: "enum_columnType" },
hourseconds: { chain: "enum_columnType" },
hour30sec: { chain: "enum_columnType" },
hour10sec: { chain: "enum_columnType" },
hourminutes: { chain: "enum_columnType" },
hour: { chain: "enum_columnType" },
minute: { chain: "enum_columnType" },
},
},
variwideType: { type: "enum", members: { subtle: { isDefault: !0 }, solid: {}, aqua: {}, rounded: {}, roundCaps: {}, cushion: {} } },
nanoChartTypes: { type: "enum", members: "sparkline|arealine|bar|bullet|column|progress|pie|heatmap|scale|chart|barfull" },
markerTypes: { type: "enum", members: "none|diamond|circle|arrow-down|arrow-up|five-point-star|four-point-star|merger|split-reverse|seven-point-star|six-point-star|spinoff|split|square|triangle|triangle-down" },
emptyPointMode: { type: "enum", members: "default|ignore|treatAsZero" },
projection: { type: "enum", members: "none|mercator|lambertConformalConic|lambertAzimuthalEqualArea|stereographic|orthographic" },
scaleBreakType: { type: "enum", updated: "2.7", members: { zigzag: { isDefault: !0 }, gap: "", line: "", hidden: "" } },
scale: { type: "enum", updated: "2.6", members: { auto: { isDefault: !0 }, time: "", stacked: "", stackedFull: "", stackedLogarithmic: {}, logarithmic: {}, variwide: {} } },
rangeMode: { type: "enum", updated: "2.8", members: { auto: { isDefault: !0 }, curly: "", measure: "" } },
colors: {
type: "enum",
caseInsensitive: !0,
members: {
aliceblue: "#f0f8ff",
antiquewhite: "#faebd7",
aqua: "#00ffff",
aquamarine: "#7fffd4",
azure: "#f0ffff",
beige: "#f5f5dc",
bisque: "#ffe4c4",
black: "#000000",
blanchedalmond: "#ffebcd",
blue: "#0000ff",
blueviolet: "#8a2be2",
brown: "#a52a2a",
burlywood: "#deb887",
cadetblue: "#5f9ea0",
chartreuse: "#7fff00",
chocolate: "#d2691e",
coral: "#ff7f50",
cornflowerblue: "#6495ed",
cornsilk: "#fff8dc",
crimson: "#dc143c",
cyan: "#00ffff",
darkblue: "#00008b",
darkcyan: "#008b8b",
darkgoldenrod: "#b8860b",
darkgray: "#a9a9a9",
darkgreen: "#006400",
darkkhaki: "#bdb76b",
darkmagenta: "#8b008b",
darkolivegreen: "#556b2f",
darkorange: "#ff8c00",
darkorchid: "#9932cc",
darkred: "#8b0000",
darksalmon: "#e9967a",
darkseagreen: "#8fbc8f",
darkslateblue: "#483d8b",
darkslategray: "#2f4f4f",
darkturquoise: "#00ced1",
darkviolet: "#9400d3",
deeppink: "#ff1493",
deepskyblue: "#00bfff",
dimgray: "#696969",
dodgerblue: "#1e90ff",
firebrick: "#b22222",
floralwhite: "#fffaf0",
forestgreen: "#228b22",
fuchsia: "#ff00ff",
gainsboro: "#dcdcdc",
ghostwhite: "#f8f8ff",
gold: "#ffd700",
goldenrod: "#daa520",
gray: "#808080",
green: "#008000",
greenyellow: "#adff2f",
honeydew: "#f0fff0",
hotpink: "#ff69b4",
"indianred ": "#cd5c5c",
"indigo ": "#4b0082",
ivory: "#fffff0",
khaki: "#f0e68c",
lavender: "#e6e6fa",
lavenderblush: "#fff0f5",
lawngreen: "#7cfc00",
lemonchiffon: "#fffacd",
lightblue: "#add8e6",
lightcoral: "#f08080",
lightcyan: "#e0ffff",
lightgoldenrodyellow: "#fafad2",
lightgray: "#d3d3d3",
lightgreen: "#90ee90",
lightpink: "#ffb6c1",
lightsalmon: "#ffa07a",
lightseagreen: "#20b2aa",
lightskyblue: "#87cefa",
lightslategray: "#778899",
lightsteelblue: "#b0c4de",
lightyellow: "#ffffe0",
lime: "#00ff00",
limegreen: "#32cd32",
linen: "#faf0e6",
magenta: "#ff00ff",
maroon: "#800000",
mediumaquamarine: "#66cdaa",
mediumblue: "#0000cd",
mediumorchid: "#ba55d3",
mediumpurple: "#9370d8",
mediumseagreen: "#3cb371",
mediumslateblue: "#7b68ee",
mediumspringgreen: "#00fa9a",
mediumturquoise: "#48d1cc",
mediumvioletred: "#c71585",
midnightblue: "#191970",
mintcream: "#f5fffa",
mistyrose: "#ffe4e1",
moccasin: "#ffe4b5",
navajowhite: "#ffdead",
navy: "#000080",
oldlace: "#fdf5e6",
olive: "#808000",
olivedrab: "#6b8e23",
orange: "#ffa500",
orangered: "#ff4500",
orchid: "#da70d6",
palegoldenrod: "#eee8aa",
palegreen: "#98fb98",
paleturquoise: "#afeeee",
palevioletred: "#d87093",
papayawhip: "#ffefd5",
peachpuff: "#ffdab9",
peru: "#cd853f",
pink: "#ffc0cb",
plum: "#dda0dd",
powderblue: "#b0e0e6",
purple: "#800080",
red: "#ff0000",
rosybrown: "#bc8f8f",
royalblue: "#4169e1",
saddlebrown: "#8b4513",
salmon: "#fa8072",
sandybrown: "#f4a460",
seagreen: "#2e8b57",
seashell: "#fff5ee",
sienna: "#a0522d",
silver: "#c0c0c0",
skyblue: "#87ceeb",
slateblue: "#6a5acd",
slategray: "#708090",
snow: "#fffafa",
springgreen: "#00ff7f",
steelblue: "#4682b4",
tan: "#d2b48c",
teal: "#008080",
thistle: "#d8bfd8",
tomato: "#ff6347",
turquoise: "#40e0d0",
violet: "#ee82ee",
wheat: "#f5deb3",
white: "#ffffff",
whitesmoke: "#f5f5f5",
yellow: "#ffff00",
yellowgreen: "#9acd32",
},
},
palette: {
type: "enum",
members:
"default|spreadsheet|oceanMidtones|mutedRainbow|pastelContrast|rainforest|random|autumn|bright|lavender|midTones|mixed|pastel|poppies|spring|warmEarth|waterMeadow|darkRainbow|midRange|vividDark|fiveColor1|fiveColor2|fiveColor3|fiveColor4|fiveColor5|fiveColor6|fiveColor7|fiveColor8|fiveColor9|fiveColor10|fiveColor11|fiveColor12|fiveColor13|fiveColor14|fiveColor15|fiveColor16|fiveColor17|fiveColor18|fiveColor19|fiveColor20|fiveColor21|fiveColor22|fiveColor23|fiveColor24|fiveColor25|fiveColor26|fiveColor27|fiveColor28|fiveColor29|fiveColor30|fiveColor31|fiveColor32|fiveColor33|fiveColor34|fiveColor35|fiveColor36|fiveColor37|fiveColor38|fiveColor39|fiveColor40|fiveColor41|fiveColor42|fiveColor43|fiveColor44|fiveColor45|fiveColor46|colorVision1|colorVision2|colorVision3|colorVision4",
},
hatchStyle: {
type: "enum",
members:
"none|horizontal|vertical|light-downward-diagonal|light-upward-diagonal|percent05|percent10|percent20|percent25|dashed-downward-diagonal|dashed-upward-diagonal|dashed-horizontal|dashed-vertical|forward-diagonal|backward-diagonal|large-horizontal|dark-downward-diagonal|dark-upward-diagonal|dark-horizontal|dark-vertical|wide-downward-diagonal|wide-upward-diagonal|narrow-horizontal|narrow-vertical|small-grid|large-grid|dotted-grid|cross-diagonal|outlined-diamond|dotted|dotted-diamond|solid-diamond|large-checker-board|small-checker-board|wave|zig-zag|diagonal-brick|horizontal-brick|weave",
},
cultures: {
type: "enum",
members:
"af|af-ZA|ar|ar-AE|ar-BH|ar-DZ|ar-EG|ar-IQ|ar-JO|ar-KW|ar-LB|ar-LY|ar-MA|ar-OM|ar-QA|ar-SA|ar-SY|ar-TN|ar-YE|az|az-Cyrl-AZ|az-Latn-AZ|be|be-BY|bg|bg-BG|bs-Latn-BA|ca|ca-ES|cs|cs-CZ|cy-GB|da|da-DK|de|de-AT|de-DE|de-CH|de-LI|de-LU|dv|dv-MV|el|el-GR|en|en-029|en-AU|en-BZ|en-CA|en-GB|en-IE|en-JM|en-NZ|en-PH|en-TT|en-US|en-ZA|en-ZW|es|es-AR|es-BO|es-CL|es-CO|es-CR|es-DO|es-EC|es-ES|es-GT|es-HN|es-MX|es-NI|es-PA|es-PE|es-PR|es-PY|es-SV|es-UY|es-VE|et|et-EE|eu|eu-ES|fa|fa-IR|fi|fi-FI|fo|fo-FO|fr|fr-BE|fr-CA|fr-FR|fr-CH|fr-LU|fr-MC|gl|gl-ES|gu|gu-IN|he|he-IL|hi|hi-IN|hr|hr-BA|hr-HR|hu|hu-HU|hy|hy-AM|id|id-ID|is|is-IS|it|it-CH|it-IT|ja|ja-JP|ka|ka-GE|kk|kk-KZ|kn|kn-IN|ko|kok|kok-IN|ko-KR|ky|ky-KG|lt|lt-LT|lv|lv-LV|mi-NZ|mk|mk-MK|mn|mn-MN|mr|mr-IN|ms|ms-BN|ms-MY|mt-MT|nb-NO|nl|nl-BE|nl-NL|nn-NO|no|ns-ZA|pa|pa-IN|pl|pl-PL|pt|pt-BR|pt-PT|quz-BO|quz-EC|quz-PE|ro|ro-RO|ru|ru-RU|sa|sa-IN|se-FI|se-NO|se-SE|sk|sk-SK|sl|sl-SI|sma-NO|sma-SE|smj-NO|smj-SE|smn-FI|sms-FI|sq|sq-AL|sr|sr-Cyrl-BA|sr-Cyrl-CS|sr-Latn-BA|sr-Latn-CS|sv|sv-FI|sv-SE|sw|sw-KE|syr|syr-SY|ta|ta-IN|te|te-IN|th|th-TH|tn-ZA|tr|tr-TR|tt|tt-RU|uk|uk-UA|ur|ur-PK|uz|uz-Cyrl-UZ|uz-Latn-UZ|vi|vi-VN|xh-ZA|zh-CN|zh-HK|zh-CHS|zh-CHT|zh-MO|zh-SG|zh-TW|zu-ZA",
},
timeUnit: { type: "enum", members: "second|minute|hour|day|week|month|year" },
zoomAxis: { type: "enum", members: "x|y|xy|none" },
alignHorizontal: { type: "enum", members: "center|left|right" },
alignVertical: { type: "enum", members: "top|middle|bottom" },
directionalLayout: { type: "enum", members: "auto|vertical|horizontal" },
orientation: { type: "enum", members: "none|left|right|top|bottom|topLeft|topRight|bottomRight|bottomLeft|opposite" },
titlePosition: { type: "enum", members: "left|center|right|full" },
placement: { type: "enum", members: "auto|inside|outside" },
uiItemType: { type: "enum", updated: "2.7", members: { auto: { isDefault: !0 }, option: "", checkbox: "", toggle: "", radio: "", select: "", selectMultiple: "", range: "", file: "" } },
pointSelectionMode: { type: "enum", members: "auto|single|multiple" },
hoverAction: { type: "enum", members: "highlightPoint|highlightSeries|highlightPointGroup" },
fontWeight: { type: "enum", members: "normal|bold" },
fontStyle: { type: "enum", members: "normal|italic" },
fontFamily: {
type: "enum",
caseInsensitive: !0,
members:
"Tahoma|Arial|Verdana|Helvetica|Trebuchet MS|Arial Black|Comic Sans MS|Courier New|Georgia|Impact|Lucida Console|Lucida Sans Unicode|Lucida Grande|Geneva|Times New Roman|MS Sans Serif|MS Serif|Arial, Helvetica, sans-serif|Arial Black, Gadget, sans-serif|Comic Sans MS, cursive|Courier New, monospace|Georgia, serif|Impact, Charcoal, sans-serif|Lucida Console, Monaco, monospace|Lucida Sans Unicode, Lucida Grande, sans-serif|Palatino Linotype, Book Antiqua, Palatino, serif|Tahoma, Geneva, sans-serif|Times New Roman, Times, serif|Trebuchet MS, sans-serif|Verdana, Geneva, sans-serif|MS Sans Serif, Geneva, sans-serif|MS Serif, New York, serif",
},
textDecoration: { type: "enum", members: "overline|line-through|underline|underline overline" },
cursor: { type: "enum", members: "none|default|pointer|help|crosshair|wait|progress|text|n-resize|ne-resize|nw-resize|e-resize|s-resize|se-resize|sw-resize|w-resize" },
dashStyle: { type: "enum", caseInsensitive: !0, members: "Solid|ShortDash|ShortDot|ShortDashDot|ShortDashDotDot|Dot|Dash|LongDash|DashDot|DashDotDot|LongDashDot|LongDashDotDot" },
boxCornerType: { type: "enum", members: "square|cut|round" },
mimeType: { type: "enum", members: "image/png|image/jpeg|application/pdf|image/svg+xml" },
animationEasing: {
type: "enum",
members:
"easeInQuad|easeOutQuad|easeInCubic|easeOutCubic|easeInOutCubic|easeInQuart|easeOutQuart|easeInOutQuart|easeInQuint|easeOutQuint|easeInOutQuint|easeInSine|easeOutSine|easeInOutSine|easeInExpo|easeOutExpo|easeInOutExpo|easeInCirc|easeOutCirc|easeInOutCirc|easeInElastic|easeOutElastic|easeInOutElastic|easeInBack|easeOutBack|easeInOutBack|easeInBounce|easeOutBounce|easeInOutBounce",
},
calculation: { type: "enum", members: "sum|average|min|max" },
funnelNozzleType: { type: "enum", members: { nozzle: { isDefault: !0 }, noNozzle: {} } },
seriesLayout: { type: "enum", members: { XY: { isDefault: !0, chain: "enum_funnelOrientationType" }, visualShape: { chain: "enum_funnelOrientationType" } } },
}[a];
if ("string" === typeof a.members) {
var c = a.members;
c = c.split("|");
for (var b = {}, d = 0, e = c.length; d < e; d++) b[c[d]] = "";
a.members = b;
}
return a;
}
function ma(a, c) {
if (a && a.pop) {
c = c || a.kind;
if ("rgba" === c && !Ha(a[3])) return "rgba(" + parseInt(a[0]) + "," + parseInt(a[1]) + "," + parseInt(a[2]) + "," + na(a[3], 5) + ")";
if (2 < a.length || "rgb" === c) return "rgb(" + parseInt(a[0]) + "," + parseInt(a[1]) + "," + parseInt(a[2]) + ")";
}
return a;
}
function Dc(a, c) {
c.kind = a;
return c;
}
function bd(a, c, b) {
function d(b, a, c) {
0 > c && (c += 1);
1 < c && --c;
return c < 1 / 6 ? b + 6 * (a - b) * c : 0.5 > c ? a : c < 2 / 3 ? b + (a - b) * (2 / 3 - c) * 6 : b;
}
var e,
f,
g = 1;
if (a && a.pop) {
var h = G(a, 4);
a = h[0];
c = h[1];
b = h[2];
g = h[3];
t(g) || (g = 1);
}
if (0 === c) h = e = f = b;
else {
f = 0.5 > b ? b * (1 + c) : b + c - b * c;
var k = 2 * b - f;
h = d(k, f, a + 1 / 3);
e = d(k, f, a);
f = d(k, f, a - 1 / 3);
}
h = Dc("rgba", zo([h, e, f, g]));
h.hsl = [a, c, b];
return h;
}
function bf(a, c, b) {
a /= 255;
c /= 255;
b /= 255;
var d = Math.max(a, c, b),
e = Math.min(a, c, b),
f = (d + e) / 2;
if (d === e) var g = (e = 0);
else {
var h = d - e;
e = 0.5 < f ? h / (2 - d - e) : h / (d + e);
switch (d) {
case a:
g = (c - b) / h + (c < b ? 6 : 0);
break;
case c:
g = (b - a) / h + 2;
break;
case b:
g = (a - c) / h + 4;
}
g /= 6;
}
return Dc("hsl", [g, e, f]);
}
function $v(a, c, b, d) {
a && a.pop && ((d = G(a, 4)), (a = d[0]), (c = d[1]), (b = d[2]), (d = d[3]));
a /= 255;
c /= 255;
b /= 255;
var e = Math.max(a, c, b),
f = Math.min(a, c, b),
g = e - f;
if (e === f) var h = 0;
else {
switch (e) {
case a:
h = (c - b) / g + (c < b ? 6 : 0);
break;
case c:
h = (b - a) / g + 2;
break;
case b:
h = (a - c) / g + 4;
}
h /= 6;
}
return Dc("hsv", [h, 0 === e ? 0 : g / e, e, d]);
}
function aw(a, c, b, d) {
a && a.pop && ((d = G(a, 4)), (a = d[0]), (c = d[1]), (b = d[2]), (d = d[3]));
var e = Math.floor(6 * a),
f = 6 * a - e;
a = b * (1 - c);
var g = b * (1 - f * c);
c = b * (1 - (1 - f) * c);
e = G(
[
[b, c, a],
[g, b, a],
[a, b, c],
[a, g, b],
[c, a, b],
[b, a, g],
][e % 6],
3
);
b = e[0];
c = e[1];
e = e[2];
1 < b && (b = 1);
1 < c && (c = 1);
1 < e && (e = 1);
return Dc("rgba", zo([b, c, e, d]));
}
function ca(a, c) {
var b, d, e, f;
if (a) {
if ((b = a.kind)) {
if ("rgba" === b) return a;
if ("rgb" === b) return 4 > a.length && (a[3] = 1), (a.kind = "rgba"), a;
}
b = I(a);
if ("array" === b) return (a.kind = 4 === a.length ? "rgba" : "rgb"), a;
if ("string" === b) {
var g = Ao[a];
if (!g) {
if ("#" === a[0]) g = vk(a);
else if ((b = bw[a.toLowerCase()])) g = vk(b);
Ao[a] = g;
}
if (!g)
if ("h" === a[0]) "a" === a[3] ? (e = cf.hsla.exec(a)) : (d = cf.hsl.exec(a));
else {
var h = Bo[a];
!h && (h = cf.rgba.exec(a)) && ((h = [parseInt(h[1]), parseInt(h[2]), parseInt(h[3]), parseFloat(h[4])]), (Bo[a] = h));
if (!h) {
var k = cf.rgb.exec(a);
k || (g = vk(a)) || (f = cf.hexShort.exec(a));
}
}
}
b = "rgba";
if (h) var l = h.slice(0);
else if (g) (l = g.slice(0)), "rgb" !== c ? l.push(1) : (b = "rgb");
else if (k) (l = [parseInt(k[1]), parseInt(k[2]), parseInt(k[3])]), "rgb" !== c ? l.push(1) : (b = "rgb");
else if (f) (l = [17 * parseInt(f[1], 16), 17 * parseInt(f[2], 16), 17 * parseInt(f[3], 16)]), "rgb" !== c ? l.push(1) : (b = "rgb");
else {
if (e) var m = [parseInt(e[1]) / 360, parseInt(e[2]) / 100, parseInt(e[3]) / 100, parseFloat(e[4])];
else d ? ((m = [parseInt(d[1]) / 360, parseInt(d[2]) / 100, parseInt(d[3]) / 100, 1]), (l = bd(m))) : (l = "transparent" === a ? [255, 255, 255, 0] : [0, 0, 0, 0]);
m && (l = bd(m));
}
l.kind = b;
}
return l;
}
function ka(a, c, b, d) {
var e = function (a) {
return Math.round(Y(f[a], g[a], 0, 100, b));
};
if (a && c) {
var f = ca(a),
g = ca(c);
a = e(0);
c = e(1);
e = e(2);
d || (d = Y(f[3], g[3], 0, 100, b));
e = [a, c, e, d];
if (t(d)) return Dc(t(d) ? "rgba" : "rgb", e);
} else {
if (a) return a;
if (c) return c;
}
}
function zh(a) {
var c = [];
if ("object" === typeof a && a.stops) {
for (var b = 0, d = a.stops.length; b < d; b++) c[b] = a.stops[b][1];
return wk(c);
}
return "function" === typeof a.pop ? wk(a) : a;
}
function wk(a) {
a = B(Co.apply(null, B(a, ca)), function (a) {
return Do(a);
});
return ma(a);
}
function le(a, c, b) {
var d = {};
d.tweenID = b && b.id ? b.id : de(5);
d.from = Eo(a, d.tweenID);
d.to = Eo(c, d.tweenID);
if (d.from.isComplex || d.to.isComplex) {
if (d.from.isComplex)
if (d.to.isComplex) d.stepFn = "linear" === d.from.type ? Fo(d) : Go(d);
else
var e = d.to,
f = d.from;
else (e = d.from), (f = d.to);
f
? ((d.stepFn = "linear" === f.type ? Fo(d) : Go(d)), e && cw(e, f))
: d.from.type !== d.to.type && ((a = zh(d.to.input)), (c = zh(d.from.input)), (a = wk([a, c])), (d.animations = [le(d.from.input, a), le(a, d.to.input)]), (d.stepFn = dw(d)));
d.from.stops.length != d.to.stops.length &&
((a = d.from),
(c = d.to),
a.stops.length !== c.stops.length &&
(a.stops.length < c.stops.length && ((c = G([c, a], 2)), (a = c[0]), (c = c[1])), (e = Ho(a)), (f = Ho(c)), (b = me(e, f)), (e = me(f, e)), Io(c, b), a.stops.length !== c.stops.length && Io(a, e)));
}
return d.stepFn || ew(d);
}
function Fo(a) {
return function (c) {
if (1 == c) return a.to.input;
var b = a.from.linearGradient,
d = a.to.linearGradient;
b = { linearGradient: [ac(b[0], d[0], c), ac(b[1], d[1], c), ac(b[2], d[2], c), ac(b[3], d[3], c)], stops: [] };
Jo(a, b.stops, c);
b.tweenId = a.tweenID;
return b;
};
}
function Go(a) {
return function (c) {
if (1 == c) return a.to.input;
var b = a.from.radialGradient,
d = a.to.radialGradient,
e = { radialGradient: { cx: ac(b.cx, d.cx, c), cy: ac(b.cy, d.cy, c), r: ac(b.r, d.r, c) }, stops: [] };
t(d.fx) && (e.radialGradient.fx = ac(z(b.fx, 0.5), d.fx, c));
t(d.fy) && (e.radialGradient.fx = ac(z(b.fy, 0.5), d.fy, c));
Jo(a, e.stops, c);
e.tweenId = a.tweenID;
return e;
};
}
function Jo(a, c, b) {
for (
var d = function (b, a) {
"rgb" === b.kind && ((a = t(a) ? a : 1), 3 < b.length ? (b[3] = a) : b.push(a), (b.kind = "rgba"));
return b;
},
e = 0,
f = a.from.stops.length;
e < f;
e++
) {
var g = a.from.stops[e],
h = a.to.stops[e],
k = ka(d(g.color, g.opacity), d(h.color, h.opacity), 100 * b),
l = void 0;
"rgba" === k.kind && (l = "rgb");
c.push([100 * ac(g.x, h.x, b) + "%", ma(k, l), l ? k[3] : ac(g.opacity, h.opacity, b)]);
}
}
function dw(a) {
return function (c) {
if (1 == c) return a.to.input;
c = Y(0, a.animations.length, 0, 1, c);
return a.animations[Math.floor(c)](c % 1);
};
}
function ew(a) {
return function (c) {
return 1 == c ? a.to.input : ma(ka(a.from.stops[0].color, a.to.stops[0].color, 100 * c));
};
}
function Eo(a, c) {
var b = { input: a, stops: [], id: c };
c = function (a, c, d) {
a = ca(a, "rgb");
"rgba" === a.kind && ((a.kind = "rgb"), (d = a[3]));
b.stops.push({ color: a, x: c, opacity: d });
};
if ("string" == I(a)) c(a, 0, 1), (b.type = "color");
else {
for (var d = 0, e = a.stops.length; d < e; d++) {
var f = a.stops[d],
g = 1;
"string" == I(f[0]) && -1 < f[0].indexOf("%") && (g = 100);
c(f[1], parseFloat(f[0]) / g, f[2]);
}
b.isComplex = !0;
a.linearGradient ? ((b.type = "linear"), (b.linearGradient = Ko(b, a.linearGradient))) : a.radialGradient && ((b.type = "radial"), (b.radialGradient = Ko(b, a.radialGradient)));
}
return b;
}
function Ko(a, c) {
var b = "radial" == a.type ? {} : [];
w(c, function (a, c) {
var d = ["x1", "y1", "x2", "y2"].indexOf(c);
a = "number" === I(a) ? a : parseFloat(a) / (-1 < a.indexOf("%") ? 100 : 1);
b[-1 === d ? c : d] = a;
});
return b;
}
function Ho(a) {
for (var c = [], b = 0, d = a.stops.length; b < d; b++) c.push(a.stops[b].x);
return c;
}
function Io(a, c) {
for (var b = 0, d = c.length; b < d; b++) {
var e = a,
f = c[b],
g = e.stops;
if (1 < g.length)
for (var h = 1, k = g.length; h < k; h++) {
var l = g[h],
m = g[h - 1];
if (l.x > f && m.x < f) {
var n = Y(0, 1, m.x, l.x, f);
l = { color: ka(m.color, l.color, 100 * n), x: f, opacity: ac(m.opacity, l.opacity, n) };
e.stops.splice(h, 0, l);
}
}
}
}
function cw(a, c) {
if ("color" !== a.type) throw "matchStops called on a " + a.type;
var b = a.stops[0].color,
d = t(a.stops[0].opacity) ? a.stops[0].opacity : 1;
a.stops = c.stops.slice(0);
"linear" == c.type && (a.linearGradient = qa(c.linearGradient));
"radial" == c.type && (a.radialGradient = qa(c.radialGradient));
w(a.stops, function (e, f) {
a.stops[f] = { x: c.stops[f].x, color: b, opacity: d };
});
}
function fw(a, c, b) {
var d = {};
c = c.meta;
var e = a && a.meta && a.meta.pattern;
d.pattern = c.pattern;
d.colorAnim = le(e ? a.meta.color : c.color, c.color, b);
d.bgAnim = le(e ? a.meta.backgroundColor : a, c.backgroundColor, b);
return function (b) {
return { pattern: d.pattern, color: d.colorAnim(b), backgroundColor: d.bgAnim(b) };
};
}
function Ec(a) {
if (a) return a.pop ? (2 === a.length && a[1].toFixed ? V(Ec(a[0]), 1 - a[1]) : !1) : a;
}
function gw(a) {
a = ca(a);
return "#" + xk(a[0], a[1], a[2]);
}
function xk(a, c, b) {
return Rj(ua(a, 0, 255)) + Rj(ua(c, 0, 255)) + Rj(ua(b, 0, 255));
}
function yk(a) {
if (a) {
var c = a.pop ? a : ca(a);
a = "#" + xk(c[0], c[1], c[2]);
c = parseFloat(z(c[3], 1));
return { hex: a, opacity: c };
}
return { hex: "none", opacity: 1 };
}
function Lo(a) {
a = ca(a);
var c = G(Ah(a), 3);
a = c[0];
var b = c[1];
c = c[2];
return 0.2126 * (0.03928 >= a ? a / 12.92 : Math.pow((a + 0.055) / 1.055, 2.4)) + 0.7152 * (0.03928 >= b ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4)) + 0.0722 * (0.03928 >= c ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4));
}
function df(a) {
a = ca(a);
return Mo(Ah(a));
}
function zk(a, c) {
a = ca(a);
var b = No(Ah(a));
b[0] = c;
c = Oo(b);
a[0] = 255 * c[0];
a[1] = 255 * c[1];
a[2] = 255 * c[2];
return a;
}
function Ak(a, c) {
var b = df(a);
return zk(a, ua(b + c, 0, 1));
}
function cd(a, c) {
c = ua(c, -100, 100);
var b = function (b) {
return Math.floor(ua(b, 0, 255));
},
d = function (a) {
return b(f[a] + (255 - f[a]) * e);
},
e = c / 100,
f = ca(a);
0 < c ? ((a = d(0)), (c = d(1)), (d = d(2))) : ((e *= -1), (e = 1 - e), (a = b(f[0] * e)), (c = b(f[1] * e)), (d = b(f[2] * e)));
return Dc("rgba", [a, c, d, f[3]]);
}
function ne(a, c, b) {
b = 0 < b ? "+" + b : b;
return gg(a, "hsv(" + { h: b + ",,", s: "," + b + ",", v: ",," + b }[c] + ")");
}
function Bh(a) {
a = ca(a);
var c = bf(a[0], a[1], a[2]);
c[2] += (0.007 * Math.pow(100 * c[2] - 100, 2)) / 200;
c = bd(c[0], c[1], c[2]);
c[3] = a[3];
return c;
}
function oe(a, c) {
void 0 === c && (c = 0.7);
a = ca(a);
var b = bf(a[0], a[1], a[2]);
b[2] += Math.pow(b[2] - 1, 2) * c;
c = bd(b[0], b[1], b[2]);
c[3] = a[3];
return c;
}
function pe(a) {
a = ca(a);
var c = bf(a[0], a[1], a[2]);
c[2] -= (0.007 * Math.pow(100 * c[2], 2)) / 100;
c = bd(c);
c[3] = a[3];
return c;
}
function Bd(a, c) {
a = ca(a);
1 < c && (c = Y(0, 1, 0, 255, c));
return [a[0], a[1], a[2], c];
}
function V(a, c) {
if (!c || !c.toFixed) return a;
1 >= c && (c *= 100);
a = ca(a);
return Dc("rgba", [a[0], a[1], a[2], ((100 - c) / 100) * a[3]]);
}
function Fc(a, c) {
return c && c.toFixed ? (1 >= c && (c *= 100), (a = ca(a)), Dc("rgba", [a[0], a[1], a[2], 1 - c / 100])) : a;
}
function Po(a, c) {
return hg(a, function (b) {
return Fc(b, c);
});
}
function Ja(a) {
var c = yb(((a + 360) % 360) + 180),
b = Math.cos(Math.abs((0.5 * (Math.floor((c / Math.PI) * 2) + 2) + 0.25) * Math.PI - c)) * Math.sqrt(2);
a = b * Math.cos(c);
var d = b * Math.sin(c);
c = 0 > d ? 1 : 0;
b = 0 <= a ? a : a + 1;
d = 0 <= d ? d : d + 1;
return [(0 > a ? 1 : 0).toFixed(4), c.toFixed(4), b.toFixed(4), d.toFixed(4)];
}
function jb(a, c, b, d) {
c.length && c[0][1].pop && w(c, Bk);
d && (a.hash = d);
return { linearGradient: a, stops: c };
}
function Bk(a) {
var c = yk(a[1]);
a[1] = c.hex;
a[2] = c.opacity;
return a;
}
function Qo(a, c, b, d) {
var e = c.length,
f = jb(Ja(a), []);
for (a = 0; a < e; a++) {
var g = ca(Ec(b[a]) || b[a]),
h = ma(g);
f.stops.push([c[a] / 100, gw(h), g[3]]);
}
f.linearGradient.hash = d || "";
return f;
}
function ig(a, c, b, d) {
void 0 === c && (c = [0, 0]);
void 0 === b && (b = 2);
c = { cx: 0.5 + 2 * c[0], cy: 0.5 + 2 * c[1], r: 2.75 - b };
b = ca(a);
a = oe(b);
b = pe(b);
a = [
["0%", a],
["100%", b],
];
a.length && a[0][1].pop && w(a, Bk);
return { radialGradient: c, stops: a };
}
function jg(a, c, b, d) {
void 0 === c && (c = !1);
void 0 === b && (b = !1);
void 0 === d && (d = !1);
var e = ["aqua", a, c, b, d].join(""),
f = 0;
if ("object" === typeof c && null !== c)
var g = !0,
h = c;
else {
f = c ? 90 : 0;
var k = Ja(f);
h = c ? 0 : 90;
}
a = ca(a);
b && ((k = Ja(f + 180)), (h = 0));
var l = d ? ka(pe(a), "#ffffff", 10) : pe(a),
m = d ? ka(Bh(a), "#ffffff", 10) : oe(a);
b = ka(l, m, 0.8, a[3]);
f = ka(l, m, 40, a[3]);
var n = ka(l, "#fefefe", 70.5, a[3]),
p = ka(l, b, 50, a[3]);
p = ka(p, "#fefefe", 39.2, a[3]);
l = ka(l, b, 60, a[3]);
l = ka(l, "#fefefe", 39.2, a[3]);
var q = ka(b, "#fefefe", 39.2, a[3]);
d && ((m = ka(m, "#f7ffe0", 60, 1)), (f = ka(f, "#f7ffe0", 40, 1)));
d = [
["0%", n],
["25%", p],
["30%", l],
["49.99%", q],
["50%", b],
["70%", f],
["100%", m],
];
return g
? ((c = c.gradientDistance), 25 > c ? ((d[3][0] = "47%"), (d[4][0] = "53%")) : 50 > c ? ((d[3][0] = "48%"), (d[4][0] = "52%")) : ((d[3][0] = "49.5%"), (d[4][0] = "50.5%")), jb(k, d, [h, "100%", a[3], a[3]]))
: jb(k, d, [h, "100%", a[3], a[3]], e);
}
function ef(a, c, b, d) {
void 0 === c && (c = !1);
void 0 === b && (b = !1);
void 0 === d && (d = !1);
var e = ["rounded", a, c, b, d].join(""),
f = 0;
if ("object" === typeof c && null !== c) var g = !0;
else {
f = c ? 90 : 0;
var h = Ja(f);
c = c ? 0 : 90;
}
a = ca(a);
b && ((h = Ja(f + 180)), (c = 0));
b = d ? ka(pe(a), "#ffffff", 5) : pe(a);
f = d ? ka(Bh(a), "#ffffff", 50) : oe(a);
var k = ka(b, "#fefefe", 25, a[3]),
l = ka(b, f, 18.75, a[3]),
m = ka(l, "#fefefe", 62.745, a[3]);
l = ka(l, "#fefefe", 54.90196, a[3]);
var n = ka(b, f, 31.25, a[3]);
a = ka(n, "#fefefe", 11.764705, a[3]);
var p = b;
g && ((p = k = m), (b = f));
d && ((b = ka(b, "#f7ffe0", 50, 1)), (p = ka(p, "#f7ffe0", 60, 1)));
d = [
["0%", p],
["5%", k],
["20%", m],
["20%", l],
["30%", a],
["30%", n],
["85%", f],
["100%", b],
];
return g ? jb(h, d) : jb(h, d, [c, "100%", 1, 1], e);
}
function Ck(a, c, b, d) {
void 0 === c && (c = !1);
void 0 === b && (b = !1);
void 0 === d && (d = !1);
var e = c ? Ja(90) : Ja(0),
f = c ? 0 : 90;
c = "subtl" + a + c + b;
var g = 0.03,
h = (a = ca(a)),
k = df(h),
l = a[3];
b && ((e = Ja(180)), (f = 0));
b = gg;
a = Ch("hsv(,,+" + g + ")");
var m = Ch("hsv(,,-" + g + ")");
g = Ch("hsv(,,-" + 2 * g + ")");
var n = a(h),
p = m(h);
a = g(h);
n === h && ((a = "#" + xk(p[0], p[1], p[2])), (n = m(a)), (a = g(a)));
d && (0.85 < k ? ((g = 1.4 * -(k - 0.8)), (n = b(n, "hsv(,," + (0 > g ? "-" : "+") + Math.abs(g) + ")"))) : ((h = ka(h, "#f7ffe0", 20, 1)), (n = ka(n, "#f7ffe0", 50, 1)), (a = ka(a, "#f7ffe0", 70, 1))));
d = [
["0%", Fc(n, 1 - l)],
["50%", Fc(ma(h), 1 - l)],
["90%", Fc(p, 1 - l)],
["100%", Fc(a, 1 - l)],
];
return jb(e, d, [f, "100%", h[3], h[3]], c);
}
function Dk(a, c, b, d) {
void 0 === c && (c = !1);
void 0 === b && (b = !1);
void 0 === d && (d = !1);
var e = c ? Ja(90) : Ja(0);
c = c ? 0 : 90;
var f = "squ" + a + b + d,
g = (a = ca(a));
a = a[3];
b && ((e = Ja(180)), (c = 0));
b = ka(g, d ? "white" : "black", 20);
b = [
["0%", Fc(b, 1 - a)],
["49.99%", Fc(b, 1 - a)],
["50%", Fc(g, 1 - a)],
["100%", Fc(g, 1 - a)],
];
return jb(e, b, [c, "100%", g[3], g[3]], f);
}
function hg(a, c, b) {
void 0 === b && (b = ["val"]);
for (var d, e = 0, f = 0, g = b.length; f < g; f++)
if ("val" === b[f]) {
e = f;
break;
}
a.pop && a.kind && (a = ma(a));
var h = [];
if ("object" === typeof a) {
if (a.stops) {
d = Object.create(a);
var k = [];
f = 0;
for (g = d.stops.length; f < g; f++) {
var l = d.stops[f];
b[e] = 3 === l.length ? ma(Fc(l[1], 1 - l[2])) : l[1];
l = Bk([l[0], c.apply(null, b)]);
h.push(l[1]);
k.push(l);
}
d.stops = k;
(c = J(a, "linearGradient") ? "linearGradient" : J(a, "radialGradient") ? "radialGradient" : void 0) && ((d[c] = a[c].slice()).hash = k.join(""));
return d;
}
if (a.image) return "url('" + a.image + "')";
} else return (b[e] = a), c.apply(null, b);
}
function hw(a, c) {
function b(b) {
return Math.sqrt(b[0] * b[0] * 0.284 + b[1] * b[1] * 0.72 + b[2] * b[2] * 0.068) / 255;
}
void 0 === c && (c = 0.3);
var d = (a = ca(a));
d[0] || d[1] || d[2] || (d[0] = d[1] = d[2] = 5);
a = b(d);
var e = 4.2 * c;
c *= 9;
c = 0.49 >= a ? Y(0.008 * e, 0.115 * e, 0, 0.49, a) : Y(-0.08 * c, -0.09 * c, 0.49, 1, a);
return Ro(
(function (a, c) {
var d = b(a);
d = ua(d + c, 0, 1);
c = b(a);
d -= c;
var e = b(cd(a, -10));
return cd(a, (d / (e - c)) * -10);
})(d, c)
);
}
function Lb(a, c) {
if ("none" === a) return "rgba(0,0,0,0)";
a = Ec(a);
t(c) && (a = Po(a, c));
return ma(a);
}
function Dh(a) {
a = ca(Ec(a));
return yk(a);
}
function oc(a, c, b, d) {
if (!t(a)) return a;
var e,
f = a.length,
g = [],
h = [];
if (a.pop) {
if ((e = Ec(a))) return b ? dd(b, V(e, c), d) : ma(V(e, c));
if (2 === f) return !0 === a[1] ? dd(b, V(Ec(a[0]), c), d) : V(Ec(a[0]), c);
if (2 < f) {
var k = a.join("");
d = a[f - 1];
var l = 100 / (f - 2);
for (b = 0; b < f - 1; b++) (e = V(Ec(a[b]), c)), h.push(ma(e)), g.push(l * b);
return Qo(d, g, h, k);
}
} else {
if (a.linearGradient && a.linearGradient.pop) return t(c) ? Eh(a, 1 - c) : a;
if (a.stops) {
if (a.hasOwnProperty("angle") && a.stops) {
f = a.stops.length;
d = a.stops;
for (b = 0; b < f; b++) (e = d[b]), "undefined" !== typeof e[0] ? g.push(100 * e[0]) : g.push(0), h.push(V(Ec(e[1]), c));
return Qo(a.angle, g, h);
}
} else {
if (a.image) return "url('" + a.image + "')";
if (a.charAt) return b ? dd(b, V(a, c), d) : V(a, c);
}
}
}
function ia(a, c) {
return hg(c, function (b) {
a: if (b) {
if ("currentColor" !== a) {
if (Ek(a)) var c = gg(b, a);
else if (La[a])
switch (a) {
case La.crysDark:
c = pe(b);
break;
case La.crysBright:
case La.select:
c = oe(b);
break;
case La.hover:
var e = b ? 1 - ca(b)[3] : void 0;
c = df(b);
c = 0.59 > c ? zk(b, c + 0.15) : zk(b, c - 0.15);
c = Po(c, 100 * e);
break;
case La.outline:
c = hw(b, 0.07);
case La.outlineContrast:
break;
case La.label:
c = cd(b, -40);
break;
case La.labelContrast:
var f = (c = gg(b, "contrast"));
e = Lo(b);
f = Lo(f);
e = (Math.max(e, f) + 0.05) / (Math.min(e, f) + 0.05);
7 > e && ((b = So(ca(b))), (c = ka(c, 0.5 > b[0] ? "#fff" : "#000", ((8 - e) / 8) * 100)));
break;
case La.seriesLine:
c = Ak(b, -0.095);
break;
case La.hueEffect:
c = ne(b, "h", -23.4);
break;
case La.lightenDark:
c = df(b);
c = Ak(b, 0.5 > c ? 0.095 : -0.125);
break;
default:
c = b;
}
else {
b = a;
break a;
}
b = ma(c);
}
} else b = void 0;
return b;
});
}
function dd(a, c, b) {
if (!c || "undefined" === typeof c) return c;
"none" === c && (c = "rgba(0,0,0,0)");
if (c.linearGradient) return c;
if (!1 === c[1]) return c[0];
c.length && !c.kind && (c = Lb(c));
var d = a,
e = ca(c)[3],
f = 1 - e,
g = V(c, f);
d += c + (b || 0);
var h = c;
switch (a) {
case Fa.gaugePolarBack:
b = V(ka(c, "#ffffff", 20), f);
h = g;
var k = V(ne(c, "v", -0.02), f);
h = jb(
Ja(90),
[
["0%", b],
["40%", h],
["100%", k],
],
[180, "0%", 1, 1],
d
);
break;
case Fa.titleBox:
b = V(ka(c, "#ffffff", 20), f);
h = g;
k = V(ne(c, "v", -0.06), f);
h = jb(
Ja(90),
[
["0%", b],
["40%", h],
["100%", k],
],
[180, "0%", 1, 1],
d
);
break;
case Fa.box:
b = V(ka(c, "#ffffff", 20), f);
k = h = g;
h = jb(
Ja(90),
[
["0%", b],
["40%", h],
["100%", k],
],
[180, "0%", 1, 1],
d
);
break;
case Fa.chartArea:
b = V(ka(c, "#ffffff", 20), f);
e = k = h = g;
var l = V(cd(c, -5), f);
h = jb(
Ja(90),
[
["0%", b],
["25%", h],
["30%", k],
["80%", e],
["100%", l],
],
[180, "0%", 1, 1],
d
);
break;
case Fa.altGridFillRad:
h = ma(V(Bd(c, 105), f), "rgba");
break;
case Fa.altGridFillY:
case Fa.altGridFillX:
g = 0.04;
0 < b && (g = Math.min(1.7 / b, 0.34));
if (0 === e) return Lb(c, 100);
b = V(Bd("#ffffff", 180), f);
h = V(Bd("#ffffff", 180), f);
k = V(Bd(c, 105), f);
e = V(Bd(c, 30), f);
l = V(Bd(cd(c, 60), 7.5), f);
c = V(Bd(c, 82.5), f);
h = jb(
"altGridFillY" === a ? Ja(90) : Ja(0),
[
["0%", b],
[g + "%", h],
[g + "%", k],
["35%", e],
["60%", l],
["100%", c],
],
["altGridFillY" === a ? 180 : 90, "50%", 0.35, 0.1],
d
);
break;
case Fa.axisMarkerY:
case Fa.axisMarkerX:
g = ca(c);
e = Math.min(255 * g[3] + 20, 255);
b = V(V(Bd(ne(c, "v", -0.04), e), 7), f);
h = V(V(c, 7), f);
h = jb(
"axisMarkerY" === a ? Ja(90) : Ja(0),
[
["0%", b],
["20%", h],
["80%", h],
["100%", b],
],
["axisMarkerY" === a ? 180 : 90, "0%", e / 255, e / 255],
d
);
break;
case Fa.jsButton:
b = V(cd(c, -10), f);
h = V(oe(c), f);
k = V(cd(c, -20), f);
h = jb(
Ja(90),
[
["0%", b],
["20%", h],
["70%", c],
["85%", c],
["100%", k],
],
[180, "0%", 1, 1],
d
);
break;
case Fa.jumpButton:
b = V(cd(c, -10), f);
h = V(oe(c), f);
k = V(cd(c, -20), f);
h = jb(
Ja(90),
[
["0%", b],
["20%", c],
["70%", h],
["85%", c],
["100%", k],
],
[180, "0%", 1, 1],
d
);
break;
case Fa.areaFill:
b = V(c, f);
k = ne(c, "v", 0.1);
h = jb(
Ja(90),
[
["0%", k],
["70%", b],
["80%", b],
["100%", b],
],
[180, "0%", e, e],
d
);
break;
case Fa.aqua:
h = jg(c);
break;
case Fa.rounded:
h = ef(c);
break;
case Fa.subtle:
h = Ck(c);
break;
case Fa.cushion:
h = ig(c);
break;
case Fa.navBar:
h = c;
}
return h;
}
function Eh(a, c) {
return a
? hg(a, function (b) {
t(c) && c.toFixed && ((b = ca(b)), (b = Dc("rgba", [b[0], b[1], b[2], b[3] * c])));
return ma(b);
})
: a;
}
function qe(a, c, b, d) {
a = ka(a, c, b, d);
return ma(a);
}
function Fk(a) {
a = Ec(a);
return ca(a);
}
function Ro(a, c) {
return ma(a, c);
}
function iw(a, c, b) {
function d(b, a, c, d) {
b && (a && 0 !== b["stroke-width"] && (b.stroke = a), c && (b.fill = c), d && (b["stoke-width"] = d));
}
var e = b.horizontal,
f = b.inverted,
g = b.offsets,
h = b.share,
k = b.isRadial ? b : e,
l = "lighterOnDark" === b.strokeMode ? oe : pe,
m,
n = !0;
if ("aqua" === a) d(c[""], c[""].stroke, jg(c[""].fill, k, f)), (m = c.hover) && d(m, m.stroke || qe(l(m.fill), m.fill, 50), jg(m.fill, k, f, !0), 2), (m = c.select) && d(m, m.stroke || ma(l(m.fill)), jg(m.fill, k, f, !0));
else if ("cushion" === a)
d(c[""], c[""].stroke, ig(c[""].fill, g, h)), (m = c.hover) && d(m, m.stroke || qe(l(m.fill), m.fill, 50), ig(m.fill, g, h), 2), (m = c.select) && d(m, m.stroke || ma(l(m.fill)), ig(m.fill, g, h)), (n = !1);
else if ("rounded" === a) {
m = c[""];
m.stroke = m.stroke || ma(l(m.fill));
m.fill = ef(m.fill, k, f);
if ((m = c.hover)) (m.stroke = m.stroke || m.fill), (m.fill = ef(m.fill, k, f, !0)), (m["stoke-width"] = 2);
if ((m = c.select)) (m.stroke = m.stroke || ma(l(m.fill))), (m.fill = ef(m.fill, k, f, !0));
} else if ("subtle" === a) {
m = c[""];
0 !== m["stroke-width"] && (m.stroke = m.stroke || ma(l(m.fill)));
m.fill = Ck(m.fill, k, f);
if ((m = c.hover)) 0 !== m["stroke-width"] && (m.stroke = m.stroke || m.fill), C(k, "isRadial") ? ((m.fill = qe(Bh(m.fill), "#ffffff", 20)), (n = !1)) : (m.fill = Ck(m.fill, k, f, !0));
if ((m = c.select)) 0 !== m["stroke-width"] && (m.stroke = m.stroke || ma(l(m.fill))), (m.fill = ef(m.fill, k, f, !0));
} else if ("square" === a) {
m = c[""];
m.stroke = m.stroke || ma(l(m.fill));
m.fill = Dk(m.fill, e, f);
if ((m = c.hover)) (m.stroke = m.stroke || m.fill), (m.fill = Dk(m.fill, e, f, !0));
if ((m = c.select)) (m.stroke = m.stroke || ma(l(m.fill))), (m.fill = Dk(m.fill, e, f, !0));
} else {
m = c[""];
m.stroke = ma(m.stroke || ma(l(m.fill)));
if ((m = c.hover)) (m.stroke = m.stroke || m.fill), (m.fill = qe(Bh(m.fill), "#ffffff", 20));
(m = c.select) && (m.stroke = ma(m.stroke || ma(l(m.fill))));
n = !1;
}
n &&
b.lgCoords &&
((a = function (a) {
a.linearGradient = b.lgCoords;
}),
a(c[""].fill),
c.hover && a(c.hover.fill),
c.select && a(c.select.fill));
}
function To(a, c) {
void 0 === c && (c = 1);
if ("none" === a) return a;
(a = hg(a, function (b) {
b = Fk(b);
b = ne(b, "s", -c);
return ma(b);
})) &&
a.linearGradient &&
(a.linearGradient.hash = a.linearGradient.hash + "DS" + c);
return a;
}
function Uo(a, c, b, d) {
function e(a) {
var d = [],
e = f(a),
h = e[1];
e = e[0];
e = g(e, c[a], [0, h]);
a = (e[1] - e[0]) / b;
for (h = 0; h < b; h++) d[h] = e[0] + a * h;
return d;
}
function f(b) {
switch (b) {
case "hue":
return [l[0], 1];
case "saturation":
return [l[1], 1];
case "lightness":
return [l[2], 1];
case "r":
return [k[0], 255];
case "g":
return [k[1], 255];
case "b":
return [k[2], 255];
}
}
function g(b, a, c) {
function d() {
f = c[1] - e[1];
g = e[0] - c[0];
}
var e = [b - a / 2, b + a / 2],
f,
g;
d();
0 > f ? ((e[0] += f), (e[1] += f), d(), 0 > g && (e[0] = c[0])) : 0 > g && ((e[0] -= g), (e[1] -= g), d(), 0 > f && (e[1] = c[1]));
return e;
}
d = t(d) ? d : 1;
var h = 0 === d,
k = ca(a),
l = bf(k[0], k[1], k[2]);
a = {};
for (p in c) c.hasOwnProperty(p) && (a[p] = e(p));
for (var m = [], n = 0; n < b; n++) {
var p = [l[0], l[1], l[2]];
a.hue && (p[0] = a.hue[n]);
a.saturation && (p[1] = a.saturation[n]);
a.lightness && (p[2] = a.lightness[n]);
m[n] = yk(bd(p[0], p[1], p[2])).hex;
}
return h ? m : jw(m, d);
}
function jw(a, c) {
c = t(c) ? c : -1;
var b = a.length,
d;
for (t(c) && (d = Tn(c, a.length + 2)); 0 !== b; ) {
var e = Math.floor(d[b] * b);
--b;
c = a[b];
a[b] = a[e];
a[e] = c;
}
return a;
}
function Gk() {
return { x: 0, y: 0, width: 0, height: 0 };
}
function Hk(a, c, b) {
c && ((a.x -= (c - a.width) / 2), (a.width = c));
b && ((a.y -= (b - a.height) / 2), (a.height = b));
return a;
}
function Cd(a, c) {
return Hk(a, a.width * c, a.height * c);
}
function Ik(a, c) {
return { x: a.x + c, y: a.y + c, width: a.width - 2 * c, height: a.height - 2 * c, borderWidth: 2 * c };
}
function Vo(a, c) {
return [a[0] + c[3], a[1] + c[0], a[2] - c[3] - c[1], a[3] - c[0] - c[2]];
}
function Wo(a, c, b) {
return { x: a.x + c, y: a.y + b, width: a.width, height: a.height };
}
function Xo(a, c) {
return Ik(a, (c * Math.min(a.width, a.height)) / 2);
}
function kg(a, c, b, d) {
return { x: a - b / 2, y: c - d / 2, width: b, height: d };
}
function Yo(a) {
0 > a.width && ((a.x += a.width), (a.width = -a.width));
0 > a.height && ((a.y += a.height), (a.height = -a.height));
a.right = a.x + a.width;
a.bottom = a.y + a.height;
a.cx = a.x + a.width / 2;
a.cy = a.y + a.height / 2;
return a;
}
function Zo(a) {
return [a.x, a.y, a.x + a.width, a.y + a.height];
}
function $o(a) {
return { x: a[0], y: a[1], width: a[2] - a[0], height: a[3] - a[1] };
}
function Gc(a) {
return { x: a[0], y: a[1], width: a[2], height: a[3] };
}
function ap(a, c) {
var b = a.width * a.height,
d = c.width * c.height;
b = b === d && a.width === c.width ? 0 : Sj(b, d);
return 0 === b && a.x === c.x && a.y === c.y ? 0 : 0 === b ? -1 : b;
}
function Fh(a) {
"undefined" === typeof a && (a = 0);
a.toFixed ? (a = Jk[a]) : a.charAt ? ((a = a.toLowerCase()), (a = Jk[kw.indexOf(a)])) : (a = Jk[0]);
return a ? ("#" + a.match(/.{1,6}/g).join("#")).match(/.{1,7}/g) : a;
}
function bp(a, c, b, d) {
void 0 === d && (d = {});
var e = (ff[a] = ff[a] || {});
e.loaded && c();
var f = (e.callbacks = e.callbacks || []);
e.loading
? f.push(c)
: ((e.loading = !0),
f.push(c),
lw(
a,
function () {
w(f, function (b) {
return b();
});
e.loading = !1;
e.loaded = !0;
},
b,
d
));
}
function mw(a, c) {
if (!a) return null;
c || je();
return -1 < a.indexOf("http:") || -1 < a.indexOf("https:") ? a + ".js" : (c || je()) + "/" + a + ".js";
}
function lw(a, c, b, d) {
var e = d.baseUrl,
f = d.notificationContainer,
g = mw(a, e);
lk(g, c, function () {
b && b.emit("warning", "moduleLoader", "libNotFound", { data: [g], container: f });
c();
});
nw(b, e, g, f);
}
function nw(a, c, b, d) {
c = !c && to();
a && (c ? a.emit("warning", "moduleLoader", "cdnLoad", { data: [b], container: d }) : (je() && "https://code.jscharting.com/3.0.2" === je()) || !ow(b) || a.emit("warning", "moduleLoader", "scriptLoad", { data: [b], container: d }));
}
function ow(a) {
return S(["maps", "toolbar", "types"], function (c) {
return ~a.indexOf("modules/" + c);
});
}
function zb(a) {
return (a.id = a.id || de());
}
function Gh(a, c) {
var b = a[c],
d;
"object" === I(b) && (d = a[c] = [b]);
return d || a[c];
}
function pw(a, c, b) {
var d, e;
if ("undefined" !== (e = I((d = C(a, c)))) && "array" === e) {
var f = {};
w(d, function (a, c) {
f[b[c]] = a;
});
Z(a, c, f);
}
}
function cp(a, c) {
var b, d;
"undefined" !== (d = I((b = C(a, c)))) && "string" === d && Z(a, c, b.toLowerCase());
}
function qw(a) {
Da(rw, function (c) {
var b = a[c];
b && nb(b) && 1 > Math.abs(b) && (a[c] = 100 * b + "%");
});
}
function dp(a, c) {
var b;
"undefined" !== I((b = C(a, c))) && Lb(b) && Z(a, c, Lb(b));
}
function sw(a) {
if ("object" == typeof a) {
var c = [];
w(["topLeft", "topRight", "bottomRight", "bottomLeft"], function (b, d) {
c[d] = a[b];
});
return c;
}
}
function db(a, c) {
return t(a) && a.charAt ? (-1 < a.indexOf("%") ? ((a = parseInt(a.match("-?[0-9]+"))), (a / 100) * c) : parseInt(a)) : a;
}
function gf(a, c) {
Hh || (Hh = T.Promise || tw);
return new Hh(a, c);
}
function uw(a, c) {
var b = [],
d = function () {
return (
0 ===
b.filter(function (b) {
return !b;
}).length
);
},
e;
a.forEach(function (f) {
f.then(
function (f) {
b.push(f ? f.ok : !0);
f && f.error && (e = f.error);
f = { ok: d() };
e && (f.error = e);
b.length === a.length && c(f);
},
function () {
b.push(!1);
b.length === a.length && c({ ok: !1 });
}
);
});
}
function tw(a) {
return new ep("polyfill/promise", function () {
return new (Hh = T.Promise)(a);
});
}
function vw(a, c) {
return new ep(["polyfill/promise", "polyfill/fetch"], function () {
return (Ih = T.fetch)(a, c);
});
}
function lg(a) {
if (a && a.unit) {
var c = z(a.multiplier, a.count);
void 0 === c && (a.multiplier = 1);
c = z(c, 1);
return (Jh[a.unit] / 1) * c;
}
return 0;
}
function bc(a, c) {
var b = c.unit,
d = z(c.multiplier, c.count, 1);
"quarter" === b && ((b = "month"), (d *= 3));
a.getMonth || (a = new Date(a));
a = new Date(a.getTime());
if (c && b)
if ("decade" === b) a.setFullYear(a.getFullYear() + 10 * d);
else
return "month" === b
? new Date(a.getFullYear(), a.getMonth() + d, a.getDate())
: "year" === b
? (a.setFullYear(a.getFullYear() + d), new Date(a.getTime()))
: "day" === b
? (a.setDate(a.getDate() + d), new Date(a.getTime()))
: new Date(a.getTime() + lg(c));
return a;
}
function Kk(a, c, b) {
b.getMonth || (b = new Date(b));
b = new Date(b.getTime());
var d = a.unit ? a.unit : a;
c = a.multiplier ? a.multiplier : 1;
"minute" === d && 1 < c && (d = "hour");
switch (d) {
case "decade":
b.setFullYear(10 * Math.floor(0.1 * b.getFullYear()));
case "year":
b.setMonth(0);
case "month":
b.setDate(1);
case "week":
if ("week" === d) {
b.setDate(b.getDate() - b.getDay() + ww);
break;
}
case "day":
b.setHours(0);
case "hour":
b.setMinutes(0);
case "minute":
b.setSeconds(0);
}
b.setMilliseconds(0);
return b;
}
function hf(a, c) {
return {
year: { year: c ? "2-digit" : "numeric" },
month: { month: c ? "numeric" : "short" },
day: { day: "numeric" },
weekday: { weekday: "short" },
hour: { hour: "numeric" },
minute: c ? { minute: "2-digit" } : { hour: "numeric", minute: "2-digit" },
second: c ? { second: "2-digit" } : { hour: "numeric", minute: "2-digit", second: "2-digit" },
millisecond: "fff",
}[a];
}
function Kh(a) {
var c = B(a, Lk);
a = Math.min.apply(Math, H(c));
c = Math.max.apply(Math, H(c));
for (var b = []; a < c + 1; a++) b.push(hf(Lh[a]));
return b;
}
function fp(a) {
var c = a.pair,
b = c.major,
d = c.minor,
e = a.sigUnits,
f = a.intervals;
c = hf(b.unit);
d = hf(d.unit);
var g = c,
h = d;
e.major.length && e.minor.length
? 1 === a.intervals[0].length
? ((b = Math.min.apply(Math, H(B(e.major, Lk)))), (e = Math.min.apply(Math, H(B(e.minor, Lk)))), e--, 3 <= e && e--, e > b && (g = A.apply(null, Kh([Lh[b], Lh[e]]))))
: ((a = Kh(e.major)),
(e = Kh(e.minor)),
3 < a.length && a.pop(),
"day" === b.unit && f[1].length >= f[0].length && A(c, hf("month")),
a.length && f[1][0] > f[0][0] && (g = A.apply(null, a)),
e.length && (h = d = A.apply(null, e)))
: !e.major.length && e.minor.length && 1 === e.minor.length && "day" === e.minor[0] && (h = A(hf("month"), h));
return { major: c, minor: d, majorFirst: g, minorFirst: h };
}
function gp(a) {
var c = G(a, 2);
a = c[1];
c = $a(B(c[0], Mk));
a = $a(B(a, Mk));
return { major: c, minor: a };
}
function Mh(a, c, b, d) {
var e = [],
f = [],
g = [];
d = d.getTime();
var h = b.getTime();
h = d - h;
var k = { exists: 0, close: 0 },
l = b;
l.getMonth || (l = new Date(l));
var m = a.unit ? a.unit : a,
n = a.multiplier ? a.multiplier : 1,
p = Kk(a, 1, l);
if (p.getTime() !== l.getTime()) for (; p.getTime() < l.getTime(); ) p = bc(p, { unit: m, multiplier: n });
for (l = m = p; l.getTime() <= d; ) f.push(l.getTime()), (l = bc(l, a));
e.push(f);
if (c) {
var q;
l = m;
l.getMonth || (l = new Date(l));
for ("week" === c.unit && (l = Kk(c, 1, l)); l > b; ) l = bc(l, { unit: c.unit, multiplier: -z(c.multiplier, 1) });
b = bc(l, c);
b.setMilliseconds(0);
for (l = b; l.getTime() <= d; ) {
n = m = a = void 0;
p = l.getTime();
var r = f;
b = h / 20;
if (0 > r.indexOf(p)) {
if (r.length) {
try {
for (var u = ya(r), x = u.next(); !x.done; x = u.next()) {
var v = x.value;
if (void 0 === a || la(v, p) < la(a, p)) a = v;
}
} catch (y) {
n = { error: y };
} finally {
try {
x && !x.done && (m = u.return) && m.call(u);
} finally {
if (n) throw n.error;
}
}
a = la(a, p);
} else a = void 0;
b = t(a) && (a >= b ? void 0 : "close");
} else b = "exists";
(q = b) ? k[q]++ : g.push(l.getTime());
l = bc(l, c);
}
1 < g.length && e.push(g);
e.minorRemoval = k;
}
return e;
}
function Nh(a, c) {
c = c || [
["millisecond", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],
["second", [1, 2, 5, 10, 15, 30]],
["minute", [1, 2, 5, 10, 15, 30]],
["hour", [1, 2, 3, 4, 6, 8, 12]],
["day", [1, 2]],
["week", [1, 2]],
["month", [1, 2, 3, 4, 6]],
["year", null],
];
var b = c[c.length - 1],
d = Jh[b[0]],
e;
a.unit && (a = lg(a));
for (e = 0; e < c.length; e++) {
b = c[e];
d = Jh[b[0]];
var f = b[1];
if (c[e + 1] && a <= (d * f[f.length - 1] + Jh[c[e + 1][0]]) / 2) break;
}
return { unitRange: d, count: Math.max(1, Math.round(a / d)), unit: b[0] };
}
function xw(a, c, b, d) {
var e = yw(),
f,
g = function (b) {
f = b = Mh(b.major, b.minor, a, c);
return b[0].length + (b[1] ? b[1].length : 0);
},
h,
k = 0,
l = 0;
if (d)
var m = (h = d.pair),
n = g(d.pair),
p = f;
else
for (; l < b; )
if ((h = e[k])) {
l = g(h);
if (l > b || 3 < f.minorRemoval.close) break;
k++;
m = h;
n = l;
p = f;
} else break;
return { pair: m, count: n, intervals: p, sigUnits: gp(p) };
}
function Nk(a, c, b, d) {
void 0 === d && (d = !0);
a = new Ok(a);
c = a.isInterval ? (d ? a.setRangeSnap(c, b) : a.setRange(c, b)) : a.getRanges(c, b);
return B(c, function (b) {
return B(b, function (b) {
return b.getTime();
});
});
}
function hp(a, c) {
var b;
return (b = a.offset)
? c.map(function (a) {
return a.map(function (a) {
return X(a.getTime() + b);
});
})
: c;
}
function Pk(a, c, b) {
void 0 === c && (c = "sum");
if ((!a || !a.length) && t(b)) return b;
switch (c) {
case "sum":
return Ta(a);
case "average":
return (c = Ta(a)), null === c ? NaN : c / a.length;
case "min":
return Math.min.apply(Math, H(a));
case "max":
return Math.max.apply(Math, H(a));
}
}
function zw(a, c) {
if ("function" === typeof a.pop)
return ip(function (b) {
a.forEach(function (a) {
return b(a.values);
});
})
? [{ points: jf(a, c) }]
: a.map(function (b) {
return { name: b.key, points: jf(b.values, c) };
});
var b = Object.keys(a);
if (Qk(C(a, b[0]))) return [{ points: jf(a, c) }];
var d = [];
b.forEach(function (b) {
return d.push({ name: b, points: jf(a[b], c) });
});
return d;
}
function jf(a, c) {
var b = "function" === typeof c,
d = b
? function (b, a) {
return c(a, b);
}
: Gb,
e = function () {
d = function (b) {
return Pk(b, c);
};
};
if ("function" === typeof a.pop)
return (
!b &&
ip(function (b) {
a.forEach(function (a) {
return b(a.values);
});
}) &&
e(),
a.map(function (a) {
if (b) a = d(a.values, a.key);
else {
var c = a.key;
a = { x: "string" === typeof c && c.match(Rk) ? parseFloat(c) : c, y: d(a.values, a.key) };
}
return a;
})
);
var f = Object.keys(a);
!b && Qk(C(a, f[0])) && e();
var g = [];
f.forEach(function (c) {
return g.push(b ? d(a[c], c) : { x: c, y: d(a[c], c) });
});
return g;
}
function jp(a, c, b) {
return "object" === typeof c && c.pattern ? Aw(a, c, b) : kp(lp(a, c, void 0, b));
}
function lp(a, c, b, d) {
c = Sk(c);
var e = {};
b &&
b.forEach(function (b) {
e[b] = [];
});
b = 0;
for (var f = a.length; b < f; b++) {
var g = a[b],
h = c(g);
null !== h && Bw(e, h, g);
}
d &&
w(e, function (b, a) {
b = Cw(d);
return (e[a] = b(e[a]));
});
return e;
}
function Aw(a, c, b) {
a = Dw(a, c, b);
c = a.notDates
? parseInt
: function (b) {
return X(parseInt(b));
};
delete a.notDates;
return kp(a, c);
}
function Dw(a, c, b) {
var d,
e = c.pattern,
f = c.range,
g = Sk(c.key);
c = [];
if (!e) throw "CalendarPattern Required";
var h = new Ok(e),
k =
"numeric" === h.intervalType
? Gb
: function (b) {
return b.getTime();
};
if (f)
var l = [X(f[0]), X(f[1])],
m = h.setRange(X(f[0]), X(f[1]));
else {
try {
for (var n = ya(a), p = n.next(); !p.done; p = n.next()) {
var q = ed(g(p.value));
Ha(q) || c.push(q);
}
} catch (u) {
var r = { error: u };
} finally {
try {
p && !p.done && (d = n.return) && d.call(n);
} finally {
if (r) throw r.error;
}
}
r = Math.min.apply(Math, H(c));
d = Math.max.apply(Math, H(c));
l = [X(r), X(d)];
m = h.setRangeSnap(X(r), X(d));
}
r = m.map(function (b) {
return k(b[0]);
});
a = lp(
a,
function (b, a) {
b = ed((a || g)(b));
a = h.isInside(b);
if (-1 === a) {
if (!Kb(l, b)) return null;
Ha(ed(b)) || (a = m.length - 1);
}
return k(m[a][0]);
},
r,
b
);
"numeric" === h.intervalType && (a.notDates = !0);
return a;
}
function Tk(a) {
var c,
b,
d,
e = function (a, e) {
if ("key" === a[0]) {
var f = void 0;
!b && c
? ((b = !0),
(f = function (b) {
return jp(b, a[1], c[1]);
}))
: (f = function (b) {
return jp(b, a[1], e);
});
b = !0;
if (d) {
var g = f,
h = d[1];
f = function (b) {
b = sa(g(b), function (b) {
return b.key;
});
!0 === h && b.reverse();
return b;
};
d = void 0;
}
return f;
}
if ("rollup" === a[0]) return (c = a), Gb;
if ("sortKey" === a[0]) return (d = a), Gb;
if ("reverse" === a[0])
return function (b) {
return b.reverse();
};
};
a = a.calls.slice(0);
for (var f = a.length - 1, g = Gb; -1 < f; ) g = e(a[f--], g);
return g;
}
function Ew(a, c, b, d) {
wh(a, c, b, d, Oh);
}
function Ph(a) {
return B(a, function (a) {
return a.match(Rk) ? "number" : Ha(new Date(a).getTime()) ? "string" : "date";
});
}
function Uk(a) {
if (1 < a.length) {
var c = Ph(a[0]),
b = Ph(a[1]);
if (
(function (b, a) {
return !S(b, function (b) {
return b !== a;
});
})(c, "string")
) {
if (3 > a.length) return !Qe(c, b);
if (2 < a.length) return (a = Ph(a[2])), !Qe(c, a);
}
}
}
function Vk(a) {
var c = Math.min(3, a.length),
b = [];
ob(c, function (c) {
return (b[c] = Ph(a[c]));
});
if (
!S(b, function (b) {
return S(b, function (b) {});
})
) {
for (var d = void 0, e = 0; e < b.length - 1 && !(d = !Qe(b[e], b[e + 1])); e++);
var f = ["date", "number", "string", "undefined"];
if (d) {
var g = [];
ob(b[0].length, function (a) {
var d = [];
ob(c, function (c) {
d.push(b[c][a]);
});
d.sort(function (b, a) {
return Sj(f.indexOf(b), f.indexOf(a));
});
g.push(d);
});
return B(g, function (b) {
return b[0];
});
}
return b[0];
}
return [];
}
function Oh(a, c, b) {
void 0 === c && (c = ",");
var d = [],
e,
f,
g,
h = !1;
for (e = f = g = 0; g < a.length; g++) {
var k = a[g],
l = a[g + 1];
d[e] = d[e] || [];
d[e][f] = d[e][f] || "";
'"' === k && h && '"' === l
? ((d[e][f] += k), ++g)
: '"' === k
? (h = !h)
: k !== c || h
? "\r" !== k || "\n" !== l || h
? "\n" !== k || h
? "\r" !== k || h
? (d[e][f] += k)
: (++e, (f = 0))
: (++e, (f = 0))
: (++e, (f = 0), ++g)
: ++f;
}
!b && Uk(d) && (d.shift(), Uk(d) && d.shift());
return d;
}
function mp(a, c) {
var b = {
number: function (b) {
b = parseFloat(b);
return Ha(b) ? null : b;
},
string: function (b) {
return b;
},
date: function (b) {
return new Date(b).getTime();
},
"": function (b) {
return b;
},
},
d = function (a) {
return B(a, function (a, d) {
return b[c[d]](a);
});
},
e = function (b) {
w(a[b], function (b) {
b = I(b);
if ("number" === b || "date" === b || "object" === b) return (f = !0), !1;
});
},
f = !1;
if (a.length) {
ob(3, function (b) {
return e(b);
});
if (f) return a;
c = c || Vk(a);
return B(a, d);
}
}
function np(a, c) {
"string" === I(a) && c && (a = { mapTo: a, data: c });
var b = {
number: function (b) {
return parseFloat(b);
},
string: function (b) {
return b;
},
dateNumber: function (b) {
return new Date(parseInt(b));
},
date: function (b) {
return new Date(b);
},
"": function (b) {
return b;
},
},
d,
e = a.csv,
f = a.data;
c = a.intervals;
var g = I(f),
h = a.types,
k = a.newline || Fw,
l = a.mapTo || "x,y,z",
m = a.delimiter || ",";
h && (h = h.split(","));
var n = function (b) {
return Un(b) ? "number" : "string";
},
p = function (b, a) {
return "date" === h[a] ? { number: "dateNumber", string: "date" }[n(b)] : h[a];
},
q = function (b) {
return h ? B(b, p) : B(b, n);
},
r = function (b) {
return B(b.split(m), function (b, a) {
return u[a](b);
});
};
e || "string" !== g || (e = f);
if (e) {
e = e.split(k);
a.header && (e = e.splice(0, 1));
h = q(e[Math.min(1, e.length - 1)].split(m));
var u = B(h, function (a) {
return b[a];
});
f = B(e, r);
}
f && (d = op(l, f));
c &&
w(c, function (a, c) {
var e = a.start,
f = a.step,
g = b[a.type || ""];
w(d, function (b, a) {
return (b[c] = g(e + f * a));
});
});
return d;
}
function op(a, c) {
function b(b, a, c) {
b[a] = c;
}
function d(b, a, c) {
Z(b, a, c);
}
a = a.split(",");
var e = [],
f = [],
g,
h,
k,
l = 0;
for (g = a.length; l < g; l++) (a[l] = a[l].trim()), (f[l] = -1 < a[l].indexOf(".") ? d : b);
var m = 0;
for (h = c.length; m < h; m++) {
g = c[m];
l = {};
var n = 0;
for (k = g.length; n < k; n++) f[n](l, a[n], g[n]);
e[m] = l;
}
return e;
}
function pp(a, c) {
void 0 === c && (c = {});
var b = [],
d = Oh(a, c.delimiter, !0);
ob(2, function (a) {
return Uk(d) && b.push(d.shift());
});
var e = Vk(d);
a = { raw: a, headers: b, types: e, split: d };
c.skipCoerce || (a.data = mp(d, e));
return a;
}
function Wk(a, c, b) {
void 0 === b && (b = {});
a = pp(a, { delimiter: c, skipCoerce: !!b.coerce });
var d = b;
void 0 === d && (d = {});
b = d.map;
c = d.coerce;
var e = a.data,
f = a.headers,
g = a.types;
d.columns && (f = [d.columns]);
e = e || a.split;
if (0 < f.length && f[0].length && e[0].length === f[0].length) {
var h = f[0];
d = [];
for (var k = 0; k < e.length; k++) {
for (var l = e[k], m = {}, n = 0; n < l.length; n++) m[h[n]] = l[n];
l = b ? b(m) : m;
d.push(c ? c(l, k, g) : l);
}
d.columns = h;
1 < f.length && (d.headers = f);
} else d = a.data;
d && (d.types = a.types);
return d;
}
function Xk(a, c, b) {
void 0 === b && (b = {});
(b = b.map) && (a = a.map(b));
var d = pa(a[0]),
e = function (b, a) {
return a.map(function (a) {
return b[a];
});
};
a = a.map(function (b, a) {
return e(b, d).join(c);
});
a.splice(0, 0, d.join(c));
return a.join("\n");
}
function Gw(a, c) {
var b = ba.body,
d = 1e3,
e = ba.createElement("span");
e.innerHTML = "QW@HhsXJ";
e.style.position = "absolute";
e.style.top = e.style.left = "-9999px";
e.style.visibility = "hidden";
e.style.fontFamily = "Courier New";
e.style.fontSize = "250px";
b.appendChild(e);
var f = e.offsetWidth;
e.style.fontFamily = a + ",Courier New";
var g = function () {
f !== e.offsetWidth ? (b.removeChild(e), c(!0)) : 0 > d ? (b.removeChild(e), c(!1)) : (setTimeout(g, 50), (d -= 50));
};
g();
}
function Dd(a) {
return a ? (Yk[a] || (Yk[a] = 0), "_jsc_" + a + Yk[a]++) : "_jsc" + Hw++;
}
function qp(a) {
return (a || "") + Math.random().toFixed(5).slice(2);
}
function Iw(a) {
return a ? -1 < a.indexOf("_jsc") : !1;
}
function kf(a, c) {
c = c || 1;
return a && a.pop ? [na(a[0], c), na(a[1], c)] : t(a.x) ? { x: na(a.x, c), y: na(a.y, c) } : a;
}
function ab(a, c, b) {
a = kf(a.slice(0), b);
c = kf(c.slice(0), b);
if (a[0] === c[0] && a[1] === c[1]) return !0;
}
function rp(a, c, b, d, e) {
e = Math.min((a - c) / 2, e);
(e / (Zk * c)) * sp > Math.abs(b - d) && (e = ((d - b) / sp) * c * Zk);
return { cornerR: e, oCornerR: ((a + c) / 2 / c) * e };
}
function cc(a, c) {
var b = c[0] - a[0];
a = c[1] - a[1];
return Math.sqrt(b * b + a * a);
}
function tp(a, c, b, d, e, f, g, h, k, l) {
var m = Math.PI,
n = (120 * m) / 180,
p = (m / 180) * (+e || 0),
q = [],
r = function (b, a, c) {
var d = b * sb.cos(c) - a * sb.sin(c);
b = b * sb.sin(c) + a * sb.cos(c);
return { x: d, y: b };
};
if (l) {
y = l[0];
var u = l[1];
f = l[2];
v = l[3];
} else {
u = r(a, c, -p);
a = u.x;
c = u.y;
u = r(h, k, -p);
h = u.x;
k = u.y;
u = (a - h) / 2;
y = (c - k) / 2;
v = (u * u) / (b * b) + (y * y) / (d * d);
1 < v && ((v = sb.sqrt(v)), (b *= v), (d *= v));
v = b * b;
var x = d * d;
v = (f == g ? -1 : 1) * sb.sqrt(up((v * x - v * y * y - x * u * u) / (v * y * y + x * u * u)));
f = (v * b * y) / d + (a + h) / 2;
var v = (v * -d * u) / b + (c + k) / 2,
y = sb.asin(((c - v) / d).toFixed(9));
u = sb.asin(((k - v) / d).toFixed(9));
y = a < f ? m - y : y;
u = h < f ? m - u : u;
0 > y && (y = 2 * m + y);
0 > u && (u = 2 * m + u);
g && y > u && (y -= 2 * m);
!g && u > y && (u -= 2 * m);
}
up(u - y) > n && ((q = u), (m = h), (x = k), (u = y + n * (g && u > y ? 1 : -1)), (h = f + b * sb.cos(u)), (k = v + d * sb.sin(u)), (q = tp(h, k, b, d, e, 0, g, m, x, [u, q, f, v])));
f = u - y;
e = sb.cos(y);
n = sb.sin(y);
g = sb.cos(u);
m = sb.sin(u);
u = sb.tan(f / 4);
b = (4 / 3) * b * u;
u *= (4 / 3) * d;
d = [a, c];
a = [a + b * n, c - u * e];
c = [h + b * m, k - u * g];
h = [h, k];
a[0] = 2 * d[0] - a[0];
a[1] = 2 * d[1] - a[1];
if (l) return [a, c, h].concat(q);
q = [a, c, h].concat(q).join().split(",");
l = [];
h = 0;
for (k = q.length; h < k; h++) l[h] = h % 2 ? r(q[h - 1], q[h], p).y : r(q[h], q[h + 1], p).x;
return l;
}
function mg(a) {
return B(a, function (a) {
return [a.x, a.y];
});
}
function $k(a, c, b) {
if (t(C(a, "0.0"))) for (var d = [], e = 0, f = a.length; e < f; e++) d.push($k[(a[e], c[e], b)]);
else for (d = [], e = 0, f = a.length; e < f; e++) d.push(Y(a[e], c[e], 0, 1, b));
return d;
}
function xa(a) {
return a.join ? a.join(" ").replace(/,/g, " ") : a;
}
function vp(a, c, b) {
var d = 0;
for (a = a.shapes; d < a.length; d++) {
for (var e = a[d], f = 0, g = e.items; f < g.length; f++) c(g[f], f, d);
b && b(e, d);
}
}
function al(a, c) {
var b = "",
d;
vp(a, function (a, f, g) {
var e = a[0];
b += d !== e ? re[e] : " ";
d = e;
if (1 !== d)
for (e = 2; e < a.length; e++) {
var k = c ? c(a[e], e, f, g) : a[e];
b += (2 < e ? " " : "") + (k[0] + " " + k[1]);
}
});
return b;
}
function Mb(a) {
if (a.bboxValue) return a.bboxValue;
var c = {};
w(a.items, function (b) {
wp[b[0]] && wp[b[0]](c, b);
});
a.bboxValue = [c.xMin, c.yMin, c.xMax - c.xMin, c.yMax - c.yMin];
a.minMaxResult = c;
return a.bboxValue;
}
function bl(a, c) {
var b = G(c, 2);
c = b[0];
b = b[1];
var d = Q(a.xMax);
if (c > a.xMax || d) a.xMax = c;
if (c < a.xMin || d) a.xMin = c;
if (b > a.yMax || d) a.yMax = b;
if (b < a.yMin || d) a.yMin = b;
return a;
}
function xp(a, c) {
return bl(a, c[2]);
}
function Jw(a, c) {
var b = a.bbox(),
d = vv(b, c);
c = Hk(Gc(c), d[0], d[1]);
var e = ha(c);
return al(a, function (a) {
return Qh(e, b, a);
});
}
function yp(a, c, b) {
var d = 0;
b && a.clearCache(!0);
b = 0;
for (a = a.shapes; b < a.length; b++) d += se(a[b], c);
return d;
}
function se(a, c) {
if (t(a.lengthValue)) return a.lengthValue;
for (var b = 0, d = 0, e = a.items; d < e.length; d++) {
var f = e[d],
g = f;
if (t(f.lengthValue)) f = f.lengthValue;
else
a: {
var h = c;
switch (f[0]) {
case 1:
case 2:
f = cc(f[1], f[2]);
break a;
case 3:
f = h ? Wj(f.slice(1)) : (cc(f[1], f[2]) + cc(f[4], f[3]) + cc(f[3], f[2]) + cc(f[1], f[4])) / 2;
break a;
default:
f = 0;
}
}
g = g.lengthValue = f;
b += g;
}
return (a.lengthValue = b);
}
function lf(a, c) {
if (3 === a[0]) {
var b = a[1],
d = a[4];
if (0 === c) c = b;
else if (1 === c) c = d;
else {
a = G([b, a[2], a[3], d], 4);
var e = a[1],
f = a[2];
d = a[3];
b = G(a[0], 2);
a = b[0];
b = b[1];
var g = G(d, 2);
d = g[0];
g = g[1];
var h = G(e, 2);
e = h[0];
h = h[1];
var k = G(f, 2);
f = k[0];
k = k[1];
var l = 1 - c,
m = cl(l, 3),
n = cl(l, 2),
p = c * c * c;
c = [m * a + 3 * n * c * e + 3 * l * c * c * f + p * d, m * b + 3 * n * c * h + 3 * l * c * c * k + p * g];
}
return c;
}
return $k(a[1], a[2], c);
}
function zp(a) {
a.length();
var c = [],
b = 0;
for (a = a.shapes; b < a.length; b++) c.push.apply(c, Ap(a[b]));
return c;
}
function Ap(a) {
if (a.flatPoints) return a.flatPoints;
var c = [];
se(a);
for (var b, d = 0, e = a.items; d < e.length; d++) {
var f = e[d];
if (3 === f[0]) {
b = Math.max(2, Math.floor(f.lengthValue / 10));
var g = f.lengthValue / (b + 1);
g = Y(0, 1, 0, f.lengthValue, g);
for (var h = 1; h <= b; h++) c.push(lf(f, h * g));
c.push(f[4]);
} else c.push(f[2]);
}
return (a.flatPoints = c);
}
function Hc(a, c) {
void 0 === c && (c = 6);
if (a.positions) return a.positions;
for (var b = [], d = se(a), e = 0, f = 0, g = a.items; f < g.length; f++) {
var h = g[f];
e += h.lengthValue;
h = h.position = t(h.position) ? h.position : na(e / d, c);
b.push(h);
}
return (a.positions = b);
}
function Bp(a, c, b) {
var d = [];
if (3 === a[0]) {
if (((a = ov(a[1], a[2], a[3], a[4], c, b)), a.length))
return (
w(a, function (b) {
Ha(b[0]) || d.push({ x: b[0], y: b[1], onLine1: !0, onLine2: !0 });
}),
d
);
} else return d.push(Te(a[1], a[2], c, b)), d;
d.push({ x: 0, y: 0, onLine1: !1, onLine2: !1, isNaN: !0 });
return d;
}
function Rh(a, c, b, d) {
var e, f;
void 0 === d && (d = 6);
var g = Hc(a, d),
h = se(a),
k = [],
l = [];
a = a.items;
for (var m = 1, n = a.length; m < n; m++) {
var p = a[m],
q = p.lengthValue,
r = Bp(p, c, b),
u = g[m - 1];
try {
for (var x = ((e = void 0), ya(r)), v = x.next(); !v.done; v = x.next()) {
var y = v.value;
if (!y.isNaN)
if (y.onLine1 && y.onLine2) {
var D = cc(p[1], [y.x, y.y]),
E = na(D / q, d);
Cp(m, y, E, na(u + D / h, d), l, k);
} else {
var F = P(p);
r = b;
0 === Xn(kf(c), kf(F), kf(r)) && Cp(m, y, 1, na(u + q / h, d), l, k);
}
}
} catch (R) {
e = { error: R };
} finally {
try {
v && !v.done && (f = x.return) && f.call(x);
} finally {
if (e) throw e.error;
}
}
}
return l;
}
function Cp(a, c, b, d, e, f) {
var g = kf([c.x, c.y]).join(" ");
e.push({ i: a, intersect: c, percOfSegment: b, percOfShape: d });
f.push(g);
}
function dl(a) {
if (a.vertices) return a.vertices;
var c = [],
b = a.items,
d = b.length - 1;
w(b, function (a, f) {
var e = P(a);
f === d ? 1 === a[0] || ab(e, P(b[0])) || c.push(e) : (f && ab(a[1], e)) || c.push(e);
});
return (a.vertices = c);
}
function Kw(a) {
if (a.centroid) return a.centroid;
var c = dl(a),
b = c.length,
d = 0,
e = 0;
w(c, function (b) {
d += b[0];
e += b[1];
});
a.centroid = [d / b, e / b];
return a.centroid;
}
function ng(a) {
if (a.center) return a.center;
a.center = va(Mb(a));
return a.center;
}
function el(a, c, b) {
b = b || Mb(a);
a = ng(a);
return Qh(c, b, a);
}
function og(a, c) {
if (c) return ng(a);
c = Kw(a);
return Zf(c, dl(a)) ? c : ng(a);
}
function Dp(a) {
if (t(a.direction)) return a.direction;
for (var c = dl(a), b = 0, d = 0, e = c.length; d < e; d++) {
var f = c[d],
g = c[(d + 1) % c.length];
b += (g[0] - f[0]) * (g[1] + f[1]);
}
a.direction = 0 < b ? "cw" : "ccw";
return a.direction;
}
function Ep(a, c) {
if (t(a.orientation)) return a.orientation;
c = og(a, c);
a.orientation = Ia(c, P(a.items[0]));
return a.orientation;
}
function Sh(a, c, b, d) {
var e = a[0];
return 0 === e
? []
: 3 === e || (1 === e && 3 === c[0])
? ((a = 3 === e ? [a[1], a[2], a[3], a[4]] : [a[1], a[1], a[2], a[2]]), 0 < b && ((b = Xj(a, b)), (a = b.slice(3, b.length))), 1 > d && ((d = Xj(a, d)), (a = d.slice(0, 4))), a)
: [lf(a, b), lf(a, d)];
}
function Lw(a) {
a.lengthValue = void 0;
}
function Mw(a) {
a.lengthValue = void 0;
a.flatPoints = void 0;
}
function Nw(a) {
var c,
b = [];
if ((a = a.match(Ow)))
try {
for (var d = ya(a), e = d.next(); !e.done; e = d.next()) {
var f = e.value,
g = f.match(Pw);
g = g
? g.map(function (b) {
return Number(b);
})
: [];
b.push([f[0], g]);
}
} catch (k) {
var h = { error: k };
} finally {
try {
e && !e.done && (c = d.return) && c.call(d);
} finally {
if (h) throw h.error;
}
}
return b;
}
function Fp(a, c) {
return [2 * c[0] - a[0], 2 * c[1] - a[1]];
}
function pg() {
return new mf({ hasErrors: !0 });
}
function Gp(a, c, b, d) {
var e = a.args;
c = c || 0;
for (var f = e.length; f - c > b - 1; c += b) d(a, c, e);
}
function nf(a, c, b, d) {
Gp(a, d, 2 * c, function (a, d) {
b(
a,
1 === c
? Th(a, d)
: Pn(c, function (b) {
return Th(a, d + 2 * b);
})
);
});
}
function Th(a, c) {
return a.isRelative ? [a.args[c] + (a.endPoint ? a.endPoint[0] : 0), a.args[c + 1] + (a.endPoint ? a.endPoint[1] : 0)] : [a.args[c], a.args[c + 1]];
}
function Qw(a) {
var c;
a = Nw(a);
if (!a.length) return pg();
var b = Uh();
try {
for (var d = ya(a), e = d.next(); !e.done; e = d.next()) {
var f = e.value,
g = fl[f[0]];
b.args = f[1];
b.isRelative = g.isRelative;
b.cIsClosed && "M" !== g.command && Hp(b);
if (b.args.length < g.argsCount) return pg();
Rw[g.command](b);
if (b.firstCommand && !b.startPoint) return pg();
b.lastCommand = f;
b.firstCommand = !1;
}
} catch (k) {
var h = { error: k };
} finally {
try {
e && !e.done && (c = d.return) && c.call(d);
} finally {
if (h) throw h.error;
}
}
return Vh(b);
}
function gl(a, c, b) {
if (!c || 1 === b || 0 === b || 3 !== a[0]) return b;
a = a.slice(1);
var d = void 0;
b = void 0;
void 0 === d && (d = 1);
void 0 === b && (b = 0.01);
var e = d / 2;
d -= e;
var f;
for (f = Wj(a, d); Math.abs(f - c) > b; ) (e /= 2), (d += (f < c ? 1 : -1) * e), (f = Wj(a, d));
return d;
}
function Ip(a, c) {
switch (c[0]) {
case 0:
qg(a, c[2]);
break;
case 1:
hl(a);
break;
case 2:
fd(a, c[2]);
break;
case 3:
te(a, c.slice(2));
}
}
function Uh() {
return { firstCommand: !0, shapes: [] };
}
function Vh(a) {
il(a);
var c = a.startPoint,
b = a.endPoint;
return new mf({ hasCurves: a.hasCurves, hasLines: a.hasLines, isClosed: c[0] === b[0] && c[1] === b[1], shapes: a.shapes });
}
function Jp(a, c, b) {
if (c[0][0].length) for (var d = 0; d < c.length; d++) Jp(a, c[d], b);
else {
qg(a, c[0]);
for (d = 1; d < c.length; d++) fd(a, c[d]);
!0 !== b && hl(a);
}
}
function il(a) {
a.cShape.hasLines = a.cHasLines;
a.cShape.hasCurves = a.cHasCurves;
a.cShape.isClosed = a.cIsClosed;
a.cHasLines = a.cHasCurves = a.cStartPoint = a.cIsClosed = void 0;
}
function fd(a, c) {
Wh(a, 2, [c]);
a.hasLines = a.cHasLines = !0;
}
function te(a, c) {
Wh(a, 3, c);
a.hasCurves = a.cHasCurves = !0;
a.lastCurve = c;
}
function Sw(a, c) {
var b = a.lastCurve && 3 === P(a.cShape.items)[0] ? Fp(a.lastCurve[1], a.endPoint) : a.endPoint;
c.unshift(b);
te(a, c);
}
function Kp(a, c) {
var b = a.endPoint[0],
d = a.endPoint[1],
e = c[0][0],
f = c[0][1],
g = c[1][0],
h = c[1][1];
a.lastQ = c[0];
te(a, [[b + (2 * (e - b)) / 3, d + (2 * (f - d)) / 3], [g + (2 * (e - g)) / 3, h + (2 * (f - h)) / 3], c[1]]);
}
function Tw(a, c) {
Kp(a, [Fp(a.lastQ, a.endPoint), c]);
}
function Wh(a, c, b) {
c = [c, a.endPoint];
c.push.apply(c, b);
a.endPoint = P(b);
a.cShape && a.cShape.items.push(c);
}
function Hp(a, c) {
a.cShape && il(a);
c && (a.endPoint = c);
a.cStartPoint = a.endPoint;
a.lastCurve = null;
a.cShape = { cStartPoint: a.cStartPoint, items: [] };
a.shapes.push(a.cShape);
}
function qg(a, c) {
Hp(a, c || Th(a, 0));
a.firstCommand && (a.startPoint = a.cStartPoint);
Wh(a, 0, [a.endPoint]);
c || nf(a, 1, fd, 2);
}
function hl(a) {
Wh(a, 1, [a.cStartPoint]);
a.cIsClosed = !0;
}
function Uw(a, c, b) {
c = Th(a, c + 5);
var d = a.endPoint;
if (d[0] === c[0] && d[1] === c[1]) return !0;
var e = tp(d[0], d[1], b[0], b[1], b[2], b[3], b[4], c[0], c[1]);
b = function (b) {
return [e[b], e[b + 1]];
};
d = e.length;
e[d - 2] = c[0];
e[d - 1] = c[1];
for (c = 0; 5 < d - c; c += 6) te(a, [b(c), b(c + 2), b(c + 4)]);
}
function Aa(a) {
return a ? Qw(a.join ? a.join(" ") : a) : new mf();
}
function Ic(a) {
if (a) {
var c;
if (a.length && a[0].push) {
var b = Uh();
try {
for (var d = ya(a), e = d.next(); !e.done; e = d.next()) Ip(b, e.value);
} catch (g) {
var f = { error: g };
} finally {
try {
e && !e.done && (c = d.return) && c.call(d);
} finally {
if (f) throw f.error;
}
}
a = Vh(b);
} else a = pg();
} else a = new mf();
return a;
}
function Ed(a, c, b) {
if (1 < b) {
var d = 1 > c ? Ed(a, c, 1) : "",
e = 0 < b % 1 ? Ed(a, 0, b % 1) : "";
b = P(a.shapes).isClosed;
if (d)
if (e) {
a = Aa(d);
d = Aa(e);
a = a.items();
e = d.items();
var f = P(a);
d = "";
c = 0;
for (var g = e.length; c < g; c++) {
var h = e[c];
b && c === g - 1 ? ((d = "Z"), (3 !== h[0] && (ab(P(a[0]), P(h)) || ab(P(h), P(k)))) || a.push(h)) : c ? ab(P(h), P(k)) || a.push(h) : ab(P(h), P(f)) || a.push(h);
var k = h;
}
b = [];
k = 0;
for (e = a.length; k < e; k++) {
f = a[k];
k === a.length - 1 ? (3 !== f[0] && ab(P(f), P(a[0]))) || b.push(f) : k ? ab(P(f), P(l)) || b.push(f) : b.push(f);
var l = f;
}
l = Ic(b).toString() + d;
} else l = d;
else l = e;
return l;
}
l = a.items();
k = a.length();
g = Lp(l, k, c);
k = Lp(l, k, b);
h = l[g.i];
e = l[k.i];
f = g.i;
d = [];
if (0 < c) {
if (
((c = Sh(l[g.i], l[g.i - 1], g.percOfSegment, 1)),
d.push("M", c[0].join(" ")),
c.shift(),
1 === h[0] ? ((h = l[g.i - 1]), d.push(re[h[0]])) : d.push(re[h[0]]),
d.push(c.join(" ").replace(/,/g, " ")),
f++,
k.i === g.i && 1 === k.percOfSegment)
)
return d.join(" ");
} else d = ["M", g.xy.join(" ")];
c = f;
for (g = k.i; c < g; c++) d.push(Mp(l[c])), f++;
1 > b
? ((c = Sh(l[k.i], l[k.i - 1], 0, k.percOfSegment)), c.shift(), 1 === e[0] ? ((h = l[k.i - 1]), d.push(re[h[0]])) : d.push(re[e[0]]), d.push(c.join(" ").replace(/,/g, " ")))
: ((f = k.i), (b = l[f]), 1 === b[0] ? (a.hasCurves ? ((a = P(b)), d.push("C", P(l[k.i - 1]).join(" "), a.join(" "), a.join(" "))) : d.push("L", P(b).join(" "))) : d.push(Mp(b)));
return d.join(" ");
}
function Vw(a, c, b, d) {
var e = a.items();
if (0 === c && 0 === b) return Ic(e);
d = "caps" === (d && d.mode);
var f = yp(a, !0, !0);
a = jl(e, f, c / f);
b = jl(e, f, (f - b) / f);
c = Uh();
var g = !1;
f = !1;
var h = a.i,
k = b.i;
d && (1 < h && ((a.i = 2), (a.percOfSegment = 0), (g = !0)), k < e.length - 1 && ((b.i = e.length - 2), (b.percOfSegment = 1), (f = !0)));
d = a.i === b.i;
var l = e[a.i];
g ? (0 !== l[0] && qg(c, l[1]), (h = 1)) : ((a = Sh(l, e[a.i - 1], gl(l, a.toLen, a.percOfSegment), d ? gl(l, b.toLen, b.percOfSegment) : 1)), qg(c, a[0]), 3 === l[0] ? te(c, a.slice(1)) : fd(c, a[1]));
f && (k = 3 === e[e.length - 1][0] ? e.length : e.length - 1);
for (a = h + 1; a < k; a++) Ip(c, e[a]);
f || d || ((d = Sh(e[b.i], e[b.i - 1], 0, gl(e[b.i], b.toLen, b.percOfSegment))), 3 === e[b.i][0] ? te(c, d.slice(1)) : fd(c, d[1]));
return Vh(c);
}
function Lp(a, c, b) {
c = jl(a, c, b);
c.xy = lf(a[c.i], c.percOfSegment);
return c;
}
function jl(a, c, b) {
if (0 === b) return { i: 1, percOfSegment: b };
if (1 === b) return { i: a.length - 1, percOfSegment: b };
c *= b;
b = 0;
for (var d, e = 1, f = a.length; e < f; e++) {
var g = a[e];
if (g.lengthValue) {
var h = void 0;
void 0 === h && (h = Tj);
if ((h = b < c || Qj(b, c, h))) {
h = b + g.lengthValue;
var k = void 0;
void 0 === k && (k = Tj);
h = h > c || Qj(h, c, k);
}
if (h) {
var l = na(Y(0, 1, b, b + g.lengthValue, c), 6),
m = e;
d = c - b;
break;
}
b += g.lengthValue;
}
}
1 === l && m < a.length - 1 && ((d = l = 0), m++);
return { i: m, percOfSegment: l, toLen: d };
}
function Mp(a) {
return 1 === a[0] ? "Z" : xa([re[a[0]], a.slice(2).join(" ")]);
}
function eb(a, c) {
if (a)
if ((void 0 === c && (c = {}), a.length && a[0].push)) {
var b = Uh();
Jp(b, a, c.isOpen);
il(b);
a = Vh(b);
} else a = pg();
else a = new mf();
return a;
}
function Np(a) {
var c = function (b) {
return 0 === b[2] && 0 === b[3];
},
b = "string" === typeof a;
return !a || a.hasErrors ? !0 : !b && a.bbox ? c(a.bbox()) : a.arcShape ? 0 === a.arcShape.r : b || a.push ? c(kl(a)) : !0;
}
function Ww(a) {
var c = [],
b = 0;
for (a = a.shapes; b < a.length; b++) c.push(Ic(a[b].items));
return c;
}
function Op(a) {
if (Q(a.isClose)) {
var c = P(a.items),
b = a.items[0],
d;
!(d = 1 === c[0]) && (d = 2 < a.items.length) && ((b = b[1]), (c = P(c)), (d = b[0] === c[0] && b[1] === c[1]));
a.isClose = d;
}
return a.isClose;
}
function ll(a, c, b, d, e) {
var f = e.start,
g = e.skipEndFix ? e.end : e.end - 0.001,
h = e.caps || {},
k = e.r || b || d;
b = e.innerR;
d = e.open;
var l = (h.start || h.left || "").toLowerCase();
h = (h.end || h.right || "").toLowerCase();
var m = e.end - f < Xh ? 0 : 1,
n = e.cornerR,
p = n && "gap" !== l && "flat" !== l,
q = n && "gap" !== h && "flat" !== h;
if (n && (p || q)) {
var r = [a, c],
u = rp(k, b, f, g, n),
x = u.cornerR,
v = u.oCornerR;
u = k - v;
var y = b + x,
D = yb((x / (Pp * b)) * 360),
E = yb((v / (Pp * k)) * 360);
x = Jb(r, f, u);
v = Jb(r, g, u);
u = Jb(r, f, y);
y = Jb(r, g, y);
var F = Jb(r, f + D, b),
w = Jb(r, g - D, b);
D = Jb(r, f + E, k);
r = Jb(r, g - E, k);
}
var cb = Math.cos(f),
wa = Math.sin(f),
U = Math.cos(g),
M = Math.sin(g);
e = e.ccw;
var Jc = q ? r : [a + k * U, c + k * M];
r = p ? D : [a + k * cb, c + k * wa];
E = ["M", r[0], r[1], "A", k, k, 0, m, e ? 0 : 1, Jc[0], Jc[1]];
var gd = "insideround" === h;
t(b) &&
((k -= b),
(U = q ? w : [a + b * U, c + b * M]),
(a = p ? F : [a + b * cb, c + b * wa]),
"round" === h || gd
? ((c = Uj(Jc, U)), (g = Kc(c[0], c[1], k / 2, g, g + Xh, gd)), E.push.apply(E, H(g)))
: "gap" === h
? E.push.apply(E, H(["M", U[0], U[1]]))
: q
? E.push.apply(E, H(["A", n, n, 0, 0, 1, v[0], v[1], "L", y[0], y[1], "A", n, n, 0, 0, 1, w[0], w[1]]))
: E.push.apply(E, H([d ? "M" : "L", U[0], U[1]])),
E.push.apply(E, H(["A", b, b, 0, m, e ? 1 : 0, a[0], a[1]])),
(gd = "insideround" === l),
"round" === l || gd
? ((c = Uj(r, a)), (g = Kc(c[0], c[1], k / 2, f + Xh, f, gd)), E.push.apply(E, H(g)))
: p
? E.push("A", n, n, 0, 0, 1, u[0], u[1], "L", x[0], x[1], "A", n, n, 0, 0, 1, D[0], D[1])
: "gap" !== l && "gap" === h && E.push.apply(E, H(["L"], r)),
"gap" === h || "gap" === l) &&
(d = !0);
E.push(d ? "" : "Z");
return E;
}
function Kc(a, c, b, d, e, f) {
return ll(a, c, b, b, { start: d, end: e, open: !0, ccw: f }).slice(3, 11);
}
function Yh(a, c, b, d, e) {
return eb(
[
[a, c],
[a + b, c],
[a + b, c + d],
[a, c + d],
],
e
);
}
function Qp(a, c, b, d, e) {
void 0 === e && (e = {});
var f = G(Rp(b, d, e), 2);
return Xw(a, c, b, d, f[0], f[1], e.callout);
}
function Yw(a, c, b) {
void 0 === b && (b = {});
a = G(Rp(a, c, b), 2);
var d = a[0];
a = a[1];
c = Math.max;
b = function (b) {
d = b.radius || d;
return { round: d - Math.cos(Math.PI / 4) * d, cut: d / 2, square: 0, callout: 0 }[b.type || b];
};
return [c(b(a[0]), b(a[3])), c(b(a[0]), b(a[1])), c(b(a[1]), b(a[2])), c(b(a[2]), b(a[3]))];
}
function Rp(a, c, b) {
a = Math.min(a / 2, c / 2);
var d = Math.min(z(b.r, b.radius, 5), a);
c = Q(z(b.r, b.radius)) ? "square" : "round";
b = B(b.corners || [c, c, c, c], function (b) {
return b.r ? ((d = b.r), b.type) : b;
});
return [Math.min(d, a), b];
}
function Xw(a, c, b, d, e, f, g) {
var h = Math.PI;
a = G(Yb([a, c, b, d]), 4);
var k = a[0],
l = a[1],
m = a[2],
n = a[3],
p = [],
q,
r = "",
u,
x,
v,
y,
D,
E,
F;
g &&
(g.pop || (g = [g]),
w(g, function (b) {
var a = b.position;
b = b.size;
u = ra([0, 0], 45, b[0])[0];
var c = G([Tp(a[0]), Tp(a[1])], 2),
d = c[0];
c = c[1];
r += (c ? (0 === a[1] ? "T" : "B") : "") + (d ? (0 === a[0] ? "L" : "R") : "");
t((F = Zw[r])) ? (f[F] = { type: "callout", size: b, radius: u }) : (q = c ? a[0] : d ? a[1] : void 0);
p.push({ name: r, pos: q, size: b });
}));
g = function (b) {
v = n - b;
y = k + b;
D = m - b;
E = l + b;
x = b;
};
var R = [],
cb,
wa,
U,
M,
Jc = [];
a = function (b, a, c, d, e, f, g) {
R.push(R.length ? "L" : "M", a);
switch (b.type || b) {
case "square":
R.push("L", c, "L", d);
break;
case "round":
R.push.apply(R, H(Kc(e[0], e[1], x, f, g)));
break;
case "cut":
R.push("L", d);
break;
case "callout":
Jc.push((M = Jb(e, (f + g) / 2, b.size[1]))), R.push("L", M, "L", d);
}
};
c = function (b, a, c) {
cb = b.size[0] / 2;
wa = Y(a + cb, c - cb, 0, 1, b.pos);
U = Y(a, c, 0, 1, b.pos);
};
b = function (b, a, c) {
Jc.push(a);
R.push("L", b, "L", a, "L", c);
};
d = f[0];
g(d.radius || e);
a(d, [k, E], [k, l], [y, l], [y, E], h, (3 * h) / 2);
if ((d = S(p, { name: "T" }))) c(d, y, D), b([wa - cb, l], [U, l - d.size[1]], [wa + cb, l]);
d = f[1];
g(d.radius || e);
a(d, [D, l], [m, l], [m, E], [D, E], -h / 2, 0);
if ((d = S(p, { name: "R" }))) c(d, E, v), b([m, wa - cb], [m + d.size[1], U], [m, wa + cb]);
d = f[2];
g(d.radius || e);
a(d, [m, v], [m, n], [D, n], [D, v], 0, h / 2);
if ((d = S(p, { name: "B" }))) c(d, y, D), b([wa + cb, n], [U, n + d.size[1]], [wa - cb, n]);
d = f[3];
g(d.radius || e);
a(d, [y, n], [k, n], [k, v], [y, v], h / 2, h);
if ((d = S(p, { name: "L" }))) c(d, E, v), b([k, wa + cb], [k - d.size[1], U], [k, wa - cb]);
R.length && R.push("Z");
return xa(R);
}
function Up(a) {
void 0 === a && (a = {});
var c = a.type;
if (Vp[c]) return Vp[c](a);
var b = z(a.lineWidth, 1),
d = db(z(a.size, 10 * b), b);
c = z(a.overflow, !1);
var e = db(z(a.width, d), b);
b = db(z(a.height, d), b);
d = !1 === c ? z(a.centerWidth, e / 2) : 0;
return L(Na({}, a, Wp), { width: e, height: b, overflow: 0 < d ? !0 : c, centerWidth: d });
}
function Xp(a) {
return a && "none" !== a ? (O(a) ? { shape: a } : Oa(a)) : null;
}
function $w(a, c, b, d) {
var e = L({ size: d, x: c, y: b }, O(a) ? { name: a } : a);
return (c =
(a = e.path) ||
(e.name
? xo(
e.name,
function (b) {
Ma.emit("warning", "dom", "scriptLoad", { data: [b.path] });
},
function (b) {
Ma.emit("warning", "dom", "iconNotFound", { data: [e.name] });
}
)
: null))
? Yp(c, [e.x || 0, e.y || 0, e.width || 0, e.height || 0, e.size], Xp(e.outerShape), e.padding, !!a)[0]
: null;
}
function fb(a, c) {
c = c || [];
c.push(sg(a[0]));
1 < a.length && c.push("L");
for (var b = 1, d = a.length; b < d; b++) c.push(a[b][0] + " " + a[b][1]);
return c;
}
function ax(a, c, b) {
void 0 === c && (c = !0);
var d = [];
d.push("M", a[0].join(" "), "L");
c = c
? function (c) {
d.push(a[b ? c : c - 1][0] + " " + a[b ? c - 1 : c][1]);
}
: function (c) {
d.push(a[b ? c - 1 : c][0] + " " + a[b ? c : c - 1][1]);
};
for (var e = 1, f = a.length; e < f; e++) c(e), d.push(a[e][0] + " " + a[e][1]);
return d;
}
function tg(a) {
var c = [];
w(a, function (b) {
fb(b, c);
});
return c;
}
function bx(a, c) {
void 0 === c && (c = 0.8);
var b = function (b) {
return b.join(" ");
},
d = ["M", b(a[0])],
e = [];
if (3 > a.length) e = a.slice(0);
else for (var f = 1, g = a.length - 1; f < g; f++) e[f] = cx(a, f, c);
if (2 === a.length) d.push("C", a[0], a[1], a[1]);
else for (f = 0, g = a.length - 1; f < g; f++) f ? (f === g - 1 ? d.push("C", b(e[f][1]), b(a[f + 1]), b(a[f + 1])) : d.push("C", b(e[f][1]), b(e[f + 1][0]), a[f + 1])) : d.push("C", b(a[f]), b(e[f + 1][0]), b(a[f + 1]));
return xa(d);
}
function cx(a, c, b) {
void 0 === b && (b = 0.8);
var d = a[c - 1],
e = a[c],
f = a[c + 1];
b = 1 - b;
c = Ia(e, d);
a = Ia(e, f);
d = cc(d, e);
f = cc(e, f);
f = Math.min(d, f);
d = ee(e[0], e[1], yb(c), f);
a = ee(e[0], e[1], yb(a), f);
b *= cc([d.x, d.y], [a.x, a.y]);
d = Ia(d, a);
a = mg([ee(e[0], e[1], yb(d - 180), b)])[0];
e = mg([ee(e[0], e[1], yb(d), b)])[0];
return [a, e];
}
function dx(a) {
var c = G(a.points, 3),
b = a.angles,
d = a.cxy,
e = a.radius;
c = 0 > Xn(c[0], c[1], c[2]);
a = a.angles.map(function (b) {
return yb(b);
});
a[0] = c && "0270" === b.join("") ? 2 * Math.PI : a[0];
return Kc(d[0], d[1], e, a[0], a[1], c);
}
function ex(a, c) {
var b = a.length;
if (2 < b) for (var d = 1; d < a.length - 1; d++) c(a[d - 1], a[d], a[d + 1], 1 === d, d === b - 2);
}
function hd(a, c) {
var b = [];
ex(a, function (a, e, f, g, h) {
var d = c,
l = mc(a, e),
m = mc(e, f);
m = Math.min(g ? l : l / 2, h ? m : m / 2);
l = [Ia(f, e), Ia(a, e)];
d = t(d) ? Math.min(d, m) : m;
e = [ra(e, l[1] + 180, d), e, ra(e, l[0] + 180, d)];
d = { points: e, radius: d, angles: l, cxy: ra(e[0], l[0] + 180, d) };
g && b.push(sg(a));
b.push(Fd(d.points[0]));
b.push.apply(b, H(dx(d)));
h && !ab(d.points[2], f) && b.push(Fd(f));
});
return b.join(" ");
}
function fx(a, c) {
c = id(c, { width: 1.5 });
var b = c.gapLength,
d = c.width,
e = c.lineLength,
f = c.midPoint,
g = c.lineAngle,
h = c.noStart,
k = c.noEnd,
l = c.tipPos * e - b / 2,
m = e - l - b,
n = [],
p = a.slice(0);
if (0 === b) n.push(sg(a[1]), Fd(a[2]));
else {
var q = Math.min(b, e - 4);
n.push(sg(a[1]), Fd(ra(f, g + 180, q / 2)));
n.push(sg(ra(f, g, q / 2)), Fd(a[2]));
}
b = { type: "arrow", overflow: !1, width: "400%", length: "600%" };
h = { start: h ? {} : b, end: k ? {} : b };
a = [a[1], a[2]];
return { d: n.join(" "), pathOptions: { caps: h, "stroke-width": d, stroke: c.color, fill: "none" }, startLen: l, endLen: m, gapLength: q, bbox: Ua(p), endPoints: a, mode: "measure" };
}
function gx(a, c) {
c = id(c, { width: 3, radius: 100, tipLength: 5 });
var b = c.gapLength,
d = c.tipLength,
e = c.radius,
f = c.tipPos,
g = c.lineLength,
h = c.midPoint,
k = c.sideLength,
l = c.lineAngle,
m = c.tipAngle,
n = function (b, a) {
return [b[0] + a[0], b[1] + a[1]];
},
p = function (b, a, c) {
return b.map(function (b) {
return [b[0] + a, b[1] + c];
});
},
q = ra([0, 0], m, c.width),
r = function (b) {
return p(b, q[0], q[1]);
},
u = function () {
for (var b = [], a = 0; a < arguments.length; a++) b[a] = arguments[a];
return t.push.apply(t, H(b));
},
x = Gb,
v = Gb;
f = f * g - b / 2;
var y = g - f - b,
D = Math.min(e, f) < k;
k = Math.min(e, y) < k;
if (D || k) {
var E = ra([0, 0], l, 1),
F = ra([0, 0], l + 180, 1);
x = function (b, a, c) {
b[a] = n(b[a], E);
b[c] = n(b[c], E);
};
v = function (b, a, c) {
b[a] = n(b[a], F);
b[c] = n(b[c], F);
};
}
var t = [],
w = a.slice(0),
wa = [],
U = 0;
0 === b
? ((b = a.slice(0, 2)),
D && x(b, 0, 1),
(d = ra(h, m, d)),
w.push(d),
b.push(h, d),
(h = [b[3], b[2], a[2], a[3]]),
k && v(h, 2, 3),
u(hd(b, e)),
u(hd(h, e).replace("M", "L")),
u(Fd(a[3])),
D && v(b, 0, 1),
k && x(h, 2, 3),
(b = r(b).reverse()),
(h = r(h).reverse()),
u(hd(h, e).replace("M", "L")),
u(hd(b, e).replace("M", "L"), Fd(a[0]), "Z"))
: ((U = Math.min(b, g - 4)),
(b = a.slice(0, 2)),
D && x(b, 0, 1),
b.push(ra(h, l + 180, U / 2)),
(h = [ra(h, l, U / 2), a[2], a[3]]),
u(hd(b, e)),
D && v(b, 0, 1),
(b = r(b).reverse()),
u(hd(b, e).replace("M", "L"), Fd(a[0]), "Z"),
k && v(h, 1, 2),
u(hd(h, e)),
k && x(h, 1, 2),
(h = r(h).reverse()),
u(hd(h, e).replace("M", "L"), "Z"));
wa.push(a[3]);
wa.push(a[0]);
return { d: t.join(" "), pathOptions: { "stroke-width": 0, fill: c.color }, startLen: f, endLen: y, gapLength: U, bbox: Ua(w), endPoints: wa, mode: "curly" };
}
function Zp(a, c, b, d, e) {
function f(b) {
return b && b.join ? b.join(" ").replace(/,/g, " ") : b;
}
function g(a) {
switch (a) {
case "b":
var c = [[u, x], ["L"], [h - 1.1 * n, x], ["L"], [h - 0.35 * n, x - 1.25 * n], ["L"], [h + 0.45 * n, x + 0.65 * n], ["L"], [h + 0.8 * n, x], ["L"], [u + b, x]];
c = c.reverse();
break;
case "r":
c = [[u, x], ["L"], [u, k - 1.12 * p], ["L"], [u - 1.25 * p, k - 0.35 * p], ["L"], [u + 0.65 * p, k + 0.45 * p], ["L"], [u, k + 0.8 * p], ["L"], [u, x + d]];
break;
case "t":
c = [[u + b, x], ["L"], [h + 1.15 * n, x], ["L"], [h + 0.35 * n, x + 1.25 * n], ["L"], [h - 0.45 * n, x - 0.65 * n], ["L"], [h - 0.85 * n, x], ["L"], [u, x]];
c = c.reverse();
break;
case "l":
c = [[u, x + d], ["L"], [u, k + 1.15 * p], ["L"], [u + 1.25 * p, k + 0.35 * p], ["L"], [u - 0.65 * p, k - 0.45 * p], ["L"], [u, k - 0.85 * p], ["L"], [u, x]];
}
c.splice(0, 0, "M");
return c;
}
e = e || {};
var h = a + b / 2,
k = c + d / 2,
l = e.zigWidth || 0,
m = 1.6 * (l || 10),
n = Math.min(m, b / 2),
p = Math.min(m, d / 2);
l /= 2;
m = e.lines;
var q = a + b,
r = c + d,
u = a,
x = c,
v = !e.open,
y = [];
switch (e.zigSides) {
case "t":
x = c + l;
y = e = g("t");
m.push(f(e));
v && y.push(["L", q, r, "L", a, r]);
break;
case "b":
x = r - l;
v && y.push(["M", a, c, "L", q, c]);
e = f(g("b"));
m.push(f(e));
y.push(v ? e.replace("M", "L") : e);
break;
case "m":
x = c + l;
y = e = g("t");
m.push(f(e));
x = r - l;
e = f(g("b"));
m.push(e);
y.push(v ? e.replace("M", "L") : e);
break;
case "r":
u = q - l;
y = e = g("r");
m.push(f(e));
v && y.push(["L", a, r, "L", a, c]);
break;
case "l":
u = a + l;
v && y.push(["M", q, c, "L", q, r]);
e = f(g("l"));
m.push(f(e));
y.push(v ? e.replace("M", "L") : e);
break;
case "c":
(u = q - l), (y = e = g("r")), m.push(f(e)), (u = a + l), (e = f(g("l"))), m.push(e), y.push(v ? e.replace("M", "L") : e);
}
return f(y).split(" ");
}
function $p(a, c, b, d, e, f) {
return dc[a] || "needle" === a ? dc["needle" === a ? "square" : a](c, b, d, e, f) : $w(a, c, b, d);
}
function hx(a, c, b) {
ml[c]
? b(ml[c])
: (b({ width: 0, height: 0 }, !1),
ug[c]
? ug[c].push(b)
: ((ug[c] = [b]),
a.calculateImageSize(c, function (b, a) {
var d = (ml[c] = { width: b, height: a });
w(ug[c], function (b) {
return b(d, !1);
});
ug[c] = void 0;
})));
}
function aq(a, c, b) {
var d = a.pointerType;
d || (d = (d = a.type.match(/^mouse|touch/i)) ? d[0] : null);
return { el: c, eventArgs: a, eventName: b, device: d ? d : "other", pointers: a.pointers };
}
function ix(a) {
a._s0 = {};
a._s1 = {};
a._s2 = {};
a._s3 = {};
}
function Zh(a, c) {
t(c) && (a._s4 = c);
return a._s4;
}
function bq(a) {
return a ? ((a = /url\(#(.*)\)/g.exec(a)) ? a[1] : null) : null;
}
function nl(a, c, b) {
c &&
(w(c.childNodes, function (c) {
return nl(a, c, b);
}),
c.refNodes.length &&
w(c.refNodes, function (c) {
return nl(a, c, b);
}),
Da(cq, function (d) {
return dq(a, d, c.attr(d), null, b);
}));
}
function dq(a, c, b, d, e) {
J(cq, c) && ((c = bq(b)), (d = bq(d)), (a = a._s0), null !== d && (J(a, d) ? a[d]++ : (a[d] = 1)), null !== c && (J(a, c) && a[c]--, J(a, c) && 1 > a[c] && (delete a[c], e(c))));
}
function ol(a, c) {
a = a._s1;
return J(a, c) ? a[c] : null;
}
function pl(a, c) {
var b = a._s1;
J(b, c) && delete b[c];
b = a._s2;
a = a._s3;
J(a, c) && (delete b[a[c]], delete a[c]);
}
function vg(a, c, b) {
var d = eq(a);
c = jx(a, c, b);
c.updateAttr = function (b) {
b.el ? b.el.attr(b.attr) : (b.el = a.element(b).add(d));
return b;
};
return c;
}
function eq(a) {
var c;
(c = Zh(a)) || ((c = a.element("defs")), !a._noRender && c.add(), (c = Zh(a, c)));
return c;
}
function jx(a, c, b) {
b = b || {};
var d = b.id && ol(a, b.id);
return d ? d : fq(a, c, b, b.hash);
}
function fq(a, c, b, d, e) {
var f = Q(b.id),
g = a._s1,
h = a._s2;
if ((g = J(h, d) ? g[h[d]] : null)) return g;
g = b;
f ? (g = L(qa(b), { id: Dd() })) : ql(a, b.id);
c = { tag: c, attr: Ga(g, ["hash", "meta"]), isDef: !0, hash: d, val: e };
b = g.id;
e = c;
a._s1[b] = e;
d && ((e = a._s3), (a._s2[d] = b), (e[b] = d));
return c;
}
function ql(a, c) {
var b = ol(a, c);
if (b) {
var d = b.isDef ? b.el : b;
d && d.destroy();
delete b.el;
pl(a, c);
} else (a = a.query("#" + c)) && a.destroy();
}
function wg(a) {
var c = a || {};
c.color = c.color || "black";
c.backgroundColor = c.backgroundColor || "none";
c.strokeWidth = t(c.strokeWidth) ? c.strokeWidth : 1;
c.granualWidth = a.granualWidth || a.size || 5;
c.granualHeight = a.granualHeight || a.size || 5;
return c;
}
function gq(a, c, b) {
a = { hash: "#" + a + ":" + b.color + ", " + b.backgroundColor + ", " + b.strokeWidth, width: b.granualWidth, height: b.granualHeight, patternUnits: "userSpaceOnUse", x: 0, y: 0, childNodes: c };
b.patternTransform && (a.patternTransform = b.patternTransform);
b.transform && (a.transform = b.transform);
return a;
}
function $h(a, c, b) {
c.unshift({ tag: "rect", attr: { width: b.granualWidth, height: b.granualHeight, fill: b.backgroundColor || "none" } });
return gq(a, c, b);
}
function hq(a) {
a = L(a, iq[a.pattern]);
a.omit = ["childNodes"];
var c = a.template;
c || (J(a, "c") ? (c = "line") : J(a, "d") ? (c = "path") : J(a, "p") && (c = "point"));
return kx[c](a);
}
function lx(a, c, b, d) {
if (!J(iq, a.pattern)) return null;
var e = L({}, a);
if (a.backgroundColor && !O(a.backgroundColor)) {
var f = void 0;
d && d.d && ((d = d.d), (d = d.isPath ? d : Aa(d)), (f = Gc(d.bbox())));
f = f || c.box();
e.width = a.width = f.width;
e.height = a.height = f.height;
var g = a.backgroundColor;
d = a.width;
f = a.height;
a = Oa(a);
a.backgroundColor = "none";
a = hq(a);
c = vg(c.renderer, "pattern", a);
b = b(g);
c.val = a;
a = b.isDef ? b.attr.id : b.attr("id");
b = {
hash: "#complexPattern:" + c.attr.id + ", " + a + ", " + d + ", " + f,
x: 0,
y: 0,
width: "100%",
height: "100%",
childNodes: [
{ tag: "rect", attr: { x: 0, y: 0, width: d, height: f, fill: b } },
{ tag: "rect", attr: { x: 0, y: 0, width: "100%", height: "100%", fill: c } },
],
};
} else b = hq(a);
e.hash = b.hash;
b.meta = e;
return b;
}
function jq(a, c) {
var b = a.items,
d = og(a, a.hasCurves),
e = Mb(a),
f = se(a);
e = Math.max(e[2], e[3]);
Hc(a);
a = [d, mg([Uc(d[0], d[1], c, e)])[0]];
e = 1;
for (var g = b.length; e < g; e++) {
var h = b[e],
k = P(h),
l = b[e - 1];
if (!ab(k, h[1])) {
var m = Ia(d, h[1]);
k = Bp(h, a[0], a[1]);
for (var n = 0; n < k.length; n++) {
var p = k[n];
if ((p.onLine2 && p.onLine1) || m === c) {
var q = m === c && p.isNaN ? 0 : cc(h[1], [p.x, p.y]);
q = 0 === q ? l.position : q == h.lengthValue ? h.position : q / f + l.position;
break;
}
}
if (t(q)) break;
}
}
c = Ic(b);
if (!t(q)) return c.toString();
q %= 1;
return Ed(c, q, 1 + q);
}
function mx(a, c, b) {
b = Rh(a, c, b);
1 < b.length && 0 === na(b[0].percOfShape + 1 - b[b.length - 1].percOfShape, 2) && b.pop();
if (1 < b.length) (c = b[0].percOfShape), (b = P(b).percOfShape);
else if (1 === b.length) {
c = b[0].percOfShape;
if (1 !== P(a.items)[0]) {
var d = Ic(a.items);
return [Ed(d, 0, c), Ed(d, c, 1)];
}
c = 0.5 < c ? 1 - c : c;
b = (c + 0.5) % 1;
} else {
c = 0;
b = 0.5;
var e = 3 !== P(P(a.items))[0];
}
d = Ic(a.items);
a = function (b, a) {
b = Ed(d, b, a);
e || (b = -1 === b.indexOf("Z") ? b + "Z" : b);
return b;
};
return [a(c, b), a(b, 1 + c)];
}
function jd(a, c, b) {
for (var d = 0, e = c.length; d < e; d++) {
var f = a,
g = c[d],
h = f.items,
k = se(f),
l = Hc(f),
m = 0;
if (!(0 === g || 1 === g || -1 < l.indexOf(g))) {
var n = !1;
l = 1;
for (var p = h.length; l < p; l++) {
var q = h[l],
r = h[l - 1],
u = m + q.lengthValue / k;
if (n) (q[1] = P(r)), (q.lengthValue = void 0), (q.position = void 0);
else {
if (m < g && g < u) {
n = Y(0, 1, m, u, g);
var x = q[0];
m = 1 === x;
3 === x || (m && 3 === r[0])
? ((n = Xj(m ? [q[1], q[1], q[2], q[2]] : [q[1], q[2], q[3], q[4]], n)), n.slice(0, 4), n.slice(4), (r = [3, q[1], n[1], n[2], n[3]]), (q = m ? [1, r[4], q[2]] : [3, r[4], n[4], n[5], n[6]]))
: ((r = [2, q[1], lf(q, n)]), (q = m ? [1, r[2], q[2]] : [2, r[2], lf(q, 1)]));
h.splice(l, 1, r, q);
l++;
p++;
n = !0;
}
m = u;
}
}
f.lengthValue = void 0;
f.positions = void 0;
}
if (b && a.items.length === b) break;
}
}
function kq(a) {
for (var c = [], b = a.items.length - 1; 0 <= b; b--) {
var d = a.items[b];
(0 !== b && 1 !== d[0] && ab(d[1], P(d))) || c.unshift(d);
}
return { items: c };
}
function lq(a, c) {
var b = Op(a),
d = Op(c);
a.items.length !== c.items.length && b !== d && ((b = b ? c : a), b.items.push([1, P(P(b.items)), b.items[0][2]]));
if (a.items.length !== c.items.length && ((a = kq(a)), (c = kq(c)), a.items.length !== c.items.length)) {
if (a.items.length < c.items.length) {
c = G([c, a], 2);
a = c[0];
c = c[1];
var e = !0;
}
d = Hc(a);
var f = Hc(c);
b = me(d, f);
d = me(f, d);
jd(c, b, a.items.length + d.length);
a.items.length !== c.items.length && jd(a, d, c.items.length);
}
return { from: e ? c : a, to: e ? a : c };
}
function ai(a) {
if (a.hasCurves && !a.hasLines) return a;
a = a.items();
for (var c = 0, b = a.length; c < b; c++) {
var d = a[c],
e = d[0];
if (2 === e || 1 === e) a[c] = [3, d[1], d[1], d[2], d[2]];
1 === e && (a.splice(c + 1, 0, [1, d[2], d[2]]), b++, c++);
}
return Ic(a);
}
function nx(a, c) {
var b,
d,
e = a.length(),
f = c.length();
if (!e || !f) return null;
if (a.hasCurves || c.hasCurves) {
var g = !a.hasCurves || a.hasLines,
h = !c.hasCurves || c.hasLines;
a = ai(a);
c = ai(c);
}
f = a.shapes.length;
var k = c.shapes.length;
if (f === k) return 1 === f ? (a.isClosed || c.isClosed ? mq(a.shapes[0], c.shapes[0], g, h) : ((a = { items: a.items() }), (c = { items: c.items() }), lq(a, c))) : nq(a, c);
var l;
f < k && (l = !0);
g = f > k ? c : a;
h = Math.abs(f - k);
e = 0;
for (f = f > k ? a : c; 0 < h--; ) {
var m = f;
k = g.bbox();
var n = m.shapes[0],
p = m.shapes[1],
q = [ng(n), ng(p)],
r = Ia(q[0], q[1]),
u = Ea([Mb(n), Mb(p)]);
u = Math.max(u[2], u[3]);
p = oq(p.items, q[0], r);
var x = oq(n.items, q[1], r);
x = Te(q[0], q[1], x, Uc(x[0], x[1], r + 90, 10));
q = Te(q[0], q[1], p, Uc(p[0], p[1], r + 90, 10));
null === x.x && null === x.y && null === q.x && null === q.y ? (n = n.center) : ((n = mg([x, q])), (n = $k(n[0], n[1], 0.5)));
r = [Uc(n[0], n[1], r - 90, 2 * u), Uc(n[0], n[1], r + 90, 2 * u)];
r = mg(r);
u = m.bbox();
m = Qh(k, u, r[0]);
k = Qh(k, u, r[1]);
k = ab(m, k) ? r : [m, k];
m = g.shapes.splice(2 * e, 1)[0];
k = mx(m, k[0], k[1]);
l
? ((a = Aa(k.join(""))), (b = g.shapes).splice.apply(b, H([2 * e, 0], a.shapes)), (a.shapes = g.shapes), (g = a))
: ((c = Aa(k.join(""))), (d = g.shapes).splice.apply(d, H([2 * e, 0], c.shapes)), (c.shapes = g.shapes), (g = c));
e = 2 * (e + 1) > g.shapes.length - 1 ? 0 : e + 1;
}
return nq(a, c);
}
function nq(a, c) {
var b = [0, 0, 1, 1],
d = el(a.shapes[0], b, a.bbox()),
e = cc(d, el(c.shapes[0], b, c.bbox()));
b = cc(d, el(c.shapes[c.shapes.length - 1], b, c.bbox()));
c = c.shapes.slice(0);
e > b && (c = c.reverse());
e = [];
b = [];
d = 0;
for (var f = c.length; d < f; d++) {
var g = mq(a.shapes[d], c[d], !1, !1);
e = e.concat(g.from.items);
b = b.concat(g.to.items);
}
return { from: { items: e }, to: { items: b } };
}
function mq(a, c, b, d) {
if (Dp(a) !== Dp(c)) {
var e = [],
f = { hasCurves: a.hasCurves, hasLines: a.hasLines, isClosed: a.isClosed, items: e },
g = P(a.items),
h = 1 === g[0],
k = h ? g[1] : P(g),
l = a.items.length - (h ? 2 : 1);
e.push([0, k, k]);
for (k = l; 0 < k; k--)
switch (((l = a.items[k]), l[0])) {
case 2:
e.push([l[0], l[2], l[1]]);
break;
case 3:
e.push([3, l[4], l[3], l[2], l[1]]);
}
h && e.push([1, g[2], g[1]]);
a = f;
}
var m;
e = na(Ep(a, a.hasCurves));
f = na(Ep(c, c.hasCurves));
f !== e && (a.items.length === c.items.length && 45 > Math.abs(e - f) && (m = !0), m || (b && !d ? (a = Aa(jq(a, f)).shapes[0]) : ((b = Aa(jq(c, e))), (c = 1 == b.shapes.length ? b.shapes[0] : c))));
b = lq(a, c);
c = b.from;
b = b.to;
c.items.length !== b.items.length && c.items.length !== b.items.length && ((m = Hc(c)), (a = Hc(b)), (d = me(m, a)), (m = me(a, m)), m.length < d.length ? jd(b, d, c.items.length) : jd(c, m, b.items.length));
if (c.items.length !== b.items.length) {
if (c.items.length > b.items.length) {
c.items.splice(Math.floor(c.items.length / 2), 1);
var n = c,
p = b.items.length;
} else c.items.length < b.items.length && (b.items.splice(Math.floor(b.items.length / 2), 1), (n = b), (p = c.items.length));
for (; n.items.length > p; ) n.items.splice(Math.floor(n.items.length / 2), 1);
}
return { from: c, to: b };
}
function oq(a, c, b) {
for (var d, e = Number.MAX_VALUE, f = 0, g = a.length; f < g; f++) {
var h = P(a[f]),
k = Uc(h[0], h[1], b + 90, 10);
k = Wn(h, k, c);
k < e && ((d = h), (e = k));
}
return d;
}
function pq(a, c, b) {
var d = b.count - b.del,
e = "step" === b.type ? 2 : 1,
f = G(a.items.length < c.items.length ? [a, c] : [c, a], 2),
g = f[0],
h = f[1];
Hc(g);
se(g);
f = function (b, a) {
--a;
a = (-1 < a ? a : 0) * e;
return [a, b.length - 2 - a];
};
var k = f(g.items, b.at),
l = [],
m = function (b, a, c) {
void 0 === c && (c = -1);
var d = 1e-4 * c;
ob(a, function (a) {
l.push(b + (a + 1) * d);
});
};
a.items.length !== c.items.length
? 0 > d
? pq(c, a, { action: "splice", at: b.at, count: -d, del: 0, type: b.type, shapeName: b.shapeName })
: ("area" == b.shapeName ? (m(g.items[k[0]].position, e, -1), m(g.items[k[1]].position, e, 1)) : m(g.items[k[0]].position, e, -1), jd(g, l), (l = []))
: b.shift &&
("area" === b.shapeName
? (Hc(h), (d = c.items), (g = f(d, 1)), m(d[g[0]].position, e, 1), m(d[g[1]].position, e, -1), jd(c, l), (l = []), (d = a.items), (g = f(d, b.pointsLen)), m(d[g[0]].position, e, 1), m(d[g[1]].position, e, -1), jd(a, l))
: (m(1, e, -1), jd(a, l), (l = []), m(0, e, 1), jd(c, l)),
(l = []));
return { from: a, to: c };
}
function ox(a, c, b) {
void 0 === b && (b = {});
var d = {};
if (a && c && b.simple) return (d.final = c), (d.from = a.items(!0)), (d.to = c.items(!0)), qq(d);
d.final = Ic(c.items());
if (a.hasErrors) return rq(d);
if (c.hasErrors) return (d.final = a), rq(d);
var e;
if ((e = b.slice) && e.from && e.to) (d.slice = e), (d.stepFn = px(d));
else if ((e = b.needle) && e.from && e.to) (d.needle = e), (d.stepFn = qx(d));
else if (!b.simple)
if (b.action) {
var f = a;
e = c;
if (f.hasCurves || e.hasCurves) (f = ai(f)), (e = ai(e));
f = f.items();
e = e.items();
f = b.at > Math.min(f.length, e.length) - 1 ? null : pq({ items: f }, { items: e }, b);
} else f = sq(d, a, c);
d.from = f ? f.from.items : a.items();
d.to = f ? f.to.items : c.items();
return d.stepFn || qq(d);
}
function rq(a) {
return function () {
return a.final.toString();
};
}
function qq(a) {
return function (c) {
if (1 === c) return a.final.toString();
for (var b = a.invertStep ? rx : sx, d = "", e, f, g, h = 0; h < a.from.length; h++) {
var k = a.from[h],
l = (f = a.to[h] || f),
m = k[0];
d += e !== m ? re[m] : " ";
e = m;
if (1 !== e) for (m = 2; m < k.length; m++) (g = l[m] || g), (d += (2 < m ? " " : "") + (b(k[m][0], g[0], c) + " " + b(k[m][1], g[1], c)));
}
return d;
};
}
function tq(a) {
return function (c) {
if (1 === c) return a.final.toString();
a.invertStep && (c = 1 - c);
return Ed(a.final, 0, c);
};
}
function px(a) {
return function (c) {
if (1 === c) return a.final.toString();
var b = a.slice.from,
d = a.slice.to;
c = { cxy: uq(b.cxy, d.cxy, c), start: kd(b.start, d.start, c), end: kd(b.end, d.end, c), open: d.open, r: kd(b.r, d.r, c), innerR: kd(b.innerR, d.innerR, c), caps: d.caps };
b = c.cxy;
return xa(ll(b[0], b[1], c.r, c.r, c));
};
}
function qx(a) {
return function (c) {
if (1 === c) return a.final.toString();
var b = a.needle.from,
d = a.needle.to;
c = { arc: { cxy: uq(b.arc.cxy, d.arc.cxy, c), angle: kd(b.arc.angle, d.arc.angle, c) }, xyz: [0, 0, kd(b.xyz[2], d.xyz[2], c)], xyzs: [0, 0, kd(b.xyzs[2], d.xyzs[2], c)] };
return xa(a.needle.gen(c));
};
}
function sq(a, c, b) {
if (!c || 0 === c.shapes.length) {
c = { items: b.items() };
var d = og(c, b.hasCurves);
c = b.items();
var e = [],
f = G(d, 2);
d = f[0];
f = f[1];
for (var g = 0; g < c.length; g++) {
for (var h = c[g].slice(0), k = 1; k < h.length; k++) h[k] = [d, f];
e.push(h);
}
c = Ic(e);
return (a = sq(a, c, b)) ? a : { from: { items: c.items() }, to: { items: b.items() } };
}
if (vq(c, b)) a.stepFn = tq(a);
else if (vq(b, c)) (a.stepFn = tq(a)), (a.invertStep = !0);
else return nx(c, b);
}
function vq(a, c) {
return 1 === a.shapes.length && 1 === a.shapes[0].items.length && (1 < c.shapes.length || 1 < c.shapes[0].items.length);
}
function tx(a) {
if ("linear" === a) return null;
var c = ux.exec(a);
return c
? $f.apply(this, c.slice(1).map(Number))
: (c = vx.exec(a))
? bi(Number(c[1]), { start: 1, middle: 0.5, end: 0 }[c[2]])
: (a = { ease: $f(0.25, 0.1, 0.25, 1), "ease-in": $f(0.42, 0, 1, 1), "ease-out": $f(0, 0, 0.58, 1), "ease-in-out": $f(0.42, 0, 0.58, 1), "step-start": bi(1, 1), "step-middle": bi(1, 0.5), "step-end": bi(1, 0) }[a])
? a
: null;
}
function wq(a) {
var c = a ? W(xq, nb(a) ? { duration: a } : a) : xq;
"linear" !== c.easing && (c.easingFunction = tx(c.easing) || yq);
c.activeDuration = Math.abs((0 === c.duration || 0 === c.iterations ? 0 : c.duration * c.iterations) / c.playbackRate);
c.totalDuration = c.delay + c.activeDuration + c.endDelay;
a = function (b) {
if (null == b) var a = 0;
else (a = c.delay + c.activeDuration + c.endDelay), (a = b < Math.min(c.delay, a) ? 1 : b >= Math.min(c.delay + c.activeDuration, a) ? 2 : 3);
a: {
switch (a) {
case 1:
if ("backwards" === c.fill || "both" === c.fill) {
b = 0;
break a;
}
break;
case 3:
b -= c.delay;
break a;
case 2:
if ("forwards" === c.fill || "both" === c.fill) {
b = c.activeDuration;
break a;
}
}
b = null;
}
if (null === b) a = null;
else {
var e = c.iterationStart;
0 === c.duration ? 1 !== a && (e += c.iterations) : (e += b / c.duration);
var f = Infinity === e ? c.iterationStart % 1 : e % 1;
0 !== f || 2 !== a || 0 === c.iterations || (0 === b && 0 !== c.duration) || (f = 1);
b = f;
e = 2 === a && Infinity === c.iterations ? Infinity : 1 === b ? Math.floor(e) - 1 : Math.floor(e);
a = c.direction;
"normal" !== a && "reverse" !== a && ("alternate-reverse" === a && (e += 1), (a = "normal"), Infinity !== e && 0 !== e % 2 && (a = "reverse"));
a = c.easingFunction("normal" === a ? b : 1 - b);
}
return a;
};
a.options = c;
return a;
}
function rl(a) {
return ja(a)
? B(a, function (a) {
return rl(a);
})
: parseFloat(zq(a, "px", ""));
}
function wx(a, c, b) {
var d = wq({ duration: 100, easing: b });
return function (b) {
b = d(b);
return { current: of(a, c, b), timeFraction: b };
};
}
function sl(a, c) {
if (c.linearGradient) var b = "linearGradient";
else if (c.radialGradient) b = "radialGradient";
else return;
var d = Aq[b],
e = d.argsToAttrs(c),
f = e.attrs;
e = e.stops;
var g = [];
f.hash || g.push(d.toString(f));
e = B(e, function (b) {
if (ja(b)) {
b = G(b, 3);
var a = b[0],
c = b[1];
b = b[2];
} else (a = b.offset), (c = b.color), (b = b.opacity);
a = { offset: Q(a) ? "0%" : a, color: Q(c) ? "black" : c, opacity: Q(b) ? "1" : b };
f.hash || g.push(Aq.stopToString(a));
return a;
});
d = f.hash || d.keyPrefix + "(" + pc(g, ", ") + ")";
a = fq(a, b, f, d, c);
a.attr.childNodes = B(e, function (b) {
var a = { offset: b.offset, "stop-color": b.color };
b = b.opacity;
0 <= b && 1 > b && (a["stop-opacity"] = b);
return { tag: "stop", attr: a };
});
a.updateAttr = xx;
return a;
}
function xx(a, c, b) {
var d = a.el,
e = b.renderer;
if (a.isDestroyed || (d && d.isDestroyed)) a = sl(e, a.val);
else if (d) return a;
if ((c = b.data.vals[c]) && c.attr && a.tag === c.tag && ((b = c.el), (d = e._s0[c.attr.id] || 0), b && 1 === d)) {
d = a.attr;
var f = b.data.attrs.id;
if (f === d.id) return (a.el = b), a;
c.isDestroyed = !0;
pl(e, d.id);
pl(e, f);
c = a;
var g = a.hash;
e._s1[f] = c;
g && ((c = e._s3), (e._s2[g] = f), (c[f] = g));
d.id = f;
yx(b, d);
a.el = b;
return a;
}
a.el = e.element(a).add(eq(e));
return a;
}
function yx(a, c) {
var b = c.childNodes,
d = a.childNodes;
a.attr(Ga(c, ["childNodes"]));
Ub(
b,
d,
function (b) {
return a.renderer.element(b).add(a);
},
function (b, a) {
return a.attr(b.attr);
},
function (b) {
return b.destroy();
}
);
}
function Ab(a, c) {
w(a, function (b) {
return (xg[b] = c);
});
}
function zx(a, c, b, d, e) {
if (J(ci, a)) {
if (!d) return ci[a];
d[ci[a]] = b;
}
}
function Ax(a, c, b, d, e) {
if (!d) return "attr";
L(d, b);
}
function Bx(a, c, b, d, e) {
if (!d) return "d";
a = b && c && Pa(b) && !0 !== b.isElement ? (ja(b) ? pc(b, " ") : b) : b;
d.d = a;
}
function Cx(a, c, b, d, e) {
"overflow" === a && d && c && b && ((a = c.data.vals["clip-path"]), "visible" === b ? a && (d["clip-path"] = null) : "hidden" === b && (a || (a = vg(c.renderer, "clipRect")), (d["clip-path"] = a)));
}
function Bq(a, c, b, d, e) {
"clipPath" === a &&
d &&
c &&
!J(d, "clip-path") &&
((a = c.data.vals["clip-path"]),
b ? ((b = Pe(e, O(b) || b.isPath ? { d: b } : b, Dx)), a ? (a.attr = L(a.attr, b)) : (a = vg(c.renderer, "clipPath", b)), (d["clip-path"] = a), c.shadowEl && Ex(c.shadowEl, b)) : a && (d["clip-path"] = null));
}
function tl(a, c) {
var b = a.shadowTranslate,
d = b[0],
e = b[1];
b = Aa(c).translate(function (b) {
return [b[0] + d, b[1] + e];
});
a.attr({ d: c + b });
if ((a = a.data.vals["clip-path"])) (a.attr = L(a.attr, { d: b })), a.updateAttr(a);
}
function Ex(a, c) {
var b = c.d;
a.childNodes.length
? w(a.childNodes, function (a) {
return tl(a, b);
})
: tl(a, b);
}
function Fx(a, c, b, d, e) {
if ("shadow" === a && d && c) {
e && J(e, "clipPath") && !J(d, "clip-path") && Bq("clipPath", c, e.clipPath, d, e);
var f = c.shadowEl;
!b && f
? Cq(c)
: b &&
(!0 === b && (b = Oa({ mode: "interpolation", x: 5, y: 5, color: "rgba(0,0,0,.075)", toColor: "rgba(0,0,0,.025)", interpolationSteps: 2, interpolationFunc: "linear" })),
(b.mode = b.mode || "simple"),
(a =
b.mode +
" " +
(b.x || 0) +
" " +
(b.y || 0) +
" " +
(b.blur || 0) +
" " +
(b.color || "black") +
" " +
(b.toColor || "white") +
" " +
(b.interpolationSteps || 0) +
" " +
(b.interpolationFunc || "linear") +
" " +
(b.inset ? "inset" : "")),
(f && f.data.shadowConfig.val === a) ||
((f && f.data.shadowConfig.mode === b.mode) ||
(f && Cq(c),
(c.shadowEl = f = Gx(b, c, d)),
c.isPatched && c.renderer.addBefore(f, c),
c.refNodes.push(f),
(f.ownerAttrsChanged = function (b) {
return Hx(f, b, c);
}),
(f.alignBeforeOwner = !0)),
(f.data.shadowConfig = W(b, { val: a })),
Ix(b, f, c, d)));
}
}
function Hx(a, c, b) {
if (!b.data.vals["clip-path"]) {
var d = be({}, Hb(c, Dq), { fill: void 0, stroke: void 0 });
a.childNodes.length
? w(a.childNodes, function (b) {
return b.attr(d);
})
: a.attr(d);
}
}
function Gx(a, c, b) {
return "interpolation" === a.mode ? c.renderer.element("g") : Eq(c, b["clip-path"]);
}
function Eq(a, c) {
if ((c = c || a.data.vals["clip-path"])) return (c = c.attr.d), a.renderer.element("path", { d: c, "fill-rule": "evenodd", clipPath: c, stroke: "none" });
c = W(Hb(a.data.attrs, Dq), { fill: "none", stroke: "none" });
return a.renderer.element(a.nodeName, c);
}
function Ix(a, c, b, d) {
if ("radial" === a.mode && a.blur)
c.renderer.attr(c, {
translate: [a.x, a.y],
fill: {
radialGradient: {},
stops: [
["0%", a.color],
[100 - a.blur + "%", a.color],
["100%", a.toColor || "white"],
],
},
});
else if ("interpolation" === a.mode) {
var e = a.interpolationSteps || 1,
f = a.interpolationFunc || "linear",
g = le(a.color || "black", a.toColor || "white");
f = wx([0, 0], [a.x, a.y], f);
var h = 100 / e,
k = !1;
c.childNodes.length !== e &&
(c.childNodes.length &&
w(yg(c.childNodes), function (b) {
return b.destroy();
}),
(k = !0));
for (var l = (d = b.data.vals["clip-path"] || d["clip-path"]) ? d.attr.d : null, m = 0; m < e; m++) {
var n = k ? Eq(b, d).add(c) : c.childNodes[m],
p = 0 === m ? { timeFraction: 1, current: [a.x, a.y] } : f(h * (e - m)),
q = p.current;
p = g(p.timeFraction);
l ? ((n.shadowTranslate = q), n.attr({ fill: p }), tl(n, l)) : n.attr({ translate: q, fill: p });
}
} else c.renderer.attr(c, { translate: [a.x, a.y], fill: a.color });
}
function Cq(a) {
var c = a.shadowEl,
b = a.refNodes;
if (b.length) {
var d = b.indexOf(c);
-1 < d && b.splice(d, 1);
}
c.destroy();
delete a.shadowEl;
}
function Jx(a, c, b, d, e) {
if (J(ul, a)) {
a = ul[a];
c && c.isHtml && (a = Kx[a]);
if (!d) return a;
J(d, a) || (d[a] = di(a, b, e, c));
}
}
function di(a, c, b, d) {
if (!c || !d || (!O(c) && !Pa(c)) || c.isElement) return c;
a: if (b && "fill" === a && !c.pattern && !N(c, ["meta", "pattern"]) && !N(c, ["val", "meta", "pattern"])) {
a = d.data;
if (!yc(["hatch", "hatchPattern"], b)) {
if (!J(a, "hatch")) break a;
b.hatchPattern = a.hatchPattern;
b.hatch = a.hatch;
}
var e = b.hatch || "black";
a.hatchPattern = "" + (b.hatchPattern || "horizontal");
a.hatch = e;
c = "none" === b.hatchPattern || "none" === b.hatch ? c : { pattern: "" + (b.hatchPattern || "horizontal"), color: b.hatch || "black", backgroundColor: b.fill };
}
return O(c) ? Lx(c, d) : Pa(c) ? ((b = c.linearGradient || c.radialGradient ? sl(d.renderer, c) : c.pattern ? Mx(c, d, b) : c), b) : c;
}
function Fq(a, c) {
a = vg(a.renderer, "pattern", c);
a.val = c;
return a;
}
function Mx(a, c, b) {
return (b = lx(
a,
c,
function (b) {
return di("fill", b, null, c);
},
b
))
? Fq(c, b)
: a;
}
function Nx(a, c) {
var b = c.renderer;
a = Gd(a, "'\"");
return Fq(c, { hash: "#image:" + a, width: "100%", height: "100%", patternContentUnits: "objectBoundingBox", childNodes: [b.image({ src: a, width: 1, height: 1, preserveAspectRatio: "none" })] });
}
function Lx(a, c) {
var b = /(.*)\((.*)\)/g.exec(a);
if (!b) return a;
var d = G(b, 3);
b = d[1];
d = d[2];
if (!b || !d) return a;
var e = Re(d, ", "),
f = function () {
return B(yg(e, 1), function (b) {
return Gq(Re(b, " "));
});
};
d = function (b) {
var a = f();
a[b] = Re(e[0], " ");
return sl(c.renderer, a);
};
return "linear-gradient" === b ? d("linearGradient") : "radial-gradient" === b ? d("radialGradient") : "url" === b && "#" !== e[0].charAt(0) ? Nx(e[0], c) : a;
}
function Ox(a, c, b, d, e) {
a = c && c.isHtml ? "border-width" : "stroke-width";
if (!d) return a;
J(d, a) || (d[a] = di(a, b, e, c));
}
function Px(a, c, b, d, e) {
if (!d || !c) return a;
if ("text" !== c.nodeName && "tspan" !== c.nodeName) d[a] = di("stroke", b, e, c);
else {
var f = c.strokeEl;
!b && f
? Hq(c)
: b &&
!1 !== b.visible &&
((a = O(b) ? { stroke: b } : b),
(b = JSON.stringify(a)),
(f && f.data.strokeHash === b) ||
(f && Hq(c),
(c.strokeEl = f = c.renderer.element(c.nodeName, c.data.vals)),
c.isPatched &&
(c.renderer.addBefore(f, c),
(f.el.style.stroke = Qx(a.stroke, c)),
(f.el.style.strokeWidth = a["stroke-width"] || e.strokeWidth),
(f.el.style.strokeDasharray = a["stroke-dasharray"]),
(f.el.style.strokeOpacity = a["stroke-opacity"]),
(f.el.style.strokeLinejoin = "round"),
(f.el.innerHTML = c.el.innerHTML)),
c.refNodes.push(f),
(f.ownerAttrsChanged = function (b) {
f.el.innerHTML = c.el.innerHTML;
}),
(f.alignBeforeOwner = !0),
(f.data.strokeHash = b)));
}
}
function Hq(a) {
var c = a.strokeEl;
c.destroy();
delete c.ownerAttrsChanged;
delete a.strokeEl;
}
function Qx(a, c) {
return Ek(a) ? gg(N(c, ["parentNode", "data", "attrs", "fill"]) || "black", a) : a;
}
function Rx(a, c, b, d, e) {
if (J(ei, a)) {
if (!d) return ei[a];
if (e && !J(d, "transform"))
if (O(e.transform) || null === e.transform) d.transform = e.transform;
else {
var f;
c && (a = c.attr("transform")) && J(a, "val") && (f = a);
f = f || {};
e.transform && L(f, e.transform);
Da(ec, function (b) {
J(e, b) && (f[b] = e[b]);
});
var g = [];
Da(ec, function (b) {
if (J(f, b) && null !== f[b]) {
var a = ec[b][1](f[b]);
null != a && g.push(b + "(" + pc(a, ",") + ")");
f[b] = a;
}
});
if ((a = g.length ? pc(g, " ") : null)) f.val = a;
d.transform = a ? f : null;
}
}
}
function Sx(a, c, b, d, e) {
if (J(fi, a)) {
if (!d) return fi[a];
a = fi[a];
b && c && (c.data.zIndex = b);
d[a] = b;
}
}
function Tx(a, c, b, d, e) {
if (!d) return "easing";
a = b && O(b) ? (J(Iq, b) ? Iq[b] : b) : b;
d.easing = a;
}
function Ux(a, c, b, d, e) {
if ("mask" === a) {
if (!d) return a;
c && !J(d, "mask") && (b ? ((a = c.data.vals.mask), (b = Pe(e, O(b) ? { d: b } : b, Vx)), a ? (a.attr = L(a.attr, b)) : (a = vg(c.renderer, "mask", b)), (d.mask = a)) : (d.mask = null));
}
}
function Wx(a, c, b, d, e) {
if (!d) return "text";
d.text = c.isHtml ? b : b.replace(Xx, " ");
}
function Ob(a) {
return function (c) {
vl[a] = c;
};
}
function Jq(a) {
if (a.type && 0 === a.type.indexOf("touch")) return !0;
a = a || window.event;
return "buttons" in a && 1 === a.buttons ? !0 : 1 === (a.which || a.button);
}
function pf(a, c) {
function b() {
return (d = c.getBoundingClientRect());
}
if (void 0 === a.eventData.clientX || void 0 === a.eventData.clientY) (a.eventData.clientX = a.clientX), (a.eventData.clientY = a.clientY);
var d = null,
e = null;
a.eventData.coordinates = {
getPageXY: function () {
var f = a.eventData.pageX,
g = a.eventData.pageY;
if (void 0 === f || void 0 === g) d || (d = b()), e || (e = c.getBBox ? c.getBBox() : null), (f = a.eventData.clientX - d.left + (e ? e.x : 0)), (g = a.eventData.clientY - d.top + (e ? e.y : 0));
return { x: f, y: g };
},
getOuterBox: b,
};
}
function gi(a, c) {
return c ? c.querySelector(a) : ba.querySelector(a);
}
function Kq(a, c, b) {
wl(a, c, { reorder: b });
a.el.appendChild(c.el);
c.refNodes.length &&
w(c.refNodes, function (b) {
return b.alignBeforeOwner && zg(b, c);
});
}
function zg(a, c, b) {
var d = c.parentNode;
wl(d, a, { index: d.childNodes.indexOf(c), reorder: b });
c.el.parentNode.insertBefore(a.el, c.el);
a.refNodes.length &&
w(a.refNodes, function (b) {
return b.alignBeforeOwner && zg(b, a);
});
}
function Lq(a, c, b) {
var d = c.parentNode,
e = d.childNodes,
f = e.indexOf(c) + 1;
wl(d, a, { index: f === e.length ? null : f, reorder: b });
c.el.parentNode.insertBefore(a.el, c.el.nextSibling);
a.refNodes.length &&
w(a.refNodes, function (b) {
return b.alignBeforeOwner && zg(b, a);
});
}
function Yx(a) {
Zx(a.el);
Mq(a);
a.childNodes = [];
a.refNodes.length &&
(w(a.refNodes, function (a) {
return a.destroy();
}),
(a.refNodes = []));
delete a.el;
}
function wl(a, c, b) {
b = b || { reorder: !1, index: null };
var d = b.reorder;
b = b.index;
c && (a !== c.parentNode || d) && ((d = Mq(c)), -1 < d && d < b && b--, a && ((d = a.childNodes), 0 === b ? d.unshift(c) : b ? d.splice(b, 0, c) : d.push(c), (c.parentNode = a)));
}
function Mq(a) {
if (!a.parentNode) return -1;
var c = a.parentNode.zIndexHash,
b = a.data.zIndex || 0;
c[b] && delete c[b];
c = a.parentNode.childNodes;
b = c.indexOf(a);
if (0 > b) return -1;
c.splice(b, 1);
a.parentNode = null;
return b;
}
function Ag(a, c, b) {
if (!a || a instanceof tb) return a;
b = new tb(a, c, b);
var d = b.data.attrs,
e,
f = {};
if (a.hasAttributes()) {
var g = a.attributes;
try {
for (var h = ya(g), k = h.next(); !k.done; k = h.next()) {
var l = k.value;
f[l.name] = l.value;
}
} catch (x) {
var m = { error: x };
} finally {
try {
k && !k.done && (e = h.return) && e.call(h);
} finally {
if (m) throw m.error;
}
}
}
L(d, f);
a.parentNode && (b.parentNode = new tb(a.parentNode, c, void 0));
var n;
a = [];
c = b.el.childNodes;
try {
for (var p = ya(c), q = p.next(); !q.done; q = p.next()) {
var r = q.value;
1 === r.nodeType && a.push(Ag(r, b.renderer));
}
} catch (x) {
var u = { error: x };
} finally {
try {
q && !q.done && (n = p.return) && n.call(p);
} finally {
if (u) throw u.error;
}
}
b.childNodes = a;
return b;
}
function $x(a, c, b) {
c.omit && ((c = Ga(c, c.omit)), delete c.omit);
for (var d in c) {
var e = c[d],
f = e;
if (e && e.isDef) e.updateAttr && (e = e.updateAttr(e, d, a)), (f = "url(#" + e.attr.id + ")");
else if (e instanceof tb) e.el ? ((f = e.el.id), lc(f) && ((f = Dd()), xl(e, "id", f)), (f = "url(#" + f + ")")) : (f = Nq(a, d));
else if ("transform" === d)
if (e) {
if (O(e)) throw Error("String transform is not support. val:" + e);
a.data.transform = e;
f = e.val;
} else a.data.transform = e;
f = lc(f) ? f : oh(f);
a.data.vals[d] = e;
xl(a, d, f, b);
}
a.refNodes.length &&
w(a.refNodes, function (b) {
return b.ownerAttrsChanged && b.ownerAttrsChanged(c);
});
}
function ay(a, c) {
if (t(c)) {
if (c) {
var b = G(ja(c) ? c : [c.x, c.y, c.width, c.height], 4);
b = qf(b[0], b[1], b[2], b[3]);
return (a.data.box = b);
}
delete a.data.box;
}
if (a.data.box) return a.data.box;
a = a.el;
if (!a) return qf();
c = a.nodeName.toLowerCase();
if ("svg" === c || "div" === c) return a.parentNode ? ((a = a.getBoundingClientRect()), qf(0, 0, a.width, a.height)) : qf(0, 0, 0, 0);
try {
return (b = a.getBBox()), qf(b.x, b.y, b.width, b.height);
} catch (d) {
return qf();
}
}
function qf(a, c, b, d) {
void 0 === a && (a = 0);
void 0 === c && (c = 0);
void 0 === b && (b = 0);
void 0 === d && (d = 0);
return { x: a, y: c, width: b, height: d };
}
function Oq(a, c, b) {
var d,
e = a.childNodes,
f = parseFloat(c.attr("z-index"));
b > a.zIndexMax
? (a.zIndexMax = b)
: ((d = a.zIndexHash[b])
? Lq(c, d, !0)
: (d = S(e, function (a) {
return (a.data.zIndex || 0) > b;
})) && zg(c, d, !0),
d && (a.zIndexMax = e[e.length - 1].data.zIndex));
f !== b && a.zIndexHash[f] === c && delete a.zIndexHash[f];
a.zIndexHash[b] = c;
d || Kq(a, c, !0);
}
function xl(a, c, b, d) {
var e = a.el,
f = a.data.attrs,
g = f[c];
Pq[c] === b && (b = null);
if (g != b) {
if ("z-index" === c) (e = parseFloat(b)), a.parentNode && Oq(a.parentNode, a, e);
else if ("text" === c) e.textContent = b;
else if ("value" === c) e.value = b;
else if ("innerHTML" === c) e.innerHTML = b;
else if (hi(e.tagName) && "type" === c) e.type = b;
else if (hi(e.tagName) && "accept" === c) e.accept = b;
else if (((a = b), null == a)) yl(e, c) ? e.style && (e.style[c] = "") : e.removeAttribute(c);
else if (yl(e, c)) e.style && (e.style[c] = a);
else {
var h = Qq(c);
h ? e.setAttributeNS(h, c, a) : e.setAttribute(c, a);
}
f[c] = b;
d && d(c, g, b);
}
}
function Rq(a, c) {
var b = L({}, a.data.attrs),
d = "path" === a.nodeName,
e = function (b, d) {
(c && J(c, b)) || xl(a, b, d);
};
Da(b, function (b) {
(!d || ("fill" !== b && "stroke" !== b)) && e(b, null);
});
d && (e("fill", "none"), e("stroke", "none"));
}
function Nq(a, c) {
var b = a.data.attrs,
d = a.el,
e = void 0;
if ("transform" === c) return L({}, a.data[c]) || null;
"path" !== a.nodeName || ("fill" !== c && "stroke" !== c) || (e = "none");
(a = b[c] || e || Pq[c]) ||
("text" === c ? (c = d.firstChild ? d.firstChild.nodeValue : "") : yl(d, c) ? ((d = d.style), (c = !d || ub(d[c]) ? null : d[c])) : (c = (a = Qq(c)) ? d.getAttributeNS(a, c) : d.getAttribute(c)), (a = c));
return a;
}
function Sq(a) {
return a && ((a.start && a.start.type) || (a.end && a.end.type));
}
function by(a) {
var c = a.caps || {};
c.lineWidth = z(c.lineWidth, a.lineWidth, a["stroke-width"]);
return { lineWidth: c.lineWidth, start: (c.start && c.start.type) || c.type ? Up(be(c, c.start || {}, Tq)) : {}, end: (c.end && c.end.type) || c.type ? Up(be(c, c.end || {}, Tq)) : {}, eachShape: c.eachShape };
}
function cy(a, c) {
var b = function (a, c) {
return 2 > c || !ab(a[c], a[c + 1]) ? c : b(a, c - 1);
},
d = function (b) {
b = b.shapes[0].items[1] || b.shapes[0].items[0];
return Ia(b[2], b[1]);
},
e = function (a) {
a = P(P(a.shapes).items);
var c = b(a, a.length - 2);
return Ia(a[c], a[c + 1]);
};
a = dy(a);
var f = a.length(),
g = function (b) {
return ii(b) ? z(b.centerWidth, 0) : 0;
},
h = function (b) {
return ii(b) ? z(b.centerWidth && b.width, 0) : 0;
},
k = h(c.start),
l = h(c.end);
h = g(c.start);
c = g(c.end);
var m = h / f,
n = c / f;
if ((g = m || n) && k + l > f) return null;
f = g ? Vw(a, h, c, { mode: "caps" }) : a;
var p = f.shapes[0].items[0][2],
q = P(P(P(f.shapes).items));
k = a.shapes[0].items[0][2];
l = P(P(P(a.shapes).items));
d = m && !ab(p, k) ? Ia(p, k) : d(f);
e = n && !ab(q, l) ? Ia(q, l) : e(f);
n = [p, q];
h && (n[0] = ra(k, d - 180, h));
c && (n[1] = ra(l, e - 180, c));
return { clipLen: [h, c], points: n, angles: [d, e], d: g ? f : a };
}
function dy(a) {
if (1 > a.shapes.length || (1 === a.shapes.length && 2 > a.shapes[0].items.length)) return a;
a: for (var c = [0, 0], b = 0; b < a.shapes.length; b++)
for (var d = a.shapes[b], e = 0 === b ? 1 : 0; e < d.items.length; e++) {
var f = d.items[e];
c = [b, e];
if (!ab(f[1], P(f))) break a;
}
b = a.shapes.length - 1;
a: for (; 0 <= b; b--)
for (d = a.shapes[b], e = d.items.length - 1; 0 <= e; e--) {
var g = [b, e];
f = d.items[e];
if (!ab(f[1], P(f))) break a;
}
b = [a.shapes[0].items[0]];
for (d = c[0]; d <= g[0]; d++) for (e = a.shapes[d], f = d == c[0] ? c[1] : 0; f <= (d == g[0] ? g[1] : e.items.length - 1); f++) b.push(e.items[f]);
return Ic(b);
}
function ey(a, c) {
var b,
d,
e = function (b, a) {
var c = a.cxy;
a = a.angle;
var d = b.concavity,
e = b.width,
f = b.height;
c = !0 === b.overflow ? c : ra(c, a, -e / 2);
c = mb(c, [e, f]);
d = { angle: a, concavity: d };
b = $p(b.type, c[0], c[1], c[2], c[3], d);
if (d.skipTransform) return b;
b = b.isPath ? b : Aa(b);
return b.rotate(a + 90);
},
f = a.start || {};
a = a.end || {};
ii(f) && (b = e(f, { cxy: c.points[0], angle: c.angles[0] }));
ii(a) && (d = e(a, { cxy: c.points[1], angle: c.angles[1] }));
return { start: b, end: d };
}
function ii(a) {
return a && a.type && "none" !== a.type;
}
function Uq(a) {
var c = {},
b = fy;
Da(a, function (d) {
if (J(b, d)) {
var e = b[d];
2 < e.length ? (c[e] = a[d]) : (c[e[0]] = e[1](a[d]));
} else c[d] = a[d];
});
return c;
}
function gy(a, c, b) {
a[c] = b;
}
function hy(a, c, b) {
return zl(a, c, b) && { updateGlobalCoordinates: !0 };
}
function iy(a, c, b) {
return zl(a, c, b) && { updateSharedAttrs: !0 };
}
function jy(a, c, b) {
return ji(a, c, parseFloat(b) || Infinity);
}
function ji(a, c, b) {
return zl(a, c, b) && { needRecalc: !0 };
}
function zl(a, c, b) {
if (!vc(a[c], b)) return (a[c] = b), !0;
}
function ky(a, c, b) {
b = "auto" === b || null === b || Ha(b) ? ld() : Qa(b, { isMutable: !1 });
return ji(a, ly[c], b);
}
function my(a, c, b) {
b = rf(b, a.width ? a.width.px : 0);
return ji(a, c, b);
}
function ny(a, c, b, d) {
var e = "string" === typeof a;
a = e ? [{ val: a }] : a;
for (var f = [], g = 0, h = a.length; g < h; g++) {
var k = a[g];
k.textVariants || (k.textVariants = oy(k.val, d.ignoreCategories));
var l = k.textVariants,
m = e ? c.personal : k,
n = e ? c.own : W(c.own, m),
p = [];
k = function (a, f) {
var h = l[a].completeString;
d.preserveStartSpaces || 0 !== g || (h = h.replace(Hd.startSpaces, ""));
d.preserveSpaces || (h = h.replace(Hd.spaces, " "));
a = py(n, e ? c.parent : c.own, b);
h = Xv(h, a, b);
if (1 === f && t(a.width)) {
var k;
if ((k = parseFloat(a.width)))
delete a.width,
w(h.parts, function (b) {
b.text && ((b.width = k), (k = 0));
});
}
h.style = e ? c.personal : W(c.personal, m);
p.push(h);
};
for (var q = 0, r = l.length; q < r; q++) k(q, r);
f.push(p);
}
return f;
}
function oy(a, c) {
if (-1 < a.indexOf("&ors;")) {
var b = [{ completeString: "", variantsUsed: [] }],
d = [],
e = {},
f = [],
g = qy(a).split(Hd.variants);
a = [];
for (var h = 0, k = g.length; h < k; h++) h % 2 ? a.push(g[h]) : (a = a.concat(g[h].split(Hd.space)));
h = 0;
for (k = a.length; h < k; h++)
if ((g = a[h])) {
g = g.split(Vq.orc);
var l = g[1];
l = l ? l.split(":") : [];
g = g[0].split(Vq.or);
f.push(1 < g.length && !c ? { versions: g, category: { variantsNumber: g.length, name: l[0] || "", priority: l[1] || 0 } } : g[0]);
}
a = 0;
for (h = f.length; a < h; a++)
if (((k = f[a]), (g = k.versions))) {
k = k.category;
l = e[k.name];
var m = 1;
l || ((l = b.length), k.name && !c && (e[k.name] = l), (m = g.length));
for (var n = [], p = 0; p < m; p++) n = n.concat(ry(b));
b = n;
for (m = 0; m < b.length; m++) (n = Math.floor(m / l) % g.length), (b[m].completeString += g[n]), b[m].variantsUsed.push(n);
d.push(k.priority);
} else for (g = 0, l = b.length; g < l; g++) b[g].completeString += k;
return sy(b, d);
}
return [{ completeString: a, variantsUsed: [] }];
}
function Wq(a) {
for (var c = [], b = 0, d = a.length; b < d; b++) {
var e = a[b];
e && void 0 != e.length ? c.push(Wq(e)) : c.push(L({}, e));
}
return c;
}
function qy(a) {
var c = new String(a);
-1 < a.indexOf("&ors;") &&
Da(Xq, function (b) {
var a = Xq[b],
e = parseInt(b);
Hd["char_" + b] || (Hd["char_" + b] = new RegExp("&#" + b + ";?" + (a ? "|&" + a + ";?" : ""), "ig"));
c = c.replace(Hd["char_" + b], String.fromCharCode(e));
});
return c;
}
function sy(a, c) {
for (var b = [], d = 0, e = c.length; d < e; d++) {
var f = c[d];
f && (b[parseInt(f) - 1] = d);
}
c = function () {
var c = b[g];
a.sort(function (b, a) {
return b.variantsUsed[c] > a.variantsUsed[c];
});
};
var g = 0;
for (d = b.length; g < d; g++) c();
return a;
}
function ry(a) {
for (var c = [], b = 0, d = a.length; b < d; b++) {
var e = a[b];
c.push({ completeString: e.completeString, variantsUsed: e.variantsUsed.slice() });
}
return c;
}
function py(a, c, b) {
c = c.fontSize;
var d = b.fontSize;
b = a.fontSize || c;
if ("number" == typeof b) c = b;
else {
if (Hd.fontSize.test(b) && (d = parseFloat(b)))
switch (b.replace(d, "")) {
case "em":
if (!c) {
d = 0;
break;
}
d *= parseFloat(c);
break;
case "pt":
d = (4 * d) / 3;
}
c = d;
}
a.fontSize = c;
a.fontFamily = a.fontFamily;
return a;
}
function ty(a) {
a = a.split("|");
var c = ["left", "center", "right"],
b = ["top", "middle", "bottom"],
d = {};
w(a, function (a) {
c[a] && (d.x = a);
b[a] && (d.y = a);
});
return d;
}
function uy(a) {
if (!a || a.push) return a;
switch (I(a)) {
case "number":
return [a];
case "string":
return Oj(a);
}
return a;
}
function vy(a, c) {
var b = a.length - 1;
if (c < a[b].minSize.width.px) return a[b];
if (c > a[0].minSize.width.px) return a[0];
for (var d = 0; d <= b; ) {
var e = Math.floor((d + b) / 2);
if (c > a[e].minSize.width.px) b = e - 1;
else if (c < a[e].minSize.width.px) d = e + 1;
else return a[e].minSize.width.px;
}
return a[d];
}
function Yq(a, c, b) {
var d = O(a),
e = d ? ba.getElementById(a) : a;
a = d ? a : a.getAttribute && a.getAttribute("id");
d = b && b.preserve;
var f = !a || !ki[a];
if (f || !d) var g = new Al({ container: e, staticSize: !0, skipDomDestroy: !d });
f ? ((e = g.textStack(c)), e.attr(L(Zq, b)), e.add().refresh(), a && d && (ki[a] = e)) : ((e = ki[a]), e.attr(L(Zq, b)).val(c).refresh());
c = e.setPreliminarySize().getBbox();
b = e.renderer.root.el;
b.setAttribute("width", c.width + 1);
b.setAttribute("height", c.height + 1);
d || (e.destroy(), g.destroyChildren(), g.destroy(), a && delete ki[a]);
return b;
}
function $q(a) {
if (a.type) {
var c = G(a.type.split(":"), 2),
b = c[1];
a.type = c[0];
a.subType = b;
} else a.type = "panel";
}
function sf(a, c, b) {
li = li || {};
var d = c.split(",");
c = a + c + b;
var e, f;
if ((e = li[c])) return e;
var g = 0;
for (f = d.length; g < f; g++) {
var h = void 0;
e = a;
var k = Gd(d[g]).replace("enum_", ""),
l = !1,
m = { sequence: [], explicit: [] };
m.setting = e;
for (e = e.toLowerCase(); !l; ) {
var n = void 0;
h = void 0;
var p,
q = void 0,
r = void 0,
u = void 0,
x = e,
v = ke(k),
y = pa(v.members);
x = Gd(x);
var D = 0;
for (p = y.length; D < p; D++)
if (0 !== x.indexOf(y[D].toLowerCase()) || (x.length !== y[D].length && !v.members[y[D]].chain))
0 !== x.indexOf(y[D].toLowerCase()) || x.length === y[D].length || v.members[y[D]].chain ? v.members[y[D]].isDefault && (r = y[D]) : (n = y[D]);
else {
q = y[D];
break;
}
!q && n && (q = n);
q ? (u = !0) : ((q = r), (h = !0));
q
? ((n = 0 === x.indexOf(q.toLowerCase()) ? x.replace(q.toLowerCase(), "") : x), (h = { match: q, isDefault: h, explicit: u, chain: v.members[q].chain, value: n, attributes: v.members[q].enumAttributes }))
: (h = { invalid: x });
if (t(h.invalid)) (h.value = h.invalid), (l = !0);
else {
if (!h.isDefault || !b) if (((m[k] = h.match), m.sequence.push(k), h.attributes)) for (var E in h.attributes) m[E] = h.attributes[E];
h.explicit && m.explicit.push(k);
k = h.chain;
e = h.value;
k || 0 !== e.length ? (k ? (k = k.replace("enum_", "")) : k || (l = !0)) : (l = !0);
}
}
m.sequence = m.sequence.join(",");
m.explicit = m.explicit.join(",");
0 < h.value.length && (m.invalid = h.value);
e = m;
if (!e.invalid) break;
}
return (li[c] = e);
}
function wy(a, c) {
var b = I(c);
switch (a) {
case "palette":
if ("array" !== b && "object" !== b) return Fh(c);
}
return c;
}
function Bl(a, c) {
c = Ac(c).slice(0);
c.unshift(c.pop());
a = Yb(a);
a[0] += c[0];
a[1] += c[1];
a[2] -= c[2];
a[3] -= c[3];
return Ze(a);
}
function Bb(a, c) {
var b = {},
d = z(a.visible, !0),
e = z(a.width, 1),
f = z(a.opacity, 1) * z(c, 1),
g = Dh(a.color || "black");
c = z(a.caps, "butt");
f *= g.opacity;
d && !Q(a.color) ? ((b.stroke = g.hex), (b["stroke-opacity"] = f)) : ((b.stroke = "none"), (e = 0));
if (!Q((d = a.dashStyle))) {
a = e;
d = d.toLowerCase();
if ((d = xy[d].split(","))) {
f = 0;
for (g = d.length; f < g; f++) d[f] *= a;
a = d.join(",");
} else a = "none";
b["stroke-dasharray"] = a;
}
b.fill = "none";
b["stroke-width"] = e;
b["stroke-linejoin"] = "round";
O(c) ? (b["stroke-linecap"] = c) : (b.caps = c);
return b;
}
function mi(a) {
0 === a["stroke-width"] && (delete a["stroke-linejoin"], delete a["stroke-linecap"], delete a.stroke, delete a["stroke-opacity"]);
return a;
}
function fc(a, c) {
var b = {},
d;
c = z(a.opacity, 1) * z(c, 1);
Q((d = a.outline)) || (b = Bb(d, c));
Q((d = a.fill || a.color)) || ni(b, d, c);
b["fill-rule"] = "evenodd";
ar(b, a.hatch, b.stroke || "rgb(50,50,50)");
!1 === a.visible && (b.opacity = 0);
Q((d = a.d || a.path)) || (b.d = d);
Q((d = a.size)) ? Q((d = a.radius)) || (b.r = d) : (b.r = (parseInt(d) || 0) / 2);
return b;
}
function Bg(a, c, b) {
var d,
e = z(a.opacity, 1) * z(c, 1),
f = {},
g = {},
h = {},
k = {};
!1 === a.boxVisible
? ((f.fill = !1 === a.boxPointerEvents ? "transparent" : "none"), (f.stroke = "none"), (f.shadow = !1))
: (Q((d = a.outline)) || ((c = Bb(d, e)), A(f, c), A(h, c)), Q((d = a.fill)) || ni([k, f], d, e, b), kb(a, f, "radius", "r", void 0), kb(a, f, "shadow", void 0, void 0));
kb(a, g, "margin", "margin", Ac);
kb(a, g, "padding", "padding", Ac);
kb(a, g, "width", void 0, void 0);
kb(a, g, "height", void 0, void 0);
Q((d = a.height)) ? (g.height = void 0) : (g.height = d);
Q((d = a.style)) || A(g, d);
kb(a, g, "zIndex", void 0, void 0);
return { bg: f, root: g, stroke: h, fill: k };
}
function br(a) {
var c = a.animation,
b = C(a, "label.style"),
d = C(a, "label.align"),
e = a.outline,
f = function (b, c, d) {
kb(a, h, b, c, d);
},
g = function (b) {
return b + "px";
},
h = { position: "absolute", whiteSpace: "nowrap" };
f("radius", "radius", g);
f("padding", "padding", g);
f("fill", "background");
f("offsetX", "left", g);
f("offsetY", "top", g);
f("width", "width", g);
f("height", "height", g);
f("radius", "borderRadius", g);
f("text-align", "text-align");
f("background-color", "background-color");
f("border", "border");
f("click", "onclick");
f("visibility", "visibility");
f("left", "left");
f("top", "top");
f("zIndex", "zIndex");
d && (h.textAlign = d);
t(b) && (kb(b, h, "color", "color"), kb(b, h, "fontSize", "fontSize"), kb(b, h, "fontFamily", "fontFamily"), kb(b, h, "fontWeight", "fontWeight"), kb(b, h, "textDecoration", "textDecoration"), kb(b, h, "fontStyle", "fontStyle"));
t(e) && (h.border = e.color + " solid " + e.width + "px");
t(c) && ((h.transitionProperty = c ? "left, top" : null), (h.transitionDuration = c ? (c.duration || 0) / 1e3 + "s" : null), (h.transitionTimingFunction = c ? c.easing : null));
!1 === a.boxVisible && ((h.background = "none"), (h.border = "none"));
return h;
}
function Cg(a, c) {
var b = Bg(a, void 0, c);
b = A(b.bg, b.root);
var d,
e = [];
if (Q((d = a.corners)))
Q((d = a.radius)) ||
(ob(4, function () {
e.push({ type: "round", r: d });
}),
(f = { corners: e }));
else var f = { corners: yy(d, a) };
b.shape = L(a.shape || {}, f);
"titleBox" === c &&
b.shape &&
w(b.shape.corners, function (b, a) {
1 < a && (b.type = "square");
});
return b;
}
function yy(a, c) {
var b = a,
d = [];
switch (I(a)) {
case "string":
ob(4, function () {
d.push({ type: b, r: c.radius });
});
break;
case "array":
if (4 !== b.length) for (b = b.slice(0); 4 > b.length; ) b.push("round");
d = B(b, function (b) {
return { type: b, r: c.radius };
});
break;
case "object":
d = [
{ type: b.topleft || "round", r: c.radius || 3 },
{ type: b.topright || "round", r: c.radius || 3 },
{ type: b.bottomright || "round", r: c.radius || 3 },
{ type: b.bottomleft || "round", r: c.radius || 3 },
];
}
return d;
}
function qc(a, c, b) {
var d,
e = {};
a = c ? Ga(a, c) : a;
c = function (b, c, d) {
kb(a, e, b, c, d);
};
var f;
Q((d = a.color)) ? Q((d = N(a, ["style", "color"]))) || (f = d) : (f = d);
f && (e.fill = ia(f, (b && b.color) || f));
c("margin", "margin", Ac);
c("padding", "padding", Ac);
c("visible", "display", function (b) {
return b ? "block" : "none";
});
c("align", "xAlignment");
c("align", "xContentAlignment");
c("verticalAlign", "yAlignment", function (b) {
return b.replace("middle", "center");
});
c("cssClass", "className");
c("rotate", "rotate");
c("width");
c("height");
c("textOverflow");
c("maxWidth");
c("strategy");
c("autoWrap");
c("opacity");
!Q((d = a.offset)) && (d = cr(d)) && ((e.offsetX = d[0]), (e.offsetY = d[1]));
Q((d = a.outline)) || Sc(e, Bb(d), { fill: !0 });
Q((d = a.style)) || A(e, d);
return e;
}
function cr(a) {
var c = I(a);
if ("string" === c) {
if (((a = a.split(",")), 2 === a.length)) return [parseInt(a[0]), parseInt(a[1])];
} else {
if ("number" === c) return [a, a];
if ("array" === c) return a;
}
}
function ar(a, c, b) {
c && (kb(c, a, "style", "hatchPattern"), b && (c = A({ color: ia("contrast", b) }, c)), kb(c, a, "color", "hatch", Lb), "none" === a.hatchPattern && (delete a.hatchPattern, delete a.hatch, (a.stroke = "none")));
return a;
}
function ni(a, c, b, d) {
void 0 === b && (b = 1);
var e = I(c);
if ("undefined" !== e) {
if ("object" !== e)
if ("none" !== c) {
var f = Eh(oc(c), b);
d && "string" === typeof f && (f = dd(d, f));
} else f = "transparent";
else f = oc(c, 1 - b);
a.pop
? w(a, function (b) {
return (b.fill = f);
})
: (a.fill = f);
}
}
function tf(a) {
var c = "none" !== a.color,
b;
if ((b = !1 === a.visible)) (b = a && a.caps), (b = !(b && (b.end || b.start || b.type)));
var d = 0 !== a.width;
return (b && !a.color) || !d ? !1 : c;
}
function dr(a) {
var c = a.outline;
return (a.fill && "none" !== a.fill) || (c && "none" !== c && 0 !== c.width);
}
function Id(a) {
var c = 0 !== N(a, ["text", "length"]);
return !1 === a.visible ? !1 : !!c;
}
function Dg(a, c, b, d) {
void 0 === d && (d = {});
var e,
f = (d.minIntervalGap = z(d.minIntervalGap, 0.3)),
g = d.axOptions || {},
h = g.scale || {};
if (b.length) {
var k = b[0];
b = b[1];
}
var l = h.type && 0 === h.type.toLowerCase().indexOf("log");
h = h.logBase || 10;
var m = { interval: 0, min: 0, max: 0, range: 0 },
n = oi(d.userMax) ? d.userMax : d.snapZero && 0 > c ? 0 : c,
p = oi(d.userMin) ? d.userMin : d.snapZero && 0 <= a ? 0 : a,
q = Xf([n, p]),
r = Math.abs(n - p);
if ((e = d.breaks)) (r = rv([[p, n]], e)), (r = eo(r));
m.range = r = na(r, q);
(q = d.minInterval || (k && r / k)) && (q.unit || O(q)) && ((q = Nh(q.unit ? q : { unit: q })), (q = q.count * q.unitRange));
k = er(r, zy, q, b).best.interval;
"auto" === d.userMinorInterval && ((q = Id(C(g, "defaultMinorTick.label"))), (g = tf(C(g, "defaultMinorTick.gridLine"))), (m.minorInterval = C(er(k, Ay, d.minInterval, q || g ? 2 : b), "best.interval")));
q = Xf([a, c, r, k]);
e = Math.log(Math.abs(c)) / Math.log(h);
b = Math.log(Math.abs(a)) / Math.log(h);
g = function (b) {
var a = Math.floor(b);
return b - a < f ? a - 1 : a;
};
r = function (b) {
var a = Math.ceil(b);
return a - b < f ? a + 1 : a;
};
e = 0 > c ? g(e) : r(e);
b = 0 > a ? r(b) : g(b);
oi(d.userMax)
? (d.userMax < a && (m.error = fr.badMax), (m.max = d.userMax))
: l
? (m.max = Math.pow(h, e) * ce(c))
: d.snapZero && 0 >= c
? (m.max = 0)
: ((m.max = Math.ceil(c / k) * k), 0 !== m.max && c > m.max - k * f && (m.max += k));
oi(d.userMin)
? (d.userMin > c && (m.error = fr.badMin), (m.min = d.userMin))
: l
? (m.min = Math.pow(h, b) * ce(a))
: d.snapZero && 0 <= a
? (m.min = 0)
: ((m.min = Math.floor(a / k) * k), 0 !== m.min && a < m.min + k * f && (m.min -= k));
l ? (m.log = [b, e]) : ((m.min = na(m.min, q)), (m.max = na(m.max, q)));
m.range = m.max - m.min;
m.interval = k;
return m;
}
function er(a, c, b, d) {
var e = -1,
f = [],
g = Math.pow(10, Math.floor(Math.log(a) / Math.LN10)),
h,
k = 0;
for (h = c.length; k < h; k++) {
var l = g / c[k],
m = a / l + 1;
f[k] = { interval: l, tickCount: m };
m = m < d;
l = Q(b) || l >= b;
var n = k === h - 1;
if (-1 === e && ((m && l) || n)) {
e = k;
break;
}
}
return { prev: 0 < e ? f[e - 1] : void 0, best: f[e], next: e < h - 1 ? f[e - 1] : void 0 };
}
function By(a) {
function c(b) {
return 0 < b.length ? b[0] : "!@!@!";
}
function b(b, a) {
return b[a] ? b[a] : 0;
}
function d(b) {
for (var a = 0; a < f; a++) e[a].propNames[0] === b && e[a].propNames.shift();
}
var e = [],
f = a.length,
g = !1,
h = "!@!@!",
k = 0,
l = "",
m = [],
n,
p = !1;
for (
(function () {
for (var b = 0; b < f; b++) {
var c = { propNames: [], nCounts: {} },
d = a[b],
g = d.length;
g > k && (k = g);
for (var h = 0; h < g; h++) c.propNames.push(d[h]), c.nCounts[d[h]] ? c.nCounts[d[h]]++ : (c.nCounts[d[h]] = 1);
e.push(c);
}
})();
!g;
) {
h = "!@!@!";
for (n = 0; n < f; n++) (l = c(e[n].propNames)), "!@!@!" === h ? (h = l) : h !== l && 0 < b(e[n].nCounts, h) && (h = l);
if ("!@!@!" === h || m.length >= k * f) g = !0;
else if (m.length >= k) {
p = !0;
for (n = 0; n < f; n++)
if (((l = c(e[n].propNames)), "!@!@!" !== h)) {
p = !1;
break;
}
g = p;
}
g || (m.push(h), d(h));
}
return m;
}
function Jd(a, c, b, d) {
return Cl.abs(((a - c[d]) / (c[b] - c[d])) * 100);
}
function rc(a, c, b) {
c = c[b];
return a && c ? Cl.abs((a / c) * 100) : 0;
}
function Eg(a) {
return J(a, "ye") && !J(a, "y");
}
function Fg(a) {
return Eg(a) ? la(a.ye, a.ys) : a.y;
}
function Dl(a, c) {
var b = "y" === c,
d = a.pOptions,
e = a.scCache,
f = a.yVal,
g;
if ((g = a.series[c + "Axis"]) && a.chart.chartItemManager.exists(g.id))
return (a = t(g.min) ? g.range : Dg(e[b ? "min" : c + "Min"], e[b ? "max" : c + "Max"], 10)), Cl.abs((((b ? d[f] - (d.low || 0) : d[c]) - a.min) / (a.max - a.min)) * 100);
}
function pi(a, c) {
var b = "y" === c;
return rc(b ? Fg(a.indexedData) : a.pOptions[c], a.cache, b ? "yRangeSumAbs" : c + "SumAbs");
}
function qi(a, c) {
var b = "y" === c,
d = b ? "yRangeSumAbs" : c + "SumAbs";
return rc(a.pOptions ? (b ? Fg(a.indexedData) : a.pOptions[c]) : a.cache[d], a.scCache, d);
}
function ri(a, c) {
var b = "y" === c,
d = b ? "yRangeSumAbs" : c + "SumAbs",
e = a.pgCache;
return e[d] ? rc(b ? Fg(a.indexedData) : a.pOptions[c], e, d) : a.pOptions[c] ? 100 : 0;
}
function si(a, c) {
var b = "y" === c,
d = a.pOptions[b ? a.yVal : c];
return t(d) ? mv(d, a.cache[b ? "averList" : c + "AverList"]) : 0;
}
function gr(a) {
var c = a.pOptions.y;
return t(c) && "string" === typeof c && !a.fOptions.yIsTime ? c : Eg(a.indexedData) ? a.indexedData.ye : a.indexedData.y;
}
function El(a, c) {
return (a.val.pop ? a.val[1] - a.val[0] : 0) / c;
}
function Cy(a) {
var c = a.indexer;
c.reset();
a.chart.series().each(function (b) {
var c = b.getCalcCache();
a.indexer.indexObject(c, b._i);
});
var b = Math.abs,
d = function (b) {
return Tc(Pb(c, "concat")(b));
},
e = Pb(c, "getItem"),
f = Pb(c, "min_i"),
g = Pb(c, "max_i"),
h = Pb(c, "min"),
k = Pb(c, "max"),
l = Pb(c, "sum"),
m = d("list"),
n = d("average"),
p = d("xList");
d = d("zList");
var q = e(f("min")),
r = e(g("max")),
u = e(f("xMin")),
x = e(g("xMax"));
f = e(f("zMin"));
e = e(g("zMax"));
g = c.getKey("type");
var v = k("zMax"),
y = h("zMin"),
D = {
list: m,
typeList: g,
type: g[0],
sumList: c.getKey("sum"),
max: k("max"),
min: h("min"),
sum: l("sum"),
average: n.length ? l("average") / n.length : n,
range: m.length ? k("max") - h("min") : void 0,
zList: d,
xList: p,
zSumList: c.getKey("zSum"),
xSumList: c.getKey("xSum"),
zMax: v,
zMin: y,
zAbsmax: Math.max(b(v), b(y)),
xMax: k("xMax"),
xMin: h("xMin"),
zSum: l("zSum"),
xSum: l("xSum"),
sumAbs: l("sumAbs"),
zSumAbs: l("zSumAbs"),
xSumAbs: l("xSumAbs"),
zAverage: d.length ? l("zSum") / m.length : void 0,
xAverage: p.length ? l("xSum") / m.length : void 0,
zRange: d.length ? k("zMax") - h("zMin") : void 0,
yRangeSum: l("yRangeSum"),
yRangeSumAbs: l("yRangeSumAbs"),
nMin: q.nMin,
nMax: r.nMax,
nZMax: e.nZMax,
nZMin: f.nZMin,
nXMax: x.nXMax,
nXMin: u.nXMin,
snMax: r.name,
snMin: q.name,
snZMax: e.name,
snZMin: f.name,
snXMax: x.name,
snXMin: u.name,
},
E = { Min: h, Max: k };
Ib("Sum,Average", function (b) {
Ib("Min,Max", function (a) {
Ib("y,x,z", function (c) {
var d = "y" === c;
D[(d ? Se(a) : c + a) + b] = E[a](d ? Se(b) : c + b);
});
});
});
return D;
}
function Dy(a) {
var c = a[0],
b = function (b) {
return a.map(function (a) {
return a.tokenValue(b);
});
},
d = b("%yValue"),
e = Math.min.apply(Math, H(d)),
f = Math.max.apply(Math, H(d)),
g = Ta(d),
h = a.length;
d = d.join(",");
return {
xvalue: c.replaceTokens("%xValue"),
ysum: g,
sum: g,
ylist: d,
ymin: e,
min: e,
ymax: f,
count: h,
pointcount: h,
max: f,
colors: b("%color")
.map(function (b) {
return Dh(b).hex;
})
.join(","),
};
}
function Ey(a, c, b) {
void 0 === b && (b = "x");
var d = a.chartArea.chartAreaSet.series(),
e = a.indexer.getValue(b, c._i),
f = new Fl(),
g = 0;
w(d, function (a) {
var c = a.indexer.findValue_i(b, e);
a = a.indexer.getItem(c);
f.indexObject(a, g);
g++;
});
a = f.getKey("y");
c = f.getKey("z");
d = f.hasKey("yr") ? "yr" : "y";
var h = Pb(f, "sum"),
k = Pb(f, "sumAbs");
return {
list: a,
sum: h("y"),
sumAbs: k("y"),
yRangeSum: h(d),
yRangeSumAbs: k(d),
zList: c,
zSum: h("z"),
xSum: h("x"),
zSumAbs: k("z"),
xSumAbs: k("x"),
average: a.length ? h("y") / a.length : void 0,
zAverage: c.length ? h("z") / c.length : void 0,
};
}
function hr(a, c, b) {
var d = b.atribs;
if (d)
if ("function" === typeof d.pop)
for (var e = 0, f = d.length; e < f; e++) {
if (a === d[e][0].toLowerCase()) return ti(d[e][1]);
}
else {
f = e = void 0;
for (
var g = a.split("."),
h = function (b, a) {
for (var c = pa(b), d = 0, e = c.length; d < e; d++) {
var f = c[d];
if (a === f.toLowerCase()) return b[f];
}
},
k = void 0;
(f = g.shift()) && t((k = h(e || d, f)));
)
e = k;
if (t(e)) return ti(e);
}
a = c[a];
if (!a) return "INVALID TOKEN";
c = a.val ? a.val(b) : a(b);
c !== c && (c = 0);
if (!t(c)) return "-";
C(b.fOptions, "y.isTime") && a.yVal && (c = new Date(c));
return ti(c);
}
function Fy(a, c, b) {
var d = b.fOptions || {},
e = "," + a + ",",
f = { fStr: d.fStr, culture: d.culture, isTime: d.isTime };
return -1 < ",min,max,average,rangesum,lasty,sum,median,mode,value,ysum,yaverage,ymedian,ymode,ymin,ymax,ymaxsum,maxsum,yminsum,minsum,yrangesum,yvalue,ystart,yrange,open,high,low,close,".indexOf(e)
? d.y || f
: -1 < ",xvalue,xsum,xmin,xmax,xmaxsum,xminsum,xaverage,lastx,xrange,lastx,xmode,xmedian".indexOf(e)
? d.x || f
: -1 < ",complete,".indexOf(e)
? { fStr: "p", culture: d.y.culture }
: -1 < ",zvalue,zsum,zmin,zmax,zmaxsum,zminsum,zaverage,lastz,zrange,zmode,zmedian,".indexOf(e)
? d.z || f
: (a = c[a]) && a.axis
? { fStr: a.fStr || "n", culture: d[a.axis] ? d[a.axis].culture : b.chart ? b.chart.currentOptions.defaultCultureName : "en-US" }
: b.gOptions
? { culture: b.gOptions.cultureName }
: f;
}
function uf(a) {
a = a.token || a.attr || a;
return { text: a, result: a && 0 < a.length && (0 <= a.indexOf("%") || 0 <= a.indexOf("{")) };
}
function ir(a, c, b, d) {
var e = uf(a);
if (!e.result) return e.text;
a = ui(a, [c, b], d, ir);
return vf(a, Gy, {
fOptions: d,
chart: c.chart,
series: c,
point: b,
sOptions: c.currentOptions,
pOptions: b.currentOptions,
atribs: b.currentOptions.attributes,
yVal: c.ctManager.isType("treemap") ? "value" : "y",
pgCache: Ey(c, b),
cache: c.getCalcCache(),
scCache: c.chartArea.chartAreaSet.getCalcCache(),
indexedData: c.indexer.getItem(b._i),
});
}
function jr(a, c, b) {
var d = uf(a);
if (!d.result) return d.text;
a = ui(a, c, b, jr);
return vf(a, Hy, {
fOptions: b,
chart: c.chart,
series: c,
sOptions: c.currentOptions,
atribs: c.currentOptions.attributes,
yVal: c.ctManager.isType("treemap") ? "value" : "y",
cache: c.getCalcCache(),
scCache: c.chartArea.chartAreaSet.getCalcCache(),
});
}
function vi(a, c, b) {
var d = uf(a);
if (!d.result) return d.text;
a = ui(a, c, b, vi);
return vf(a, Iy, { fOptions: b, chart: c.chart, cache: c.getCalcCache() });
}
function Gg(a, c, b) {
var d = uf(a);
if (!d.result) return d.text;
a = ui(a, c, b, Gg);
d = C(c, "value");
var e = c.currentOptions || {},
f = C(e, "value");
f = z(f, e.max, e.min);
return vf(a, Jy, { fOptions: b, val: f, item: c, atribs: c.currentOptions.attributes, cache: e, evaluedValue: "function" === typeof d ? c.value() : [] });
}
function wi(a, c, b) {
void 0 === b && (b = {});
var d = uf(a);
return d.result ? vf(a, {}, { fOptions: b, item: c, atribs: c }) : d.text;
}
function kr(a, c, b, d) {
for (var e, f, g, h = pa(c), k, l, m = 0, n = h.length; m < n; m++) {
g = h[m];
if (-1 === (l = a.indexOf("%")) || l === a.length - 1 || !g) break;
e = "%" + g;
-1 < a.toLowerCase().indexOf(e) &&
(a = a.replace(new RegExp(e, "gi"), function (a) {
k = ti(hr(g, c, b));
b.formatApplied = f = Fy(g, c, b);
d && (f = null);
a = I(k);
var e = k;
"array" === a ? (e = k[0]) : (k = [k]);
b.formatApplied &&
b.formatApplied.isTime &&
((k = B(k, function (b) {
return new Date(b);
})),
(e = k[0]));
f || "date" !== I(e) || (f = { fStr: "yyyy-MM-ddTHH:mm:ss.fffffffzzz", culture: "en-US" });
return B(k, function (b) {
return f ? lr(b, f.fStr, f) : b;
}).join(3 > k.length ? "\u2014" : " ");
}));
}
return a;
}
function ti(a) {
return a || t(a) ? a : "";
}
function lr(a, c, b) {
var d = b ? b.culture || "en-US" : "en-US",
e = I(a);
return "date" === e
? ((b = new mr(d, { formatString: c || "" })), Ha(a.getTime()) ? "Invalid Date" : b.formatDate(a, c))
: "number" === e
? (b && c && "c" !== c.toLowerCase() && !0 !== b.fStrStrict && t(b.precision) && b.precision && ((c = Yf(a)), (c = "n" + Math.min(c, b.precision))), (b = new mr(d, { formatString: c || "" })), b.formatNumber(a, c))
: a;
}
function Ky(a, c, b) {
var d = /\{ *[\w\-\(%0-9][^\}\{]+ *: *[^\}\{]+ *\}/,
e = /\{ *[\w\-\(%0-9][^\}\{]+ *\}/,
f,
g;
if (!a) return a;
for (; !k && null !== (g = d.exec(a) || e.exec(a)); ) {
var h = 0;
for (f = g.length; h < f; h++) {
var k = g[h].toString(),
l = Ly(k, c, b);
a = a.replace(k, l);
k = l && O(l) && Hg(l, "{");
}
}
return a;
}
function Ly(a, c, b) {
var d,
e = Gd(a),
f = e.indexOf(":"),
g = -1 < f;
if (g) {
a = e.substring(1, f);
var h = Gd(
e.substring(f + 1, e.length - 1).replace(/^(date)*(number)*/gi, function (b) {
d = b.toLowerCase();
return "";
})
);
} else a = e.substring(1, e.length - 1);
a = kr(Gd(a), c, b, !0);
e = a.match(Gl);
c = !1;
if (e && (e = e.length)) {
c = !0;
var k = 1 === e ? "date" : "number";
}
h || (h = C(b, "formatApplied.fStr"));
e = a;
c &&
(e = a.replace(Gl, function (b) {
return Date.parse(b);
}));
c = !0;
if (/[\+-\/\*\^%]+/.test(e))
try {
a = Nj(
'"strict mode";(f{r/**/;f days{rn/86400000;}f weeks{rn/604800000;}f years{rn/31536000000;}f hours{rn/3600000;}f minutes{rn/60000;}f seconds{rn/(1000);}}())'
.replace(/f/g, "function")
.replace(/\{r/g, "(n){return ")
.replace("/**/", e)
);
} catch (l) {
c = !1;
}
(k = d || k)
? "date" === k
? (a = Ha(new Date(a).getTime()) ? new Date(parseFloat(a)) : new Date(Date.parse(a)))
: "number" === k && (a.valueOf && (a = a.valueOf()), (a = parseFloat(a)))
: "string" === typeof a
? Un(a)
? (a = parseFloat(a))
: Gl.test(a) && (a = new Date(Date.parse(a)))
: "number" !== typeof a || h || (h = "n:" + Math.min(Yf(a), 3));
return c ? (h ? lr(a, h, b.formatApplied) : a) : "{" + a + (g ? ":" + h : "") + "}";
}
function vf(a, c, b) {
var d = a && a.attr,
e = b.atribs,
f = c;
if (a.token) return hr(a.token.slice(1).toLowerCase(), f, b);
d && (a = a.attr);
a = a.replace(/\\\\/g, "##@@@!@##").replace(/\\\{/g, "!!@@#@#@@!").replace(/\\\}/g, "###@!@!#@").replace(/\\%/g, "#@@!@##@");
if (e) {
f = e.pop ? e : ~a.indexOf(".") ? Kn(e, ".") : pa(e);
var g = !!e.pop,
h = {};
w(f, function (b) {
h[(g ? b[0] : b).toLowerCase()] = void 0;
});
f = d ? h : L(h, c);
}
a = Ky(a, f, b);
a = kr(a, f, b);
return a
.replace(/##@@@!@##/g, "\\")
.replace(/!!@@#@#@@!/g, "{")
.replace(/###@!@!#@/g, "}")
.replace(/#@@!@##@/g, "%");
}
function ui(a, c, b, d) {
var e;
if ("string" === typeof a && -1 < a.indexOf("<")) {
var f = a.match(nr);
if (f) {
b = (function (b) {
b = A({}, b);
var a = function (b) {
b && !b.isTime && (b.fStr = "d");
};
a(b.x);
a(b.y);
a(b.z);
return b;
})(b);
try {
for (var g = ya(f), h = g.next(); !h.done; h = g.next()) {
var k = h.value;
a = c.pop ? a.replace(k, "<" + d(k.replace("<", ""), c[0], c[1], b)) : a.replace(k, "<" + d(k.replace("<", ""), c, b));
}
} catch (m) {
var l = { error: m };
} finally {
try {
h && !h.done && (e = g.return) && e.call(g);
} finally {
if (l) throw l.error;
}
}
}
}
return a;
}
function or(a, c, b) {
var d = pr(a),
e = c[1],
f = xi(a);
a = Mb(f);
b || (b = og(f, f.hasCurves));
f = Math.max(a[2], a[3]);
var g = [],
h = a[1] + 1;
try {
for (; h + e < a[1] + a[3] - 2; ) {
var k = qr(d, h, e);
k && k[2] >= c[0] && g.push([f - Xb(va(k), b), k]);
h += 1;
}
} catch (m) {}
if (g.length) {
g.sort(function (b, a) {
return b[0] < a[0] ? -1 : b[0] > a[0] ? 1 : 0;
}).reverse();
var l = g[0][1];
}
l && (l = mb(va(l), c));
return l;
}
function pr(a) {
var c = xi(a);
c = Mb(c);
c = Math.floor(c[3] / 3);
a = xi(a);
return My(a, c);
}
function xi(a) {
var c,
b = 0;
w(a.shapes, function (a) {
var d = Mb(a);
d = d[2] * d[3];
d >= b && ((b = d), (c = a));
});
return c;
}
function My(a, c) {
var b = [],
d = Mb(a),
e = d[0] - 50,
f = d[0] + d[2] + 50,
g = d[1],
h = d[3];
d = function (b) {
b = g + b * h;
return [
[e, b],
[f, b],
];
};
var k = function (b) {
for (
var a = [],
c = function (b) {
for (var c = 0, d = a.length; c < d; c++) if (ab(a[c], b)) return !1;
return !0;
},
d = 0,
g = b.length;
d < g;
d++
) {
var h = b[d];
h = [Math.round(h.intersect.x), Math.round(h.intersect.y)];
c(h) && h[0] > e && h[0] < f && a.push(h);
}
a.sort(function (b, a) {
return b[0] < a[0] ? -1 : b[0] > a[0] ? 1 : 0;
});
2 < a.length && (a = [a[0], a[a.length - 1]]);
1 === a.length && a.push(a[0]);
return a;
};
c = Math.abs(0.9998 / (c - 1));
for (var l = 1e-4; 1 > l; l += c) {
var m = d(l);
m = Rh(a, m[0], m[1]);
b.push(k(m));
}
return b;
}
function Ny(a, c) {
return {
scans: rr(a.scans, function (b) {
return [Y(c[0], c[0] + c[2], 0, 1, b[0]), Y(c[1], c[1] + c[3], 0, 1, b[1])];
}),
pathBBox: c,
};
}
function rr(a, c) {
for (var b = [], d = 0, e = a.length; d < e; d++) {
for (var f = a[d], g = [], h = 0, k = f.length; h < k; h++) g.push(c(f[h]));
b.push(g);
}
return b;
}
function qr(a, c, b) {
b = c + b;
for (
var d,
e,
f = function (b) {
return [
[Y(d[0][0], e[0][0], d[0][1], e[0][1], b), b],
[Y(d[1][0], e[1][0], d[1][1], e[1][1], b), b],
];
},
g,
h,
k = 0,
l = a.length - 1;
k < l;
k++
) {
d = a[k];
e = a[k + 1];
var m = d[0][1],
n = e[0][1];
!g && c >= m && c <= n && (g = f(c));
!h && b >= m && b <= n && (h = f(b));
if (g && h) break;
}
if (h && g) return (a = Math.max(g[0][0], h[0][0])), [a, c, Math.min(g[1][0], h[1][0]) - a, b - c];
}
function Oy(a) {
var c = sa(a.chartItems(), function (b) {
return z(b.currentOptions.sortOrder, b.currentOptions.order, 0);
}),
b = [[], [], [], []],
d = {},
e = { casMargin: [0, 0, 0, 0], overflows: [0, 0, 0, 0], max: [0, 0, 0, 0], itemsToTune: c, aggr: d },
f = a.chart.rootVisuals.itemsBox.getGlobalBboxArray(),
g = !0;
w(c, function (a) {
if (!a.currentOptions.asHTML) {
var c = G(Ig(a), 3),
e = c[0],
h = c[1];
c = c[2];
a.isMeasured = !1;
if (!e && !c.isIn) {
var k = sr(a, h, c, d, f);
k &&
w(c.pos, function (a, c) {
a && b[c].push(k) && (g = !1);
});
}
}
});
if (g) return e;
var h = a.items,
k = B(h, function (b) {
return b.overflows;
}),
l = [
function () {
var b = h[0].rootVisuals.titleBox.rootPanel.setPreliminarySize().getGlobalBboxArray();
return b[2] && b[3] ? 0 : k[0][0];
},
function () {
return oa(
B(k, function (b) {
return b[1];
})
);
},
function () {
return P(k)[2];
},
function () {
return oa(
B(k, function (b) {
return b[3];
})
);
},
];
a = function (a) {
var c = b[a];
if (!c.length) return 0;
var d = 0;
w(c, function (b) {
return (d = Math.max(d, b[Py[a]]));
});
c = l[a]();
d = c > d ? c : d;
e.overflows[a] = c;
return (e.max[a] = d) && Math.max(d - c, 0);
};
e.casMargin = [a(0), a(1), a(2), a(3)];
return e;
}
function Qy(a, c) {
var b = {},
d = a.items,
e = d[0],
f = a.chart.rootVisuals.itemsBox,
g = f.getGlobalBboxArray(),
h = function () {
var b = B(d, function (b) {
return b.getContentGlobalBbox();
});
return Ea(b);
};
h = 1 < d.length ? h() : e.getContentGlobalBbox();
a = a.measureResult;
var k = [g[0] + a.max[3], g[1] + a.max[0], g[2] - a.max[1] - a.max[3], g[3] - a.max[2] - a.max[0]];
e = e.getContentGlobalBbox();
var l = a.aggr,
m = [g, k, h, e, [k[0], h[1], k[2], h[3]], [h[0], k[1], h[2], k[3]]];
w(a.itemsToTune, function (b) {
if (!b.isMeasured) {
var a = G(Ig(b), 3),
c = a[2];
sr(b, a[1], c, l, m[c.alignBoxIndex]);
}
});
var n = {};
l.tltl && l.tltl.total[0] > e[2] ? (n.tltl = { direction: 1, align: [-1, 0] }) : l.blbl && l.blbl.total[0] > e[2] && (n.blbl = { direction: 1, align: [-1, 0] });
f.update();
w(a.itemsToTune, function (a) {
var d = a.rootPanel,
e = d.getGlobalBboxArray ? d.getGlobalBboxArray(!0) : a.bbox(!0);
if (e[2] || e[3]) {
d.isHtml ? ((e[0] -= parseFloat(d.attr("left"))), (e[1] -= parseFloat(d.attr("top")))) : ((e[0] -= d.offsetX), (e[1] -= d.offsetY));
var f = G(Ig(a), 3),
g = f[0],
h = f[1];
f = f[2];
!g && n[h] && (f = W(f, n[h]));
e = Ry(e, m, g, h, f, b, l[h]);
if ((g = a.options("offset"))) (g = g.split(",")), (e[0] += parseInt(g[0]) || 0), (e[1] += parseInt(g[1]) || 0);
g = c && c.animation;
d.attr(d.isHtml ? { left: e[0] + "px", top: e[1] + "px" } : { offsetX: e[0], offsetY: e[1], animation: g });
a.positionUpdated(m[nb(f) ? f : f.alignBoxIndex]);
}
});
}
function Ry(a, c, b, d, e, f, g) {
void 0 === g && (g = { total: [0, 0], max: [0, 0] });
if (b) return [d[0] + c[e][0] - a[0], d[1] + c[e][1] - a[1]];
b = G(c, 3);
var h = b[0],
k = b[2],
l = [],
m = [],
n = f[d],
p = e.direction,
q = e.align,
r = e.stackAlign;
b = function (b, c) {
c = c(b);
var e = f[d];
if (!e[b]) {
e[b] = [];
var g = 0 === p ? 1 : 0;
e[b][g] = m[b][g] + 1 * (a[b] + a[b + 2] * (0 < (b === g ? 1 : 0) ? 1 : b !== g ? 0.5 + q[b] / 2 : 0)) - (0.5 + r[b] / 2) * a[b + 2] * (b === g ? 1 : 0);
}
e[b][p] = c + 1 * (a[b] + a[b + 2] * (0 < (b === p ? 1 : 0) ? 1 : b !== p ? 0.5 + q[b] / 2 : 0));
return c;
};
var u = function (b) {
return n[b][p] + -1 * (a[b] + a[b + 2] * (0 < -1 * (b === p ? 1 : 0) ? 1 : b !== p ? 0.5 + q[b] / 2 : 0));
},
x = function (b) {
var c = l[b];
m[b] = [v(b, c, 0), v(b, c, 1)];
c = m[b][p];
var d = m[b];
if (!e.checkBorder[b] && a[b + 2] <= k[b + 2]) b = c;
else {
var f = a[b + 2],
g = h[b],
n = k[b];
c = a[b] + c;
var q = g + h[b + 2];
c < g && (c = n);
c + f > q && ((c = n + k[b + 2] - f), c < g && (c = q / 2 - f / 2));
b = c - a[b];
}
return (d[p] = b);
},
v = function (b, c, d) {
d = b !== d ? 1 : -1;
var e = 0.5 + r[b] / 2;
return c + ((0 < d ? g.max[b] || a[b + 2] : g.total[b]) - a[b + 2]) * d * (0 < d ? 0.5 + q[b] / 2 - e : e);
};
n || ((l = ek(a, c[e.alignBoxIndex], nc.default(d, "tltr"))), (f[d] = []));
return [b(0, n ? u : x), b(1, n ? u : x)];
}
function Ig(a) {
return (a._posInfo_ = a._posInfo_ || tr(a.currentOptions));
}
function tr(a) {
var c = a.position || "bltl";
if (c.push) return [1, c, 0];
var b = function (b) {
return parseFloat(b);
},
d = function (b, c) {
var d = G(b, 4),
e = d[0],
f = d[1],
g = d[2];
d = d[3];
var h = e === g && f === d,
q = ["t" === g && ("b" === e || "m" === e || h) && 1, "r" === d && ("l" === f || "c" === f || h) && 1, "b" === g && ("t" === e || "m" === e || h) && 1, "l" === d && ("r" === f || "c" === f || h) && 1],
r = h ? 3 : 1 < Ta(q) ? 1 : q[0] || q[2] ? 5 : 4;
e = {
isIn: h,
pos: q,
alignBoxIndex: r,
checkBorder: [f === d && "c" === f, e === g && "m" === e],
direction: h ? ("m" === g ? 1 : 0) : 5 !== r ? 1 : 0,
align: ["l" === f ? -1 : "r" === f ? 1 : 0, 0],
stackAlign: ["l" === f ? -1 : "r" === f ? 1 : 0, "t" === e ? -1 : "b" === e ? 1 : 0],
};
e.direction = z(a.direction, c, e.direction);
e.align = z(a.alignment, e.align);
J(a, "fixed") && (e.stackAlign = [-1, -1]);
return [0, b, e];
};
c = c.toLowerCase().trim();
if (4 === c.length && "left" !== c && !Sy.test(c)) return d(c);
c = c.replace("ca:", "inside ").replace("ca", "inside top left").trim();
var e = c.split(",");
if (1 < e.length) return (d = e[0]), (c = 0 === d.indexOf("inside")) && (e[0] = d.substring(6)), [1, e.map(b), c ? 3 : 0];
if ("center" === c) return (d = d("mcmc")), (d[2].isIn = !1), (d[2].alignBoxIndex = 2), d;
b = c.split(" ");
e = "inside" === b[0] ? 1 : 0;
var f = b.join("");
f = f.length === c.length ? Ty[f] || f : f;
return d(Uy[f] || "bltl", Vy[b[e]]);
}
function sr(a, c, b, d, e) {
e = a.measure(e);
b = b.direction;
var f = !d[c];
c = d[c] = d[c] || { total: [0, 0], max: [0, 0] };
if (!e[2] && !e[3]) return null;
(!f && b) || (c.total[0] += e[2]);
(f || b) && (c.total[1] += e[3]);
(f || b) && a.isVisible && c.max[0] < e[2] && (c.max[0] = e[2]);
(f || !b) && a.isVisible && c.max[1] < e[3] && (c.max[1] = e[3]);
return e;
}
function ur(a) {
return vr[
S((a || "topRight").toLowerCase().split(" "), function (a) {
return vr[a];
})
];
}
function wr(a) {
var c = a.trim().toLowerCase();
return 0 === c.indexOf("ca") || 0 === c.indexOf("inside") ? (c.match(Wy) ? "caAlign" : "caOffset") : Xy.test(a) ? "absolute" : "position";
}
function Yy(a) {
var c = a.chart,
b = a.collisionManager,
d = ha(a.rootVisuals.content.getGlobalBbox());
d = [-d[0], -d[1]];
var e = function (a) {
a.isVisible && b.addLabelBox(Xc(a.getBounds(), d));
};
b.reset();
c.uiItems && c.uiItems().each(e);
c.annotations().each(e);
wr(a.legend.currentOptions.position).match("caOffset|caAlign|absolute") && ((a = a.legend.getBounds()), b.addLabelBox(Xc(a, d)));
}
function yi(a) {
var c = new Function("getter", "return " + JSON.stringify(a) + ";"),
b = Zy(a);
return b.length
? function () {
var a = c(),
e;
try {
for (var f = ya(b), g = f.next(); !g.done; g = f.next()) {
var h = g.value;
Z(a, h[0], h[1]);
}
} catch (l) {
var k = { error: l };
} finally {
try {
g && !g.done && (e = f.return) && e.call(f);
} finally {
if (k) throw k.error;
}
}
return a;
}
: c;
}
function xr(a, c) {
var b = I(c);
a = a.currentOptions;
return "undefined" === b ? a : "string" === b ? C(a, c.replace(/_/g, ".")) : "NotGetter";
}
function yr(a) {
if (!a.currentOptions.colorsValueRange)
var c = 1 >= a.stopRange && 0 <= a.stopExtremes[0] && 1 >= a.stopExtremes[1],
b = 1 >= a.dataRange && 0 <= a.extremes[0] && 1 >= a.extremes[1];
return { stopPerc: c, dataPerc: b };
}
function md(a, c, b) {
return a && a.pixelCorrection ? a.snap(c, b) : c;
}
function nd(a, c, b) {
if (!a || !a.pixelCorrection) return c;
a = md(a, [c[0], c[1], b, b], b);
return [a[0], a[1]];
}
function ue(a, c, b) {
return a && a.pixelCorrection
? B(c, function (c) {
return nd(a, c, b);
})
: c;
}
function zr(a, c, b, d) {
if (!a || !a.pixelCorrection) return c;
d = t(d) ? d : b / 2;
var e = c[0],
f = c[1],
g = G(e, 2);
e = g[0];
g = g[1];
var h = G(f, 2);
f = h[0];
h = h[1];
return e === f
? ((c = !1), g > h && ((c = g), (g = h), (h = c), (c = !0)), (g += d), (e = [e, g, 0, h - d - g]), (a = md(a, e, b)), (e = [a[0], a[1] - d]), (f = [a[0], a[1] + a[3] + d]), c ? [f, e] : [e, f])
: g === h
? ((c = !1), e > f && ((c = e), (e = f), (f = c), (c = !0)), (e += d), (e = [e, g, f - d - e, 0]), (a = md(a, e, b)), (e = [a[0] - d, a[1]]), (f = [a[0] + a[2] + d, a[1]]), c ? [f, e] : [e, f])
: c;
}
function Hl(a) {
return new $y(a);
}
function Kd(a) {
a.type = "panel";
return a;
}
function ve(a) {
a.width = "*";
a.height = "*";
return a;
}
function zi(a, c, b, d) {
return { xAlignment: a, yAlignment: c, offsetX: b, offsetY: d };
}
function Il(a, c) {
a = a.rootVisuals;
var b;
(b = c[3]) && a.leftOverflow.attr({ width: b });
(b = c[0]) && a.topOverflow.attr({ height: b });
(b = c[1]) && a.rightOverflow.attr({ width: b });
(b = c[2]) && a.bottomOverflow.attr({ height: b });
}
function Ar(a) {
var c = function () {
var b = [0, 0],
c = [0, 0];
a.axes().each(function (a) {
var d = a.overflowSize.tL;
a = a.overflowSize.bR;
b[0] = Math.max(b[0], d[0]);
b[1] = Math.max(b[1], d[1]);
c[0] = Math.max(c[0], a[0]);
c[1] = Math.max(c[1], a[1]);
});
return [b[1], c[0], c[1], b[0]];
},
b = function () {
var b = [0, 0, 0, 0];
a.axes().each(function (a) {
b[a.sideIndex()] += a.sideDepth();
});
return b;
},
d,
e = (function () {
var e = [0, 0, 0, 0],
g = c(),
h = a.chart.currentOptions.extraOverflows || [0, 0, 0, 0],
k = (a.currentOptions.extraOverflows || [0, 0, 0, 0]).map(function (b, a) {
return b + h[a];
});
d = b();
w(g, function (b, a) {
e[a] = Math.max(g[a] + k[a] - d[a], 0);
});
return e;
})();
a.overflows = e;
a.axSizes = d;
return e;
}
function Br(a) {
var c = (a.overflows = Ar(a));
Il(a, c);
return c;
}
function Jl(a, c, b) {
function d(b, a, c) {
var d,
e = b.series;
c = null === (d = e.currentOptions.pointSelection) || void 0 === d ? void 0 : d.max;
if (nb(c))
if (((d = e.chart), (e = d._sMaxList), a)) {
if (e && e.length + 1 > c) for (; e.length + 1 > c; ) f(e.shift());
else d._sMaxList = e = e || [];
e.push(b);
} else pb(e, b);
}
function e(b, a) {
b.currentOptions.selected = a;
b.userOptions.selected = a;
}
function f(b) {
b.legendEntry && b.legendEntry.updateCheckbox(!1);
e(b, !1);
b.setState("");
}
var g = a.chart,
h = a.series.currentOptions.pointSelection,
k = t(h) ? h : !1;
k && d(a, c);
g.isRendered
? (a.setState(c ? "select" : ""),
k &&
(c &&
a.series.chartArea
.series()
.points()
.items.forEach(function (c) {
var d;
if ((d = c.selected))
a: {
if (c.selected) {
if (c._i === a._i && c === a) {
d = void 0;
break a;
}
"multiple" === k || nb(k.max) || ("single" === k ? f(c) : !b && f(c));
}
d = void 0;
}
return d;
}),
a.legendEntry && a.legendEntry.updateCheckbox(c),
e(a, c)))
: c && (a.selected = !0);
}
function Kl(a, c, b) {
var d, e, f;
b = t(b) ? b : a.userPoints.length;
0 === c && (d = a.currentOptions.firstPoint) ? (f = d) : c === b - 1 && (e = a.currentOptions.lastPoint) && (f = A({}, f || {}, e));
a._defPointGen || (a._defPointGen = yi(A({ label: { placement: "auto", style: { fontFamily: "tahoma, geneva, sans-serif", fontSize: "12px" } } }, a.currentOptions.defaultPoint)));
a = a._defPointGen();
return f ? A(a, f) : a;
}
function Ll(a) {
a = a.currentOptions;
!0 === a.muted && !1 === C(a, "states.mute.enabled") && (a.muted = !1);
!0 === a.selected && !1 === C(a, "states.select.enabled") && (a.selected = !1);
}
function Ml(a, c) {
var b, d;
!1 === (null === (d = null === (b = a.currentOptions.states) || void 0 === b ? void 0 : b[c]) || void 0 === d ? void 0 : d.enabled) && (c = t(a.state) && a.state !== c ? a.state : "");
return c;
}
function Ai(a, c, b, d) {
function e(b, c) {
if (void 0 !== (g = I((f = c))) && "undefined" !== g)
if (((b = "c" === b[0] ? b.replace("complete.y", "complete").replace("complete.x", "completeX") : b), (c = "" + b), "array" === g)) {
if (2 !== f.length) throw "value array can only have 2 items.";
I(f[0]);
b = f[0];
I(f[1]);
var d = f[1];
h[c + "e"] = d;
h[c + "s"] = b;
h[c + "r"] = d - b;
h[c + "a"] = (d + b) / 2;
} else "null" === g && "y" === b ? ("treataszero" === a.currentOptions.emptyPointMode ? (h.y = 0) : (h.isEmpty = !0)) : (h[c] = f);
}
for (var f, g, h = {}, k = c.name, l = 0, m = b.length; l < m; l++) {
var n = b[l];
-1 < n.indexOf(".") ? e(n, C(c, n)) : e(n, c[n]);
}
!0 !== d && A(h, az(c, h));
Z(h, "cpbIndex", c.cpbIndex);
w(Cr, function (b) {
return Z(h, b, c[b]);
});
h.x = z(h.x, k);
t(h.x) || t(h.xr) || (h.x = c._i);
return h;
}
function az(a, c) {
function b(b, a, e) {
var l = {};
e = "sv" + e;
p = c[a];
t(p) || (p = c[a + "e"]);
n = Q((m = c[a + "s"])) ? (m = p) : p - m;
(f = b.range) && d(l, (e + "s," + e).split(","), f);
(h = b.offset) && d(l, (e + "s," + e).split(","), [m - h, p + h]);
if ((g = b.percent)) (h = (g / 100) * n), d(l, (e + "s," + e).split(","), [m - h, p + h]);
if ((k = b.values)) l[e + "v"] = k;
return l;
}
function d(b, a, c) {
for (var d = 0, e = a.length; d < e; d++) b[a[d]] = c[d];
}
var e,
f,
g,
h,
k,
l = {},
m,
n,
p;
(e = a.subvalue) && A(l, b(e, "y", ""));
(e = a.subvalueX) && A(l, b(e, "x", "x"));
return l;
}
function Dr(a, c) {
return a.map(function (b) {
return Bi(b, c);
});
}
function Bi(a, c) {
return { _i: a.indexer.findValue_i("x", c.value), series: a };
}
function bz(a) {
return (a = a && a.info.type) && (a.isShape || a.isPie || a.colorByPoint) ? "point" : "series";
}
function Nl(a) {
if ((a = a.currentOptions.hoverAction) && "none" !== a) return a.toLowerCase().replace("highlight", "").replace("pointgroup", "group");
}
function Ol(a, c, b) {
var d = "Point" === a.kind,
e = d ? a.series : a,
f = d ? a : void 0,
g = e.chart;
b = b && "auto" !== b ? b : bz(e);
d || "point" !== b || (b = "series");
b && "none" !== b && (g.highlighted = a);
g.series().items.forEach(function (a) {
a.isVisible && (a !== e && "group" !== b ? Jg(a, "mute") : "point" === b ? Jg(a, "mute", f) : "group" === b ? Jg(a, "mute", cz(f)) : Jg(a, z(c, ""), f));
});
}
function Qb(a, c) {
a.renderer.renderer.isRootDestroyed() ||
(a.series().items.forEach(function (b) {
b.isVisible && Jg(b, "", c, !0);
}),
(a.highlighted = void 0));
}
function Jg(a, c, b, d) {
if (a.isVisible) {
if (d) {
var e = a.getAnimationConfig();
e && 0 !== e.duration && (e.duration = Math.min(230, e.duration));
var f = { animation: e };
} else f = { continueAnimation: !1 };
if (b && b.pop)
a.points().each(function (a) {
"select" !== a._state && (ae(b, a) ? a.setState("", f) : a.setState(c, f));
});
else {
var g = "" === c;
(b && b.series === a && a.state === c) || "select" === a.state || (a.visualizer.debounce.clear("unhoverline"), a.setState(c, f));
a.points().each(function (a) {
(a !== b || ("mute" === a._state && g)) && "select" !== a._state && a.setState(c, f);
});
}
d && a.chartArea.ignoreAnimationFor(f.animation.duration);
}
}
function cz(a) {
var c = a.series,
b = c.chartArea.series().items;
return Dr(b, { value: c.indexer.getValue("x", a._i) }).map(function (b) {
return b.series._points[b._i];
});
}
function Er(a, c) {
var b = a.series,
d = b.rootVisuals,
e = b.info.type,
f = b.info.style,
g = {},
h = !0 !== b.xAxis.options("crosshair.enabled") && !0 !== b.yAxis.options("crosshair.enabled") && !1 !== b.options("mouseTracking.enabled") && !1 !== b.options("states.hover.enabled");
f = f.attr.line;
if (e.drawLine && a.coordinates.line) {
var k = a.paths.lines ? a.paths.lines.join(" ").replace(/,/g, " ") : tg(a.coordinates.line).join(" ");
g.pathAnimation = { type: "line", shift: null === c || void 0 === c ? void 0 : c.shift };
}
"" !== b.state && (f = b.getStateAttrs(b.state).line);
return {
d: k,
state: f,
shapeName: "line",
target: d.line,
zIndex: b.zIndex + gb.series,
visGetter: function () {
return b.visuals.line;
},
visSetter: function (a) {
return (b.visuals.line = a);
},
animation: g,
events: h
? {
mouseover: function (a) {
b.visualizer.debounce.run("unhoverline");
"select" !== b.state && b.setState("hover");
},
mouseout: function (a) {
b.visualizer.debounce.defer(
"unhoverline",
function () {
"select" !== b.state && "mute" !== b.state && b.setState("");
},
150
);
},
}
: {},
};
}
function Ci(a, c, b, d) {
var e = c[0],
f = c[1];
c = Math.min.apply(Math, H(c));
e = kg(e / 2, f / 2, c, c);
b = d || a.series.getPointMarkerType(b && b.currentOptions ? b.currentOptions : b);
0 === a.series.getPointAttr().pointAttr[""].r && (b = "none");
return { base: 0 === b.indexOf("url") ? b : Ld(b, e.x, e.y, c, c) };
}
function Ld(a, c, b, d, e, f) {
return $p(a.name ? a.name : a, c, b, d, e, f);
}
function Fr(a, c, b) {
var d = a.series,
e = c[0],
f = c[1];
d = d.ctManager.settingVal("lineSeriesType", d.currentOptions);
a = Ci(a, c, b);
switch (d) {
case "spline":
e = "M0 " + f + " C " + 0.2 * e + " 0 " + 0.8 * e + " " + 1 * f + " " + e + " 0";
break;
case "step":
e = "M0 " + f + " L " + 0.5 * e + " " + f + " " + 0.5 * e + " 0 " + e + " 0";
break;
default:
e = "M0 " + f + " L " + e + " 0";
}
a.extra = e;
return a;
}
function Pl(a, c, b) {
var d = { base: dc.rectangle(0, 0, c[0], c[1], { r: 2, corners: ["round", "round", "round", "round"] }) };
b && (a.series.options("forceMarker") || !0 === N(b.currentOptions, ["marker", "visible"])) && ((d.extra = a.getBodyShapeName(b, !0)), O(d.extra) && -1 === d.extra.indexOf("url") && (d.extra = Ld(d.extra, 0, 0, c[0], c[1])));
return d;
}
function Ql(a, c, b, d) {
var e = b.rect;
if (!e) return "";
a = a.series;
var f = a.ctManager;
e = ha(e);
var g = c.currentOptions.marker || {};
if ((0 === e[2] || 0 === e[3]) && !0 === g.visible) return (d = b.styleSet.markerSize), (b.meta.shape = mb(b.xyz, [d, d])), "";
g = f.isHoriz() ? 2 : 3;
1 > e[g] && 0 < e[g] && ((e[g] = 1), 2 === g && --e[0]);
g = z(N(c.currentOptions, ["outline", "width"]), 1);
d = md(d, e, g);
d.id = c.id;
g = (c = f.isType("gauge", a)) ? a.pane.isHoriz : a.chartArea.isHoriz;
if (c && "roundcaps" === f.settingVal("columnType", a)) {
a = d[0];
f = d[1];
c = d[2];
e = d[3];
g = { caps: g ? { left: "round", right: "round" } : { top: "round", bottom: "round" } };
void 0 === g && (g = {});
g = g.caps;
var h = Math.PI / 2;
if (g) {
var k = c / 2,
l = e / 2,
m = ["M", a, f];
g.top ? m.push.apply(m, H(Kc(a + k, f, k, 2 * h, 0))) : m.push.apply(m, H(["L", a + c, f]));
g.right ? m.push.apply(m, H(Kc(a + c, f + l, l, -h, h))) : m.push.apply(m, H(["L", a + c, f + e]));
g.bottom ? m.push.apply(m, H(Kc(a + k, f + e, k, 0, 2 * h))) : m.push.apply(m, H(["L", a, f + e]));
g.left ? m.push.apply(m, H(Kc(a, f + l, l, h, -h))) : m.push("Z");
a = m;
} else a = Yh(a, f, c, e);
} else a = d[2] && d[3] ? dc.square(d[0], d[1], d[2], d[3]) : dc.none(d[0], d[1]);
Z(b, "collision.body", d);
return xa(a);
}
function Gr(a, c, b) {
var d,
e = [];
if (!a) return { cxy: g, size: e, innerSize: h, offset: k, innerPadding: l };
b = ha(c);
c = Math.min(c.width, c.height);
var f;
if ((d = a.center)) {
var g = G(d.split(","), 2);
d = g[1];
g = [db(g[0], b[2]), db(d, b[3])];
}
if ("undefined" !== (f = I((d = a.size))))
switch (f) {
case "string":
d = G(d.split(","), 2);
e = d[0];
d = d[1];
e = [db(e, c), db(d, c)];
break;
case "array":
c = G(d, 2);
e = c[0];
d = c[1];
e = [db(e, b[2]), db(d, b[3])];
break;
default:
(e = db(d, c)), (e = [e, e]);
}
if ((d = a.innerSize)) var h = db(d, 1);
if ((d = a.offset)) {
var k = G(d.split(","), 2);
c = k[1];
k = [db(k[0], b[2]), db(c, b[3])];
}
if ((d = a.innerPadding)) var l = db(d, 1);
return { cxy: g, size: e, innerSize: h, offset: k, innerPadding: l };
}
function Hr(a, c, b) {
var d = b.xAlignment;
b = b.yAlignment;
return lo(a, c, d, d, b, b);
}
function dz(a, c, b, d, e, f) {
var g = a.series,
h = d.meta,
k = c.visuals,
l,
m = g.pane || g.chartArea;
c.labelAutoHidden = !1;
var n = m.collisionManager,
p = function (b, d) {
var e = a.collidePointBoxes ? b : Hr(h.labelTextBox, b, h.labelAttr);
if (d ? !n.collideLabels(e) : !n.collideAll(e, c.id)) return h.shape && Ad(h.shape, va(b)) && !$c(h.shape, b) ? !1 : !0;
},
q = function (b) {
return p(b, !0);
};
a.initPointLabel(c, d, b);
k = a.getLabelWrapper(k.label, b);
m = h.labelSize.slice(0);
var r = a.possibleLabelPositions(c, "", b, d, e);
e = h.labelAttr;
d.meta.label = void 0;
d.meta.labelPossible = r;
q =
S(r, function (b) {
return p(b, !1);
}) || S(r, q);
d.meta.isVertical && (l = !0);
q || !1 !== b.label.autoHide || (r.length ? (q = r[0]) : ((q = h.xy), h.shape && (q = va(h.shape)), (q = [q[0] - m[0] / 2, q[1] - m[1] / 2, m[0], m[1]]), (r = [q])));
r[0] && (q || a.isRadial)
? ((d = d.meta.label = q || r[0]) && d.rotate && !t(e.rotate) && (e.rotate = d.rotate),
t(e.rotate) && nb(e.rotate)
? ((q = va(d)), A(e, { x: q[0] - m[0] / 2, y: q[1] - m[1] / 2 }), (e.rotate = [e.rotate, m[0] / 2, m[1] / 2]))
: l
? ((q = va(d)), A(e, { x: q[0] - m[0] / 2, y: q[1] - m[1] / 2 }), (e.rotate = [-90, m[0] / 2, m[1] / 2]))
: (A(e, { x: d[0], y: d[1] }), (e.rotate = [0, 0, 0])),
(e = a.render_applyDynamicAttrVals([e, { zIndex: g.zIndex + gb.label }], f)),
(e.zIndex = g.zIndex + gb.label),
(a.hcLabelsOnly || d.isInside) && b.label.hcColor && (e.fill = b.label.hcColor),
k.attr(e))
: (r.length && ((b = r[0]), k.attr({ x: b[0], y: b[1] })),
a.hideVisual(k),
(h.autoHidden = !0),
(c.labelAutoHidden = !0),
Ma.emit("tip", g.name || "", "pLabelHidden", { data: [g.name || g.currentOptions.id || " ", Ir(h.labelText, 10)], container: g.chartArea.chart.getWrapper() }));
}
function ez(a, c, b, d, e, f) {
var g = a.series;
b = g.isVisible;
d = !1 === (c.currentOptions.label || {}).autoHide;
var h = e.meta,
k = ha(a.series.contentRect()),
l = 0,
m = h.labelSize,
n = h.labelObstacles;
h.marker && (l = e.meta.marker[2]);
h = fz;
("line" === a.kind || "area" === a.kind) && g.ctSvIs("lineSeriesType", "step") && (h = gz);
e = mb(e.xyz, [l, l]);
var p = h(a, e, n, c._i, f);
e = hz(a, c);
w(e, function (b) {
var a = "o" === b.align[0],
c = "o" === b.vAlign[0];
a = (-1 < b.align.indexOf("left") || -1 < b.align.indexOf("right")) && (-1 < b.vAlign.indexOf("top") || -1 < b.vAlign.indexOf("bottom")) && p.outCorner ? p.outCorner : a || c ? p.out : p.in;
b.box = he(H([0, 0], m), a, b.align, b.vAlign).box;
});
e =
b && d
? sa(e, function (b) {
return !$c(k, b.box);
})
: b
? ea(e, function (b) {
return $c(k, b.box);
})
: e;
g = g.info.type.drawArea && !a.isRadial ? iz : g.info.type.drawLine && 0 === n.length ? jz : kz;
e.length && (e = g(e, a, c, p, f));
b &&
d &&
(e = sa(e, function (b) {
return !$c(k, b.box);
}));
return B(e, function (b) {
return b.box;
});
}
function Jr(a, c) {
var b = a.series;
a = b.info.style.base;
c = b.info.type.drawMarker;
var d = b.getUniqueColors(3);
1 < d.length ? (d.push(0), (a = oc(d))) : (a = a.color);
b = b.currentOptions.defaultPoint || {};
d = b.marker || {};
c = c ? A({}, b, d) : b;
b = z(c.fill, c.color, "currentColor");
d = z(N(c, ["outline", "color"]), c.color, "outline");
var e = z(N(c, ["outline", "width"]), 1);
b = { fill: ia(b, a), stroke: ia(d, a), "stroke-width": ua(e, 0, 3) };
c.hatch && ((b.hatch = ia(c.hatch, a)), (b.hatchPattern = c.hatchPattern));
return { base: b };
}
function lz(a, c, b, d, e, f) {
var g = b.xyz,
h = a.series,
k;
a = a.getBodyShapeName(c);
var l = b.rect;
if ("string" === typeof a && vb(a, "url(")) return a;
if (!(k = b.path)) {
k = z(e, 5);
e = c.currentOptions.marker || {};
l || (l = kg(g[0], g[1], 2 * k, 2 * k));
if ((k = Kr(e.offset))) l = Wo(Oa(l), k[0], k[1]);
g = b.meta.snappedBox = [l.x, l.y, l.width, l.height];
a && !~mz.indexOf(a) && ((k = N(e, ["outline", "width"]) || 1), (g = b.meta.snappedBox = md(d, g, k)));
b.path
? (k = b.path)
: ((d = h.pointBodyDGenerator),
0 === l.width && 0 === l.height && (a = "none"),
(k = d && d(a, b)),
k ||
((k = Ld(a, g[0], g[1], g[2], g[3])) || (k = Ld("none", g[0], g[1], g[2], g[3])),
"none" !== a &&
((d = e.rotate), O(d) && -1 < d.indexOf("%") && (d = parseFloat(c.replaceTokens(d))), d && ((c = "auto" === d ? N(b, ["arc", "angle"]) : d), "circle" !== a && (k = (k.isPath ? k : Aa(k)).rotate(c + 90))))));
f && (b.meta.marker = ha(l));
}
return xa(k);
}
function nz(a, c, b, d, e) {
var f = b.xyz,
g = b.xyzs;
d = z(d, 5);
var h = a.series.xAxis;
f = [h && h.isStackedFull() ? (f[0] + g[0]) / 2 : f[0], f[1]];
if ("string" === typeof c && vb(c, "url(")) return c;
e = nd(e, f, 1);
e = kg(e[0], e[1], 2 * d, 2 * d);
e = (e = Ld(c, e.x, e.y, e.width, e.height)) ? (e.pop ? xa(e) : e) : "M0 0";
d = N(a.currentOptions, ["marker", "rotate"]);
O(d) && -1 < d.indexOf("%") && (d = parseFloat(a.replaceTokens(d)));
d && "circle" !== c && ((a = "auto" === d ? N(b, ["arc", "angle"]) : d), (e = Aa(e).rotate(a + 90)));
return e;
}
function Lr(a) {
var c = (a.pane || a.chartArea).rootVisuals,
b = c.dataContent;
a.rootVisuals = { area: b, line: b, points: b, pointHalo: c.axisMarkersFront };
}
function Ra(a) {
a && a.attr({ opacity: 0 });
}
function oz(a, c) {
var b = a.series;
c = b.rootVisuals;
var d,
e = b.info.style.attr.area;
a.coordinates.area && (d = a.paths.areas ? a.paths.areas.join(" ").replace(/[,Z]/g, " ") + "Z" : tg(a.coordinates.area).join(" "));
"" !== b.state && (e = b.getStateAttrs(b.state).area);
return {
d: d,
state: e,
shapeName: "area",
target: c.area,
zIndex: b.zIndex + gb.series,
visGetter: function () {
return b.visuals.area;
},
visSetter: function (a) {
return (b.visuals.area = a);
},
};
}
function pz(a, c, b, d, e, f, g) {
var h = a.series,
k = h.info.type.roundCaps,
l = a.isHoriz(),
m = c.meta;
g = m.labelObstacles;
var n = c.meta.shape.slice(0);
k && (n = Bl(n, l ? [0, -n[3] / 2] : [-n[2] / 2, 0]));
k = 0;
m.marker && (k = c.meta.marker[2]);
m = { u: 0, r: 0, d: 0, l: 0 };
m[b] = k;
var p = qz(a, n, b, g, m, c);
c = B(f, function (b) {
var a = !Mr(b),
c = a ? p.out : p.in;
b = he(H([0, 0], e), c, b.align, b.vAlign).box;
b.isInside = !a;
return b;
});
w(c, function (b, a) {});
var q = [];
w(c, function (b) {
(h.pane || !a.series.isVisible || $c(d, b)) && q.push(b);
});
return q;
}
function rz(a, c, b) {
var d = a.series,
e = d.pane;
b = e && e.getCompleteVisInfo ? e.getCompleteVisInfo(b) : Cc(ha(b.rectComplete));
a = sz(a, c);
return {
d: b,
state: a,
target: d.rootVisuals.points,
zIndex: d.zIndex + gb.complete,
visGetter: function () {
return c.visuals.rectComplete;
},
visSetter: function (b) {
return (c.visuals.rectComplete = b);
},
};
}
function sz(a, c) {
a = { hatch: "rgba(0,0,0,.8)", stroke: "#000", "stroke-opacity": 0.3, "stroke-width": 1, hatchPattern: "light-upward-diagonal", zIndex: a.series.zIndex + gb.complete };
var b = c.currentOptions.complete || {},
d = c.series.currentOptions.defaultPoint || {};
c = function (a) {
return b[a] || C(d, "complete." + a);
};
ni(a, c("fill"));
ar(a, c("hatch"));
return a;
}
function tz(a, c) {
return Ai(a, { x: c.x, y: [c.open, c.close], subvalue: { range: [c.low, c.high] } }, ["x", "y", "subvalue"]);
}
function uz(a, c) {
var b = { x: c.x, y: [c.low, c.high], subvalue: { range: [c.open, c.close] } };
c.name && (b.name = c.name);
return Ai(a, b, ["x", "y", "subvalue"]);
}
function vz(a, c, b, d) {
var e = b.xyz,
f = b.xyzs,
g = b.sv,
h = b.svs;
a = a.isHoriz();
var k = b.rect;
b = a ? 0 : k.width / 2;
a = a ? k.height / 2 : 0;
c = z(N(c.currentOptions, ["outline", "width"]), 1);
d = ue(d, [f, e, [h[0] - b, h[1] - a], h, [g[0] + b, g[1] + a], g], c);
return xa(["M", d[0], "L", d[1], "M", d[2], "L", d[3], "M", d[4], "L", d[5]]);
}
function wz(a, c, b, d, e) {
d = Nr(a, c, d);
return [Nr(a, c, b), "Z", d, "z"];
}
function Nr(a, c, b, d) {
void 0 === d && (d = !0);
var e = [];
a -= b;
c -= b;
var f = 2 * b,
g = 2 * b;
b *= 0.3318;
d && e.push("M", a + f / 2, c);
e.push("C", a + f + b, c, a + f + b, c + g, a + f / 2, c + g, "C", a - b, c + g, a - b, c, a + f / 2, c);
return xa(e);
}
function xz(a, c, b, d) {
var e = a.series;
c = b.xyz;
var f = b.xyzs,
g = "M" + c[0] + " " + c[1],
h = Ha(c[2]),
k = f[2] !== c[2];
e = e.options("shape.type") || "circle";
d = nd(d, c, 1);
if (h) (b.pathD = b.meta.bodyD = g), (b.hitTest = xc);
else {
k ? (g = wz(d[0], d[1], c[2], f[2]).join(" ")) : ((d = kg(d[0], d[1], f[2], f[2])), (g = Ld(e, d.x, d.y, d.width, d.height)));
b.pathD = b.meta.bodyD = g;
var l = b.xyz,
m = Math.max(b.xyz[2] / 2, 5),
n = a.getLabelHitTest();
b.hitTest = function (b, a) {
return Xb(l, [b, a]) <= m || n(this, b, a);
};
}
return xa(g);
}
function yz(a) {
a = pa(a);
return !(1 === a.length && gc(a, Or).length);
}
function zz(a) {
return function () {
var c = [];
a.each(function (b) {
c = c.concat(b._points);
});
return c;
};
}
function Az(a) {
return function (a) {};
}
function Bz(a, c, b, d) {
w(c.dataPositions.items, function (b) {
b = Dr(a, b);
var c = 0,
d = 0,
e = {},
k = b[0].series.yAxis.isStackedFull(),
l = 0;
k &&
w(b, function (b) {
b = b.series.indexer.getItem(b._i).y;
l += b;
});
w(b, function (b) {
var a = b.series.indexer.getItem(b._i).y,
f = k ? a / l : a;
0 <= f ? ((e.ys = c), (e.yr = a), (c = e.ye = f + c)) : ((e.ys = d), (e.yr = f), (d = e.ye = d + f));
b.series.indexer.indexObject(e, b._i);
});
});
a.reverse();
w(a, function (a) {
a.zIndex = b += 8;
a.seriesDirty.pos(!0);
});
return b;
}
function Cz(a, c, b) {
var d = c.dataPositions.items,
e = function (b) {
return t(b.z) ? b.z : t(b.y) ? b.y : 1;
},
f = [],
g = [],
h = a.length,
k = c.range.max - c.range.min,
l = function (b, a) {
b = Bi(b, a);
return e(b.series.indexer.getItem(b._i));
},
m = b
? B(a, function (b) {
return Ta(
B(d, function (a) {
return l(b, a);
})
);
})
: B(d, function (b) {
return Ta(
B(a, function (a) {
return l(a, b);
})
);
}),
n = function (b, a, c, d, e, h) {
var k = {};
f.push([e, c]);
f.push([c, h + e]);
g.push([a - d, a]);
g.push([a, a + d]);
k.xs = a - d;
k.xe = a + d;
b.series.indexer.indexObject(k, b._i);
};
if (b)
w(a, function (b, a) {
var f = c.range.min;
w(d, function (c, d) {
c = Bi(b, c);
var g = c.series.indexer.getItem(c._i);
g = (e(g) * k) / m[a];
n(c, d, f + g / 2, 0.5, f, g);
f += g;
});
});
else {
var p = Ta(m),
q = c.range.min;
w(d, function (b, c) {
w(a, function (a, d) {
a = Bi(a, b);
var e = (m[c] * k) / (p * h),
f = 0.5 / h;
n(a, c + d / h - 0.5 + f, q + e / 2, f, q, e);
q += e;
});
});
}
var r = function (b, a, c) {
for (var d, e = 0, f = b.length; e < f; e++) {
var g = b[e],
h = g,
k = Math.round(100 * c) / 100;
if (k >= Math.round(100 * h[0]) / 100 && k <= Math.round(100 * h[1]) / 100) {
b = a[e];
d = Y(b[0], b[1], g[0], g[1], c);
break;
}
}
return d;
};
c._stackTranslators = {
backward: function (b) {
return r(f, g, b);
},
forward: function (b) {
return r(g, f, b);
},
};
}
function Dz(a, c) {
for (
var b = { points: [] },
d,
e,
f,
g = function (b) {
return zc(e, f, b, b);
},
h = function (b) {
return B(b, function (b) {
return b.pop ? { x: b[0], y: b[1], z: b[2] } : b;
});
},
k = function (b, a) {
var c,
d = 0;
w(b, function (b) {
t((c = b[a])) && (d += c);
});
return d;
},
l = function (l, m) {
f = a[l];
d = h(f.points);
c
? w(d, function (a) {
b.points.push(A({ cpbIndex: l }, a));
})
: ((m = B(d, function (b) {
return b.y;
})),
(e = { y: Ta(m), x: k(d, "x") }),
(e.subvalue = { values: m }),
w(["id", "name"], g),
(b.points[l] = A(e, f.defaultPoint || {})));
},
m = 0,
n = a.length;
m < n;
m++
)
l(m);
b.isMerged = !0;
return b;
}
function Pr(a) {
var c = a.indexer,
b = a.info,
d = a.options(),
e = d.xAxis,
f = a.chart.chartItemManager.exists(d.yAxis) || {};
e = a.chart.chartItemManager.exists(e) || {};
var g,
h = b.type.seriesType,
k = function (b) {
b = a.replaceTokens({ token: b });
return "-" === b ? "" : b;
},
l = k("%xAxisLabel"),
m = k("%yAxisLabel");
k = k("%zAxisLabel");
b.type.isMapLayer && (g = a.chart.geoParser.findFeatureProps(a, a.chart.internal.mappingInfo));
return {
vScale: N(f.currentOptions, ["scale", "type"]) || f.type || f.dataType,
xScale: e.type || e.dataType,
ct: a.ctManager.settingVal("chartType", d),
st: h,
mapInfo: g,
xNotSorted: !b.xIsSorted,
yAxisLabel: m,
xAxisLabel: l,
zAxisLabel: k,
sName: d.name,
hasZ: c.hasKey("z"),
hasX: c.hasKey("x"),
hasRange: c.hasAllKeys(["ys", "ye"]) && !c.hasKey("y"),
};
}
function Di(a, c, b) {
a.push(we(a[a.length - 1], c, b));
}
function we(a, c, b) {
return [a[0] + c[0] * b, a[1] + c[1] * b];
}
function Qr(a, c) {
var b;
void 0 === c && (c = Gb);
var d = [];
try {
for (var e = ya(a), f = e.next(); !f.done; f = e.next()) {
var g = f.value,
h = c(g);
t(h) && !h.pop && d.push(g);
}
} catch (l) {
var k = { error: l };
} finally {
try {
f && !f.done && (b = e.return) && b.call(e);
} finally {
if (k) throw k.error;
}
}
return d;
}
function xe(a, c) {
var b = function (b) {
return c[0] === b[0] && c[1] === b[1];
},
d = function (b) {
return c === b;
};
b = c.pop ? b : d;
for (d = 0; d < a.length; d++) if (b(a[d])) return d;
return -1;
}
function Rr(a) {
var c = [[], [], [], []];
a.each(function (b) {
return c[b.sideIndex()].push(b);
});
c[0].reverse();
c[3].reverse();
return c;
}
function Ei(a) {
var c = a.isTransitioning
? a._ticks
: ea(a._ticks, function (b) {
return !b.invalid;
});
a = Qr(c, function (b) {
return b.value();
});
c = Ez(c, function (b) {
return b.value();
});
var b = a.length;
c = sa(c, function (b) {
return t(b.currentOptions._lI) ? b.currentOptions._lI : -1;
});
var d = function (a) {
return !b && a._rngData && 0 === a._rngData.level && (!a.currentOptions.rangeMode || "auto" === a.currentOptions.rangeMode);
},
e = [],
f = a.slice(0);
w(c, function (b) {
b._isBaseRange = d(b);
});
var g = ea(c, function (b) {
return b._isBaseRange;
});
f.push.apply(f, H(g));
e.push.apply(
e,
H(
ea(c, function (b) {
return !d(b);
})
)
);
var h = 1;
b ||
w(e, function (b) {
b._rngData && b._rngData.level < h && (h = b._rngData.level);
});
var k;
g.length && 0 === h && (k = !0);
return { valTicks: a, rngTicks: c, valArrange: f, rngArrange: e, fullRangesLevel: h, sharesBase: k };
}
function Ez(a, c) {
var b;
void 0 === c && (c = Gb);
var d = [];
try {
for (var e = ya(a), f = e.next(); !f.done; f = e.next()) {
var g = f.value,
h = c(g);
t(h) && 2 === h.length && d.push(g);
}
} catch (l) {
var k = { error: l };
} finally {
try {
f && !f.done && (b = e.return) && b.call(e);
} finally {
if (k) throw k.error;
}
}
return d;
}
function Sr(a, c) {
var b = a.isHoriz,
d = S(a._ticks, function (b) {
return !b._isRange;
}),
e = Ei(a),
f = a._rngData,
g = f.levels,
h = f.duV;
f = function (b) {
for (var a = 0; a < c.length; a++) b(c[a], a);
};
f(function (b) {
var a = b._rngData;
b = b._metrics.textSize.slice(0);
a.labelSize = a.rotate ? [b[1], b[0]] : b;
});
var k = a.tickMetricsData,
l = a.sideIndex(),
m = k.getMaxLength(),
n = 0 === l || 1 === l,
p = 0 === l || 3 === l,
q = 0,
r = [0, 0],
u = 0;
k = e.sharesBase ? 0 : k.maxLength;
r[h.vc] = p ? m - k : k;
var x = function (b) {
var a = !1;
b._rngData.rotate && (a = !a);
return a;
},
v = function (b) {
var a = b._metrics.textSize;
return x(b) ? [a[1], a[0]] : a.slice(0);
},
y = function (b) {
return ea(c, function (a) {
return a._rngData.visible && a._rngData.level === b;
});
};
k = function (c) {
c = y(c);
if (c.length) {
var f = Math.max.apply(
Math,
H(
c.map(function (b) {
return b._rngData.labelOnTop ? 0 : v(b)[1];
})
)
),
g = 0,
k = function (b, a, c) {
var d = we(r, h.o, q);
d[h.hc] = b._metrics.px[0];
d = [d];
Di(d, h.o, a);
Di(d, h.f, la(b._metrics.px[0], b._metrics.px[1]));
Di(d, h.i, a);
return { points: d, options: A({}, c) };
},
m,
p = function (b, a) {
b = y(b + 1) || [];
if (b.length) {
b = b.map(function (b) {
return b._metrics.px;
});
for (var c = !1; !c && b.length; )
if (0 < bg(b, a).length) c = !0;
else break;
return c;
}
return !0;
},
D = [];
w(c, function (b, a) {
a = b._rngData;
var c = v(b),
e = b.currentOptions.rangeMode;
e = !d && 0 === a.level && (!e || "auto" === e) && !b._rngData.visPartial;
var f = a.labelSize;
a.labelOnTop || ((b = e ? f[1] / 2 + b.currentOptions.padding : Math.max(14, c[1] / 2)), D.push(b));
});
w(c, function (c) {
m = [];
var u = c._rngData,
y = c._metrics.px,
t = Wf(u.labelRange),
F = v(c),
E = c.currentOptions.rangeMode;
E = !d && 0 === u.level && (!E || "auto" === E) && !c._rngData.visPartial;
var w = u.labelSize,
R = Math.max.apply(Math, H(D));
if (u.labelOnTop) {
var M = we(r, h.o, q + 20 + F[1] / 2);
M[h.hc] = t;
u.labelBbox = mb(M, F);
u.shapeOptions = k(c, 14, { gapLength: 0, tipLength: 20 * (1 - 0.7), tipPos: Y(0, 1, y[0], y[1], M[h.hc]) });
y = p(u.level, u.labelRange);
g = Math.max(g, u.autoLabelOnTop && !y ? 20 : u.labelOnTop ? F[1] + 20 : F[1]);
} else (M = we(r, h.o, q + R)), (M[h.hc] = t), (u.labelBbox = mb(M, F)), (u.shapeOptions = k(c, R, { gapLength: w[0], tipPos: Y(0, 1, y[0], y[1], M[h.hc]) })), (g = Math.max(g, f));
0 === u.level && e.sharesBase && (g = Math.max(g, a.tickMetricsData.maxLength));
u.labelCxy = M;
if ((u = !E)) (u = x(c)), b || (u = !u);
c._cxyRotate = u ? (0 === l ? -90 : n ? 90 : -90) : void 0;
m.push(c.currentOptions.padding);
});
c = g + Math.max.apply(Math, H(m));
q += c;
u += c;
}
};
for (var D = 0; D < g.length; D++) k(D);
f(function (b) {
if (b._rngData.visible) {
var a = b._rngData,
c = Ua(a.shapeOptions.points);
b._positionData = { tickPoints: a.shapeOptions.points, textBBox: mb(a.labelCxy, b._metrics.textSize), bbox: Ea([a.labelBbox, c]) };
}
});
r[h.vc] = p ? m : 0;
return { ticks: a._rngData.ticks, levels: g, edges: a._rngData.edges, origin: r, depth: u, duV: h };
}
function Rl(a) {
a = a.currentOptions.hoverAction;
return t(a) ? "none" !== a && !1 !== a : !0;
}
function Tr(a) {
var c = a.axis.tickPositions,
b = a._value;
c.custom.slice(0);
var d = c.minor || [];
c = xe(c, b);
return "custom" === a.type ? (a.rank = 1) : 0 === c ? ((a.isFirst = !0), (a.rank = 2)) : -1 === xe(d, b) ? (a.rank = 3) : (a.rank = 5);
}
function Fz(a) {
for (
var c = Ei(a).valArrange,
b = function (b) {
if (-1 < b)
for (var d = c.length; b < d; b++) {
var e = c[b];
if (a.tickVisible(e.value()) && !e._isSquished) return b;
}
return -1;
},
d = 0,
e = c.length - 1;
d < e;
d++
) {
var f = c[d];
f._isSquished = !1;
a.tickVisible(f.value()) ? (f._age = 0) : f._age++;
}
d = 0;
f = !1;
for (var g, h, k, l; !f; ) {
var m = b(d);
e = b(m + 1);
if (-1 < m && -1 < e) {
m = c[m];
g = c[e];
h = l = !1;
var n = m.angledAttr();
"angled" === a.labelMode && 0 !== n.rotate[0]
? ((h = m._metrics), (k = g._metrics), (h = qv(z(h.px[0], h.px), z(k.px[0], k.px), h.textSize, k.textSize, n.rotate[0], z(m.currentOptions.padding, 0) + z(g.currentOptions.padding, 0))))
: m._cxyRotate
? ((h = [va(m._bboxClipped), va(g._bboxClipped)]), (h = [ik(m._bboxClipped, H([m._cxyRotate], h[0])), ik(g._bboxClipped, H([g._cxyRotate], h[1]))]), (h = nv(h[0], h[1])))
: (h = zd(m._bboxClipped, g._bboxClipped));
h && (g.rank > m.rank ? (l = g._isSquished = !0) : g.rank < m.rank ? (m._isSquished = !0) : (l = g._isSquished = !0));
d = l ? d : e;
} else f = !0;
}
}
function wf(a, c, b) {
void 0 === b && (b = {});
var d = c.metrics(b),
e = d.px,
f = d.textSize,
g = d.tickLength,
h = a.sideIndex(),
k = 0 === h || 1 === h,
l = a.tickMetricsData;
h = "inside" === c.currentOptions.placement;
var m = c.options("padding") || 0,
n = h ? 0 : l.getMaxLength(),
p = 2 === e.length;
e = c._metrics.px = a.getCaLen(c.value());
e.pop && e.length && (e = (e[0] + e[1]) / 2);
Ha(e) && (e = 0);
var q = 0 === a.currentOptions.anchorWidth ? 0.5 : 0,
r = a.viewState.caRect,
u = r.x,
x = u + r.width,
v = r.y;
r = v + r.height;
a.isHoriz
? (p && (q - e > u && (e = u + q), q + e > x && (e = x - q)),
(p = h ? 0 : 1),
k
? ((k = h ? 1 : -1),
(g = [
[e, n],
[e, n + k * d.tickLength],
]),
(e = [e - f[0] / 2, g[1][1] + k * m + k * (h ? 0 : f[1]), f[0], p * f[1]]))
: ((k = h ? -1 : 1),
(g = [
[e, 0],
[e, k * g],
]),
(e = [e - f[0] / 2, g[1][1] + k * m + f[1] * (p - 1), f[0], p * f[1]])),
(f = e[3] + (h ? 0 : d.tickLength + d.tickPadding || 0)))
: (p && (q - e > v && (e = v + q), q + e > r && (e = r - q)),
(q = C(c.currentOptions, "label.align") || k ? "left" : "right"),
(p = h ? 0 : 1),
k
? ((k = h ? -1 : 1),
(g = [
[0, e],
[k * d.tickLength, e],
]),
(e = ["right" === q ? g[1][0] + k * m + p * l.maxTextSize[0] - f[0] : g[1][0] + k * m + f[0] * (p - 1), e - f[1] / 2, p * f[0], f[1]]))
: ((k = h ? 1 : -1),
(g = [
[n, e],
[n + k * d.tickLength, e],
]),
(e = ["right" === q ? g[1][0] + k * m - p * f[0] : g[1][0] + k * m - p * l.maxTextSize[0], e - f[1] / 2, p * f[0], f[1]])),
(f = e[2] + (h ? 0 : d.tickLength + d.tickPadding || 0)));
l = g.slice(0);
"angled" === a.labelMode ? (c._positionData || (c._positionData = { tickPoints: g, textBBox: e }), (m = c.angledBounds())) : (m = e.slice(0));
l.push.apply(l, H(ie(m, "tl,br")));
l = c._bbox = Ua(l);
h && ((l[a.isHoriz ? 3 : 2] = 0), (l[a.isHoriz ? 1 : 0] = 0));
if (b.tickPointsOnly) return (c._positionData.tickPoints = g), c._positionData;
a = c._bboxClipped = e.slice(0);
a[2] = d.textSize[0];
a[3] = d.textSize[1];
return (c._positionData = { tickPoints: g, textBBox: e, bbox: l, textLength: f });
}
function Gz(a) {
var c,
b = Ei(a),
d = b.rngTicks,
e = b.rngArrange;
b = a.duV();
var f = !1;
if (d && d.length) {
a.isZoomed || "category" !== a.type || (f = !0);
var g = d[0].getVisualTargets({}, !0).tick,
h = b.hc;
d = rb(ha(a.viewState.caRect), -8);
var k = we(d, b.i, d[h + 2]);
k.push(0, 0);
d = Ea([d, k]);
var l = Yb(d);
k = hb([l[h], l[h] + 8, l[h + 2] - 8, l[h + 2]], function (b) {
return na(Y(0, 1, l[h], l[h + 2], b), 2);
});
var m = f ? [1, 1, 1, 1] : [0, 1, 1, 0];
d = {
d: Cc(d),
fill: {
linearGradient: a.isHoriz ? [0, 0, 1, 0] : [0, 0, 0, 1],
stops: B(k, function (b, a) {
return [b, "white", m[a]];
}),
},
};
!f && g.attr({ mask: d });
}
if (e.length) {
a._rngData = Sr(a, e);
for (f = 0; f < e.length; f++) {
d = e[f];
k = d._rngData.shapeOptions;
var n = A({}, d.currentOptions.line);
"#e2e2e2" === n.color && (n.color = "#a8a8a8");
k && (d._rngData.renderData = Hz(d, C(k, "points"), A(k.options, n), g));
}
d = a._rngData;
g = d.levels;
var p = d.edges;
d = d.origin;
k = [];
n = function (b, a) {
return S(e, function (c) {
return c._metrics.px[0] === b[0] && c._metrics.px[1] === b[1] && c._rngData.level === a;
});
};
var q = function (b, a) {
return S(b, function (b) {
return b[0] === a || b[1] === a;
});
};
try {
for (var r = ya(p), u = r.next(); !u.done; u = r.next()) {
var x = u.value;
for (f = g.length - 1; 0 <= f; f--)
if (((p = void 0), (p = q(g[f], x)))) {
var v = n(p, f);
if (v) {
var y = v._rngData.renderData.endPoints,
D = y[0][b.hc] === x ? y[0] : y[1];
a.valVisible(a.linToVal(D[b.hc])) && ((p = []), (p[b.hc] = D[b.hc]), (p[b.vc] = d[b.vc]), k.push([D, p]));
}
break;
}
}
} catch (F) {
var t = { error: F };
} finally {
try {
u && !u.done && (c = r.return) && c.call(r);
} finally {
if (t) throw t.error;
}
}
k.length && (a._rngData.connectorLines = k);
}
}
function Hz(a, c, b, d) {
var e = a.axis,
f = "category" === e.type,
g = a.currentOptions.rangeMode;
a = a._rngData;
var h = S(e._ticks, function (b) {
return !b._isRange;
});
b = id(qa(b), { type: f ? "curly" : "measure", gapLength: 0, tipPos: 0.5, color: "#000" });
f = h || 0 !== a.level || a.visPartial ? ("curly" === b.type ? "curly" : "measure") : "min";
g = g && "auto" !== g ? g : f;
var k = z(b.width, Ur[g]);
f = function (b) {
var a = nd(d, b, k);
return e.isHoriz ? [b[0], a[1]] : [a[0], b[1]];
};
var l = Ia(c[0], c[1]);
c = c.slice(0);
"curly" === b.type && ((c[1] = ra(c[1], l + 180, k / 2)), (c[2] = ra(c[2], l + 180, k / 2)));
a = b.tipPos;
h = mc(c[1], c[2]);
a = ua(1 < a ? a / h : a, 0, 1);
A(b, { lineLength: h, midPoint: Vj(c[1], c[2], a), sideLength: mc(c[0], c[1]), lineAngle: Ia(c[1], c[2]), tipAngle: l, tipPos: a });
var m = h - 12;
l = b.gapLength;
var n = b.midPoint,
p = b.lineAngle;
if (0 < l)
if (l > h - 12) A(b, { gapLength: m, tipPos: 0.5, midPoint: Vj(c[1], c[2], 0.5) });
else if (0.5 !== a) {
a = 1 > a ? a * h : a;
m = mc(n, c[1]);
var q = mc(n, c[2]),
r = mc(n, ra(n, p + 180, l / 2));
l = mc(n, ra(n, p, l / 2));
r > m - 6 && (a += r - (m - 6));
l > q - 6 && (a -= l - (q - 6));
A(b, { tipPos: a / h, midPoint: Vj(c[1], c[2], a / h) });
}
var u;
"min" !== g && (u = "curly" === g ? gx(c, b) : fx(c.map(f), b));
return u;
}
function Iz(a) {
var c = Date.now();
if (a && a.length) {
var b = a[0].axis;
w(a, function (b) {
return 0 !== C(b.currentOptions, "value.length") && Jz(b);
});
var d = function (b) {
if ((b = b._arrangeInfo.used)) return ((c - b.time) / 1e3) * 10;
},
e = function (b, a, c) {
var e = 0,
f = 0,
g = !0;
w(c, function (b, d) {
e += c[d][a[d]] || 0;
});
for (var h = 0, k = b.length; h < k; h++) {
var l = void 0,
m = S(b[h]._arrangeInfo.possible, a);
if (m) {
if (t((l = d(b[h]))) && Xb(m.cxy, b[h]._arrangeInfo.used.cxy) > l) {
g = !1;
break;
}
if (m.collide) {
g = !1;
break;
} else f++;
} else {
g = !1;
break;
}
}
if (g) return e + f / b.length;
},
f = function (b, a) {
for (var c = {}, d = 0, e = b.length; d < e; d++) {
var f = ea(b[d]._arrangeInfo.possible, a);
w(f, function (b) {
c["" + b.xAlignment + b.yAlignment + b.rotation] = { xAlignment: b.xAlignment, yAlignment: b.yAlignment, rotation: b.rotation };
});
}
var g = [];
w(c, function (b) {
return g.push(b);
});
return g;
},
g = function (b, a) {
var c = [];
w(b, function (b) {
return c.push(a(b));
});
return $a(c);
},
h = ea(a, function (b) {
return b.isRange();
});
a = ea(a, function (b) {
return !b.isRange();
});
var k = function (a, c, h) {
if (a.length) {
for (var k = f(a, {}), l = g(k, c), m, n = 0, x = l.length; n < x; n++)
for (var v = l[n], y = 0, D = k.length; y < D; y++) {
var t = k[y];
if (c(t) === v) {
var F = e(a, t, h);
F && (!m || m[0] < F) && (m = [F, t]);
}
}
var R = 1 < a.length;
w(a, function (a) {
var c = b.chartArea.collisionManager,
e = a._arrangeInfo.possible,
f = ea(e, function (b) {
return R ? !c.collideLabels(b.box, a.id) : !c.collideAll(b.box, a.id);
}),
g = a._arrangeInfo.used,
h,
k,
l = g ? { xAlignment: g.xAlignment, yAlignment: g.yAlignment, rotation: g.rotation } : {};
!f.length && e.length && (f = e);
f.length &&
(g && (R || (k = h = S(f, l)), k || (k = S(e, l)), k && (k.time = g.time)),
!h && m && (h = S(f, m[1])),
h || (h = f[0]),
g && h && !R && "" + g.xAlignment + g.yAlignment + g.rotation !== "" + h.xAlignment + h.yAlignment + h.rotation && ((e = Xb(g.cxy, h.cxy)), (f = d(a)), e > f && k && (h = k)),
(a._arrangeInfo.used = h),
c.addLabelBox(h.box, h.marker.id));
});
}
};
k(
h,
b.isHoriz
? function (b) {
return b.yAlignment;
}
: function (b) {
return b.xAlignment;
},
{
yAlignment: b.isHoriz ? { inmiddle: 0.1, intop: 0.3, inbottom: 0.2 } : { inmiddle: 0.3, intop: 0.2, inbottom: 0.1 },
xAlignment: b.isHoriz ? { inleft: 0.2, incenter: 0.3, inright: 0.1 } : { inleft: 0.3, incenter: 0.2, inright: 0.1 },
}
);
k(
a,
b.isHoriz
? function (b) {
return b.yAlignment;
}
: function (b) {
return b.xAlignment;
},
{ yAlignment: { outtop: 0.2, outbottom: 0.1 }, xAlignment: { outright: 0.3, outleft: 0.1 } }
);
}
}
function Jz(a) {
var c = a.axis,
b = a.currentOptions,
d = a.options("label");
b = b.value;
var e = a.isHoriz,
f = c.chartArea.collisionManager,
g = [];
if (d) {
var h = function (b) {
b.push([b[0][0] + (e ? 1 : 0), b[0][1] + (e ? 0 : 1)]);
return Ea(b);
};
d = ja(b[0]) ? b[0] : b;
hb(d, function (b) {
return g.push(h(c.getCaPoints(b, void 0)));
});
w(g, function (b) {
return f.addBox(b);
});
d = Ea(g);
a._arrangeInfo.edgeBoxes = g;
a._arrangeInfo.box = d;
Kz(a);
Lz(a);
}
}
function Kz(a) {
var c = a.rootVisuals,
b = a.currentOptions,
d = b.labelPadding || 0,
e = b.label || {};
a.getText() &&
a.axis.valVisible(a.value()) &&
((b = c.label = c.label || new Fi(a.chart, e)),
(e = a.attrBuilder(qc(e), {}, {})),
(e.val = a.getText()),
(e.padding = d),
b.options({ text: a.getText() }),
c.label.attr(e),
b.rootVisuals.text.attr({ autoWrap: "auto" }),
c.label.rootPanel.attr({ maxWidth: 0, autoWrap: "auto" }),
(a._arrangeInfo.labelSizes = b.getSizes()),
c.label.rootPanel.attr({ autoWrap: "none" }).setPreliminarySize(!0));
}
function Lz(a) {
var c = a.axis;
a._arrangeInfo.visible = !0;
var b = a.options("label");
if (b && Id(b)) {
var d = b.align,
e = b.verticalAlign;
b = b.rotate;
var f = function (b) {
var c = a._arrangeInfo.labelSizes[0];
return (
S(a._arrangeInfo.labelSizes, function (a) {
a[0] < c[0] && (c = a);
return a[0] <= b;
}) || c
);
},
g = ha(a.axis.chartArea.contentRect),
h = a._arrangeInfo.labelSizes[0],
k = ho([a._arrangeInfo.box, g]) || a._arrangeInfo.box,
l = a.isRange(),
m = a.isHoriz;
g = a.axis.chartArea;
var n = Date.now(),
p = g.collisionManager,
q = rb(ha(g.contentRect), -1);
a._arrangeInfo.possible = [];
if (c.valVisible(a.value())) {
h = f(m ? q[2] : q[3]) || h;
var r = f(k[2]),
u = f(k[3]);
f = [k[0], k[1], h[0], h[1]];
h = function (b, c, d) {
w(c, function (c) {
var e,
f = b.slice(0),
g = 0 !== d,
h = c[0];
c = c[1];
var v = 0 === h.indexOf("in"),
x = v && 0 < d && (("inleft" === h && "intop" === c) || ("inright" === h && "inbottom" === c));
l && v && ((f = [0, 0]), g ? f.push.apply(f, H(u)) : f.push.apply(f, H(r)));
g && (f = [f[0] - f[3], f[1], f[3], f[2]]);
f = he(f, k, h, c);
g = f.box;
$c(q, g) &&
!x &&
(!m && l && v && ($c(k, g) || (e = !0)),
!e && a._arrangeInfo.possible.push({ xAlignment: h, yAlignment: c, box: g, cxy: va(g), collide: !0 === p.collideAll(g), rotation: d, textAlignment: f.contentAlignment, marker: a, time: n }));
});
};
g = function (b, a, c) {
void 0 === c && (c = !1);
var d = [];
w(b, function (b) {
w(a, function (a) {
c ? d.push([b, a]) : d.push(b + a);
});
});
return d;
};
var x = [],
v = [];
c = "sp" === c.prefix;
(t(b) && 0 !== b) ||
(m && !c
? (d ? (x = g(["in"], [d])) : ((x = g(["in"], ["left", "right"])), x.push("incenter")),
e ? (v = g([l ? "in" : "out"], [e])) : l ? ((v = g(["in", "out"], ["top", "bottom"])), v.push("inmiddle")) : (v = g(["out"], ["top", "bottom"])))
: (e ? (v = g(["in"], [e])) : ((v = g(["in", "out"], ["top", "bottom"])), v.push("inmiddle")),
d ? (x = g([l ? "in" : "out"], [d])) : l ? ((x = g(["in"], ["left", "right"])), x.push("incenter")) : (x = c ? g(["out"], ["left", "right"]) : g([], [""]))),
(c = g(x, v, !0)),
h(f, c, 0));
(t(b) && 90 !== b && -90 !== b) ||
(m
? ((x = d ? g(["in"], [d]) : g(["in"], ["left", "right"])), (v = e ? g([l ? "in" : "out"], [e]) : l ? g(["in"], ["top", "bottom", "middle"]) : g([], [""])))
: ((v = e ? g(["in"], [e]) : g(["in"], ["top", "bottom", "middle"])), d ? (x = g([l ? "in" : "out"], [d])) : l ? ((x = g(["in", "out"], ["left", "right"])), x.push("incenter")) : (x = g(["out"], ["left", "right"]))),
(c = g(x, v, !0)),
h(f, c, 90));
} else a._arrangeInfo.visible = !1;
}
}
function Mz(a, c) {
if (!c.items.length && !N(a.currentOptions, ["scale", "range"])) return (c = a.chartArea.chartAreaSet.freeAxes[a.prefix].id), c !== a.id && c;
}
function Sl(a) {
var c = [];
t(a) && (a.pop ? ((c = a.length), (c = (2 === c ? a : 1 === c ? [a[0], null] : []) || [])) : (c = [a.min, a.max]));
a = c;
return nb(a[0]) && nb(a[1]);
}
function Vr(a, c) {
return (a = C(a.currentOptions, "scale.type")) && c(a);
}
function Tl(a, c) {
return Vr(a, c) || (a.syncAxis && Vr(a.syncAxis, c));
}
function Wr(a, c) {
var b,
d = function (b) {
return [b[0], b[1], b[1] - b[0]];
},
e = function (c) {
return "object" === I(c)
? ((b = !0), Nk(c, a.range ? a.range.min : a.min, a.range ? a.range.max : a.max))
: c.map(function (b) {
return a.toPosition(b);
});
};
if (ja(c) && c.length) {
var f = [];
w(c, function (b) {
"array" === I(b) ? f.push(e(b)) : f.push.apply(f, H(e(b)));
});
a.hasCalPatBreaks = b;
return B(f, d);
}
a.hasCalPatBreaks = b;
return c;
}
function Nz(a) {
var c = [];
hb(a, function (b) {
return c.push(b);
});
return ad(sa(c));
}
function Oz(a, c) {
var b = [0, a._sizeMetrics.length],
d = 0 < la(b[0], b[1]);
S(a._ticks, function (b) {
return !b._isRange;
});
var e = [],
f = function (b) {
for (var a = 0; a < c.length; a++) b(c[a], a);
},
g = function (a) {
return d ? Ue(b, a) : Ve(a);
};
f(function (b) {
b.metrics();
b._cxyRotate = void 0;
b._rngData = { visRange: g(Ve(b._metrics.px)) };
var a = b._rngData,
c = (c = b._rngData.visRange) && 0 < c.length,
d = sa(b._metrics.px),
e = b._rngData.visRange;
e && e.length ? ((b = la(d[0], e[0])), (d = la(d[1], e[1])), (d = 10 < b || 10 < d)) : (d = void 0);
A(a, { visible: c, visPartial: d });
});
f(function (b) {
var a = b._rngData;
if (b._rngData.visible) {
b = b._metrics.px;
for (var c = 0; !f; ) {
var d = (e[c] = e[c] || []);
if (!bg(d, b).length) {
d.push(b);
var f = !0;
}
c++;
}
f = c - 1;
} else f = 0;
return (a.level = f);
});
f(function (b) {
b = b._rngData;
var a = b.visRange,
c = (b.obstacles = []),
d = function (b) {
return fe(Ve(a), b) && c.push(b);
};
b.higherIntersects = [];
if (b.visible)
for (var f = b.level + 1; f < e.length; f++) {
var g = bg(e[f], a);
Xe.apply(null, [b.higherIntersects].concat(g));
hb(g, d);
}
});
var h = a.tickMetricsData,
k = a.sideIndex();
h = h.getMaxLength();
k = 0 === k || 3 === k;
var l = [0, 0];
a = a.duV("inside" === C(a.currentOptions, "defaultTick.placement"));
l[a.vc] = k ? h : 0;
f(function (b) {
var a = b._metrics.px;
b._rngData.rotate = !t(C(b.currentOptions, "label.rotate")) && b._metrics.textSize[0] > la(a[0], a[1]);
});
f(function (b) {
var a = g(b._metrics.px);
if (b._rngData.visible) {
var c = void 0,
d = b.currentOptions,
f = b._rngData,
h = cg(Zj(sa(f.obstacles), a, 0), a),
k = b._metrics.textSize,
l = !1;
b._rngData.rotate && (l = !l);
k = l ? [k[1], k[0]] : k.slice(0);
k[0] += d.padding;
f.labelSize = k;
k = k[0];
h = h.length ? tv(h) : xf(a, 5);
var m = 5 * z(b.currentOptions.line.width, Ur.measure);
l = xf(a, m);
b = xf(b._metrics.px, m);
h = Ue(h, l);
h[1] - h[0] < k ? (!f.visPartial && la(l[0], l[1]) < k && (c = !0), (a = (a[0] + a[1]) / 2), (f.labelRange = [a - k / 2, a + k / 2])) : ((a = (h[0] + h[1]) / 2), (f.labelRange = [a - k / 2, a + k / 2]));
a = f.labelRange.slice(0);
f.labelRange = Yj(b, f.labelRange);
Qe(a, f.labelRange);
d = d.label && d.label.placement;
0 !== f.level || c || (d && "auto" !== d)
? (c
? (f.autoLabelOnTop = !0)
: 1 === e.length
? (f.autoLabelOnTop = !0)
: ((c = f.higherIntersects && 0 < bg(f.higherIntersects, f.labelRange).length), (f.autoLabelOnTop = !f.visPartial && !c && f.level < e.length - 1)),
(f.labelOnTop = t(f.labelOnTop) ? f.labelOnTop : f.autoLabelOnTop),
(c = z(d, "auto")),
(c && "auto" === c) || (f.labelOnTop = "outside" === c ? !0 : !1))
: (f.labelOnTop = f.autoLabelOnTop = !1);
}
});
var m = [];
w(e, function (b) {
b.length && m.push.apply(m, H(co(b)));
});
m = ad(sa(m));
return { ticks: c, levels: e, edges: m, origin: l, duV: a };
}
function Pz(a) {
var c = "sv" + ("x" === a ? "x" : "");
return ["" + a, a + "s", a + "e", "" + c, c + "s", c + "v"];
}
function Qz(a, c, b) {
var d,
e = a.childAxes.length ? a.childAxes.splice(0) : [a];
w(e, function (e) {
e.currentOptions.markers = e.currentOptions.markers || [];
e.currentOptions.markers.push(c);
e._markers.push(new Xr(e, c));
d = !0;
e.syncLegend();
a.chart.isRendered && !1 !== b && a.chart.renderer.refresh();
!1 !== b && e.renderOnCa(b);
});
d && a.chart.isRendered && !1 !== b && a.chart._legends[0].isVisible && (a.chart.chartAreaSet.reflow(b), a.chart.renderer.refresh());
}
function Gi(a) {
return new Date(a).getTime() || new Date().getTime();
}
function Rz(a) {
return function () {
var c = [];
a.each(function (b) {
c = c.concat(b._ticks);
});
return c;
};
}
function Sz(a) {
return function () {
var c = [];
a.each(function (b) {
c = c.concat(b._markers);
});
return c;
};
}
function Tz(a) {
return !a.chart.ctManager.isType("map") && (ye(a) || (ze(a) && a.series.currentOptions.pointSelection)) ? !0 : !1;
}
function Yr(a) {
return ze(a) && ((a = a.series.currentOptions.pointSelection), "single" === a || 1 === a.max) ? "system/default/radio-button" : "system/default/checkbox";
}
function Zr(a) {
if (ye(a)) return a.isVisible;
if (ze(a)) return a.selected;
}
function Ul(a) {
a = a.currentOptions.hoverAction;
return t(a) ? "highlight" === a || "mute" === a : !0;
}
function Vl(a, c) {
void 0 === c && (c = !0);
var b = I(a);
if ("array" === b) return a;
if ("string" === b)
return (
(b = -1 < a.indexOf(",") ? /[,]/g : /[ ]/g),
(c ? a.toLowerCase() : a).split(b).map(function (b) {
return b.trim();
})
);
}
function $r(a, c, b) {
var d = [],
e = [],
f = [];
c.each(function (c) {
c.breaks.length && Uz(a, c, b, d, e, f);
});
return { clipPath: d.length ? xa(d) : null, paths: e, outlines: f };
}
function Uz(a, c, b, d, e, f) {
void 0 === d && (d = []);
void 0 === e && (e = []);
void 0 === f && (f = []);
var g = c.getBreakRects(),
h = C(c.currentOptions, "scale.defaultBreak.line.width"),
k = C(c.currentOptions, "scale.defaultBreak.line.color"),
l = C(c.currentOptions, "scale.defaultBreak.type").toLowerCase();
c = c.isHoriz;
var m = function (c) {
return md(a, c, b);
};
g.sort(
c
? function (b, a) {
return b[0] - a[0];
}
: function (b, a) {
return b[1] - a[1];
}
);
var n = g.length;
if (1 != n)
for (var p = 0; p < n; p++) {
var q = g[p];
q[0] += b / 2;
q[1] += b / 2;
if (!q) break;
var r = void 0;
r = 0 === p ? (c ? "r" : "b") : p === n - 1 ? (c ? "l" : "t") : c ? "c" : "m";
if ((q = (Vz[l] || as)(r, h, q, m))) q.clipPath && d.push(q.clipPath), q.path && e.push({ path: q.path, color: k }), q.outlinePath && f.push({ path: q.outlinePath, stroke: k });
}
}
function as(a, c, b, d) {
b = d(b);
d = { clipPath: Zp(b[0], b[1], b[2], b[3], { zigSides: a, zigWidth: c, lines: [] }) };
var e = "m" === a || "t" === a || "b" === a ? 1 : 0;
b[e] += 0.5;
--b[e + 2];
d.outlinePath = Zp(b[0], b[1], b[2], b[3], { zigWidth: c, zigSides: a, open: !0, lines: [] });
return d;
}
function Wz(a, c, b, d) {
var e = a.isHoriz,
f = a.tooltip.currentOptions.combined,
g = a.chart.axes("x"),
h = [],
k = [],
l = [],
m = !1;
a.axes()
.filter(function (b) {
b = b.options("crosshair") || {};
return b.enabled && !b.snapToData;
})
.each(function (b) {
return b.crosshairXy(c);
});
a.axes()
.filter(function (b) {
if ("x" === b.prefix) return ((b.options("crosshair") || {}).enabled || f) && !b.options("scale.syncWith");
})
.each(function (b) {
var a = [b, b.crosshairXy(c, void 0, d)];
w(b.serList, function (b) {
if (b.isVisible && !1 !== b.options("mouseTracking_enabled")) {
var c = b.showHaloAtX(a[1]);
c && h.push(c);
b.haloPath && (k.push(b.haloPath), l.push(b));
}
});
});
var n = Cc(ha(a.contentRect)) + " " + k.join(" ");
w(l, function (b) {
var a;
(a = b.visuals.pointHalo) &&
w(a, function (b) {
return b.attr({ clipPath: { d: n, "clip-rule": "evenodd" } });
});
});
h = h.map(function (b) {
return { axId: b[0].id, point: b[1], yVal: b[2] };
});
if (h.length) {
var p = new Wl().key("axId").entries(h),
q = [];
w(p, function (b) {
var c = a.axes(b.key);
if (c) {
a.tooltip.cttEnabled(c, g) &&
(q.push.apply(
q,
H(
b.values.map(function (b) {
return b.point;
})
)
),
(m = !0));
var d = c.options("crosshair");
d.enabled && d.snapToData && Xz(a, c, Yz(b.values));
}
});
q = ea(q, function (b) {
return !b.series.indexer.getValue("isEmpty", b._i) && !1 !== b.series.options("mouseTracking_enabled");
});
q = sa(q, function (b) {
return b.series.indexer.getValue("pos", b._i).xyz[e ? 0 : 1];
});
q.length && a.tooltip.show(q, b, c);
} else
a.axes()
.filter(function (b) {
if ("y" === b.prefix) return (b.options("crosshair") || {}).enabled;
})
.each(function (b) {
return b.crosshairXy(c);
});
return m;
}
function Zz(a) {
a.axes().each(function (a) {
a.crosshair();
});
}
function $z(a) {
var c = Gh({ chartArea: a.chartArea || [{}] }, "chartArea"),
b = Mj(a, ["title", "series", "legend", "events"]);
Mj(a, ["xAxis", "yAxis", "zAxis"]);
var d = { xAxis: a.xAxis || [{}], yAxis: a.yAxis || [{}], zAxis: a.zAxis || [{}] };
A(c[0], Ga(b, "series"));
c.rootItems = b;
c.rootAx = d;
a.series.length && ((c[0].series = c[0].series || []), (c[0].series = (c[0].series || []).concat(b.series)));
return c;
}
function aA(a) {
return function () {
var c = [];
a.each(function (b) {
return c.push.apply(c, H(b.items));
});
return c;
};
}
function bA(a, c, b) {
if (c.data) {
c = c.data;
var d = (a.data = a.data || {}),
e = I(c),
f = t(c.transformer) ? c.transformer : a.ctManager.isType("calendar") ? cA : null,
g = function (c) {
if (!d.val || (d.val && d.fileName !== c))
return (
Ew(c, function (e) {
d.val = f ? f(e.data) : e.data;
d.types = !f && Vk(d.val);
w(d.types, function (b, c) {
return "date" === b && Z(a, "typeContextOptions.axes." + ["x", "y", "z"][c] + ".scale.type", "time");
});
d.fileName = c;
b(e);
}),
c
);
};
switch (e) {
case "array":
d.val = c;
break;
case "string":
if (256 > c.length && c.indexOf(".csv") === c.length - 4) return g(c);
d.val = Oh(c);
break;
case "object":
if (c.data) d.val = Oh(c.data, c.delimiter, c.header);
else if (c.file) return g(c.file);
}
}
}
function cA(a) {
return B(a, function (a) {
return [a[0], parseFloat(a[1])];
});
}
function Xl(a, c, b) {
var d = ff[a];
!d && Yl[a].checker(c, !1, {}) ? bs(a, c || {}, b) : !d || d.loaded ? b() : d.loading && d.callbacks.push(b);
}
function cs(a, c, b, d) {
void 0 === d && (d = !1);
c || b();
var e = [],
f = ff,
g = function (a) {
e.splice(e.indexOf(a), 1);
e.length || dA(b);
},
h = eA(c),
k = h ? W(Yl, h) : Yl,
l = c.modules ? fa(c.modules) : {};
Da(k, function (b) {
var h = f[b],
m = function () {
h && h.afterLoad && h.afterLoad(a, c);
!h && -1 < b.indexOf("locale") && f[b] && ((f[b].loading = !1), (f[b].loaded = !0));
};
(h && h.loaded) || !k[b].checker(c, d, l, a.ctManager)
? m()
: (e.push(b),
bs(b, L({ notificationContainer: a.getWrapper() }, c), function () {
m();
g(b);
}));
});
var m = bA(a, c, function () {
g(m);
});
m && e.push(m);
e.length || b();
}
function ds(a, c) {
for (var b in fA) if (a.isType(b, c)) return !0;
}
function bs(a, c, b) {
bp(a, b, Ma, c);
}
function eA(a) {
var c = T.Intl;
a = a.defaultCultureName || "en-US";
if (c && 0 < c.NumberFormat.supportedLocalesOf([a]).length) return null;
gA();
c = {};
c["https://code.jscharting.com/polyfill/locales/" + a] = {
checker: function () {
return !0;
},
};
return c;
}
function gA() {
T.IntlPolyfill ||
(T.IntlPolyfill = {
__addLocaleData: function (a) {
return Hi.push(a);
},
});
}
function dA(a) {
var c = T.IntlPolyfill;
Hi.length &&
c &&
(w(Hi, function (b) {
return c.__addLocaleData(b);
}),
(Hi = []));
a();
}
function hA(a, c, b) {
var d,
e = {},
f = a.calIndexer,
g = { layoutAttr: e, boxAttr: {}, needRefresh: !1, needRedraw: !1, updateCalendar: !1 };
t(c.margin) && Z(c, "box.margin", c.margin);
w(c, function (b, d) {
if (Zl[d]) Zl[d](b, a, g, c);
});
if (g.updateCalendar) {
var h = a.userOptions,
k = a.currentOptions;
k.series = void 0;
k.x = yf(h.x);
k.y = yf(h.y);
f.updateChart(k);
var l = k.series;
w(a.chartAreaSet.items, function (b) {
b.options({ series: l });
});
}
Object.keys(e).length && a.renderer.attr(e).refresh();
e = t(null === (d = null === c || void 0 === c ? void 0 : c.box) || void 0 === d ? void 0 : d.padding);
(!a.isRendered || e) && a.isColorized && 100 < a.renderer.getRootBox().height && ((g.boxAttr.padding = g.boxAttr.padding || [0, 0, 0, 0]), (g.boxAttr.padding[2] += 20));
if ((d = g.boxAttr) && Object.keys(d).length) {
if ((e = d.margin)) (f = Ac(a.rootVisuals.box.margin.initial)), (d.margin = Kj(f, e));
a.rootVisuals.box.attr(d);
g.needRefresh = a.isRendered;
}
g.needRedraw ? a.redraw(b) : g.needRefresh && a.rootPanel.refresh();
}
function iA(a, c, b) {
Da($l, function (d) {
c = $l[d](a, c, b);
});
return c;
}
function es(a, c, b) {
return gf(function (d, e) {
e = { text: c };
b && ((e.baseUrl = b.baseUrl), (e.notificationContainer = b.notificationContainer));
Xl("modules/types", e, function () {
return d(Yq(a, c, b));
});
});
}
function jA(a, c, b) {
fs = b;
"undefined" != typeof a &&
(a.fn.JSC = function () {
function b(b) {
for (var a = 0, d = c.length; a < d; a++) if (b[0] == c[a][0]) return c[a][1];
}
var a = arguments,
f;
if (this[0]) {
"string" === typeof a[0] && (a = Array.prototype.slice.call(a, 1));
var g = a[0];
t(g) ? ((f = b(this)) && f.dispose(), (g.targetElement = this[0]), (a = new fs(g, a[1])), (a.globalChartIndex = c.length), c.push([this[0], a]), (g = this)) : (g = b(this));
}
return g;
});
}
function gs() {
return "3.0.2.20210127";
}
function kA() {
return gf(function (a) {
"loading" === ba.readyState ? ba.addEventListener("DOMContentLoaded", a) : a();
});
}
function hs(a, c) {
var b = Ii(c),
d = { grid_enabled: !0 };
b && ((d.baseUrl = b.baseUrl), (d.notificationContainer = b.notificationContainer));
return gf(function (c, f) {
Xl("modules/datagrid", d, function () {
c(sc.gridConstructor && sc.gridConstructor(a, b, void 0));
});
});
}
function is(a, c) {
if (!(this instanceof is)) return hs(a, c);
var b = sc.gridConstructor && sc.gridConstructor(a, c, void 0);
return b
? ((b.then = function (a) {
return a && a(b);
}),
b)
: hs(a, c);
}
function Ii(a) {
var c;
od && (c = od ? od() : {});
return a && c ? A(c, a) : a || c;
}
var nj = function (a, c) {
nj =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (b, a) {
b.__proto__ = a;
}) ||
function (b, a) {
for (var c in a) a.hasOwnProperty(c) && (b[c] = a[c]);
};
return nj(a, c);
},
lA = { exportButtonTooltip: "Export to raster or vector image", printButtonTooltip: "Print the chart", resetZoomText: "Zoom Out", resetZoomTooltip: "Reset Zoom" },
Jk = "4285F4fE4C14DBCB1815AC20D150B1d9AeeC8C2808ED7C1F1eFEdAF2955B6eA738F5424378BE3CA87A893B3F84E154F5CD992D8C2903B9B09DC9F9F95F035FCACBFA0381830202FE9CCEFEFBCC9BdD7311A3340E7E4957B823E6BC0DE8BFC70D5987BD5C923|9C9Ad9C3063cCECEc63e63d8284e65CECECdFee84dbcebd84e8484a8284ebeCdFCEcCEdCEc9C9CCcF9ACECE9AcCF9C3165d31CFCE9CCFbCFb9Ab65e63659C949694e3063319A63e3e0313e09C3e09C306331309C313031accadacdbbbd84a82a848482e84e84e8284C6C3C6848284|4B649A88E2D869838eD93FA5EE4034088B2FAEB8E9ED266666FA7CD992C85203D4804FAFC7DD57F9EEFC335BA63D2F81C238683D996FEAB90342172309AE9538772BC16DF07420ADC7A4D9ED99DAA029BAEB076A40145A6485769C85B624F030670AD47A6BC1814E07CA65E495FD0F2881ED681E873AE862D16CC889C78AE792B499869EE625BDE959C952859E55CE88675403C8BCC|B2213DBAC01464AF4ADA5B8AEE971F989EDDB7D3E68B44D7DDC9870157E10EA61EEE6B07B9CFB4B24B420C78B02E5302CE296DF22889FD27DB64DCF58C635867CCB46CFE2C17DDCD290587A37ECB27AF7685322D741B7E94F0442B54F2BD25E7E9A3AAFBC054D4B64A9EC8220159A70F3D2D7F07302AF2B035D60DE7EB89DA6ADE9FB9D9202AED22AF7BE2D4515B93979B1B16C53E1E|E68E423F5C79E5D5ADEC6CBBE66457F9E2D796A6A28121DB6D38E9C36845D6CA2199DED1532E506469D45014C4203AFB07CE2E94B32C06656D65D0238E216D6715A1994C8485A6B487313CCC310C174DFDEDBB99164216F3937963EC5D2DD54867E7FD2285EC778128790D82EE3834604D8325A064D350D28AA5B70A21B8575A5AF365480DF3C610753A709C3492045A45039ED80834|3D88419BE23923AAC40154C4141CE1507A0314A091B380FC677487E15195AD6E9B8C285ACF5735E1DF6C4FEC798AC2D30DE68CCFDF87DA890744336DB040582E53E52887F3867F22CD32C024649382DCB1B2D46909DC8E14B09D538A23C6309E13209892613ADF85666902ADC6B62473C056BBFD6AEE25765714D55532F4FD0701211044F9EF7A76D24F029ED9E04CF978DEC9CC0A32|9ADB5E61F34C0C8DEFC21EC7737198D5D73F6085AE67C358B0C0BA2FE63093EF6B377F4DB066102F3B8CCA0F7ACA720AA4D70F6E875B33331805AF3390DCA5BF2E2D5B3CF14A24702E304A229BB4DCE54EB0890E2024681e44B35ABB6DC9E5EE50BDF4D6E35175AB29D3F561011966327C9E4DE52979E09C44A37A51478B95191EB3B90D38F7618992E5B81E411eF2B4D184EBF6BE|860104dD62E583410c6dF7e0551314FEdAF7F4D1Ccb4502830B0CF6FCDAaFDdB1d9D02EE1413AE6A29DE56eE4A711BB1313D195e61140DBCB037402E13B8C267B86D163F1815C2C8955E4520A7B817B851175F1A13C4CAB4aC1C898B88918AD3122815F2DA05813A68D2089291E977E12|181161D14524F9F72B83EA282BFBCDA395DEDC2ECE4133F5DA011D01A468837EB8EA917CC3B9F0C972E8958DFAF8717754D6A67B1D2CD14524E18514AC7F1384875DBA5965D42A5D8E2C6F6059A9A4A0D4F4F226A8F96072FEDFCCC2F6F69AEEAFA9FCFB94996BE6B98E569B9EA89E5FB8E9D97C7ACAC7E6AA6F9E9DB0A0AA56BE817BCACACF63CFCEEBE86F69D0FDCCE5E89C12FEe|4A2123D52E06B38D95dDBC5C2644482B2B8AE7EA1dE19C8D8A7E553C15DCD2D5dCA95DAC5E4DB9F62dDBD9BC9F95E49291484C50FAB36C9A6343E57B63BED7DA92392FD7CEC2d95eD0BBC1759980ADC0DFE5BFD2E0CC84C0D0C5CDD25EdC7C3C1dF1C69658F1F98E61693CA86567FB4C2688A259cC5A5C18ACAEBdC6A5D1A4845C5D531ADDCFA2D67F45AA3B33dC667|8A98DB3C59BA16265173A278B7F5Dd8F7A05CC3A192973C5D64488B775BA64E1B44475F714B96646DC4D02154F171A46F1842ECA991F8C12FED8F11F1CFC4D8BEF3F8FA2C3248862E0A1CA18BB670A3DD0A0D460A0D4655D3EBCDdD579DAC734879694E3A719686D18A56418775A47BD9A36773D98BC8EB4B73A7DC96B52A0951184B0D8BEF31E4AB3B1B7A1848BD4AAB5D2B1B7A14A67C5|BF2D305E8D34855E26a9FC2dC380B75174BED869349648B31E4BCCD150B159B6E6A36079C9EEd7BD76CdE648E4F6C29BAEAEA2dBA8AB74957C0C2F3E5D8dF285AAd45E0C18CBEE7A437942DDDde216C54DDF78F6174618BE767D89A7C7C8B59234172A3AD680C866D82789410869FBD19CDA087CB5980E78F5CAD5054A0AE7C321727308B113C2A573F2F0F4EA36E68|2A3D2FBCD0A4F7dD1AE708AF5ADBDF8D4DCB1E6d7AAEB38FAF6E101811B6C4B0dBEC4D06F71DFCC65BBD8BAD77856FDdB6E67347B8EDd47C3F2F89E8B834C37A1C261E2dCA3B491F52A09593B7D3647AAAD7ccD43F4E5DA4BD74dC49Ad6044CAD5C974A05B7383689B4427BE8B94d8C63D9c88ADC8D5A37dFDACAE488A1E997CC52A095849B50618C73C9DCB6|D1CEBC914927aDe04AE7C8C6F8EBbFBD0C75D65C3e7Ce9F3Ce8873e98A646648E8EC7E6827D4E6FA573737D83DFB7ADd2525E49F76F3EAF2FBF794d6E6EE20106A017174B2722e892F9CCB9685D1D215EDEA35C7F1186F3F67801C655567905D8DF64041A92E2EE38B97FBC197B5B3B3FEDD96FDD1F2DB391988010442e11eCE7498E6eeFC88eA3D2e447D|2263093BDB09F0d5EBCE86C7A7124AA9D2B5C770EC7E207CBB60B3E89080A1C0CdFA3C7CE96C514B18B09F09AFD408F8EeE4FA30715480DAdF3C513A107E7109AFD40815480D2D992A98BB7B5D5F307C833D4057217FA4328B932E3064220A1C0CB3C45E7EBC7D7CBC803A3D1E7B812B6E9C30ABB53B3E772615341587AD565D5F30|D0B85D648F8CF892eF9F29BA7D3EdAF168676A35F0C963dEF7AC6D332AC8827F3D864dFE49D3ED62B2AD61687C3DB0A89AB07286F6B899CEA95C6E581CCFB999F5A864B4CC9D516862D4F8A24E150ACF6E27718E258F889ED0C8996F685BB3AC29E9D23670370C7867669D721AB4DA55B06F52324C1936773D98BC8E483E46D8BEF313706B38384F738C5EdDEb64e998A50|173C64648F8C51CdF95cA7D3EF03343C676A35C49D35dEF7AC6D332B0EBBAE1dB6dFE499E68e181F03687C3DCDdD5DEFCdE3DEF22F2F696E6EBE03639F55D3EBF1C4B5e0A3F52A0951184B011B08C7DC96B9A9865CCCD6DdE23EFDFDB7FAB07A70370C786766e25595B93E09893BD5A809F36773D98BC8EF2CA8ED8BEF313706B38384F2CA6CB08F4BA8DF36E998A50|64eeC864eA08Cee64a6432e6464e64|4682B49ACD32708090CD853FB22222dA5bcd45eA0522DdD7e3CB37154A9DD6A5ACD4169E19370DBBA55D366CDAAD8BFD8d69B4DB7093|8Beb8Ce8B4513B8860B808e06B8E23556B2Fe64e2E8B57e8B8BeBdF4682B4ee80483D8B4Be828e080DC143Ca94eD3|468966dF0A5dB03BB649268E28e|7D8A2EC9D787F9D690dC0A9d8598|393A3DDBe485D9E9BC8DBBFE0FCEB|595441B9B09DDDE8EB69BFDE4A8797|7D7E9ABFC7B2D8D6B0D0C3B39B7A76|C44C51dB6B8dEFB6A2B5BF5F8CA3|FCdF5D1DBBD91AA9D3E606F193441|B0CC99677E52B7CA79F6E8B189725B|F7F2B2ADCF4F84815B4A1A2C8E3557|E8E595D0A82540627C26393DdFAE4|5A1FeD1570DFDE792477725A9CC66|595241B8AE9CDED7C6ACCFCC8A0917|66858D93A299C0BFA9dE7D5dBEAC|dF0A3B8CC6E4B6e0E4F8de4460|C7F2F547A0A1781515B8864CD9C39C|3B180182561AdF3D2ABB8864F462E|C3d939698656A4A2CC1420Ed8C47|759C52C2E858dE3A6E8A2989C5241|123B4AE6cC7C09AdE427dA908|ED9877B0B9ADAE555B485566837076|B8ECD7083643B1Ee1CEF09D476C5E|323240968C63FDdC9dD175C3C967|F0E14CdBB20FA7B12E8530559CC0D|4059529C9B7AdD393d974d54F29|762B1B807227CCBF7AdEF9860B0A1|5D4970372049F1BAF3FAEEd59535E|F9EBAE7898983C6573E8B54DB14D1C|B9121B4C1B1BF6E497FCFAE1BD8D46|B6D09C7273685C5C66533E3ECC9585|8F9AB3B0D0Dd1F3F0dACA1A61618|d5B2BB1221C34393E8CC6D7dDA8C|E51E19FC7529F9F23D8DEA550962B4|FD814C2DD5ECd364DA1F886dF37D|324732EADAD27E1F2DA1861D97A9CA|FA5E73E6DDD399CE5D43456DEB9765|3A8394C6EDF7D9F2B0dD1C1B71E4F|463531F57C75C380C921D4F6A5EBB0|997F87F7D6CDE6FCB5C5E0DC454B65|463531F57C75C380C921D4F6A5EBB0|070707FBDB5BEC360880C3d448B14|E37484CEDDE499B18DE9CD6CEAB79A|CAD6C35E7277F99DB1FBBFCCF6E1DC|F9FDF32B3532D33D3EC3B9ADe5773|94B13A2C81C06B4687960303F16723|DCE7B5B0C4CEFE4F13E6384D17304B|DA1C1C68DA1CF1E80821A4D8FC6A08|D3B569E29351C95B406D9DC54C507CB4F4F78BEFEA23877B03576019303A|003049D62828F77F00FCBF49EAE2B7|2F485833669986BBD89EE493DAF7DC|813405D45113F9A03FF8DDA4F1F9C2"
.replace(/e/g, "00")
.replace(/d/g, "FF")
.replace(/c/g, "FFFF")
.replace(/b/g, "00FF")
.replace(/a/g, "000000")
.split("|"),
ou = Object.prototype.hasOwnProperty,
js = "object" == typeof global && global && global.Object === Object && global,
mA = "object" == typeof self && self && self.Object === Object && self,
pd = js || mA || Function("return this")(),
Ji = pd.Symbol,
Nf = Object.prototype,
qb = Nf.hasOwnProperty,
Za = Array.isArray,
pu = Nf.toString,
oj = bn(Object.getPrototypeOf, Object),
Xg = Function.prototype.toString,
qu = Xg.call(Object),
Dj = (function (a) {
return function (c, b, d) {
var e = -1,
f = Object(c);
d = d(c);
for (var g = d.length; g--; ) {
var h = d[a ? g : ++e];
if (!1 === b(f[h], h, f)) break;
}
return c;
};
})(),
ks = Nf.propertyIsEnumerable,
Le = cn(
(function () {
return arguments;
})()
)
? cn
: function (a) {
return Pc(a) && qb.call(a, "callee") && !ks.call(a, "callee");
},
ls = "object" == typeof aa && aa && !aa.nodeType && aa,
ms = ls && "object" == typeof module && module && !module.nodeType && module,
ns = ms && ms.exports === ls,
Ki = ns ? pd.Buffer : void 0,
Me = (Ki ? Ki.isBuffer : void 0) || ru,
wn = Ki ? Ki.allocUnsafe : void 0,
su = /^(?:0|[1-9]\d*)$/,
Ca = {};
Ca["[object Float32Array]"] = Ca["[object Float64Array]"] = Ca["[object Int8Array]"] = Ca["[object Int16Array]"] = Ca["[object Int32Array]"] = Ca["[object Uint8Array]"] = Ca["[object Uint8ClampedArray]"] = Ca[
"[object Uint16Array]"
] = Ca["[object Uint32Array]"] = !0;
Ca["[object Arguments]"] = Ca["[object Array]"] = Ca["[object ArrayBuffer]"] = Ca["[object Boolean]"] = Ca["[object DataView]"] = Ca["[object Date]"] = Ca["[object Error]"] = Ca["[object Function]"] = Ca["[object Map]"] = Ca[
"[object Number]"
] = Ca["[object Object]"] = Ca["[object RegExp]"] = Ca["[object Set]"] = Ca["[object String]"] = Ca["[object WeakMap]"] = !1;
var am = ns && js.process;
a: {
try {
var bm = am && am.binding && am.binding("util");
break a;
} catch (a) {}
bm = void 0;
}
var os = bm && bm.isTypedArray,
Zg = os ? dn(os) : tu,
uu = bn(Object.keys, Object),
ah = (function (a, c) {
return function (b, d) {
if (null == b) return b;
if (!vd(b)) return a(b, d);
for (var e = b.length, f = c ? e : -1, g = Object(b); (c ? f-- : ++f < e) && !1 !== d(g[f], f, g); );
return b;
};
})(function (a, c) {
return a && Dj(a, c, Ne);
}),
Li = Array.prototype,
nA = Li.splice;
Qc.prototype.clear = function () {
this.__data__ = [];
this.size = 0;
};
Qc.prototype["delete"] = function (a) {
var c = this.__data__;
a = bh(c, a);
if (0 > a) return !1;
a == c.length - 1 ? c.pop() : nA.call(c, a, 1);
--this.size;
return !0;
};
Qc.prototype.get = function (a) {
var c = this.__data__;
a = bh(c, a);
return 0 > a ? void 0 : c[a][1];
};
Qc.prototype.has = function (a) {
return -1 < bh(this.__data__, a);
};
Qc.prototype.set = function (a, c) {
var b = this.__data__,
d = bh(b, a);
0 > d ? (++this.size, b.push([a, c])) : (b[d][1] = c);
return this;
};
var cm = pd["__core-js_shared__"],
gn = (function () {
var a = /[^.]+$/.exec((cm && cm.keys && cm.keys.IE_PROTO) || "");
return a ? "Symbol(src)_1." + a : "";
})(),
xu = /^\[object .+?Constructor\]$/,
wu = RegExp(
"^" +
Xg.call(qb)
.replace(/[\\^$.*+?()[\]{}|]/g, "\\$&")
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") +
"$"
),
Kg = Rd(pd, "Map"),
Lg = Rd(Object, "create");
Sd.prototype.clear = function () {
this.__data__ = Lg ? Lg(null) : {};
this.size = 0;
};
Sd.prototype["delete"] = function (a) {
a = this.has(a) && delete this.__data__[a];
this.size -= a ? 1 : 0;
return a;
};
Sd.prototype.get = function (a) {
var c = this.__data__;
return Lg ? ((a = c[a]), "__lodash_hash_undefined__" === a ? void 0 : a) : qb.call(c, a) ? c[a] : void 0;
};
Sd.prototype.has = function (a) {
var c = this.__data__;
return Lg ? void 0 !== c[a] : qb.call(c, a);
};
Sd.prototype.set = function (a, c) {
var b = this.__data__;
this.size += this.has(a) ? 0 : 1;
b[a] = Lg && void 0 === c ? "__lodash_hash_undefined__" : c;
return this;
};
Rc.prototype.clear = function () {
this.size = 0;
this.__data__ = { hash: new Sd(), map: new (Kg || Qc)(), string: new Sd() };
};
Rc.prototype["delete"] = function (a) {
a = ch(this, a)["delete"](a);
this.size -= a ? 1 : 0;
return a;
};
Rc.prototype.get = function (a) {
return ch(this, a).get(a);
};
Rc.prototype.has = function (a) {
return ch(this, a).has(a);
};
Rc.prototype.set = function (a, c) {
var b = ch(this, a),
d = b.size;
b.set(a, c);
this.size += b.size == d ? 0 : 1;
return this;
};
kc.prototype.clear = function () {
this.__data__ = new Qc();
this.size = 0;
};
kc.prototype["delete"] = function (a) {
var c = this.__data__;
a = c["delete"](a);
this.size = c.size;
return a;
};
kc.prototype.get = function (a) {
return this.__data__.get(a);
};
kc.prototype.has = function (a) {
return this.__data__.has(a);
};
kc.prototype.set = function (a, c) {
var b = this.__data__;
if (b instanceof Qc) {
var d = b.__data__;
if (!Kg || 199 > d.length) return d.push([a, c]), (this.size = ++b.size), this;
b = this.__data__ = new Rc(d);
}
b.set(a, c);
this.size = b.size;
return this;
};
Td.prototype.add = Td.prototype.push = function (a) {
this.__data__.set(a, "__lodash_hash_undefined__");
return this;
};
Td.prototype.has = function (a) {
return this.__data__.has(a);
};
var dh = pd.Uint8Array,
Mi = Ji ? Ji.prototype : void 0,
Pf = Mi ? Mi.valueOf : void 0,
dm = Object.getOwnPropertySymbols,
vj = dm
? function (a) {
if (null == a) return [];
a = Object(a);
return pj(dm(a), function (c) {
return ks.call(a, c);
});
}
: ln,
em = Rd(pd, "DataView"),
fm = Rd(pd, "Promise"),
zf = Rd(pd, "Set"),
gm = Rd(pd, "WeakMap"),
oA = Qd(em),
pA = Qd(Kg),
qA = Qd(fm),
rA = Qd(zf),
sA = Qd(gm),
wc = ud;
if (
(em && "[object DataView]" != wc(new em(new ArrayBuffer(1)))) ||
(Kg && "[object Map]" != wc(new Kg())) ||
(fm && "[object Promise]" != wc(fm.resolve())) ||
(zf && "[object Set]" != wc(new zf())) ||
(gm && "[object WeakMap]" != wc(new gm()))
)
wc = function (a) {
var c = ud(a);
if ((a = (a = "[object Object]" == c ? a.constructor : void 0) ? Qd(a) : ""))
switch (a) {
case oA:
return "[object DataView]";
case pA:
return "[object Map]";
case qA:
return "[object Promise]";
case rA:
return "[object Set]";
case sA:
return "[object WeakMap]";
}
return c;
};
var Eu = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
Du = /^\w*$/,
hm = function (a, c) {
if ("function" != typeof a || (null != c && "function" != typeof c)) throw new TypeError("Expected a function");
var b = function () {
var d = arguments,
e = c ? c.apply(this, d) : d[0],
f = b.cache;
if (f.has(e)) return f.get(e);
d = a.apply(this, d);
b.cache = f.set(e, d) || f;
return d;
};
b.cache = new (hm.Cache || Rc)();
return b;
};
hm.Cache = Rc;
var tA = /^\./,
uA = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
vA = /\\(\\)?/g,
Fu = (function (a) {
a = hm(a, function (b) {
500 === c.size && c.clear();
return b;
});
var c = a.cache;
return a;
})(function (a) {
var c = [];
tA.test(a) && c.push("");
a.replace(uA, function (b, a, e, f) {
c.push(e ? f.replace(vA, "$1") : a || b);
});
return c;
}),
Qf = 1 / 0,
nn = Mi ? Mi.toString : void 0,
yj = 0 / 0,
qn = /^\s+|\s+$/g,
Lu = /^[-+]0x[0-9a-f]+$/i,
Iu = /^0b[01]+$/i,
Ju = /^0o[0-7]+$/i,
Ku = parseInt,
gh = Math.max,
wA = (function (a) {
return function (c, b, d) {
var e = Object(c);
if (!vd(c)) {
var f = Xd(b);
c = Ne(c);
b = function (b) {
return f(e[b], b, e);
};
}
b = a(c, b, d);
return -1 < b ? e[f ? c[b] : b] : void 0;
};
})(Sf),
hh = (function () {
try {
var a = Rd(Object, "defineProperty");
a({}, "", {});
return a;
} catch (c) {}
})(),
xA = Date.now,
tn = (function (a) {
var c = 0,
b = 0;
return function () {
var d = xA(),
e = 16 - (d - b);
b = d;
if (0 < e) {
if (800 <= ++c) return arguments[0];
} else c = 0;
return a.apply(void 0, arguments);
};
})(
hh
? function (a, c) {
return hh(a, "toString", { configurable: !0, enumerable: !1, value: Mu(c), writable: !0 });
}
: Wd
),
yA = Bj(function (a, c, b, d) {
Yd(c, $d(c), a, d);
}),
zA = Zd(function (a) {
a.push(void 0, Nu);
return zj(yA, void 0, a);
}),
ps = Object.create,
Ou = (function () {
function a() {}
return function (c) {
if (!xb(c)) return {};
if (ps) return ps(c);
a.prototype = c;
c = new a();
a.prototype = void 0;
return c;
};
})(),
im = Bj(function (a, c, b, d) {
jh(a, c, b, d);
}),
qd = Zd(function (a) {
a.push(void 0, An);
return zj(im, void 0, a);
}),
Cn = dm
? function (a) {
for (var c = []; a; ) tj(c, vj(a)), (a = oj(a));
return c;
}
: ln,
Xu = /\w*$/,
za = {};
za["[object Arguments]"] = za["[object Array]"] = za["[object ArrayBuffer]"] = za["[object DataView]"] = za["[object Boolean]"] = za["[object Date]"] = za["[object Float32Array]"] = za["[object Float64Array]"] = za[
"[object Int8Array]"
] = za["[object Int16Array]"] = za["[object Int32Array]"] = za["[object Map]"] = za["[object Number]"] = za["[object Object]"] = za["[object RegExp]"] = za["[object Set]"] = za["[object String]"] = za["[object Symbol]"] = za[
"[object Uint8Array]"
] = za["[object Uint8ClampedArray]"] = za["[object Uint16Array]"] = za["[object Uint32Array]"] = !0;
za["[object Error]"] = za["[object Function]"] = za["[object WeakMap]"] = !1;
var AA = Bj(function (a, c, b) {
jh(a, c, b);
}),
BA =
zf && 1 / Of(new zf([, -0]))[1] == Qf
? function (a) {
return new zf(a);
}
: $u,
CA = Zd(function (a) {
if (!a || !a.length) return [];
var c = 0;
a = pj(a, function (b) {
if (Tf(b)) return (c = gh(b.length, c)), !0;
});
return qj(c, function (b) {
return Vd(a, on(b));
});
}),
Fn = Ji ? Ji.isConcatSpreadable : void 0,
DA = Zd(function (a, c) {
if (null == a) return [];
var b = c.length;
1 < b && ih(a, c[0], c[1]) ? (c = []) : 2 < b && ih(c[0], c[1], c[2]) && (c = [c[0]]);
return cv(a, lh(c, 1), []);
}),
EA = Li.splice,
FA = Li.join,
GA = Li.reverse,
HA = Zd(function (a, c) {
if (Tf(a)) {
c = lh(c, 1, Tf, !0);
var b = -1,
d = kh,
e = !0,
f = a.length,
g = [],
h = c.length;
if (f)
a: for (200 <= c.length && ((d = hn), (e = !1), (c = new Td(c))); ++b < f; ) {
var k = a[b],
l = k;
k = 0 !== k ? k : 0;
if (e && l === l) {
for (var m = h; m--; ) if (c[m] === l) continue a;
g.push(k);
} else d(c, l, void 0) || g.push(k);
}
a = g;
} else a = [];
return a;
}),
qs = Math.min,
IA = Zd(function (a) {
var c = Vd(a, dv);
if (c.length && c[0] === a[0]) {
a = c[0].length;
for (var b = c.length, d = b, e = Array(b), f = Infinity, g = []; d--; ) {
var h = c[d];
f = qs(h.length, f);
e[d] = 120 <= a && 120 <= h.length ? new Td(d && h) : void 0;
}
h = c[0];
var k = -1,
l = e[0];
a: for (; ++k < a && g.length < f; ) {
var m = h[k],
n = m;
m = 0 !== m ? m : 0;
if (l ? !l.has(n) : !kh(g, n, void 0)) {
for (d = b; --d; ) {
var p = e[d];
if (p ? !p.has(n) : !kh(c[d], n, void 0)) continue a;
}
l && l.push(n);
g.push(m);
}
}
c = g;
} else c = [];
return c;
}),
JA = (function (a) {
return tn(sn(a, void 0, fv), a + "");
})(function (a, c) {
var b = {};
if (null == a) return b;
var d = !1;
c = Vd(c, function (b) {
b = eh(b, a);
d || (d = 1 < b.length);
return b;
});
Yd(a, Dn(a), b);
d && (b = Uf(b, 7, ev));
for (var e = c.length; e--; ) Gn(b, c[e]);
return b;
}),
ea = function (a, c) {
return (Za(a) ? pj : vu)(a, Xd(c));
},
S = wA,
id = zA,
qa = function (a) {
return Uf(a, 4);
},
yf = function (a) {
return Uf(a, 5);
},
A = AA,
w = function (a, c) {
return (Za(a) ? Bn : ah)(a, Fj(c));
},
B = function (a, c) {
return (Za(a) ? Vd : En)(a, Xd(c));
},
jm = function (a, c, b) {
var d = Za(a) ? Ej : Yu,
e = 3 > arguments.length;
return d(a, Xd(c), b, e, ah);
},
$a = function (a) {
if (a && a.length)
a: {
var c = -1,
b = kh,
d = a.length,
e = !0,
f = [];
if (200 <= d) {
if ((b = BA(a))) {
a = Of(b);
break a;
}
e = !1;
b = hn;
var g = new Td();
} else g = f;
b: for (; ++c < d; ) {
var h = a[c],
k = h;
h = 0 !== h ? h : 0;
if (e && k === k) {
for (var l = g.length; l--; ) if (g[l] === k) continue b;
f.push(h);
} else b(g, k, void 0) || (g !== f && g.push(k), f.push(h));
}
a = f;
}
else a = [];
return a;
},
ad = function (a) {
if (a && a.length) {
for (var c = -1, b = a.length, d = 0, e = []; ++c < b; ) {
var f = a[c],
g = f;
if (!c || !Pd(g, h)) {
var h = g;
e[d++] = 0 === f ? 0 : f;
}
}
a = e;
} else a = [];
return a;
},
oh = Ke,
Qn = function (a, c) {
return null == a ? a : Dj(a, Fj(c), $d);
},
Co = CA,
sa = DA,
Af = function (a, c) {
var b = [];
if (!a || !a.length) return b;
var d = -1,
e = [],
f = a.length;
for (c = Xd(c); ++d < f; ) {
var g = a[d];
c(g, d, a) && (b.push(g), e.push(d));
}
c = a ? e.length : 0;
for (d = c - 1; c--; )
if (((f = e[c]), c == d || f !== h)) {
var h = f;
Yg(f) ? EA.call(a, f, 1) : Gn(a, f);
}
return b;
},
gc = IA,
pc = function (a, c) {
return null == a ? "" : FA.call(a, c);
},
yg = function (a, c, b) {
var d = null == a ? 0 : a.length;
if (!d) return [];
b && "number" != typeof b && ih(a, c, b) ? ((c = 0), (b = d)) : ((c = null == c ? 0 : Oe(c)), (b = void 0 === b ? d : Oe(b)));
return Hj(a, c, b);
},
Gq = function (a) {
return null == a ? a : GA.call(a);
},
me = HA,
ob = function (a, c) {
a = Oe(a);
if (1 > a || 9007199254740991 < a) return [];
var b = 4294967295,
d = qs(a, 4294967295);
c = Fj(c);
a -= 4294967295;
for (d = qj(d, c); ++b < a; ) c(b);
return d;
},
Ga = JA,
ja = Za,
nb = function (a) {
return "number" == typeof a || (Pc(a) && "[object Number]" == ud(a));
},
ub = function (a) {
if (null == a) return !0;
if (vd(a) && (Za(a) || "string" == typeof a || "function" == typeof a.splice || Me(a) || Zg(a) || Le(a))) return !a.length;
var c = wc(a);
if ("[object Map]" == c || "[object Set]" == c) return !a.size;
if ($g(a)) return !fn(a).length;
for (var b in a) if (qb.call(a, b)) return !1;
return !0;
},
Hg = function (a, c, b) {
a = Ke(a);
b = null == b ? 0 : Ij(Oe(b), 0, a.length);
c = Mf(c);
return a.slice(b, b + c.length) == c;
},
zq = function () {
var a = arguments,
c = Ke(a[0]);
return 3 > a.length ? c : c.replace(a[1], a[2]);
},
Gd = function (a, c, b) {
if ((a = Ke(a)) && (b || void 0 === c)) return a.replace(qn, "");
if (!a || !(c = Mf(c))) return a;
a = a.split("");
c = c.split("");
b = -1;
for (var d = a.length; ++b < d && -1 < Gj(c, a[b], 0); );
for (d = a.length; d-- && -1 < Gj(c, a[d], 0); );
c = d + 1;
d = a.length;
c = void 0 === c ? d : c;
return (!b && c >= d ? a : Hj(a, b, c)).join("");
},
Mg = function (a, c, b) {
a = Ke(a);
c = Mf(c);
var d = a.length;
d = b = void 0 === b ? d : Ij(Oe(b), 0, d);
b -= c.length;
return 0 <= b && a.slice(b, d) == c;
},
oa = function (a) {
if (a && a.length) {
for (var c = -1, b = a.length; ++c < b; ) {
var d = a[c],
e = d;
if (null != e && (void 0 === f ? e === e && !Ud(e) : e > f))
var f = e,
g = d;
}
a = g;
} else a = void 0;
return a;
},
Ta = function (a) {
return a && a.length ? Hn(a, Wd) : 0;
},
Do = function (a) {
var c = null == a ? 0 : a.length;
return c ? Hn(a, Wd) / c : yj;
},
ua = function (a, c, b) {
void 0 === b && ((b = c), (c = void 0));
void 0 !== b && ((b = fh(b)), (b = b === b ? b : 0));
void 0 !== c && ((c = fh(c)), (c = c === c ? c : 0));
return Ij(fh(a), c, b);
},
Jn = function (a, c) {
return a.id || c;
},
Ha = Number.isNaN || gv,
iv = /function ([^\(]+)/,
hv = Array.prototype.concat,
wd = Object.prototype.hasOwnProperty,
Xe = function (a) {
for (var c = [], b = 1; b < arguments.length; b++) c[b - 1] = arguments[b];
return w(c, function (b) {
return t(b) && a.push(b);
});
},
km = {},
Ni = function (a, c) {
var b = !1,
d,
e,
f = function () {
b
? ((d = arguments), (e = this))
: (a.apply(this, arguments),
(b = !0),
(f.timeoutId = setTimeout(function () {
b = !1;
d && (f.apply(e, d), (d = e = null));
}, c)));
};
f.cancel = function () {
clearTimeout(f.timeoutId);
b = !1;
};
return f;
},
Rb = function (a, c, b, d) {
b =
b ||
function () {
for (var b = [], a = 0; a < arguments.length; a++) b[a] = arguments[a];
return JSON.stringify(b);
};
a = a || Nn(c);
return KA(a, c, b, d);
},
KA = function (a, c, b, d) {
return function () {
for (var e = [], f = 0; f < arguments.length; f++) e[f] = arguments[f];
if (0 < e.length) {
km.hasOwnProperty(a) || Object.defineProperty(km, a, { configurable: !1, enumerable: !1, writable: !1, value: {} });
f = km[a];
var g = b.apply(this, e);
d && (g += b.apply(this, d(this)));
if (f.hasOwnProperty(g)) var h = f[g];
else (h = c.apply(this, e)), (f[g] = h);
}
return h;
};
},
rs = function () {
try {
return window.localStorage.setItem("test", "test"), window.localStorage.removeItem("test"), !0;
} catch (a) {
return !1;
}
},
ss = function (a, c, b) {
return function () {
for (var d = [], e = 0; e < arguments.length; e++) d[e] = arguments[e];
if (0 < d.length) {
e = Nn(a) + c.apply(this, d);
if (!b) var f = (f = window.localStorage.getItem(e)) && JSON.parse(f);
if (!f || b) (f = a.apply(this, d)), window.localStorage.setItem(e, JSON.stringify(f));
}
return f;
};
},
kv = /[-]{0,1}[\d]*[\.]{0,1}[\d]+/g,
hb = function (a, c) {
return t(a)
? a.pop
? a.map(function (b) {
return hb(b, c);
})
: c(a)
: a;
},
lv = /([a-zA-Z]+)_/g,
LA = Object.freeze({
__proto__: null,
def: t,
has: J,
removeArrItem: pb,
evalPath: C,
epa: N,
getValType: I,
isNull: an,
mergeCollections: Ub,
noop: xc,
noopRet: Gb,
contains: ae,
caseInsensitiveProperty: mh,
eachKey: Da,
extend: L,
extendCopy: W,
copy: Oa,
extendScoped: Na,
extendScopedNegate: Sc,
extendCopyScopedNegate: be,
extendCopyScoped: Pe,
exclude: Hb,
plainArray: fa,
concatArrays: Tc,
plainCommaSplitedString: Jj,
arraySum: Kj,
plainToArray: function (a) {
var c = [],
b;
for (b in a) c.push(a[b]);
return c;
},
last: P,
copyIfChanged: function (a, c) {
var b = {},
d = !1,
e;
for (e in c) d || (wd.call(a, e) && a[e] === c[e]) || (d = !0), (b[e] = c[e]);
return d ? b : null;
},
changesWithExtend: Lj,
pick: z,
attr: function (a, c, b) {
var d, e;
if (O(c)) t(b) ? a.setAttribute(c, b) : a && a.getAttribute && (e = a.getAttribute(c));
else if (t(c) && Pa(c)) for (d in c) a.setAttribute(d, c[d]);
return e;
},
isString: O,
isObject: Pa,
isUndefined: Q,
isUndefinedOrNull: lc,
keys: pa,
keysFlatten: Kn,
detect: yc,
detectKey: Ln,
pickPaths: function (a, c) {
var b, d;
w(c, function (c) {
if ((d = C(a, c))) return (b = d), !1;
});
return b;
},
pluckPaths: Mj,
setPathVal: Z,
setPathValArr: Vf,
applySetting: zc,
applySettingArr: Mn,
findInArrSimple: nh,
compareArrays: Qe,
pushDef: Xe,
throttle: Ni,
Memoize: Rb,
localStorageAvailable: rs,
evalString: Nj,
fromLocalStorage: ss,
kebabCase: On,
split: Re,
eachCommaSplited: Ib,
parseNumber: function (a) {
return Number(a);
},
parseMargin: Ac,
extractNumbers: Oj,
mapRange: Pn,
mapDeep: hb,
expandOptionsProperties: Sa,
sign: ce,
isNaN: Ha,
isPlainObject: Wg,
filter: ea,
find: S,
findIndex: Sf,
defaults: id,
defaultsDeep: qd,
clone: qa,
cloneDeep: yf,
merge: A,
mergeWith: im,
each: w,
map: B,
reduce: jm,
uniq: $a,
sortedUniq: ad,
toString: oh,
forIn: Qn,
zip: Co,
sortBy: sa,
remove: Af,
intersection: gc,
join: pc,
slice: yg,
reverse: Gq,
difference: me,
times: ob,
omit: Ga,
isArray: ja,
isEqual: function (a, c) {
return vc(a, c);
},
isFunction: Fb,
isNumber: nb,
isEmpty: ub,
startsWith: Hg,
replace: zq,
trim: Gd,
endsWith: Mg,
max: oa,
sum: Ta,
mean: Do,
clamp: ua,
}),
Vb = Math,
MA = Number.MAX_VALUE,
lm = Math.floor,
ts = function (a, c, b) {
void 0 === b && (b = 0);
return Sj(na(a, b), na(c, b));
},
Yf = function (a) {
a = "" + Math.abs(a);
for (var c = a.length - 1, b = c, d = a[b]; d && "." !== d; ) d = a[--b];
return -1 === b ? 0 : c - b;
},
Tj = 1 / Math.pow(10, 6),
NA = function (a, c) {
var b,
d = [];
try {
for (var e = ya(a), f = e.next(); !f.done; f = e.next()) {
var g = f.value;
d.push([la(g, c), g]);
}
} catch (k) {
var h = { error: k };
} finally {
try {
f && !f.done && (b = e.return) && b.call(e);
} finally {
if (h) throw h.error;
}
}
d = sa(d, function (b) {
return b[0];
});
return a.length && d[0][1];
},
Rk = /^-?\d+\.?\d*$/,
us = String.fromCharCode(160),
OA = us + "\u2013" + us,
Bf = function (a) {
return a && a.toLowerCase ? a.toLowerCase() : a;
},
vb = function (a, c) {
return a && -1 < a.indexOf(c);
},
vs = function (a) {
return t(a) && "function" === typeof a.pop && 2 === a.length ? a.join(OA) : a.pop ? a.join(", ") : a;
},
Ir = function (a, c, b) {
void 0 === b && (b = "\u2026");
return a.length > c ? a.substr(0, c) + b : a;
},
cl = Math.pow,
ws = function (a, c) {
return a - Math.floor(a / c) * c;
},
fe = function (a, c) {
return c > a[0] && c < a[1];
},
Kb = function (a, c) {
return c >= a[0] && c <= a[1];
},
$n = function (a, c) {
return Kb(a, c[0]) && Kb(a, c[1]);
},
xf = function (a, c) {
return c.length ? [a[0] + c[0], a[1] - c[1]] : [a[0] + c, a[1] - c];
},
Ve = function (a) {
return a[1] < a[0] ? [a[1], a[0]] : a;
},
Wa = function (a) {
return a[1] + a[3];
},
Va = function (a) {
return a[0] + a[2];
},
yd = function (a) {
return a[1];
},
xd = function (a) {
return a[0];
},
Vc = function (a) {
return a[0] + a[2] / 2;
},
Wc = function (a) {
return a[1] + a[3] / 2;
},
nc = {
b: Wa,
t: yd,
c: Vc,
l: xd,
r: Va,
m: Wc,
intop: [yd, yd, "top"],
outtop: [Wa, yd, "bottom"],
inbottom: [Wa, Wa, "bottom"],
outbottom: [yd, Wa, "top"],
inmiddle: [Wc, Wc, "middle"],
outmiddle: [Wc, Wc, "middle"],
inleft: [xd, xd, "left"],
outleft: [Va, xd, "right"],
inright: [Va, Va, "right"],
outright: [xd, Va, "left"],
incenter: [Vc, Vc, "center"],
outcenter: [Vc, Vc, "center"],
default: function (a, c) {
a = a.toLowerCase();
return 4 == a.length ? [nc[a[1]], nc[a[3]], nc[a[0]], nc[a[2]]] : nc[a] || nc[c];
},
x: function (a) {
return nc.default(a, "incenter");
},
y: function (a) {
return nc.default(a, "inmiddle");
},
},
ge = {
left: xd,
right: Va,
center: Vc,
top: yd,
middle: Wc,
bottom: Wa,
default: function (a, c) {
return ge[a.toLowerCase()] || c;
},
x: function (a) {
return ge.default(a, Vc);
},
y: function (a) {
return ge.default(a, Wc);
},
},
PA = function (a) {
var c = a[0],
b = a[1],
d = Va(a),
e = Wa(a),
f = Vc(a),
g = Wc(a);
return function (a) {
return { tl: [c, b], tr: [d, b], tm: [f, b], bl: [c, e], br: [d, e], bm: [f, e], lm: [c, g], rm: [d, g] }[a.toLowerCase()];
};
},
ie = function (a, c) {
a = PA(a);
c = c.split(",");
return B(c, a);
},
xs = Va,
ys = Wa,
ko = function (a) {
return "M" + a[0] + " " + a[1] + " h" + a[2] + " v" + a[3] + " h" + -a[2] + " Z";
},
Yb = function (a) {
return [a[0], a[1], Va(a), Wa(a)];
},
Ze = function (a) {
return [a[0], a[1], a[2] - a[0], a[3] - a[1]];
},
zs = function (a) {
return [
[a[0], Va(a)],
[a[1], Wa(a)],
];
},
Xc = function (a, c) {
return mm(a.slice(0), c);
},
mm = function (a, c) {
a[0] += c[0];
a[1] += c[1];
return a;
},
T = window,
ba = document,
QA =
"performance" in window && "now" in performance
? performance
: {
offset: Date.now(),
now: function () {
return Date.now() - this.offset;
},
},
nm = window.navigator.userAgent.toLowerCase(),
kk = null,
jk = null,
om = [
{ name: "winphone", value: "Windows Phone" },
{ name: "win", value: "Win" },
{ name: "iphone", value: "iPhone" },
{ name: "ipad", value: "iPad" },
{ name: "kindle", value: "Silk" },
{ name: "android", value: "Android" },
{ name: "blackberry", value: "BlackBerry" },
{ name: "macintosh", value: "Mac" },
{ name: "linux", value: "Linux" },
],
Oi = (function () {
var a;
for (a = 0; a < om.length; a += 1) if (new RegExp(om[a].value, "i").test(nm)) return om[a].name;
return "unknown";
})(),
RA = "ipad" === Oi || "iphone" === Oi,
SA = function () {
var a,
c = ["ms", "moz", "webkit", "o"],
b = 0;
try {
for (var d = ya(c), e = d.next(); !e.done; e = d.next()) {
var f = e.value;
T.requestAnimationFrame = T[f + "RequestAnimationFrame"];
T.cancelAnimationFrame = T[f + "CancelAnimationFrame"] || T[f + "CancelRequestAnimationFrame"];
}
} catch (h) {
var g = { error: h };
} finally {
try {
e && !e.done && (a = d.return) && a.call(d);
} finally {
if (g) throw g.error;
}
}
T.requestAnimationFrame ||
(T.requestAnimationFrame = function (a) {
var c = QA.now(),
d = Math.max(0, 16 - (c - b));
b = c + d;
return T.setTimeout(function () {
return a(b);
}, d);
});
T.cancelAnimationFrame ||
(T.cancelAnimationFrame = function (b) {
return clearTimeout(b);
});
};
T.requestAnimationFrame || SA();
var Ka;
(function (a) {
a[(a.None = 0)] = "None";
a[(a.Currency = 1)] = "Currency";
a[(a.Number = 2)] = "Number";
a[(a.Decimal = 3)] = "Decimal";
a[(a.Exponential = 4)] = "Exponential";
a[(a.Float = 5)] = "Float";
a[(a.General = 6)] = "General";
a[(a.Hexadecimal = 7)] = "Hexadecimal";
a[(a.Percent = 8)] = "Percent";
a[(a.NumericSymbol = 9)] = "NumericSymbol";
a[(a.PowersOfTen = 10)] = "PowersOfTen";
})(Ka || (Ka = {}));
var As = ["k", "M", "B", "T", "Q"],
Mv = /^[A-z]+/,
Nv = /[0-9]+/,
Tv = /(d{1,4}|f{1,7}|F{1,7}|gg?|K|hh?|HH?|mm?|M{1,4}|ss?|tt?|y{1,4}|z{1,3}|S)/gm,
TA = /^([a-zA-Z]*)([_\-a-zA-Z]*)$/,
Bs = function (a) {
return O(a) ? a : a.formatString + a.currency;
},
Cs = function (a) {
return O(a) ? a : a.formatString + a.timeZone + a.month + a.day + a.year + a.hour + a.minute + a.second + a.weekday;
},
UA = function (a, c) {
return (a || "").toString() + (c ? Bs(c) : "");
},
VA = function (a, c) {
return (a ? a : "") + (c ? Bs(c) : "");
},
WA = function (a, c) {
return (a || "").toString() + (c ? Cs(c) : "");
},
XA = function (a, c) {
return (a ? a : "") + (c ? Cs(c) : "");
},
pm = { year: "numeric", month: "numeric", day: "numeric" },
Pi = { weekday: "long", year: "numeric", month: "long", day: "numeric" },
qm = { hour: "2-digit", minute: "2-digit" },
Qi = { hour: "2-digit", minute: "2-digit", second: "2-digit" },
Ds = { month: "long", day: "numeric" },
Es = { month: "long", year: "numeric" },
Zb = function (a, c) {
void 0 === c && (c = 2);
for (a = a.toString(); a.length < c; ) a = "0" + a;
return a;
},
Ri = function (a, c) {
void 0 === c && (c = 2);
for (a = a.toString(); a.length < c; ) a += "0";
return a;
},
$b = {
d: function (a) {
return a.getDate().toString();
},
dd: function (a) {
return Zb(a.getDate(), 2);
},
ddd: function (a, c) {
return c.format(a);
},
dddd: function (a, c) {
return c.format(a);
},
f: function (a) {
return Math.round(a.getMilliseconds() / 100).toString();
},
ff: function (a) {
return Math.round(a.getMilliseconds() / 10).toString();
},
fff: function (a) {
return a.getMilliseconds().toString();
},
ffff: function (a) {
return Ri($b.fff(a), 4);
},
fffff: function (a) {
return Ri($b.fff(a), 5);
},
ffffff: function (a) {
return Ri($b.fff(a), 6);
},
fffffff: function (a) {
return Ri($b.fff(a), 7);
},
F: function (a) {
return (a = a.getMilliseconds()) ? Math.round(a / 100).toString() : "";
},
FF: function (a) {
return (a = a.getMilliseconds()) ? Math.round(a / 10).toString() : "";
},
FFF: function (a) {
return (a = a.getMilliseconds()) ? Math.round(a).toString() : "";
},
FFFF: function (a) {
return $b.FFF(a);
},
FFFFF: function (a) {
return $b.FFF(a);
},
FFFFFF: function (a) {
return $b.FFF(a);
},
FFFFFFF: function (a) {
return $b.FFF(a);
},
g: function (a, c) {
return c.format(a);
},
gg: function (a, c) {
return c.format(a);
},
h: function (a, c) {
return c.format(a).replace(/\D/g, "");
},
hh: function (a, c) {
return Zb(c.format(a).replace(/\D/g, ""), 2);
},
H: function (a) {
return a.getHours().toString();
},
HH: function (a) {
return Zb(a.getHours(), 2);
},
K: function (a) {
return a.getTimezoneOffset() ? $b.zzz(a) : "Z";
},
m: function (a) {
return a.getMinutes().toString();
},
mm: function (a) {
return Zb(a.getMinutes(), 2);
},
M: function (a) {
return (a.getMonth() + 1).toString();
},
MM: function (a) {
return Zb(a.getMonth() + 1, 2);
},
MMM: function (a, c) {
return c.format(a);
},
MMMM: function (a, c) {
return c.format(a);
},
s: function (a) {
return a.getSeconds().toString();
},
ss: function (a) {
return Zb(a.getSeconds(), 2);
},
t: function (a, c) {
return $b.tt(a, c).substring(0, 1);
},
tt: function (a, c) {
return c.format(a).replace(/\d/g, "").trim();
},
y: function (a) {
a = a.getFullYear().toString();
return parseInt(a.substring(a.length - 2)).toString();
},
yy: function (a) {
a = a.getFullYear().toString();
return a.substring(a.length - 2).toString();
},
yyy: function (a) {
a = a.getFullYear();
return Zb(a, 3);
},
yyyy: function (a) {
a = a.getFullYear();
return Zb(a, 4);
},
yyyyy: function (a) {
a = a.getFullYear();
return Zb(a, 5);
},
z: function (a) {
a = Fs(a);
return (0 < a ? "+" : "-") + Math.abs(a);
},
zz: function (a) {
a = Fs(a);
return (0 < a ? "+" : "-") + Zb(Math.abs(a), 2);
},
zzz: function (a) {
return $b.zz(a) + ":" + Zb(a.getMinutes() - a.getUTCMinutes(), 2);
},
},
Fs = function (a) {
a = a.getHours() - a.getUTCHours();
12 < Math.abs(a) && (a -= 24 * ce(a));
return a;
},
Qv = {
D: { options: Pi },
d: { options: pm },
F: { options: W(Pi, Qi) },
f: { options: W(Pi, qm) },
T: { options: Qi },
t: { options: qm },
g: { options: W(pm, qm) },
G: { options: W(pm, Qi) },
m: { options: Ds },
M: { options: Ds },
y: { options: Es },
Y: { options: Es },
u: { formatString: "yyyy-MM-dd HH:mm:ssZ" },
U: { options: W({ timeZone: "UTC" }, W(Pi, Qi)) },
s: { formatString: "yyyy-MM-ddTHH:mm:ss" },
r: {
handler: function (a) {
return a.toUTCString();
},
},
R: {
handler: function (a) {
return a.toUTCString();
},
},
},
Ng = (function () {
function a(a, b) {
var c = this;
void 0 === b && (b = {});
this.locale = a;
this.options = b;
this.dateTimeFormatters = {};
this.setLocale = function (b) {
c.locale !== b && (c.locale = b);
};
this.formatDate = function (b, a) {
return c._formatDate(b, a, c);
};
this.formatNumber = function (b, a) {
return c._formatNumber(b, a, c);
};
this._getDateTimeFormat = Rb("getDateTimeFormat", Iv, XA);
this._getNumberFormat = Rb("getNumberFormat", Jv, VA);
this._getCollator = Rb("getCollator", Kv);
this._formatDate = Rb("formatDate", Pv, WA, function (b) {
return [b.locale, b.options];
});
this._formatNumber = Rb("formatNumber", Lv, UA, function (b) {
return [b.locale, b.options];
});
this.formatString = this.options.formatString;
}
a.prototype.compare = function (a, b) {
var c = this._getCollator(this.locale, this.options);
return c ? c.compare(a, b) : a === b;
};
return a;
})(),
YA = /_|-/g,
Rv = function (a) {
var c = a.split(YA);
a = 1 < c.length ? c.pop() : a;
a = a.toUpperCase();
return a in Gs ? Gs[a] : "USD";
},
Gs = {
AD: "EUR",
AE: "AED",
AF: "AFN",
AG: "XCD",
AI: "XCD",
AL: "ALL",
AM: "AMD",
AN: "ANG",
AO: "AOA",
AR: "ARS",
AS: "USD",
AT: "EUR",
AU: "AUD",
AW: "AWG",
AX: "EUR",
AZ: "AZN",
BA: "BAM",
BB: "BBD",
BD: "BDT",
BE: "EUR",
BF: "XOF",
BG: "BGN",
BH: "BHD",
BI: "BIF",
BJ: "XOF",
BL: "EUR",
BM: "BMD",
BN: "BND",
BO: "BOB",
BQ: "USD",
BR: "BRL",
BS: "BSD",
BT: "BTN",
BV: "NOK",
BW: "BWP",
BY: "BYR",
BZ: "BZD",
CA: "CAD",
CC: "AUD",
CD: "CDF",
CF: "XAF",
CG: "XAF",
CH: "CHF",
CI: "XOF",
CK: "NZD",
CL: "CLP",
CM: "XAF",
CN: "CNY",
CO: "COP",
CR: "CRC",
CU: "CUP",
CV: "CVE",
CW: "ANG",
CX: "AUD",
CY: "EUR",
CZ: "CZK",
DE: "EUR",
DJ: "DJF",
DK: "DKK",
DM: "XCD",
DO: "DOP",
DZ: "DZD",
EC: "USD",
EE: "EUR",
EG: "EGP",
EH: "MAD",
ER: "ERN",
ES: "EUR",
ET: "ETB",
FI: "EUR",
FJ: "FJD",
FK: "FKP",
FM: "USD",
FO: "DKK",
FR: "EUR",
GA: "XAF",
GB: "GBP",
GD: "XCD",
GE: "GEL",
GF: "EUR",
GG: "GBP",
GH: "GHS",
GI: "GIP",
GL: "DKK",
GM: "GMD",
GN: "GNF",
GP: "EUR",
GQ: "XAF",
GR: "EUR",
GS: "GBP",
GT: "GTQ",
GU: "USD",
GW: "XOF",
GY: "GYD",
HK: "HKD",
HM: "AUD",
HN: "HNL",
HR: "HRK",
HT: "HTG",
HU: "HUF",
ID: "IDR",
IE: "EUR",
IL: "ILS",
IM: "GBP",
IN: "INR",
IO: "USD",
IQ: "IQD",
IR: "IRR",
IS: "ISK",
IT: "EUR",
JE: "GBP",
JM: "JMD",
JO: "JOD",
JP: "JPY",
KE: "KES",
KG: "KGS",
KH: "KHR",
KI: "AUD",
KM: "KMF",
KN: "XCD",
KP: "KPW",
KR: "KRW",
KW: "KWD",
KY: "KYD",
KZ: "KZT",
LA: "LAK",
LB: "LBP",
LC: "XCD",
LI: "CHF",
LK: "LKR",
LR: "LRD",
LS: "LSL",
LT: "LTL",
LU: "EUR",
LV: "LVL",
LY: "LYD",
MA: "MAD",
MC: "EUR",
MD: "MDL",
ME: "EUR",
MF: "EUR",
MG: "MGA",
MH: "USD",
MK: "MKD",
ML: "XOF",
MM: "MMK",
MN: "MNT",
MO: "MOP",
MP: "USD",
MQ: "EUR",
MR: "MRO",
MS: "XCD",
MT: "EUR",
MU: "MUR",
MV: "MVR",
MW: "MWK",
MX: "MXN",
MY: "MYR",
MZ: "MZN",
NA: "NAD",
NC: "XPF",
NE: "XOF",
NF: "AUD",
NG: "NGN",
NI: "NIO",
NL: "EUR",
NO: "NOK",
NP: "NPR",
NR: "AUD",
NU: "NZD",
NZ: "NZD",
OM: "OMR",
PA: "PAB",
PE: "PEN",
PF: "XPF",
PG: "PGK",
PH: "PHP",
PK: "PKR",
PL: "PLN",
PM: "EUR",
PN: "NZD",
PR: "USD",
PS: "ILS",
PT: "EUR",
PW: "USD",
PY: "PYG",
QA: "QAR",
RE: "EUR",
RO: "RON",
RS: "RSD",
RU: "RUB",
RW: "RWF",
SA: "SAR",
SB: "SBD",
SC: "SCR",
SD: "SDG",
SE: "SEK",
SG: "SGD",
SH: "SHP",
SI: "EUR",
SJ: "NOK",
SK: "EUR",
SL: "SLL",
SM: "EUR",
SN: "XOF",
SO: "SOS",
SR: "SRD",
ST: "STD",
SV: "SVC",
SX: "ANG",
SY: "SYP",
SZ: "SZL",
TC: "USD",
TD: "XAF",
TF: "EUR",
TG: "XOF",
TH: "THB",
TJ: "TJS",
TK: "NZD",
TL: "USD",
TM: "TMT",
TN: "TND",
TO: "TOP",
TR: "TRY",
TT: "TTD",
TV: "AUD",
TW: "TWD",
TZ: "TZS",
UA: "UAH",
UG: "UGX",
UM: "USD",
US: "USD",
UY: "UYU",
UZ: "UZS",
VA: "EUR",
VC: "XCD",
VE: "VEF",
VG: "USD",
VI: "USD",
VN: "VND",
VU: "VUV",
WF: "XPF",
WS: "WST",
YE: "YER",
YT: "EUR",
ZA: "ZAR",
ZM: "ZMK",
ZW: "ZWL",
},
Hs = function (a) {
var c = 1e4 <= a;
a = c ? Math.ceil(Math.log(a) / Math.log(1e3)) - 1 : 0;
a = Math.min(5, a);
return c ? [a, As[a - 1] || ""] : [0, ""];
},
Sv = function (a, c) {
var b = "";
if (c && a) {
var d = a / Math.pow(1e3, c);
b = As[c - 1];
} else 1e4 <= Math.abs(a) && ((d = G(Hs(a), 2)), (c = d[1]), (d = a / Math.pow(1e3, d[0])), (b = c));
return (d || a) + b;
},
Si = function (a, c, b) {
void 0 === b && (b = "en-US");
var d = I(a),
e = "object" === typeof c;
b = new Ng(b, e ? c : {});
return "date" === d ? b.formatDate(a, e ? {} : c) : b.formatNumber(a, e ? {} : c);
},
Is = function (a) {
var c;
if ((c = a)) (c = TA.exec(a)), (c = a && c ? (a = c[1]) && a.toLowerCase() : void 0);
if ((a = c)) return !!~ZA.indexOf(a);
},
ZA = "ae ar arc bcc bqi ckb dv fa glk he ku mzn nqo pnb ps sd ug ur yi".split(" "),
Ma = {
missed: {},
events: {},
on: function (a, c, b) {
var d = this;
(this.events[a] || (this.events[a] = [])).push({ fn: c, ctx: b });
this.missed[a] &&
this.missed[a].forEach(function (b) {
return d.emit.apply(d, H([b.name], b.rest));
});
},
emit: function (a) {
for (var c = [], b = 1; b < arguments.length; b++) c[b - 1] = arguments[b];
b = (this.events[a] || []).slice();
b.length
? b.forEach(function (b) {
return b.fn.apply(b.ctx, c);
})
: ((this.missed[a] || (this.missed[a] = [])).push({ name: a, rest: c }), "error" === a && T.console.error("JSCharting Error: Set chart option {debug:true} to view full error messages."));
},
un: function (a, c) {
var b = this.events[a],
d = [];
if (b && c) for (var e = 0, f = b.length; e < f; e++) b[e].fn !== c && b[e].fn._ !== c && d.push(b[e]);
d.length ? (this.events[a] = d) : delete this.events[a];
},
},
Ae = (function () {
function a(a) {
this.stack = {};
this._clearFn = (this._forAnimation = !0 === a) ? Hv : T.clearTimeout.bind(T);
this._setFn = this._forAnimation ? Gv : T.setTimeout.bind(T);
}
a.prototype.defer = function (a, b, d) {
var c = this.stack[a];
c ? (c.lastBounce = Date.now()) : (this.stack[a] = this.timeout(a, b, d));
};
a.prototype.clear = function (a) {
var b = this.stack[a];
if (b) return this._clearFn(b.timer), delete this.stack[a], !0;
};
a.prototype.has = function (a) {
return !!this.stack[a];
};
a.prototype.run = function (a) {
var b = this.stack[a];
if (b) return this._clearFn(b.timer), b.fn(), delete this.stack[a], !0;
};
a.prototype.clearAll = function () {
var a = this;
Da(a.stack, function (b) {
a.clear(b);
});
};
a.prototype.timeout = function (a, b, d) {
var c = this,
f = c._setFn,
g = { timer: null, start: Date.now(), fn: b, lastBounce: Date.now(), delay: d };
g.timer = f(function () {
var e = Date.now(),
f = g.lastBounce + d;
e < f ? (c.stack[a] = c.timeout(a, b, f - e)) : (b.call(), delete c.stack[a]);
}, d);
return g;
};
return a;
})(),
$A = (function () {
function a() {
this.items = {};
this._onReady = {};
}
a.prototype.hold = function (a) {
var b = de(6);
this.holdItem(b, a);
return b;
};
a.prototype.release = function (a) {
a && (delete this.items[a], this.isReady() && this.triggerFnQueue());
};
a.prototype.isReady = function () {
return 0 === Object.keys(this.items).length;
};
a.prototype.onReady = function (a, b) {
this._onReady[a] = b;
};
a.prototype.unReady = function (a) {
delete this._onReady[a];
};
a.prototype.reset = function () {
this.items = {};
this._onReady = {};
};
a.prototype.debug = function (a) {};
a.prototype.holdItem = function (a, b) {
this.items[a] = b;
};
a.prototype.triggerFnQueue = function () {
var a = Object.keys(this._onReady),
b = this._onReady;
this._onReady = {};
for (var d = 0, e = a.length; d < e; d++) b[a[d]]();
this._onReady = {};
};
return a;
})(),
aB = (function () {
function a() {
this.callCount = 0;
}
a.prototype.open = function () {
this.callCount++;
};
a.prototype.close = function () {
this.callCount--;
};
return a;
})(),
wb = (function (a) {
function c(b, d) {
d = a.call(this, b, d) || this;
d.items = b;
d.kindObject = c;
return d;
}
K(c, a);
c.prototype.options = function (b, a) {
var c = this.items.length - 1;
return this.each(function (d, e) {
d.options(b, !1 === a || c !== e ? !1 : void 0);
});
};
return c;
})(
(function () {
function a(c, b) {
this.items = c;
this.currentOptions = b;
this.kindObject = a;
this.__collection__ = c.slice(0);
}
a.prototype.find = function (a) {
return S(this.items, a);
};
a.prototype.filter = function (a) {
return this.wrap(ea(this.items, a));
};
a.prototype.each = function (a) {
w(this.items, a);
return this;
};
a.prototype.sortBy = function (a) {
return this.wrap(sa(this.items, a));
};
a.prototype.map = function (a) {
return B(this.items, a);
};
a.prototype.reverse = function () {
return this.wrap(this.items.slice(0).reverse());
};
a.prototype.remove = function (a) {
var b = [];
w(this.items.slice(0), function (c) {
c.remove ? c.remove(a) : b.push(c);
});
this.items = b;
return this;
};
a.prototype.wrap = function (a) {
if (a instanceof this.kindObject) return a;
C(a, "__collection__");
return new this.kindObject(a);
};
return a;
})()
),
Og = {},
Ti,
Ui = "circle square triangle triangle-down diamond four-point-star arrow-down arrow-up five-point-star six-point-star seven-point-star".split(" "),
Js = "x y z mapData complete completeX complete.y complete.x name subvalue subvalueX yAxisTick xAxisTick".split(" "),
Cr = "color marker outline opacity label fill".split(" "),
bB = ["selected", "muted"],
Or = ["selected", "muted"],
gb = { series: 0, body: 1, complete: 2, error: 3, marker: 4, breakPath: 5, labelConnector: 6, label: 7 },
nr = /<chart \\?.*?>/i,
cB =
((Ti = {}),
(Ti[1] = function () {
return { fill: "#f6f6f6", boxVisible: !0, outline: { width: 1 } };
}),
(Ti[0] = function () {
return { fill: "rgba(255, 255, 255, 0.5)", boxVisible: !1, outline: { width: 0 }, shadow: !1 };
}),
Ti),
Cf = function (a) {
void 0 === a && (a = 0);
return A({ radius: 5, padding: 3, label: { style: { color: "#323232" } }, outline: { color: "#bdbdbd" }, sortOrder: 1 }, cB[a]());
},
af = {},
Ks = { iphone: "ios", ipad: "ios", android: "android", winphone: "winphone" },
Wv = J(Ks, Oi) ? Ks[Oi] : "default",
dg = null,
$e = null,
rm = ["class", "className", "style", "externalResourcesRequired"].concat(
["requiredFeatures", "requiredExtensions", "systemLanguage"],
["id", "xml:base", "xml:lang", "xml:space"],
"onfocusin onfocusout onactivate onclick onmousedown onmouseup onmouseover onmousemove onmouseout onload".split(" "),
"alignment-baseline baseline-shift clip clip-path clip-rule color color-interpolation color-interpolation-filters color-profile color-rendering cursor direction display dominant-baseline enable-background fill fill-opacity fill-rule filter flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-orientation-horizontal glyph-orientation-vertical image-rendering kerning letter-spacing lighting-color marker-end marker-mid marker-start mask opacity overflow pointer-events shape-rendering stop-color stop-opacity stroke stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-align background-color border text-decoration text-rendering unicode-bidi visibility word-spacing writing-mode user-select strokeWidth borderWidth border-width borderColor border-color fontStyle fontSize fontFamily fontWeight z-index zIndex clipPath shadow textDecoration tabindex".split(
" "
),
["transform", "translate", "rotate", "scale"],
["aria-label", "role", "aria-hidden"]
),
dB = rm.concat(rm, ["x", "y", "width", "height"]),
Ls = fa(rm),
Vi = fa(dB),
fy = {
borderColor: "stroke",
"border-color": "stroke",
strokeOpacity: "stroke-opacity",
strokeWidth: "stroke-width",
borderWidth: "stroke-width",
"border-width": "stroke-width",
className: "class",
strokeDashArray: "stroke-dasharray",
textRendering: "text-rendering",
zIndex: "z-index",
fontFamily: [
"fontFamily",
function (a) {
return a.toLowerCase();
},
],
description: "aria-label",
},
eB = fa("transform radius translate scale z-index animation transition display rotate overflow clipPath opacity visibility tabindex role aria-label".split(" ")),
fB = eg("d path pathLength shape hatch hatchPattern".split(" "), Ls),
gB = eg(["src"], Vi),
Ms = eg(["rx", "ry"], Vi),
hB = eg(["radius"], Ms),
iB = fa("id class translate transform rotate animation opacity z-index fill color display cursor tabindex aria-label".split(" ")),
Pg = fa("stroke stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width".split(" ")),
jB = eg(["fill", "fill-rule"], Pg),
qk = 'A" AW AV Yt Hv Sp vo us fr Dv ry W. Vr LT T: ro xc Ak F" OC w; P, PA r, DY SR yo la wb Bc f? L" m" Xv c" lp Ix Oj YW RX f" VA a" Ku my ot e, il So T" F. FA D, Ru tt st CO Co gy Te w. OA bv fe Fw Xf cv XA YA UA D" aj am he bc VT r: xt 11 AT AY Av Aw Ay F, LV LW LY Ly P. RT RV RW RY T, T- T. T; TA TO Ta Tc Ti To Tr Ts Tu Tw Ty V, V- V. V: V; Va Ve Vi Vo Vu Vy W, W- W: W; WA Wa We Wo Wr Wu Wy Y, Y- Y. Y: Y; Ya Ye Yi Yo Yp Yq Yu Yv ff r. v, v. w, y, y. \'A -A -I -J -P -S -T -V -W -X -Y -Z -a -v -w -x -y -z .. ., .- A- AS AU At Au B, B. BT C- D. DT DW DX DZ F: F; Fa Fe Fo I- J, J. JA K- KO Ka Ke Ko Kv Kw Ky L\' L- LC LG LO Lv O, O. OT OX OY OZ Pa Pe Po Q, Q. R- Ra Re Ro Ry S, S. SA SS Sv Sw Sy TC TG TS TT Tg Tv Tz U, U. X- XC XG XO Xa Xe Xo Xu Xy YO Yd Yg Ym Yn Yr Ys Z- ZC ZG ZO ZZ Za Ze Zo Zw Zy av aw ay b, b. by c- cT eT f, f- f. fy hv hw hy k- ke ko mv mw nv nw ny o, o. ov ox oy p, p. py r- ra t- ty v- va ve w- wa x- xd xe xg xo y- ya yc yd ye yg yq z- zc zd ze zg zo zq Ki Kn Ph Pi Pr Wi AC AG AO AQ BA BU DA DV Fr Ja Je Jo Ju Jy KC KG LU Lw NA OV OW QT QV QY RC RG RO RQ RU TQ Tm VC VG VO VQ WC WG WO Wd YC YG YS at ch ck cl cy eb ev ex fa fo ow pw sw vc vd vq wc wd we wo wq 24 37 41 47 51 52 57 62 67 74 ET KQ KS LQ LS P/ PJ T/ TJ TZ V/ VJ W/ WJ Y/ YJ Yc rg A) L) Pl Rv Td Tk Tl Tp Tq Tt Vl Vp Vs Vv Wl Wp Ws Wv Yl fi fk fl tz vl wl yl'.split(
" "
),
ok = ["AW", "Tw", "LW"],
kB = String.fromCharCode(8206),
xh = "a!\"#$%&\\'() * +,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[] ^ _`bcdefghijklmnopqrstuvwxyz{|}~".split("").concat(
[169, 174, 160, 8482, 34, 38, 60, 62, 176, 8364, 185, 178, 179, 188, 189, 190, 177, 180, 183, 8230].map(function (a) {
return String.fromCharCode(a);
})
),
Ns = function (a, c) {
return a.fontFamily + ("normal" !== a.fontWeight ? a.fontWeight || "" : "") + (c.fontFamily || "") + ("normal" !== c.fontWeight ? c.fontWeight || "" : "");
},
lB = function (a, c) {
return Ns(a, c) + nm;
},
tk,
uk,
Yv = Rb(
"getMetrics",
function (a, c) {
var b = ba.createElementNS("http://www.w3.org/2000/svg", "svg"),
d = rk("A");
c.fontFamily && b.setAttribute("font-family", c.fontFamily);
a.fontFamily && d.setAttribute("font-family", a.fontFamily);
d.setAttribute("font-size", "100px");
d.setAttribute("style", "line-height: normal;");
b.appendChild(d);
ba.body.appendChild(b);
a = d.getBBox ? d.getBBox() : { y: 0, height: 0 };
b.parentNode.removeChild(b);
return { descent: (a.height + a.y) / 100, height: a.height / 100 };
},
function (a, c) {
return a.fontFamily + (c.fontFamily || "");
}
),
fg = Rb(
"getTextMeasurement",
function (a, c, b, d) {
var e = c.fontSize,
f = mB(c, b);
a: if (f) {
for (var g = 0, h = 0, k, l = 0, m = a.length; l < m; l++) {
var n = a[l],
p = f.stringWidths[n];
if (!p)
if (n === kB) p = 0;
else {
d = null;
break a;
}
g += sk(p, e);
l && f.kerning && !d && ((k = sk(f.kerning[k + n] || 0, e)), (h += k));
k = n;
}
d = g - h;
} else d = null;
return null === d ? sk(pk([a], c, b)[a], e) : d;
},
function (a, c, b, d) {
return a + c.fontSize + c.fontFamily + c.fontStyle + c.fontWeight + b.fontSize + b.fontFamily + b.fontStyle + b.fontWeight + d;
}
),
nB = rs()
? function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
return ss(yo, lB).apply(null, a);
}
: yo,
mB = Rb("loadFontData", nB, Ns),
Wi = Math.round,
Ah = function (a) {
return [a[0] / 255, a[1] / 255, a[2] / 255];
},
zo = function (a) {
return [Wi(255 * a[0]), Wi(255 * a[1]), Wi(255 * a[2]), a[3]];
},
Mo = function (a) {
return 0.2126 * a[0] + 0.7152 * a[1] + 0.0722 * a[2];
},
So = function (a, c, b) {
a.pop && ((b = G(a, 3)), (a = b[0]), (c = b[1]), (b = b[2]));
return Dc("yuv", No(Ah([a, c, b])));
},
No = function (a, c, b) {
a.pop && ((b = G(a, 3)), (a = b[0]), (c = b[1]), (b = b[2]));
return [Mo([a, c, b]), -0.09991 * a + -0.33609 * c + 0.436 * b, 0.615 * a + -0.55861 * c + -0.05639 * b];
},
oB = function (a) {
for (var c = [], b = 1; b < arguments.length; b++) c[b - 1] = arguments[b];
c = Oo.apply(void 0, H([a], c));
return [255 * c[0], 255 * c[1], 255 * c[2]].map(Wi);
},
Oo = function (a, c, b) {
a.pop && ((b = G(a, 3)), (a = b[0]), (c = b[1]), (b = b[2]));
return [ua(a + 5.8e-6 * c + 1.28033 * b, 0, 1), ua(a + -0.21482 * c + -0.38059 * b, 0, 1), ua(a + 2.12798 * c + 1.1e-5 * b, 0, 1)];
},
bw = ke("colors").members,
Ao = {},
Bo = {},
Os = {},
vk = function (a) {
var c = Os[a];
!c && (c = cf.hexColor.exec(a)) && ((c = [parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16)]), (Os[a] = c));
return c;
},
cf = {
rgba: /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,
rgb: /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
hsl: /hsl\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*%,\s*([0-9]{1,3})\s*%\)/,
hsla: /hsla\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})%\s*,\s*([0-9]{1,3})%\s*,\s*([0-9]?(?:\.[0-9]+)?)\)/,
hexColor: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,
hexShort: /#([a-fA-F0-9]{1})([a-fA-F0-9]{1})([a-fA-F0-9]{1})/,
},
pB = { r: 0, g: 1, b: 2, h: 0, s: 1, l: 2, a: 3, y: 0, u: 1, v: 2 },
Qg = { r: 255, g: 255, b: 255, h: 1, s: 1, l: 1, a: 1, y: 1, u: 0.5, v: 1 },
sm = { r: 0, g: 0, b: 0, h: 0, s: 0, l: 0, a: 0, y: 0, u: -0.5, v: 0 },
Ps = { lighten: "hsl(,,+.1)", lightenmore: "hsl(,,+.2)", darken: "hsv(,,-.1)", darkenmore: "hsv(,,-.2)", brighten: "hsl(,+.8,+.3)", desaturate: "hsl(-360,-1,)", complement: "hsl(%+180,,)", contrast: "yuv(+-.7,,)" },
Ek = function (a) {
return Ps[O(a) && a.toLowerCase()] || null !== qB.exec(a);
},
rB = /[-+*/%]*%?/,
sB = {
"+": function (a, c, b) {
return a + c;
},
"-": function (a, c, b) {
return a - c;
},
"*": function (a, c, b) {
return a * c;
},
"/": function (a, c, b) {
return a / c;
},
"%+": function (a, c, b) {
return (a + c) % Qg[b];
},
"%-": function (a, c, b) {
return (a - c) % Qg[b];
},
"+-": function (a, c, b) {
c = Math.abs(c);
return a + (a >= sm[b] + (Qg[b] - sm[b]) / 2 ? -c : c);
},
},
qB = /[+\-*/%]/,
Qs = {
prefix: /(.{3,4})\(/,
rgb: /rgb[\s|\(]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))\s*\)?/,
rgba: /rgba[\s|\(]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))\s*\)?/,
hsl: /hsl[\s|\(]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))\s*\)?/,
hsla: /hsla[\s|\(]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))\s*\)?/,
yuv: /yuv[\s|\(]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))\s*\)?/,
hsv: /hsv[\s|\(]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))[,|\s]+((?:[%\-\+*/]*\d*\.\d+%?)|(?:[%\-\+*/]*\d*%?))\s*\)?/,
},
gg = function (a, c) {
return Ch(c)(ca(a));
},
tm = {},
Ch = function (a) {
a = a && a.toLowerCase();
if (!tm[a]) {
a = Ps[a] || a;
var c = (function () {
var b,
c = {};
if (Ek(a)) {
if ((b = Qs.prefix.exec(a))) var d = b[1];
if ((b = Qs[d].exec(a))) var h = b.slice(1);
for (b = 0; b < h.length; b++) {
var k = rB.exec(h[b])[0];
c[d.charAt(b)] = h[b].length ? [sB[k], parseFloat(h[b].substr(1))] : [];
}
c.format = d;
}
return c;
})(),
b = [];
0 === c.format.indexOf("hsl") && b.push(bf);
0 === c.format.indexOf("yuv") && b.push(So);
0 === c.format.indexOf("hsv") && b.push($v);
var d = 0 < b.length;
b.push(
(function () {
var b = c.format,
a = 0 === b.indexOf("hsl"),
d = function (b) {
var a = c[b],
d = "h" === b ? 360 : 1,
e = a[0],
f = a[1],
g = pB[b];
return function (a) {
var c = e(a[g], f / d, b);
c = "h" === b ? (c % Qg.h) * (0 > c ? -1 : 1) + (0 > c ? 1 : 0) : ua(c, sm[b], Qg[b]);
a[g] = c;
};
},
h = [];
c.format.split("").forEach(function (b) {
c[b].length && h.push(d(b));
});
return function (c) {
h.forEach(function (b) {
return b(c);
});
a ? (c = bd.call.apply(bd, H([null], c))) : "yuv" === b ? (c = oB.call(null, c)) : "hsv" === b && (c = aw.call(null, c));
return ma(c, 4 === c.length ? "rgba" : "rgb");
};
})()
);
tm[a] = function (a) {
var c = ca(a);
a = 0;
for (c = d ? b[a++](c[0], c[1], c[2], c[3]) : c; a < b.length; ) c = b[a++](c);
return c;
};
}
return tm[a];
},
ac = function (a, c, b) {
return b * (c - a) + a;
},
La = {
crysDark: "crysDark",
crysBright: "crysBright",
hueEffect: "hueEffect",
hover: "hover",
select: "selected",
outline: "outline",
outlineContrast: "outlineContrast",
label: "label",
labelContrast: "labelContrast",
seriesLine: "seriesLine",
lightenDark: "lightenDark",
currentColor: "currentColor",
},
Fa = {
gaugePolarBack: "gaugePolarBack",
titleBox: "titleBox",
box: "box",
chartArea: "chartArea",
altGridFillY: "altGridFillY",
altGridFillX: "altGridFillX",
altGridFillRad: "altGridFillRad",
axisMarkerY: "axisMarkerY",
axisMarkerX: "axisMarkerX",
jsButton: "jsButton",
jumpButton: "jumpButton",
areaFill: "areaFill",
navBar: "navBar",
aqua: "aqua",
rounded: "rounded",
cushion: "cushion",
subtle: "subtle",
},
tB = pa(ke("palette").members),
kw = B(tB, function (a) {
return a.toLowerCase();
}),
Xi = function (a) {
return "hatch" === a ? ((a = ke("hatchStyle").members), delete a.none, pa(a)) : Fh(a);
},
Rs = function (a, c) {
var b = G(c, 2);
c = b[1];
var d = [];
b = 0 > b[0];
var e = function (b) {
for (var a = 0; a < b.length; a++) if (-1 < d.indexOf(b[a])) return !0;
};
if ("object" === I(a)) {
d = pa(a);
var f = e(["colors", "stops"]),
g = e([, "ranges", "stops"]);
}
e = "#b00026 #bd0026 #e31a1c #fc4e2a #fd8d3c #feb24c #fed976 #ffeda0".split(" ");
var h = "#edf8b0 #c7e9b4 #7fcdbb #41b6c3 #1d91c0 #225ea8 #253494 #081d58".split(" "),
k = e.slice(0);
k.push("#ffffff");
k.push.apply(k, H(h));
e.push("#ffffff");
h.unshift("#ffffff");
return A(
{
colors: f ? void 0 : g ? h : k,
colorsValueRange: g ? void 0 : f && !b ? [0, c] : [-c, c],
pointValue: function (b) {
return b.currentOptions.z;
},
},
a || {}
);
},
ff = {},
rw = Jj("width,height,x,y"),
Kr = function (a) {
return "string" === typeof a ? B(a.split(","), parseFloat) : a;
},
Hh,
ep = (function () {
function a(a, b) {
this._callStack = [];
var c = this;
c._callback = b;
a = Array.isArray(a) ? a : [a];
var e,
f,
g = function (b, a) {
return function () {
bp(b, function () {
return a();
});
};
};
for (
b = function () {
var b = f || c.loaded;
f = g(e, function () {
return b.call(c);
});
};
(e = a.pop());
)
b();
f();
}
a.prototype.then = function (a, b) {
this._callStack.push([a, b]);
return this;
};
a.prototype.catch = function (a) {
return this.then(null, a);
};
a.prototype.loaded = function () {
for (var a = this._callback(), b = -1, d = this._callStack.length; ++b < d; ) a = a.then.apply(a, this._callStack[b]);
};
return a;
})(),
Ih,
X = function (a) {
return a.getMonth ? a : new Date(a);
},
ed = function (a) {
return X(a).getTime();
},
ww = z(0, 0),
Ss = { weekday: [0, 6], dayofyear: [1, 365], minuteofday: [0, 1440] },
um = { years: 12, decade: 11, year: 10, quarter: 9, month: 8, week: 7, dayofyear: 6.2, day: 6.1, weekday: 6, hour: 3, minuteofday: 2.1, minute: 2, secondofhour: 1.1, second: 1 },
uB = [, "second", "minute", "hour", , , "day", "week", "month", "quarter", "year", "decade", "years"],
Jh = { millisecond: 1, second: 1e3, minute: 6e4, hour: 36e5, day: 864e5, week: 6048e5, month: 24192e5, quarter: 72576e5, year: 314496e5, decade: 314496e6 },
vB = function (a) {
return a;
},
wB = [
[
["year", 100],
["year", 50],
],
[
["year", 100],
["year", 25],
],
[
["year", 50],
["year", 25],
],
[
["year", 50],
["year", 10],
],
[
["year", 25],
["year", 5],
],
[
["year", 10],
["year", 5],
],
[
["year", 10],
["year", 2],
],
[
["year", 10],
["year", 1],
],
[
["year", 1],
["month", 6],
],
[
["year", 1],
["month", 3],
],
[
["year", 1],
["month", 1],
],
[
["month", 1],
["day", 15],
],
[
["month", 1],
["day", 5],
],
[
["month", 1],
["day", 2],
],
[
["month", 1],
["day", 1],
],
[
["day", 1],
["hour", 12],
],
[
["day", 1],
["hour", 6],
],
[
["day", 1],
["hour", 3],
],
[
["day", 1],
["hour", 1],
],
[
["hour", 1],
["minute", 30],
],
[
["hour", 1],
["minute", 15],
],
[
["hour", 1],
["minute", 10],
],
[
["hour", 1],
["minute", 5],
],
[
["hour", 1],
["minute", 1],
],
[
["minute", 1],
["second", 30],
],
[
["minute", 1],
["second", 10],
],
[
["minute", 1],
["second", 1],
],
[
["second", 1],
["millisecond", 500],
],
[
["second", 1],
["millisecond", 200],
],
[
["second", 1],
["millisecond", 100],
],
[
["second", 1],
["millisecond", 50],
],
[
["second", 1],
["millisecond", 10],
],
[
["second", 1],
["millisecond", 1],
],
],
xB = B("year,getFullYear month,getMonth weekday,getDay day,getDate hour,getHours minute,getMinutes second,getSeconds millisecond,getMilliseconds".split(" "), function (a) {
return a.split(",");
}),
Ts = (function () {
var a = xB.slice(0);
pb(
a,
S(a, function (a) {
return "weekday" === a[0];
})
);
return a;
})(),
Us = {},
Lh = [];
w(Ts, function (a, c) {
return (Lh[(Us[a[0]] = c)] = a[0]);
});
for (
var Lk = function (a) {
return Us[a];
},
vm,
yw = function () {
if (!vm) {
var a = function (a) {
return { unit: a[0], multiplier: a[1] };
};
vm = B(wB, function (c) {
return { major: a(c[0]), minor: a(c[1]) };
});
}
return vm;
},
Mk = Rb(
"significantUnitFn",
function (a) {
a.getMonth || (a = new Date(a));
var c = Ts.slice(0),
b = B(c, function (b) {
return b[0];
});
b.reverse();
var d = {};
w(c, function (b) {
d[b[0]] = a[b[1]]();
});
--d.day;
var e;
w(b, function (b) {
if (0 < d[b]) return !(e = b);
});
return e;
},
function (a) {
return a;
}
),
Vs = (function () {
function a(a) {
var b = this;
this.weekStart = a;
this.fns = {
decade: function (b) {
return parseInt(b.getFullYear().toString()[2]);
},
year: function (b) {
return b.getFullYear();
},
quarter: function (b) {
return Math.floor((b.getMonth() + 3) / 3);
},
month: function (b) {
return b.getMonth() + 1;
},
dayofyear: function (b) {
var a = new Date(b.getFullYear(), 0, 0);
return Math.floor((b - a) / 864e5);
},
day: function (b) {
return b.getDate();
},
weekday: function (a) {
a = a.getDay() - b.weekStart;
return 0 > a ? 7 + a : a;
},
week: function (a) {
var c = a.getFullYear(),
d = new Date(c, 0, 1);
a = new Date(c, a.getMonth(), a.getDate());
return Math.ceil(((a - d) / 864e5 + b.fns.weekday(d) + 1) / 7);
},
hour: function (b) {
return b.getHours();
},
minuteofday: function (b) {
return 60 * b.getHours() + b.getMinutes();
},
minute: function (b) {
return b.getMinutes();
},
secondofhour: function (b) {
return 60 * b.getMinutes() + b.getSeconds();
},
second: function (b) {
return b.getSeconds();
},
millisecond: function (b) {
return b.getMilliseconds();
},
none: function (b) {
return 0;
},
date: function (b) {
return b.getTime();
},
};
this.revFns = {
decade: function (b, a) {
b = X(b).getFullYear().toString();
b = b.substr(0, 2) + a + "0";
return new Date(parseInt(b), 0, 1);
},
year: function (b, a) {
return new Date(a, 0, 1);
},
quarter: function (b, a) {
return new Date(X(b).getFullYear(), 3 * (a - 1), 1);
},
month: function (b, a) {
return new Date(X(b).getFullYear(), a - 1, 1);
},
week: function (a, c) {
a = X(a).getFullYear();
a = new Date(a, 0, 1);
var d = -(a.getDay() - b.weekStart);
c = d + (0 < d ? -7 : 0) + 7 * (c - 1);
d = new Date(a.valueOf());
d.setDate(a.getDate() + c);
return d;
},
dayofyear: function (b, a) {
return new Date(X(b).getFullYear(), 0, a);
},
day: function (b, a) {
return new Date(X(b).getFullYear(), X(b).getMonth(), a);
},
weekday: function (a, c) {
var d = b.fns.week(a);
a = b.revFns.week(a, d);
return bc(a, t(c) ? { unit: "day", multiplier: c } : { unit: "day" });
},
hour: function (b, a) {
b = X(b);
b = new Date(b.setMinutes(0));
b = new Date(b.setSeconds(0));
return X(b.setHours(a));
},
hourMod: function (b, a) {
b = X(b);
b = new Date(b.setMinutes(0));
b = new Date(b.setSeconds(0));
return bc(b, { unit: "hour", multiplier: a });
},
minute: function (b, a) {
b = X(b);
return new Date(b.setSeconds(0)).setMinutes(a);
},
minuteofday: function (b, a) {
b = X(b);
return X(X(X(b.setSeconds(0)).setHours(0)).setMinutes(a));
},
minuteMod: function (b, a) {
b = X(b);
return bc(b, { unit: "minute", multiplier: a });
},
minuteofdayMod: function (b, a) {
b = X(b);
return bc(b, { unit: "minute", multiplier: a });
},
secondofhour: function (b, a) {
b = X(b);
return X(b.setMinutes(0)).setSeconds(a);
},
secondofhourMod: function (b, a) {
b = X(b);
return bc(b, { unit: "second", multiplier: a });
},
second: function (b, a) {
return X(b).setSeconds(a);
},
millisecond: function (b, a) {
return X(b).setMilliseconds(a);
},
none: function (b, a) {
return b;
},
};
}
a.prototype.fn = function (a) {
if ("string" === typeof a) {
var b = this.fns[a];
return function (a) {
return b(X(a));
};
}
var c = this.fns[a.unit];
if (a.mod && a.mul)
return function (b) {
return Math.floor(c(X(b)) / a.mul) % a.mod;
};
if (a.mul)
return function (b) {
return Math.floor(c(X(b)) / a.mul);
};
};
a.prototype.reverseFn = function (a) {
if ("string" === typeof a) {
var b = this.revFns[a];
return function (a, c) {
return b(X(a), c);
};
}
var c = this.revFns[a.unit];
if (a.mod && a.mul)
return (
(c = this.revFns[a.unit + "Mod"] || c),
function (b, d) {
return c(b, d * a.mul);
}
);
if (a.mul)
return function (b, d) {
return c(b, d * a.mul);
};
};
return a;
})(),
Ok = (function () {
function a(a, b) {
this.calIndexer = b;
if (O(a)) {
var c = {};
c[a] = "*";
a = c;
}
this.currentOptions = Ga(qa(a), ["inclusive", "every", "offset"]);
this.inclusive = z(a.inclusive, !0);
this.every = z(a.every, 1);
this.offset = z(a.offset, 0);
"object" === typeof this.offset && (this.offset = lg(this.offset));
this.fnSet = new Vs(b ? b.currentOptions.weekStart : 0);
this.setFilter();
}
a.prototype.setFilter = function () {
var a = this,
b = a.currentOptions,
d = Object.getOwnPropertyNames(b);
a.propNames = d;
var e = d[0];
1 === d.length && "date" === d[0] && "object" !== typeof b[d[0]] && ((a.isDate = !0), b.date.pop && (a.isDateRange = !0));
var f = function (c) {
um[c] < um[e] && (e = c);
return (function (c) {
var d = b[c],
e = I(d),
f = a.fnSet.fn(c);
"*" === d && ((e = "star"), (a.starUnit = c), (a.isInterval = !0), Ss[c] && (a.intervalType = "numeric"));
c = function (b) {
return function (a) {
var c;
try {
for (var e = ya(d), f = e.next(); !f.done; f = e.next()) if (b(a, f.value)) return !0;
} catch (D) {
var g = { error: D };
} finally {
try {
f && !f.done && (c = e.return) && c.call(e);
} finally {
if (g) throw g.error;
}
}
};
};
var g = function (b) {
if ("number" === b)
return function (b, a) {
return f(b) === z(a, d);
};
if ("string" === b || "date" === b) {
var c = X(d);
return function (b, a) {
return f(b) === f(X(a || c));
};
}
if ("object" === b) {
b =
"string" === typeof d.range[0]
? function (b) {
return f(X(b));
}
: vB;
var e = b(d.range[0]),
g = b(d.range[1]);
return function (b, a) {
b = f(X(b));
return Kb([e, g], b);
};
}
if ("function" === b)
return function (b, a) {
return (a || d)(b);
};
if ("star" === b)
return function (b, c) {
return a.indexOfInterval(b);
};
};
return "array" === e ? c(g(I(d[0]))) : g(e);
})(c);
};
if (1 < d.length) {
a.isMultiFilter = !0;
var g = B(d, function (b) {
return f(b);
});
d = a.inclusive
? function (b) {
var a;
try {
for (var c = ya(g), d = c.next(); !d.done; d = c.next()) {
var e = d.value;
if (!e(b)) return !1;
}
} catch (q) {
var f = { error: q };
} finally {
try {
d && !d.done && (a = c.return) && a.call(c);
} finally {
if (f) throw f.error;
}
}
return !0;
}
: function (b) {
var a;
try {
for (var c = ya(g), d = c.next(); !d.done; d = c.next()) {
var e = d.value;
if (e(b)) return !0;
}
} catch (q) {
var f = { error: q };
} finally {
try {
d && !d.done && (a = c.return) && a.call(c);
} finally {
if (f) throw f.error;
}
}
};
a.checkDateFn = d;
} else a.checkDateFn = f(d[0]);
e = uB[Math.floor(um[e.unit || e])];
a.minUnitName = e;
};
a.prototype.indexOfInterval = function (a) {
var b = this.intervalRanges;
a = ed(a);
if ("numeric" === this.intervalType) return this.fnSet.fn(this.starUnit)(a);
if (this.isMultiFilter) {
for (var c = 0; c < b.length; c++) if (-1 < ao(b[c], a)) return c;
return -1;
}
return ao(b, a);
};
a.prototype.isInside = function (a) {
return this.isInterval ? this.indexOfInterval(X(a)) : this.checkDateFn(X(a));
};
a.prototype.setRangeSnap = function (a, b) {
var c = this.fnSet,
e = this.starUnit;
a = c.reverseFn(e)(a, c.fn(e)(a));
var f = c.fn(e)(b);
b = c.reverseFn(e)(b, f + 1);
b = X(ed(b) - 1);
return this.setRange(a, b);
};
a.prototype.setRange = function (a, b) {
this.userRange = [a, b];
if (this.isInterval) {
if ("numeric" === this.intervalType) {
a = Ss[this.starUnit];
var c = a[0],
e = [];
ob(a[1] - a[0] + 1, function (b) {
return e.push([b + c, b + c + 1 - 0.001]);
});
return (this.intervalRanges = e);
}
return (this.intervalRanges = ea(this.getIntervalRanges(a, b), function (b) {
return ed(b[1]) !== ed(b[0]);
}));
}
return this.getRanges(a, b);
};
a.prototype.getRanges = function (a, b) {
var c = { unit: this.minUnitName };
a = Kk(this.minUnitName, 1, X(a));
b = X(b);
for (var e = [], f = [], g = !1, h, k = !1; !k; )
(h = this.isInside(a)) && !g ? ((h = a), (g = !0), (f[0] = h)) : !h && g && ((f[1] = X(a.getTime() - 1)), e.push(f), (f = []), (g = !1)), (a = bc(a, c)), a > b && (k = !0);
return hp(this, e);
};
a.prototype.getIntervalRanges = function (c, b) {
var d = this,
e = d.currentOptions;
if (!this.minUnitName) return [[c, b]];
var f = d.every,
g = [];
if (d.isMultiFilter) {
f = function (f) {
var g = { every: d.every };
g[f] = e[f];
return new a(g).setRange(c, b);
};
var h = ea(d.propNames, function (b) {
return b !== d.starUnit;
}),
k = f(d.starUnit),
l = B(h, f),
m,
n;
w(k, function (b) {
var a = b.slice(0);
n = [];
w(l[0], function (b) {
(m = Ue(a, b)) && n.push(m);
});
n.length && g.push(n);
});
} else
(f = { unit: this.minUnitName, multiplier: f }),
(f = Mh(f, f, c, b)[0]),
(h = B(f, function (b) {
return [b, b];
})),
f.length
? (g = B(cg(h, [c, b]), function (b) {
return [X(b[0]), X(ed(b[1]) - 1)];
}))
: g.push([c, b]);
return hp(d, g);
};
return a;
})(),
Bw = function (a, c, b) {
a[c] ? a[c].push(b) : (a[c] = [b]);
},
Qk = function (a) {
if (a && a.pop)
for (var c = 0, b = Math.min(50, a.length); c < b; c++) {
var d = a[c],
e = typeof d;
if (null !== d) {
if ("number" === e) return !0;
if ("object" === e) return !1;
}
}
},
ip = function (a) {
var c;
a(function (b) {
b = Qk(b);
if (!0 === b || !1 === b) return (c = b), !1;
});
return c;
},
Sk = function (a) {
return "function" === typeof a
? a
: function (c) {
return c[a];
};
},
Cw = function (a) {
return "function" === typeof a
? a
: function (c) {
return c.map(function (b) {
return b[a];
});
};
},
kp = function (a, c) {
var b = [];
w(a, function (a, e) {
return b.push({ key: c ? c(e) : e, values: a });
});
return b;
},
Wl = (function () {
function a() {
this.calls = [];
return this;
}
a.prototype.countKeyCalls = function () {
var a = 0;
w(this.calls, function (b) {
return "key" === b[0] && a++;
});
return a;
};
a.prototype.clone = function () {
var c = new a();
c.calls = this.calls.slice(0);
c.pointRollupFn = this.pointRollupFn;
return c;
};
a.prototype.key = function (a) {
var b = this.clone();
b.calls.push(["key", a]);
return b;
};
a.prototype.rollup = function (a, b) {
var c = this.clone();
c.calc = b;
c.calls.push(["rollup", a]);
return c;
};
a.prototype.sortKey = function (a) {
var b = this.clone();
b.calls.push(["sortKey", a]);
return b;
};
a.prototype.pointRollup = function (a) {
var b = this.clone();
b.pointRollupFn = a;
return b;
};
a.prototype.series = function (a) {
a = Tk(this)(a);
var b = this.countKeyCalls();
if (1 === b) return [{ points: jf(a, this.pointRollupFn || this.calc) }];
if (2 === b) return zw(a, this.pointRollupFn || this.calc);
throw "Nest: One or two key() calls are required.";
};
a.prototype.points = function (a) {
a = Tk(this)(a);
return jf(a, this.pointRollupFn);
};
a.prototype.entries = function (a) {
return Tk(this)(a);
};
return a;
})(),
Fw = /\r?\n/,
Ws = function (a) {
return gf(function (c) {
var b = Array.isArray(a) ? a : [a],
d = !0,
e = b.length;
if (!a.length) {
var f = Error("Fonts list is empty");
c({ ok: d, error: f });
}
b.forEach(function (b) {
return Gw(b, function (a) {
a || ((d = !1), (f = Error("Loading " + b + " 1000ms timeout exceeded")));
0 === --e && c({ ok: d, error: f });
});
});
});
},
Hw = 0,
Yk = {},
Zk = Math.PI,
sp = 2 * Zk,
sb = Math,
up = Math.abs,
Qh = function (a, c, b) {
return [Y(a[0], a[0] + a[2], c[0], c[0] + c[2], b[0]), Y(a[1], a[1] + a[3], c[1], c[1] + c[3], b[1])];
},
re = ["M", "Z", "L", "C"],
wp = [
xp,
null,
xp,
function (a, c) {
c = pv.apply(null, c.slice(1));
return bl(bl(a, c), [c[0] + c[2], c[1] + c[3]]);
},
],
Xs = {
stringValue: [al, ""],
bbox: [
function (a) {
a = a.shapes;
1 === a.length && Mb(a[0]);
var c;
w(a, function (b, a) {
Mb(b);
b = b.minMaxResult;
a ? ((c.xMin = Math.min(c.xMin, b.xMin)), (c.yMin = Math.min(c.yMin, b.yMin)), (c.xMax = Math.max(c.xMax, b.xMax)), (c.yMax = Math.max(c.yMax, b.yMax))) : (c = b);
});
return [c.xMin, c.yMin, c.xMax - c.xMin, c.yMax - c.yMin];
},
"",
],
lengthValue: [yp, 0],
flatPoints: [zp, []],
positions: [
function (a, c) {
void 0 === c && (c = 6);
a.length();
var b = [],
d = 0;
for (a = a.shapes; d < a.length; d++) b.push(Hc(a[d], c));
return b;
},
[],
],
},
mf = (function () {
function a(a) {
this.isPath = !0;
this.shapes = [];
this._cache = {};
a && L(this, a);
}
a.prototype.fromCache = function (a) {
var b = this._cache;
b[a] = t(b[a]) ? b[a] : this.hasErrors ? Xs[a][1] : Xs[a][0](this);
return b[a];
};
a.prototype.toString = function () {
return this.fromCache("stringValue");
};
a.prototype.bbox = function () {
return this.fromCache("bbox");
};
a.prototype.scaleTo = function (a) {
return Jw(this, a);
};
a.prototype.translate = function (a) {
return al(this, a);
};
a.prototype.rotate = function (a, b) {
var c = this.bbox();
b = b || va(c);
return this.translate(function (c) {
return ra(b, Ia(b, c) + a, Xb(b, c));
});
};
a.prototype.hitTest = function (a, b) {
var c = this.bbox();
a = [a, b];
if (Ad(c, a)) {
c = void 0;
b = 0;
for (var e = this.shapes; b < e.length; b++)
if (1 === P(e[b].items)[0]) {
c = !0;
break;
}
if (!c) return Zf(a, zp(this));
b = 0;
for (e = this.shapes; b < e.length; b++) if (Zf(a, Ap(e[b]))) return !0;
}
return !1;
};
a.prototype.length = function () {
return this.fromCache("lengthValue");
};
a.prototype.flatPoints = function () {
return this.fromCache("flatPoints");
};
a.prototype.positions = function () {
return this.fromCache("positions");
};
a.prototype.clearCache = function (a) {
this._cache = {};
a && vp(this, Lw, Mw);
};
a.prototype.items = function (a) {
var b = this.shapes;
if (1 === b.length) return a ? b[0].items : b[0].items.slice(0);
var c = [];
w(b, function (b) {
return w(b.items, function (b) {
return c.push(b);
});
});
return c;
};
a.prototype.isEqual = function (a) {
var b = a ? a.toString() : "";
return this === a || this.toString() === b;
};
return a;
})(),
Ow = /([astvzqmhlc])([^astvzqmhlc]*)/gi,
Pw = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi,
wm = ["c", 6, "a", 7, "l", 2, "z", 0, "m", 2, "h", 1, "v", 1, "s", 4, "t", 2, "q", 4],
fl = {},
Rw = {
M: qg,
H: function (a) {
fd(a, [a.isRelative ? Ta(a.args) + a.endPoint[0] : P(a.args), a.endPoint[1]]);
},
V: function (a) {
fd(a, [a.endPoint[0], a.isRelative ? Ta(a.args) + a.endPoint[1] : P(a.args)]);
},
Z: hl,
L: function (a) {
nf(a, 1, fd);
},
C: function (a) {
nf(a, 3, te);
},
S: function (a) {
nf(a, 2, Sw);
},
Q: function (a) {
nf(a, 2, Kp);
},
T: function (a) {
var c = a.lastCommand[0];
nf(a, 1, "T" === c || "Q" === c ? Tw : fd);
},
A: function (a) {
Gp(a, 0, 7, Uw);
},
},
yB = function (a, c) {
var b = a.toLocaleUpperCase();
fl[a] = { command: b, argsCount: c, isRelative: !0 };
fl[b] = { command: b, argsCount: c, isRelative: !1 };
},
Yi = 0;
Yi < wm.length;
Yi += 2
)
yB(wm[Yi], wm[Yi + 1]);
var kl = Rb("pathLibBbox", function (a) {
return Aa(a).bbox();
}),
Xh = Math.PI,
Pp = 2 * Xh,
Tp = function (a) {
return Math.round(a) === a;
},
Zw = { TL: 0, TR: 1, BR: 2, BL: 3 },
Wp = fa("type fill stroke stroke-width stroke-opacity overflow centerWidth eachShape".split(" ")),
Ys = Vb.PI,
zB = 2 * Ys,
dc = {
none: function (a, c) {
return eb([[a, c]]);
},
circle: function (a, c, b, d) {
b = Math.min(b, d) / 2;
return H(["M", a + b, c], Kc(a + b, c + b, b, -Ys / 2, 0.75 * zB - 0.05), ["Z"]);
},
square: Yh,
arrow: function (a, c, b, d, e) {
void 0 === e && (e = {});
var f = va([a, c, b, d]);
c = e.angle || 0;
var g = e.concavity || 0.15,
h = ra(f, c, b / 2),
k = ra(f, c + 180, b / 2);
a = ra(k, c - 90, d / 2);
d = ra(k, c + 90, d / 2);
c = ra(k, c, b * g);
k = function (b, a) {
var c = Uj(h, b);
b = Ia(h, b);
var d = Xb(f, c);
return ra(c, b + a, g * d);
};
b = [f[0] - c[0], f[1] - c[1]];
a = [h, k(a, -90), a, c, d, k(d, 90)];
e.skipTransform = !0;
return eb(
(function (b, a) {
return b.map(function (b) {
return [b[0] + a[0], b[1] + a[1]];
});
})(a, b)
);
},
triangle: function (a, c, b, d) {
return eb([
[a + b / 2, c],
[a + b, c + d],
[a, c + d],
]);
},
"triangle-down": function (a, c, b, d) {
return eb([
[a, c],
[a + b, c],
[a + b / 2, c + d],
]);
},
diamond: function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.1);
a = d.x;
c = d.y;
b = d.width;
d = d.height;
return eb([
[a + b / 2, c],
[a + b, c + d / 2],
[a + b / 2, c + d],
[a, c + d / 2],
]);
},
"four-point-star": function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.15);
a = d.x;
c = d.y;
b = d.width;
d = d.height;
b /= 2;
var e = 0.32 * b;
a += b;
c += d / 2;
return eb([
[a, c - b],
[a + e, c - e],
[a + b, c],
[a + e, c + e],
[a, c + b],
[a - e, c + e],
[a - b, c],
[a - e, c - e],
]);
},
"five-point-star": function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.15);
a = d.x + 1;
c = d.y;
b = d.width;
d = d.height;
b /= 2;
a += b;
c += d / 2;
return eb([
[a, c - 0.96 * b],
[a + 0.36 * b, c - 0.4 * b],
[a + b, c - 0.24 * b],
[a + 0.56 * b, c + 0.26 * b],
[a + 0.6 * b, c + 0.94 * b],
[a, c + 0.65 * b],
[a - 0.6 * b, c + 0.94 * b],
[a - 0.56 * b, c + 0.26 * b],
[a - b, c - 0.24 * b],
[a - 0.36 * b, c - 0.4 * b],
]);
},
"six-point-star": function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.15);
a = d.x + 1;
c = d.y;
b = d.width;
d = d.height;
b /= 2;
a += b;
c += d / 2;
return eb([
[a, c - b],
[a + 0.3 * b, c - 0.54 * b],
[a + 0.88 * b, c - 0.5 * b],
[a + 0.6 * b, c],
[a + 0.86 * b, c + 0.5 * b],
[a + 0.3 * b, c + 0.52 * b],
[a, c + b],
[a - 0.3 * b, c + 0.52 * b],
[a - 0.86 * b, c + 0.5 * b],
[a - 0.6 * b, c],
[a - 0.88 * b, c - 0.5 * b],
[a - 0.3 * b, c - 0.54 * b],
]);
},
"seven-point-star": function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.15);
a = d.x + 1;
c = d.y;
b = d.width;
d = d.height;
b /= 2;
a += b;
c += d / 2;
return eb([
[a, c - 0.98 * b],
[a + 0.28 * b, c - 0.54 * b],
[a + 0.8 * b, c - 0.6 * b],
[a + 0.62 * b, c - 0.12 * b],
[a + b, c + 0.16 * b],
[a + 0.5 * b, c + 0.44 * b],
[a + 0.44 * b, c + 0.96 * b],
[a, c + 0.68 * b],
[a - 0.44 * b, c + 0.96 * b],
[a - 0.5 * b, c + 0.44 * b],
[a - b, c + 0.16 * b],
[a - 0.62 * b, c - 0.12 * b],
[a - 0.8 * b, c - 0.6 * b],
[a - 0.28 * b, c - 0.54 * b],
]);
},
"arrow-up": function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.15);
a = d.x + 1;
c = d.y;
b = d.width;
d = d.height;
b /= 2;
a += b;
c += d / 2;
return eb([
[a, c - b],
[a + 0.9 * b, c - 0.08 * b],
[a + 0.36 * b, c - 0.08 * b],
[a + 0.36 * b, c + b],
[a - 0.36 * b, c + b],
[a - 0.36 * b, c - 0.08 * b],
[a - 0.9 * b, c - 0.08 * b],
]);
},
"arrow-down": function (a, c, b, d) {
d = Cd({ x: a, y: c, width: b, height: d }, 1.15);
a = d.x + 1;
c = d.y;
b = d.width;
d = d.height;
b /= 2;
a += b;
c += d / 2;
return eb([
[a, c + b],
[a + 0.9 * b, c + 0.08 * b],
[a + 0.36 * b, c + 0.08 * b],
[a + 0.36 * b, c - b],
[a - 0.36 * b, c - b],
[a - 0.36 * b, c + 0.08 * b],
[a - 0.9 * b, c + 0.08 * b],
]);
},
split: function (a, c, b, d) {
b /= 2;
a += b;
c += d / 2;
return eb([
[
[a + 0.2 * b, c - b],
[a + b, c],
[a + 0.2 * b, c + b],
],
[
[a - 0.2 * b, c + b],
[a - b, c],
[a - 0.2 * b, c - b],
],
]);
},
"split-reverse": function (a, c, b, d) {
b /= 2;
a += b;
c += d / 2;
return eb([
[
[a + b, c - b],
[a + b, c + b],
[a + 0.16 * b, c],
],
[
[a - b, c - b],
[a - b, c + b],
[a - 0.16 * b, c],
],
]);
},
spinoff: function (a, c, b, d) {
b /= 2;
a += b;
c += d / 2;
return eb([
[
[a - b, c - b],
[a + 0.72 * b, c - b],
[a + 0.72 * b, c],
[a, c],
[a, c + 0.72 * b],
[a - b, c + 0.72 * b],
],
[
[a + 0.24 * b, c + 0.24 * b],
[a + b, c + 0.24 * b],
[a + b, c + b],
[a + 0.24 * b, c + b],
],
]);
},
merger: function (a, c, b, d) {
b /= 2;
a += b;
c += d / 2;
return eb([
[a - 0.38 * b, c - b],
[a + 0.73 * b, c - b],
[a + 0.73 * b, c + b],
[a + 0.16 * b, c + b],
[a + 0.16 * b, c + 0.22 * b],
[a - 0.58 * b, c + b],
[a - 0.94 * b, c + 0.6 * b],
[a - 0.38 * b, c + 0.02 * b],
]);
},
path: function (a, c, b, d, e) {
return e.d;
},
rectangle: function (a, c, b, d, e) {
return Qp(a, c, b, d, e);
},
},
Vp = {
arrow: function (a) {
void 0 === a && (a = {});
var c = z(a.lineWidth, 1),
b = z(a.overflow, !1),
d = db(z(a.size, 10 * c), c),
e = t(a.length),
f = db(z(e ? a.length : a.width, 1.6 * d), c);
c = db(z(e ? a.width : a.height, d), c);
d = ua(z(a.concavity, 0.2), -0.5, 0.5);
e = f - f * d;
return L(Na({}, a, Wp), { width: f, height: c, concavity: d, overflow: !0, centerWidth: !1 === b ? e : 0 });
},
},
Yp = Rb(
"drawIconFunction",
function (a, c, b, d, e) {
var f = Aa(a),
g = c[4],
h = d ? (t(d.initial) ? [d.top.px, d.right.px, d.bottom.px, d.left.px] : 0 < d.length ? d : [d.top, d.right, d.bottom, d.left]) : [0, 0, 0, 0],
k = !0;
if (!(e || (0 !== c[2] && 0 !== c[3]) || g)) return ["", 0, 0, 0];
if (g || 0 === c[2] || 0 === c[3]) (e = f.bbox()), (c[2] = g || e[2]), (c[3] = g || e[3]), g || (k = !1);
g = Math.max(c[2], c[3]);
e = b ? [c[0], c[1], g, g] : c;
if ((d = !b && d && 0 === d.initial) && !k) return [a, g, c[2], c[3]];
a = d ? e : Vo(e, h);
f = f.scaleTo(a);
if (!b) return [f, g, c[2], c[3]];
b = dc[b.shape || "square"](e[0], e[1], e[2], e[3]);
return [xa([f, b]), g, c[2], c[3]];
},
function (a, c, b, d, e) {
return a + c[0] + c[1] + c[2] + c[3] + c[4] + (b && b.shape) + (d && d.initial) + e;
}
),
sg = function (a) {
return "M" + a[0] + " " + a[1];
},
Fd = function (a) {
return "L" + a[0] + " " + a[1];
},
AB = [-9999, 9999],
BB = fa(["div"]),
tb = (function () {
function a(a, b, d) {
this.renderer = b;
this.init(a, d);
}
a.prototype.init = function (a, b) {
this.el = a;
this.data = { attrs: {}, vals: {}, id: Dd() };
this.childNodes = [];
this.refNodes = [];
this.isElement = !0;
this.isDestroyed = this.isPatched = !1;
this.zIndexHash = {};
this.zIndexMax = AB[0];
this.nodeName = b || a.nodeName.toLowerCase();
this.isHtml = J(BB, this.nodeName);
};
a.prototype.attr = function (a, b) {
return this.renderer.attr(this, a, b);
};
a.prototype.add = function (a) {
return this.renderer.add(this, a);
};
a.prototype.addBefore = function (a) {
return this.renderer.addBefore(this, a);
};
a.prototype.addAfter = function (a) {
return this.renderer.addAfter(this, a);
};
a.prototype.destroy = function () {
return this.renderer.destroy(this);
};
a.prototype.on = function (a, b) {
return this.renderer.on(this, a, b);
};
a.prototype.un = function (a, b) {
return this.renderer.un(this, a, b);
};
a.prototype.box = function (a) {
return this.renderer.box(this, a);
};
a.prototype.getBbox = function () {
return this.box();
};
a.prototype.animate = function (a, b) {
var c = G(a, 2);
a = c[0];
c = c[1];
this.getTransition().options({ animation: b, middle: { from: a, to: c }, end: c });
};
a.prototype.getAnimations = function () {
return this.getTransition().getAnimations();
};
a.prototype.isAnimating = function () {
return 0 < this.getAnimations().length;
};
a.prototype.finishAnimation = function (a) {
this._transition && !this._transition.attrApllying && this._transition.finishAnimation(!0, a);
};
a.prototype.show = function () {
return this.renderer.show(this);
};
a.prototype.hide = function () {
return this.renderer.hide(this);
};
a.prototype.visible = function (a) {
return this.renderer.visible(this, a);
};
a.prototype.query = function (a) {
return this.renderer.query(a, this);
};
a.prototype.transition = function (a) {
this.getTransition().options(a);
return this.getTransition();
};
a.prototype.tryAutoTransition = function (a) {
var b = this;
return b.getTransition().tryAutoTransition(a, function () {
var a = b.data,
c = L({}, a.attrs);
a.transform && (c.transform = a.transform);
a.vals.d && (c.d = a.vals.d);
return c;
});
};
a.prototype.normalizeAttrs = function (a) {
return a && a.omit ? Ga(a, a.omit.concat("omit")) : a;
};
a.prototype.getTransition = function () {
if (!this._transition) {
var a = L({}, this.renderer.defaultOptions().transition);
"path" === this.nodeName && (a.generator = "path");
this._transition = Og[0].create(this, a);
}
return this._transition;
};
return a;
})(),
Zs = W(dc, { rectangle: Qp }),
CB = (function (a) {
function c(b, c) {
b = a.call(this, b, c) || this;
b.x = 0;
b.y = 0;
b.width = 0;
b.height = 0;
return b;
}
K(c, a);
c.prototype.attr = function (b, a) {
if (!b || !Pa(b)) return J(this, b) ? this[b] : this.renderer.attr(this, b, a);
b = this.collectAttributes(b);
if (!b) return null;
a = G([b.shapeName, b.relativeSize], 2);
this.shapeName = a[0];
this.relativeSize = a[1];
b.relativeSize && ((a = G([b.cx, b.cy, b.r], 3)), (this.cx = a[0]), (this.cy = a[1]), (this.r = a[2]));
a = this.renderer.attr(this, b);
b = G([b.x, b.y, b.width, b.height, b.shapeOptions, b.d], 6);
this.x = b[0];
this.y = b[1];
this.width = b[2];
this.height = b[3];
this.shapeOptions = b[4];
this.d = b[5];
return a;
};
c.prototype.normalizeAttrs = function (b) {
b = this.collectAttributes(b);
return a.prototype.normalizeAttrs.call(this, b);
};
c.prototype.collectAttributes = function (b) {
var a = this.default,
c = G([this.shapeName, this.relativeSize], 2),
f = c[0];
c = c[1];
if (b.shapeConfig || b.shapeName) f = b.shapeName || b.shapeConfig.name;
if (!f || !J(Zs, f)) return null;
b = b.shapeConfig ? b.shapeConfig.config || {} : L({}, b);
L(b, b.attr);
b.shapeName = f;
Q(c) && (yc(["x", "y", "width", "height"], b) && (c = !1), yc(["cx", "cy", "r"], b) && (c = !0));
c &&
((a = G([a(b.cx, this.cx || 0), a(b.cy, this.cy || 0), a(b.r, this.r || 0), b.cx - b.r, b.cy - b.r, this.calculateFromRadius(b.r), this.calculateFromRadius(b.r)], 7)),
(b.cx = a[0]),
(b.cy = a[1]),
(b.r = a[2]),
(b.x = a[3]),
(b.y = a[4]),
(b.width = a[5]),
(b.height = a[6]));
b.relativeSize = c;
a = G([this.default(b.x, this.x), this.default(b.y, this.y), this.default(b.width, this.width), this.default(b.height, this.height), b.shape || this.shapeOptions], 5);
b.x = a[0];
b.y = a[1];
b.width = a[2];
b.height = a[3];
b.shapeOptions = a[4];
b.d = this.dToString(Zs[f](b.x, b.y, b.width, b.height, b.shapeOptions));
b.omit = "x y width height cx cy r shapeName shape path attr relativeSize shapeOptions".split(" ");
b.d === this.d && b.omit.push("d");
return b;
};
c.prototype.default = function (b, a) {
return lc(b) ? a : b;
};
c.prototype.calculateFromRadius = function (b) {
return t(b) ? 2 * b : null;
};
c.prototype.dToString = function (b) {
return ja(b) ? pc(b, " ") : b;
};
return c;
})(tb),
DB = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.attrApplier = b.defaultAttrApplier;
return b;
}
K(c, a);
c.prototype.attr = function (b, a) {
var c = this.morphType || this.nodeName;
if (Zi[c])
a: {
var d;
try {
for (var g = ya(Zi[c]), h = g.next(); !h.done; h = g.next()) {
var k = h.value;
if (k(this, b, a)) break a;
}
} catch (m) {
var l = { error: m };
} finally {
try {
h && !h.done && (d = g.return) && d.call(g);
} finally {
if (l) throw l.error;
}
}
}
return this.attrApplier(b, a);
};
c.prototype.defaultAttrApplier = function (b, a) {
return this.renderer.attr(this, b, a);
};
return c;
})(tb),
Zi = {},
EB = (function () {
function a(a, b, d, e, f) {
this.root = a;
this.width = b;
this.height = d;
this.defaultWidth = e;
this.defaultHeight = f;
}
a.prototype.path = function (a) {
return this.pathInner(DB, a);
};
a.prototype.shape = function (a, b) {
return this.pathInner(CB, { shapeConfig: { name: a, config: b } });
};
a.prototype.newId = function () {
return Dd();
};
return a;
})(),
$s = (function (a) {
function c(b, c) {
b = a.call(this, b, c) || this;
b.x = 0;
b.y = 0;
b.width = 0;
b.height = 0;
return b;
}
K(c, a);
c.prototype.attr = function (b, a) {
var c = this;
if (!b || !Pa(b)) return this.renderer.attr(this, b, a);
Q(this.relativeSize) && this.setSizeType(b);
this.checkSizeRecalculated(b, function (a) {
var d = G([c.default(b.width, c.width), c.default(b.height, c.height), c.default(b.cx, c.cx || 0), c.default(b.cy, c.cy || 0)], 4),
e = d[0],
f = d[1],
l = d[2];
d = d[3];
var m = G([c.relativeSize ? l - e / 2 : c.default(b.x, c.x || 0), c.relativeSize ? d - f / 2 : c.default(b.y, c.y || 0)], 2),
n = m[0];
m = m[1];
L(a, { x: n, y: m, width: e, height: f });
a.omit = ["cx", "cy"];
c.renderer.attr(c, a);
a = G([n, m, e, f, l, d], 6);
c.x = a[0];
c.y = a[1];
c.width = a[2];
c.height = a[3];
c.cx = a[4];
c.cy = a[5];
});
return this;
};
c.prototype.default = function (b, a) {
return lc(b) ? a : b;
};
c.prototype.setSizeType = function (b) {
yc(["x", "y"], b) ? (this.relativeSize = !1) : yc(["cx", "cy"], b) && (this.relativeSize = !0);
};
c.prototype.checkSizeRecalculated = function (b, a) {
Q(this.sizeRecalculated) && (this.sizeRecalculated = Q(b.width) || Q(b.height));
b.src && this.sizeRecalculated
? hx(this.renderer, b.src, function (c, d) {
b.width = c.width;
b.height = c.height;
!1 === d && (b.animation = !1);
a(b);
})
: a(b);
};
return c;
})(tb),
ml = {},
ug = {},
rd = (function () {
function a() {
this.callbacks = [];
this.idleDefer = new Ae();
this.id = 0;
}
a.prototype.on = function (a, b) {
var c = this,
e = {
callback: a,
event: this,
un: function () {
c.un(a);
},
};
this.callbacks.push({ callback: a, subscriber: b });
return e;
};
a.prototype.onDefer = function (a, b, d) {
var c = this,
f = this.id++;
return this.on(function (d, e) {
return c.idleDefer.defer(
"event" + f,
function () {
return a.apply(c, [d, e]);
},
b
);
}, d);
};
a.prototype.un = function (a) {
this.callbacks = a
? ea(this.callbacks, function (b) {
return b.callback !== a;
})
: [];
};
a.prototype.trigger = function (a, b) {
w(this.callbacks, function (c) {
return c.callback.apply(c.subscriber, [a, b]);
});
};
return a;
})(),
sd = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.on = function (b, c) {
var d = this,
f = S(this.callbacks, function (a) {
return a.callback === b;
});
return f
? {
callback: f,
event: this,
un: function () {
d.un(f);
},
}
: a.prototype.on.call(this, b, c);
};
return c;
})(rd),
xm = (function (a) {
function c(b) {
var c = a.call(this) || this;
c.domEventName = b;
c.hasSubscription = !1;
c.element = null;
return c;
}
K(c, a);
c.prototype.setElement = function (b) {
this.element !== b && (this.unsubscribeDomEvent(), (this.element = b), this.subsribeDomEvent());
};
c.prototype.on = function (b, c) {
b = a.prototype.on.call(this, b, c);
this.subsribeDomEvent();
return b;
};
c.prototype.un = function (b) {
a.prototype.un.call(this, b);
0 === this.callbacks.length && this.unsubscribeDomEvent();
};
c.prototype.subsribeDomEvent = function () {
var b = this;
this.hasSubscription ||
(this.element
? this.callbacks.length &&
(this.element.on(this.domEventName, function (a) {
b.trigger(aq(a, b.element, b.domEventName));
}),
(this.hasSubscription = !0))
: (this.hasSubscription = !1));
};
c.prototype.unsubscribeDomEvent = function () {
this.hasSubscription && (this.element && this.element.un(this.domEventName), (this.hasSubscription = !1));
};
return c;
})(rd),
ym = new rd(),
FB = fa(["width", "height"]),
at = fa(["d", "animation", "transition", "clip-rule"]),
GB = W(at, fa(["fill"])),
zm = (function (a) {
function c(b, c) {
b = a.call(this, b, c) || this;
b.path = b.renderElement().add(b);
return b;
}
K(c, a);
c.prototype.attr = function (b, a) {
if (!b || !Pa(b)) return this.renderer.attr(this, b, a);
b.id && this.renderer.attr(this, "id", b.id);
b["clip-rule"] && this.renderer.attr(this, "clip-rule", b["clip-rule"]);
b = Pe({}, b, this.availableAttrs());
return this.renderer.attr(this.path, b);
};
c.prototype.destroy = function () {
this.path && (this.path.destroy(), delete this.path);
return this.renderer.destroy(this);
};
c.prototype.renderElement = function () {
return this.renderer.path();
};
c.prototype.availableAttrs = function () {
return at;
};
return c;
})(tb),
HB = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.renderElement = function () {
return this.renderer.rect();
};
c.prototype.availableAttrs = function () {
return FB;
};
return c;
})(zm),
IB = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.availableAttrs = function () {
return GB;
};
return c;
})(zm),
cq = fa(["fill", "stroke", "mask", "clip-path"]),
Am = {},
iq = {
horizontal: { c: [0, 0, 5, 0] },
"large-horizontal": { c: [0, 0, 10, 0], size: 10 },
"narrow-horizontal": { c: [0, 0, 2.5, 0], size: 2.5 },
"dark-horizontal": { c: [0, 0, 5, 0], strokeWidth: 4 },
vertical: { c: [0, 0, 0, 5] },
"large-vertical": { c: [0, 0, 0, 10], size: 10 },
"narrow-vertical": { c: [0, 0, 0, 2.5], size: 2.5 },
"dark-vertical": { c: [0, 0, 0, 5], strokeWidth: 4 },
"backward-diagonal": { c: [0, 0, 0, 10], size: 10, patternTransform: "rotate(45)" },
"light-upward-diagonal": { c: [0, 0, 0, 5], patternTransform: "rotate(45)" },
"dark-upward-diagonal": { c: [0, 0, 0, 5], strokeWidth: 4, patternTransform: "rotate(45)" },
"wide-upward-diagonal": { c: [0, 0, 0, 10], strokeWidth: 5, patternTransform: "rotate(45)", size: 10 },
"forward-diagonal": { c: [0, 0, 0, 10], size: 10, patternTransform: "rotate(-45)" },
"light-downward-diagonal": { c: [0, 0, 0, 5], patternTransform: "rotate(-45)" },
"dark-downward-diagonal": { c: [0, 0, 0, 5], strokeWidth: 4, patternTransform: "rotate(-45)" },
"wide-downward-diagonal": { c: [0, 0, 0, 10], strokeWidth: 5, patternTransform: "rotate(-45)", size: 10 },
"dashed-downward-diagonal": { c: [0, 2.5, 5, 7.5], granualHeight: 10 },
"dashed-upward-diagonal": { c: [5, 2.5, 0, 7.5], granualHeight: 10 },
"horizontal-brick": { d: "M0,0L0,5M0,5L10,5M5,5L5,10M10,5L10,0M0,10L10,10M0,0L10,0", size: 10 },
"large-checker-board": { d: "M0,5L5,5 5,0 0,0ZM5,10L5,5 10,5 10,10Z", size: 10, borderColor: "transparent", inside: !0 },
"small-checker-board": { d: "M0,2.5L2.5,2.5 2.5,0 0,0ZM2.5,5L2.5,2.5 5,2.5 5,5Z", borderColor: "transparent", inside: !0 },
"cross-diagonal": { d: "M0,0l10,10M10,0l-10,10", size: 10 },
"dashed-horizontal": { d: "M0 1 L5 1M 5 6L10 6", size: 10 },
"dashed-vertical": { d: "M1,0L1,5M6,5L6,10", size: 10 },
"diagonal-brick": { d: "M5,0L0,5M0,5L5,10M5,10L10,5", size: 10 },
"large-grid": { d: "M0,0L10,0M10,0L10,10", size: 10 },
"small-grid": { d: "M0,0L5,0M5,0L5,5" },
"solid-diamond": { d: "M0,1L4,5 0,9M10,1L6,5 10,9", size: 10, inside: !0, borderColor: "transparent" },
"outlined-diamond": { d: "M0,0L10,10M10,0L0,10", size: 10, strokeWidth: 1 },
wave: { d: "M1,2.5C2,5 4,5 5,2.5S8,0 9,2.5", granualWidth: 10, insideBack: !0 },
weave: { d: "M3,0L0,3M0,3L7,10M7,10L10,7M10,7L3,0M2, 5L0, 7M5, 8L3, 10M8, 5L10, 3", size: 10 },
"zig-zag": { d: "M0,5L5,0M5,0L10,5", granualWidth: 10 },
percent05: {
p: [
[2.5, 7.5],
[7.5, 2.5],
],
size: 10,
},
percent10: {
p: [
[1.5, 4],
[6.5, 1.5],
],
granualWidth: 10,
},
percent20: {
p: [
[1, 3.5],
[3.5, 1],
],
},
percent25: {
p: [
[1, 1.75],
[3.5, 0.5],
],
granualHeight: 2.5,
},
"dotted-grid": {
p: [
[1, 8.5],
[3.5, 8.5],
[6, 8.5],
[8.5, 8.5],
[8.5, 1],
[8.5, 3.5],
[8.5, 6],
],
size: 10,
},
"dotted-diamond": {
p: [
[4, 1],
[1.5, 3.5],
[6.5, 3.5],
[9, 6],
[1.5, 8.5],
[6.5, 8.5],
],
size: 10,
},
dotted: { template: "circle" },
image: { template: "image" },
"image-large": { template: "image", size: 10 },
},
kx = {
line: function (a) {
a = wg(a);
var c = G(a.c, 4);
return $h(a.pattern, [{ tag: "line", attr: { x1: c[0], y1: c[1], x2: c[2], y2: c[3], stroke: a.color, "stroke-width": a.strokeWidth, strokeDashArray: a.dashArray } }], a);
},
path: function (a) {
a = wg(a);
var c = a.pattern,
b = [{ tag: "path", attr: { d: a.d, fill: a.inside ? a.color : a.insideBack ? a.backgroundColor : void 0, "stroke-width": a.strokeWidth || 1, "border-color": a.borderColor, strokeDashArray: a.dashArray } }];
b.unshift({ tag: "rect", attr: { width: a.granualWidth, height: a.granualHeight, fill: a.backgroundColor || "none", "stroke-width": 0 } });
return gq(c, [{ tag: "g", attr: { stroke: a.color || "black", "stroke-width": a.strokeWidth || 1, childNodes: b } }], a);
},
point: function (a) {
a = wg(a);
return $h(
a.pattern,
B(a.p, function (c) {
return { tag: "circle", attr: { cx: c[0], cy: c[1], r: 0.5, fill: a.color } };
}),
a
);
},
circle: function (a) {
a = wg(a);
return $h(a.pattern, [{ tag: "circle", attr: { cx: a.granualWidth / 2, cy: a.granualHeight / 2, r: 0.5, fill: a.color, transform: a.transform } }], a);
},
image: function (a) {
var c = /(.*)\((.*)\)/g.exec(a.color);
if (!c) return null;
c = G(c, 3);
var b = c[2];
if (!c[1] || !b) return null;
c = Re(b, ", ");
a.color = Gd(c[0], "'\"");
a = wg(a);
return $h(a.pattern, [{ tag: "image", attr: { width: a.granualWidth, height: a.granualHeight, src: a.color } }], a);
},
},
ec = {
translate: [
[0, 0],
function (a) {
a = ja(a) ? a : [a.x, a.y];
return 0 === a[0] && 0 === a[1] ? null : a;
},
],
rotate: [
[0, 0, 0],
function (a) {
a = ja(a) ? a : [a, 0, 0];
return 0 === a[0] && 0 === a[1] && 0 === a[2] ? null : a;
},
],
scale: (function (a) {
return [
[a],
function (c) {
c = ja(c) ? c : [c];
return c[0] === a ? null : c;
},
];
})(1),
},
JB = (function () {
return function () {};
})(),
KB = (function () {
return function () {};
})(),
uq = function (a, c, b) {
return [kd(a[0], c[0], b), kd(a[1], c[1], b)];
},
kd = function (a, c, b) {
return a + (c - a) * b;
},
sx = function (a, c, b) {
return a + (c - a) * b;
},
rx = function (a, c, b) {
return a + (c - a) * (1 - b);
},
Bm = function (a) {
return a && a.val ? a.val : a;
},
Be = function (a) {
return a + "";
},
Cm = function (a) {
return lc(a) ? 1 : a;
},
Dm = function (a) {
return lc(a) ? 0 : a;
},
bt = function (a, c, b) {
a = a || "black";
c = c || "black";
b = b.colorAnimation;
var d = c && c.meta && c.meta.pattern;
return !d && a && a.meta && a.meta.pattern ? le(a.meta.backgroundColor, c, b) : (d ? fw : le)(a, c, b);
},
Em = {
x: [Be, null, !0],
y: [Be, null, !0],
start: [Be, null, !0],
end: [Be, null, !0],
width: [Be, null, !0],
height: [Be, null, !0],
opacity: [Cm, null, !1],
rotate: [Dm, null, !1],
offsetX: [Dm, null, !1],
offsetY: [Dm, null, !1],
display: [Be, null, !1],
transform: [
function (a) {
return a;
},
null,
!1,
],
fill: [Bm, bt, !0],
stroke: [Bm, bt, !0],
"stroke-opacity": [Cm, null, !1],
"stroke-width": [Cm, null, !1],
d: [
Bm,
function (a, c, b) {
return ox(a && a.isPath ? a : Aa(a), c && c.isPath ? c : Aa(c), b.pathAnimation);
},
!1,
],
},
ux = /cubic-bezier\(\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*\)/,
vx = /steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,
bi = function (a, c) {
return function (b) {
if (1 <= b) return 1;
var d = 1 / a;
b += c * d;
return b - (b % d);
};
},
yq = function (a) {
return a;
},
xq = { activeDuration: 0, totalDuration: 0, delay: 0, endDelay: 0, fill: "none", iterationStart: 0, iterations: 1, duration: 0, playbackRate: 1, direction: "normal", easing: "linear", easingFunction: yq },
ct = function (a) {
return a;
},
of = function (a, c, b) {
if ("number" == typeof c) return (a = a || 0), Math.round(1e4 * (b * (c - a) + a)) / 1e4;
if ("boolean" == typeof a && "boolean" == typeof c) return 1 > b && !c ? a : c;
if (Wg(c)) {
var d = {};
Da(c, function (e) {
return (d[e] = of(a[e], c[e], b));
});
return d;
}
if (a.length == c.length) {
for (var e = [], f = 0; f < a.length; f++) e.push(of(a[f], c[f], b));
return e;
}
throw Error("Wrong interpolation arguments " + a + ":" + c);
};
Am.lineargradient = Am.radialgradient = function (a, c) {
var b = a.nodeName.toLowerCase(),
d = function (b, a) {
return lc(b) ? a : b;
},
e = null;
if ("lineargradient" === b) {
var f = {};
w(["x1", "y1", "x2", "y2"], function (b) {
return (f[b] = d(a.attr(b), 0));
});
e = { linearGradient: f };
e.id = e.linearGradient.id = c;
} else if ("radialgradient" === b) {
var g = {};
w(["cx", "cy", "r", "fx", "fy"], function (b) {
return (g[b] = d(a.attr(b), 0));
});
e = { radialGradient: g };
e.id = e.radialGradient.id = c;
}
e &&
((e.stops = B(a.childNodes, function (b) {
return [d(b.attr("offset"), "0%"), d(b.attr("stop-color"), "black"), d(b.attr("stop-opacity"), "1")];
})),
(a.val = e));
};
var hc = function (a, c) {
return Q(a) ? c : O(a) && Mg(a, "%") ? a : 100 * a + "%";
},
Aq = {
linearGradient: {
keyPrefix: "linear-gradient",
argsToAttrs: function (a) {
var c = a.linearGradient;
if (ja(c)) {
var b = G(c, 6),
d = b[0],
e = b[1],
f = b[2],
g = b[3],
h = b[4];
b = b[5];
h = h || c.hash || a.hash;
b = b || c.id || a.id;
} else (d = c.x1), (f = c.x2), (e = c.y1), (g = c.y2), (h = c.hash), (b = c.id);
return { attrs: { x1: d, x2: f, y1: e, y2: g, id: b, hash: h }, stops: a.stops };
},
toString: function (a) {
return hc(a.x1, "0%") + " " + hc(a.y1, "0%") + " " + hc(a.x2, "100%") + " " + hc(a.y2, "0%");
},
},
radialGradient: {
keyPrefix: "radial-gradient",
argsToAttrs: function (a) {
var c = a.radialGradient;
if (ja(c)) {
var b = G(c, 7),
d = b[0],
e = b[1],
f = b[2],
g = b[3],
h = b[4],
k = b[5];
b = b[6];
k = k || c.hash || a.hash;
b = b || c.id || a.id;
} else (d = c.cx), (e = c.cy), (f = c.r), (g = c.fx), (h = c.fy), (k = c.hash), (b = c.id);
return { attrs: { cx: d, cy: e, r: f, fx: g, fy: h, id: b, hash: k }, stops: a.stops };
},
toString: function (a) {
return hc(a.cx, "50%") + " " + hc(a.cy, "50%") + " " + hc(a.r, "50%") + " " + hc(a.fx, hc(a.cx, "50%")) + " " + hc(a.fy, hc(a.cy, "50%"));
},
},
stopToString: function (a) {
return hc(a.offset) + " " + a.color + " " + a.opacity;
},
},
xg = {},
Fm = function (a, c) {
if (!a) return a;
if (O(a)) return J(xg, a) ? xg[a](a, c) : a;
var b = {},
d;
for (d in a)
if (J(a, d)) {
var e = a[d];
if (J(xg, d)) xg[d](d, c, e, b, a);
else b[d] = e;
}
return b;
},
LB = (function () {
function a() {}
a.prototype.resolve = function (a, b) {
return Fm(a, b);
};
return a;
})();
Og[1] = new LB();
var ci = {
src: "xlink:href",
fontWeight: "font-weight",
fontStyle: "font-style",
fontSize: "font-size",
fontFamily: "font-family",
textDecoration: "text-decoration",
className: "class",
strokeDashArray: "stroke-dasharray",
textRendering: "text-rendering",
textAnchor: "text-anchor",
whiteSpace: "white-space",
textAlign: "text-align",
borderRadius: "border-radius",
},
Dx = fa(["d", "animation", "transition", "clip-rule"]),
Dq = fa(["class", "id", "translate", "opacity"]),
ul = { color: "fill", fill: "fill", stroke: "stroke", borderColor: "stroke", "border-color": "stroke", hatch: "fill", hatchPattern: "fill" },
Kx = { fill: "color", stroke: "border-color" },
MB = ["stroke-width", "strokeWidth", "border-width", "borderWidth"],
NB = ["strokeAttrs", "stroke"],
ei = { transform: "transform" };
Da(ec, function (a) {
return (ei[a] = "transform");
});
var fi = { zIndex: "z-index", "z-index": "z-index" },
Iq = {
"ease-out-cubic": "cubic-bezier(.215, .61, .355, 1)",
"ease-in-out-cubic": "cubic-bezier(.645, .045, .355, 1)",
"ease-in-circ": "cubic-bezier(.6, .04, .98, .335)",
"ease-out-circ": "cubic-bezier(.075, .82, .165, 1)",
"ease-in-out-circ": "cubic-bezier(.785, .135, .15, .86)",
"ease-in-expo": "cubic-bezier(.95, .05, .795, .035)",
"ease-out-expo": "cubic-bezier(.19, 1, .22, 1)",
"ease-in-out-expo": "cubic-bezier(1, 0, 0, 1)",
"ease-in-quad": "cubic-bezier(.55, .085, .68, .53)",
"ease-out-quad": "cubic-bezier(.25, .46, .45, .94)",
"ease-in-out-quad": "cubic-bezier(.455, .03, .515, .955)",
"ease-in-quart": "cubic-bezier(.895, .03, .685, .22)",
"ease-out-quart": "cubic-bezier(.165, .84, .44, 1)",
"ease-in-out-quart": "cubic-bezier(.77, 0, .175, 1)",
"ease-in-quint": "cubic-bezier(.755, .05, .855, .06)",
"ease-out-quint": "cubic-bezier(.23, 1, .32, 1)",
"ease-in-out-quint": "cubic-bezier(.86, 0, .07, 1)",
"ease-in-sine": "cubic-bezier(.47, 0, .745, .715)",
"ease-out-sine": "cubic-bezier(.39, .575, .565, 1)",
"ease-in-out-sine": "cubic-bezier(.445, .05, .55, .95)",
"ease-in-back": "cubic-bezier(.6, -.28, .735, .045)",
"ease-out-back": "cubic-bezier(.175, .885, .32, 1.275)",
"ease-in-out-back": "cubic-bezier(.68, -.55, .265, 1.55)",
},
Vx = fa(["d", "animation", "transition", "fill", "display"]),
Xx = new RegExp(String.fromCharCode(160), "gm");
w(
[
function () {
Ab(pa(ci), zx);
},
function () {
Ab(["attr"], Ax);
},
function () {
Ab(["d"], Bx);
},
function () {
Ab(["overflow"], Cx);
},
function () {
Ab(["clipPath"], Bq);
},
function () {
Ab(["shadow"], Fx);
},
function () {
Ab(pa(ul), Jx);
},
function () {
Ab(MB, Ox);
Ab(NB, Px);
},
function () {
Ab(pa(ei), Rx);
},
function () {
Ab(pa(fi), Sx);
},
function () {
Ab(["easing"], Tx);
},
function () {
Ab(["mask"], Ux);
},
function () {
Ab(["text"], Wx);
},
],
function (a) {
return a();
}
);
var OB = function (a, c, b) {
var d = {},
e = [];
Da(ec, function (f) {
var g = ec[f][1](of(c[f], b[f], a));
if (null != g || c[f]) g && e.push(f + "(" + pc(g, ",") + ")"), (d[f] = g);
});
var f = e.length ? pc(e, " ") : null;
f && (d.val = f);
return f ? d : null;
},
$i = {
transform: function (a, c) {
var b = { translate: [0, 0], scale: [1], rotate: [0, 0, 0] },
d = a ? Pe(b, a, ec) : b,
e = c ? Pe(b, c, ec) : b;
a = {};
Da(ec, function (b) {
null === d[b] && (d[b] = ec[b][0]);
null === e[b] && (e[b] = ec[b][0]);
"rotate" === b && ((d[b][1] = e[b][1]), (d[b][2] = e[b][2]));
});
a.transform = {
interpolate: function (b) {
return OB(b, d, e);
},
};
return { complex: !0, props: a };
},
display: function (a, c) {
return {
from: "block" == a,
to: "block" == c,
convert: function (b) {
return b ? "block" : "none";
},
};
},
},
PB = function (a, c) {
return { from: parseFloat(a), to: parseFloat(c), convert: ct };
},
QB = function (a, c) {
return { from: rl(a), to: rl(c), convert: ct };
};
w("opacity rotate offsetX offsetY start end stroke-width stroke-opacity".split(" "), function (a) {
return ($i[a] = PB);
});
w(["x", "y", "width", "height"], function (a) {
return ($i[a] = QB);
});
var Gm = (function () {
return function () {};
})(),
RB = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.update = function (b) {};
return c;
})(Gm),
SB = (function (a) {
function c(b) {
var c = a.call(this) || this;
c.frameHandler = b;
return c;
}
K(c, a);
c.prototype.update = function (b) {
this.frameHandler(b);
};
return c;
})(Gm),
TB = (function (a) {
function c(b, c) {
var d = a.call(this) || this;
d.frames = b;
d.parseFrames();
c && c.onFrame && (d.onFrame = c.onFrame);
return d;
}
K(c, a);
c.prototype.update = function (b) {
var a = {},
c = this.interpolations;
Da(c, function (d) {
var e = c[d];
a[d] = e.interpolate ? e.interpolate(b) : e.convert(of(e.from, e.to, b));
});
if (this.onFrame) this.onFrame(b, a, of);
};
c.prototype.parseFrames = function () {
var b = this.frames[0],
a = this.frames[this.frames.length - 1],
c = {};
Da(a, function (d) {
if (J($i, d)) {
var e = $i[d](b[d], a[d]);
e && (e.complex ? L(c, e.props) : (c[d] = e));
}
});
this.interpolations = c;
};
return c;
})(Gm),
UB = (function (a) {
function c(b, c, e) {
var d = a.call(this) || this;
d.timeLine = e;
d.idle = !0;
d.paused = !1;
d.currentTimePending = !1;
d.finishedFlag = !0;
d._startTime = null;
d._currentTime = 0;
d.playbackRate = 1;
d.inEffect = !1;
d.effectTime = wq(c);
b = Fb(b) ? new SB(b) : ja(b) && 1 < b.length ? new TB(b, c) : new RB();
d.effect = b;
d.onFinishAnimation = c.onFinishAnimation;
d._final = c.final;
d.scope = c.scope;
return d;
}
K(c, a);
c.prototype.play = function () {
this.paused = !1;
if (this.isFinished() || this.idle) this.rewind(), (this._startTime = null);
this.idle = this.finishedFlag = !1;
};
c.prototype.pause = function () {
this.isFinished() || this.paused || this.idle ? this.idle && (this.rewind(), (this.idle = !1)) : (this.currentTimePending = !0);
this._startTime = null;
this.paused = !0;
};
c.prototype.finish = function () {
if (!this.idle) {
var b = this.effectTime.options;
this._currentTime = 0 < this.playbackRate ? b.totalDuration : 0;
this._startTime = b.totalDuration - this._currentTime;
this.currentTimePending = !1;
}
};
c.prototype.cancel = function () {
this.inEffect && ((this.inEffect = !1), (this.idle = !0), (this.paused = !1), (this.finishedFlag = !0), (this._currentTime = 0), (this._startTime = null), this.updateEffect(null));
};
c.prototype.reverse = function () {
this.playbackRate *= -1;
this.play();
};
c.prototype.playState = function () {
return this.idle ? "idle" : (null == this._startTime && !this.paused && 0 !== this.playbackRate) || this.currentTimePending ? "pending" : this.paused ? "paused" : this.isFinished() ? "finished" : "running";
};
c.prototype.isFinished = function () {
var b = this.effectTime.options.totalDuration;
return !this.idle && ((0 < this.playbackRate && (this._currentTime > b || (this._currentTime === b && 0 !== b))) || (0 > this.playbackRate && 0 >= this._currentTime));
};
c.prototype.frame = function () {
var b = this;
this.idle ||
this.paused ||
(null == this._startTime
? (this._startTime = this.timeLine.currentTime - this._currentTime / this.playbackRate)
: this.isFinished() || this.tickCurrentTime((this.timeLine.currentTime - this._startTime) * this.playbackRate));
this.currentTimePending = !1;
this.isFinished()
? this.finishedFlag ||
(this.onFinish &&
T.setTimeout(function () {
b.onFinish();
}, 0),
(this.finishedFlag = !0))
: (this.finishedFlag = !1);
};
c.prototype.startTime = function () {
return this._startTime;
};
c.prototype.currentTime = function () {
return this._currentTime;
};
c.prototype.rewind = function () {
var b = this.effectTime.options;
if (0 <= this.playbackRate) this._currentTime = 0;
else if (Infinity > b.totalDuration) this._currentTime = b.totalDuration;
else throw Error("Unable to rewind negative playback rate animation with infinite duration");
};
c.prototype.tickCurrentTime = function (b) {
b !== this._currentTime && ((this._currentTime = b), this.updateEffect(0 > this.playbackRate && 0 === this._currentTime ? -1 : this._currentTime));
};
c.prototype.updateEffect = function (b) {
b = this.effectTime(b);
this.inEffect = null !== b;
this.effect.update(null === b ? 1 : b);
};
c.prototype.finishAnimation = function (b) {
this.finish();
b && (this.updateEffect(null), this.finishedFlag || ((this.finishedFlag = !0), this.onFinish && this.onFinish()));
this.onFinish = null;
if (this.onFinishAnimation) this.onFinishAnimation();
this._final && this._final();
};
return c;
})(JB),
VB = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.ticking = !1;
b.animations = [];
b._awaitCallbacks = [];
b._framesCount = 0;
return b;
}
K(c, a);
c.prototype.animate = function (b, a) {
b = new UB(b, a, this);
this.animations.push(b);
b.play();
this.startAnimationsFrame();
return b;
};
c.prototype.getAnimations = function (b) {
this.discardAnimations();
return b
? ea(this.animations, function (a) {
return a.scope === b;
})
: this.animations;
};
c.prototype.await = function (b) {
this.ticking ? this._awaitCallbacks.push(b) : b(0);
};
c.prototype.startAnimationsFrame = function () {
var b = this;
b.ticking ||
((b.ticking = !0),
(b._framesCount = 0),
T.requestAnimationFrame(function (a) {
return b.frame(a);
}));
};
c.prototype.frame = function (b) {
var a = this;
a.currentTime = b;
a._framesCount++;
w(a.animations, function (b) {
return b.frame();
});
a.discardAnimations();
0 === a.animations.length
? a.final()
: T.requestAnimationFrame(function (b) {
return a.frame(b);
});
};
c.prototype.discardAnimations = function () {
this.animations = ea(this.animations, function (b) {
b = b.playState();
return "finished" !== b && "idle" !== b;
});
};
c.prototype.final = function () {
var b = this._awaitCallbacks.slice(),
a = this._framesCount;
this.ticking = !1;
this._awaitCallbacks = [];
setTimeout(function () {
w(b, function (b) {
return b(a);
});
});
};
return c;
})(KB),
Ce = new ((function () {
function a() {}
a.prototype.create = function () {
return new VB();
};
return a;
})())().create(),
vl = {},
ZB = (function () {
function a() {}
a.prototype.createEventsProcessorType = function () {
return "ontouchstart" in T ? WB : "PointerEvent" in T ? XB : YB;
};
return a;
})(),
$B = (function () {
function a() {
this.subscribedEvents = {};
}
a.prototype.isStoreEvent = function (a) {
return null != vl[a];
};
a.prototype.addEvent = function (a, b, d) {
var c = vl[b];
if (!c) return !1;
this.subscribedEvents[b] || (this.subscribedEvents[b] = []);
a = new c(a, d);
a.on();
this.subscribedEvents[b].push(a);
return !0;
};
a.prototype.removeEvent = function (a, b, d) {
if (!this.isStoreEvent(b)) return !1;
if (!this.subscribedEvents[b]) return !0;
for (var c = this.subscribedEvents[b].length, f = 0; f < c; f++) {
var g = this.subscribedEvents[b][f];
g.eventTarget !== a || (d && g.fn !== d) || (this.subscribedEvents[b].splice(f, 1), g.un(), c--);
}
return !0;
};
return a;
})(),
Df = {},
Sb = (function () {
function a(a, b) {
var c = this;
this.eventTarget = a;
this.fn = b;
this.pointers = {};
this.pointerEvents = ["pointerdown", "pointerenter", "pointerout"];
this.publicPointerEvents = ["pointermove", "pointerup", "pointercancel", "pointerout"];
this.touchEvents = ["touchstart", "touchend", "touchmove", "touchcancel"];
this.publicTouchEvents = [];
this.mouseEvents = ["mousedown", "mousemove", "mouseover", "mouseout", "mouseup"];
this.publicMouseEvents = [];
this.innerEventsHandler = function (b) {
b.type === da.Down && (c.pointers[b.id] = b);
c.processEventDescription(b);
b.eventData.pointers = c.pointersToArray();
c.eventsHandler(b);
b.type === da.Move && c.pointers[b.id] && (c.pointers[b.id] = b);
if (b.type === da.Up || b.type === da.Leave) delete c.pointers[b.id], delete Df[b.id];
};
}
a.prototype.on = function () {
this.hasSubscription || (this.subscribe(), (this.hasSubscription = !0));
};
a.prototype.un = function () {
this.hasSubscription && (this.unsubscribe(), (this.hasSubscription = !1));
};
a.prototype.clearPointers = function () {
for (var a in Df) delete Df[a];
};
a.prototype.pointersToArray = function () {
var a = [],
b;
for (b in Df) a.push(Df[b]);
return a;
};
a.prototype.subscribe = function () {
this.eventsProcessor = new (new ZB().createEventsProcessorType())(this.eventTarget, this.innerEventsHandler, {
pointerEvents: this.pointerEvents,
publicPointerEvents: this.publicPointerEvents,
touchEvents: this.touchEvents,
publicTouchEvents: this.publicTouchEvents,
mouseEvents: this.mouseEvents,
publicMouseEvents: this.publicMouseEvents,
});
this.eventsProcessor.subscribe();
};
a.prototype.unsubscribe = function () {
this.eventsProcessor.unsubscribe();
};
a.prototype.processEventDescription = function (a) {
Df[a.id] = new aC(a.id, a.pageX, a.pageY, a.clientX, a.clientY);
};
return a;
})();
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.pointerEvents = ["pointerdown"];
b.publicPointerEvents = ["pointerup", "pointercancel"];
b.touchEvents = ["touchstart"];
b.publicTouchEvents = ["touchend", "touchcancel"];
b.mouseEvents = ["mousedown"];
b.publicMouseEvents = ["mouseup", "mouseout"];
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Down:
(b.eventData.customEventType = "vdown"), pf(b, this.eventTarget), this.fn(b.eventData);
}
};
return (c = Eb([Ob("vdown")], c));
})(Sb);
(function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.subscribe = function () {
var b = this;
b.eventsProcessor = new dt(
b.eventTarget,
function (a) {
return b.eventsHandler(a);
},
{ events: ["keyup"] }
);
b.eventsProcessor.subscribe();
};
c.prototype.eventsHandler = function (b) {
13 == b.keyCode && this.fn(b);
};
return (c = Eb([Ob("vkeyenter")], c));
})(Sb);
(function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.subscribe = function () {
var b = this;
b.eventsProcessor = new dt(
b.eventTarget,
function (a) {
return b.eventsHandler(a);
},
{ events: ["focus", "blur"] }
);
b.eventsProcessor.subscribe();
};
c.prototype.eventsHandler = function (b) {
"focus" === b.type ? (b.hasFocus = !0) : "blur" === b.type && (b.hasFocus = !1);
this.fn(b);
};
return (c = Eb([Ob("vchangefocus")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.pointerEvents = ["pointerup", "pointercancel"];
b.publicPointerEvents = [];
b.touchEvents = ["touchend", "touchcancel"];
b.mouseEvents = ["mouseup", "mouseout"];
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Up:
(b.eventData.customEventType = "vup"), pf(b, this.eventTarget), this.fn(b.eventData);
}
};
return (c = Eb([Ob("vup")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.pointerEvents = ["pointermove", "pointerdown", "pointerout", "pointerleave"];
b.publicPointerEvents = ["pointerup", "pointercancel"];
b.touchEvents = ["touchmove", "touchstart", "touchend", "touchcancel"];
b.mouseEvents = ["mousemove", "mousedown", "mouseup"];
b.downArgs = [];
b._resetDiff = 4;
return b;
}
K(c, a);
c.prototype.subscribe = function () {
a.prototype.subscribe.call(this);
};
c.prototype.eventsHandler = function (b) {
var a = nh(this.downArgs, "id", b.id);
switch (b.type) {
case da.Down:
if (!Jq(b.eventData)) break;
this.downArgs.push(b);
break;
case da.Move:
if (!a) break;
var c = a.clientX - b.clientX;
b = a.clientY - b.clientY;
c * c + b * b > this._resetDiff && this.downArgs.splice(this.downArgs.indexOf(a), 1);
break;
case da.Up:
a && a.id === b.id && a.eventData.target === b.eventData.target && ((b.eventData.customEventType = "vclick"), pf(b, this.eventTarget), this.fn(b.eventData), this.downArgs.splice(this.downArgs.indexOf(a), 1));
}
};
return (c = Eb([Ob("vclick")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.pointerEvents = ["pointerenter", "pointerleave", "pointercancel"];
b.publicPointerEvents = [];
b.touchEvents = ["touchstart", "touchend", "touchcancel"];
b.mouseEvents = ["mouseover", "mouseout"];
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Down:
case da.Enter:
(b.eventData.customEventType = "venter"), pf(b, this.eventTarget), this.fn(b.eventData);
}
};
return (c = Eb([Ob("venter")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.pointerEvents = ["pointerout", "pointercancel"];
b.publicPointerEvents = [];
b.touchEvents = ["touchend", "touchcancel"];
b.mouseEvents = ["mouseout"];
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Up:
case da.Leave:
(b.eventData.customEventType = "vleave"), this.fn(b.eventData);
}
};
return (c = Eb([Ob("vleave")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.pointerEvents = ["pointermove"];
b.touchEvents = ["touchmove"];
b.mouseEvents = ["mousemove"];
b.publicPointerEvents = ["pointerup", "pointercancel"];
b.publicTouchEvents = ["touchend", "touchcancel"];
b.publicMouseEvents = ["mouseup", "mouseout"];
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Move:
(b.eventData.customEventType = "vmove"), pf(b, this.eventTarget), this.fn(b.eventData);
}
};
return (c = Eb([Ob("vmove")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.timeoutId = null;
b.timeout = 750;
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
var a = this;
switch (b.type) {
case da.Down:
this.timeoutId = setTimeout(function () {
a.fn({ type: "taphold", clientX: b.clientX, clientY: b.clientY });
a.timeoutId = null;
}, this.timeout);
break;
case da.Move:
case da.Up:
this.reset();
}
};
c.prototype.reset = function () {
this.timeoutId && (clearTimeout(this.timeoutId), (this.timeoutId = null));
};
return (c = Eb([Ob("taphold")], c));
})(Sb);
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.distance = 0;
b.distanceX = 0;
b.distanceY = 0;
b.threshold = 0.3;
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Move:
this.callPinchEvent(b);
break;
case da.Up:
2 === Object.keys(this.pointers).length && (this.distance = 0);
}
};
c.prototype.callPinchEvent = function (b) {
var a = Object.keys(this.pointers);
if (2 !== a.length) this.distance = 0;
else {
var c = this.pointers[a[0]],
f = this.pointers[a[1]],
g = !1,
h = !1;
c.id === b.id ? ((c = b), (g = c.clientX < f.clientX), (h = c.clientY < f.clientY)) : f.id === b.id && ((f = b), (g = f.clientX < c.clientX), (h = f.clientY < c.clientY));
var k = this.calculateDistance(c, f),
l = this.calculateAxisDistance(c, f, { x: 1, y: 0 }),
m = this.calculateAxisDistance(c, f, { x: 0, y: 1 });
if (0 === this.distance) (this.distance = k), (this.distanceX = l), (this.distanceY = m);
else {
var n = k - this.distance;
if (!(Math.abs(n) < this.threshold)) {
var p = l - this.distanceX,
q = m - this.distanceY;
this.distance = k;
this.distanceX = l;
this.distanceY = m;
this.fn({
type: "pinch",
distance: this.distance,
offset: n,
offsetX: p,
offsetY: q,
isLeftPointer: g,
isTopPointer: h,
pointersCount: a.length,
eventData: b.eventData,
firstClientX: c.clientX,
firstClientY: c.clientY,
secondClientX: f.clientX,
secondClientY: f.clientY,
});
}
}
}
};
c.prototype.calculateDistance = function (b, a) {
var c = a.clientX - b.clientX;
b = a.clientY - b.clientY;
return Math.sqrt(c * c + b * b);
};
c.prototype.calculateAxisDistance = function (b, a, c) {
return Math.abs(c.x * a.clientX + c.y * a.clientY - (c.x * b.clientX + c.y * b.clientY));
};
return (c = Eb([Ob("pinch")], c));
})(Sb);
(function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
switch (b.type) {
case da.Move:
this.callMoveEvent(b);
}
};
c.prototype.callMoveEvent = function (b) {
var a = b.id;
this.pointers[a] && this.fn({ type: "move", offsetX: b.clientX - this.pointers[a].clientX, offsetY: b.clientY - this.pointers[a].clientY, pointersCount: Object.keys(this.pointers).length });
};
return (c = Eb([Ob("move")], c));
})(Sb);
(function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.timeoutInterval = function () {
return 500;
};
c.prototype.resetTimeoutInterval = function () {
return 300;
};
c.prototype.getName = function () {
return "DoubleTapEvent";
};
c.prototype.tapCount = function () {
return 2;
};
return (c = Eb([Ob("doubletap")], c));
})(
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.timeoutId = null;
b.resetTimeoutId = null;
b.currentTapCount = 0;
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
var a = this;
switch (b.type) {
case da.Down:
clearTimeout(this.timeoutId);
clearTimeout(this.resetTimeoutId);
this.currentTapCount++;
this.timeoutId = setTimeout(function () {
a.currentTapCount === a.tapCount() && ((b.eventData.customEventType = a.getName()), pf(b, a.eventTarget), a.fn(b.eventData));
a.currentTapCount = 0;
}, this.timeoutInterval());
break;
case da.Up:
this.resetTimeoutId = setTimeout(function () {
a.currentTapCount = 0;
}, this.resetTimeoutInterval());
}
};
return c;
})(Sb)
);
(function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.getName = function () {
return "vdblclick";
};
c.prototype.clicksCount = function () {
return 2;
};
c.prototype.timeout = function () {
return 300;
};
return (c = Eb([Ob("vdblclick")], c));
})(
(function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.downArgs = [];
b.currentClicksCount = 0;
return b;
}
K(c, a);
c.prototype.eventsHandler = function (b) {
var a = this,
c = nh(this.downArgs, "id", b.id);
switch (b.type) {
case da.Down:
if (!Jq(b.eventData)) break;
clearTimeout(this.timeoutId);
this.downArgs.push(b);
break;
case da.Up:
c &&
c.id === b.id &&
c.eventData.target === b.eventData.target &&
(clearTimeout(this.timeoutId),
this.currentClicksCount++,
(b.eventData.customEventType = this.getName()),
this.currentClicksCount === this.clicksCount()
? (this.fn(b.eventData), (this.currentClicksCount = 0))
: (this.timeoutId = setTimeout(function () {
a.currentClicksCount = 0;
}, this.timeout())),
this.downArgs.splice(this.downArgs.indexOf(c), 1));
}
};
return c;
})(Sb)
);
var da;
(function (a) {
a[(a.None = 0)] = "None";
a[(a.Down = 1)] = "Down";
a[(a.Move = 2)] = "Move";
a[(a.Enter = 3)] = "Enter";
a[(a.Leave = 4)] = "Leave";
a[(a.Up = 5)] = "Up";
})(da || (da = {}));
var Hm = (function () {
return function (a, c, b, d, e, f, g) {
this.type = a;
this.id = c;
this.pageX = b;
this.pageY = d;
this.clientX = e;
this.clientY = f;
this.eventData = g;
};
})(),
aj = (function () {
function a(a, b, d) {
void 0 === d && (d = {});
this.el = a;
this.eventsHandler = b;
this.options = d;
}
a.prototype.getWindowForElement = function () {
var a = this.el;
a = a.ownerDocument || a;
return a.defaultView || a.parentWindow || T;
};
a.prototype.triggerEventsHandler = function (a) {
this.eventsHandler && this.eventsHandler(a);
};
a.prototype.handleEvents = function (a, b, d, e) {
var c;
if (a && a.length) {
try {
for (var g = ya(a), h = g.next(); !h.done; h = g.next()) this.el[b](h.value, d, e);
} catch (l) {
var k = { error: l };
} finally {
try {
h && !h.done && (c = g.return) && c.call(g);
} finally {
if (k) throw k.error;
}
}
return !0;
}
return !1;
};
a.prototype.handlePublicEvents = function (a, b, d, e) {
var c,
g = this.getWindowForElement();
if (a && a.length) {
try {
for (var h = ya(a), k = h.next(); !k.done; k = h.next()) g[b](k.value, d, e);
} catch (m) {
var l = { error: m };
} finally {
try {
k && !k.done && (c = h.return) && c.call(h);
} finally {
if (l) throw l.error;
}
}
return !0;
}
return !1;
};
return a;
})(),
dt = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.handler = function (a) {
b.triggerEventsHandler(a);
};
return b;
}
K(c, a);
c.prototype.subscribe = function () {
this.handleEvents(this.options.events, "addEventListener", this.handler);
this.handlePublicEvents(this.options.publicEvents, "addEventListener", this.handler);
};
c.prototype.unsubscribe = function () {
this.handleEvents(this.options.events, "removeEventListener", this.handler);
this.handlePublicEvents(this.options.publicEvents, "removeEventListener", this.handler);
};
return c;
})(aj),
YB = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.handler = function (a) {
switch (a.type.toLowerCase()) {
case "mousedown":
var c = da.Down;
break;
case "mousemove":
c = da.Move;
break;
case "mouseover":
c = da.Enter;
break;
case "mouseout":
c = da.Leave;
break;
case "mouseup":
c = da.Up;
}
b.triggerEventsHandler(new Hm(c, "1", a.pageX, a.pageY, a.clientX, a.clientY, a));
};
return b;
}
K(c, a);
c.prototype.subscribe = function () {
this.handleEvents(this.options.mouseEvents, "addEventListener", this.handler);
this.handlePublicEvents(this.options.publicMouseEvents, "addEventListener", this.handler);
};
c.prototype.unsubscribe = function () {
this.handleEvents(this.options.mouseEvents, "removeEventListener", this.handler);
this.handlePublicEvents(this.options.publicMouseEvents, "removeEventListener", this.handler);
};
return c;
})(aj),
WB = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.handler = function (a) {
switch (a.type.toLowerCase()) {
case "touchstart":
b.triggerTouchEvent(da.Down, a);
break;
case "touchmove":
b.triggerTouchEvent(da.Move, a);
break;
case "touchend":
case "touchcancel":
b.triggerTouchEvent(da.Up, a);
}
};
return b;
}
K(c, a);
c.prototype.subscribe = function () {
this.handleEvents(this.options.touchEvents, "addEventListener", this.handler, { passive: !1 });
this.handlePublicEvents(this.options.publicTouchEvents, "addEventListener", this.handler, { passive: !1 });
};
c.prototype.unsubscribe = function () {
this.handleEvents(this.options.touchEvents, "removeEventListener", this.handler);
this.handlePublicEvents(this.options.publicTouchEvents, "removeEventListener", this.handler);
};
c.prototype.triggerTouchEvent = function (b, a) {
for (var c = 0; c < a.changedTouches.length; c++) {
var d = a.changedTouches[c];
this.triggerEventsHandler(new Hm(b, d.identifier, d.pageX, d.pageY, d.clientX, d.clientY, a));
}
};
return c;
})(aj),
XB = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.handler = function (a) {
var c = a.type,
d = b.getIdFromEvent(a);
switch (c.toLowerCase()) {
case "pointerdown":
var g = da.Down;
break;
case "pointermove":
g = da.Move;
break;
case "pointerenter":
g = da.Enter;
break;
case "pointerout":
g = da.Leave;
break;
case "pointerup":
case "pointercancel":
case "pointerleave":
g = da.Up;
}
b.triggerEventsHandler(new Hm(g, d, a.pageX, a.pageY, a.clientX, a.clientY, a));
};
return b;
}
K(c, a);
c.prototype.subscribe = function () {
this.handleEvents(this.options.pointerEvents, "addEventListener", this.handler);
this.handlePublicEvents(this.options.publicPointerEvents, "addEventListener", this.handler);
};
c.prototype.unsubscribe = function () {
this.handleEvents(this.options.pointerEvents, "removeEventListener", this.handler);
this.handlePublicEvents(this.options.publicPointerEvents, "removeEventListener", this.handler);
};
c.prototype.getIdFromEvent = function (b) {
return b.pointerId.toString();
};
return c;
})(aj),
aC = (function () {
return function (a, c, b, d, e) {
this.id = a;
this.pageX = c;
this.pageY = b;
this.clientX = d;
this.clientY = e;
};
})(),
bC = fa(["div", "input", "button"]),
hi = function (a) {
return a ? J(bC, a.toLowerCase()) : !1;
},
bj = function (a, c, b) {
c = b || "svg";
return (c = hi(a) ? "http://www.w3.org/1999/xhtml" : "svg" === c ? "http://www.w3.org/2000/svg" : "html" === c ? "http://www.w3.org/1999/xhtml" : void 0) ? ba.createElementNS(c, a) : ba.createElement(a);
},
Zx = function (a) {
if (a) {
var c = a.parentNode;
c && c.removeChild(a);
}
},
cC = "alt disabled href id src style title class onclick tabindex role aria-label".split(" "),
dC = ["user-select", "outline"],
Qq = function (a) {
if (0 === a.lastIndexOf("xml:", 0)) return "http://www.w3.org/XML/1998/namespace";
if (0 === a.lastIndexOf("xlink:", 0)) return "http://www.w3.org/1999/xlink";
},
yl = function (a, c) {
a = a.tagName.toLowerCase();
return (hi(a) && -1 === cC.indexOf(c)) || -1 < dC.indexOf(c);
},
Pq = { width: "0", height: "0", x: "0", y: "0", "z-index": "0", fill: "black", stroke: "none", opacity: "1", "stroke-width": "1", display: "inline", visibility: "visible", transform: "none", "clip-path": "none" },
eC = Jj("width,height,font-size,font-family"),
Im = {
image: function (a, c) {
return a.createElement($s, "image", c);
},
clipRect: function (a, c) {
return a.createElement(HB, "clipPath", c);
},
clipPath: function (a, c) {
return a.createElement(zm, "clipPath", c);
},
mask: function (a, c) {
return a.createElement(IB, "mask", c);
},
},
et = function (a, c) {
var b = ba.createElement("div"),
d = function (b) {
return (
'<div style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s;' +
(b || "") +
'"></div></div>'
);
};
b.style.cssText = "position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;";
b.innerHTML = d() + d(" width: 200%; height: 200%");
a.appendChild(b);
var e,
f,
g,
h,
k = a.offsetWidth,
l = a.offsetHeight,
m = b.childNodes[0],
n = m.childNodes[0],
p = b.childNodes[1],
q = function () {
n.style.width = "100000px";
n.style.height = "100000px";
m.scrollLeft = 1e5;
m.scrollTop = 1e5;
p.scrollLeft = 1e5;
p.scrollTop = 1e5;
};
q();
var r = function () {
f = 0;
e && ((k = g), (l = h), c.call());
},
u = function () {
g = a.offsetWidth;
h = a.offsetHeight;
(e = g !== k || h !== l) && !f && (f = T.requestAnimationFrame(r));
q();
};
d = function (b) {
b.attachEvent ? b.attachEvent("onscroll", u) : b.addEventListener("scroll", u);
};
d(m);
d(p);
return b;
},
fC = (function (a) {
function c(b) {
var c = this;
b = b || {};
var e = b.container,
f = b.textRendering,
g = (c = a.call(this, e, b.width, b.height, b.defaultWidth, b.defaultHeight) || this);
ix(g);
g.disableAnimation = !1;
g.eventsStore = new $B();
g._noRender = b.noRender;
g._staticSize = b.staticSize;
g._skipDomDestroy = b.skipDomDestroy;
g._defaultOptions = { transition: { animation: { duration: 500, easing: "ease-in-out-circ" }, generator: "default" } };
g._measuringImages = {};
if (!g._noRender) {
g.initContainer(e);
e = g.root && g.root.el;
var h = g.getSvgSize(),
k = g.width || "100%",
l = g.height || "100%";
g.documentElement = new tb(ba.documentElement, g);
g.root = e ? g.root : g.svg({ width: h.width, height: h.height, textRendering: f });
g.overlay = g.htmlElement("", { id: Dd("overlay"), position: "absolute", left: 0, top: 0 });
g.wrapper = g.htmlElement("", { id: qp("JSCharting_") });
g.wrapper.attr({ width: k, height: l, "-webkit-tap-highlight-color": "rgba(0, 0, 0, 0)", position: "relative" });
g.container.el.appendChild(g.wrapper.el);
g.wrapper.el.appendChild(g.root.el);
g.wrapper.el.appendChild(g.overlay.el);
!b.staticSize &&
(g._resizeSensor = et(g.wrapper.el, function () {
return g.rootResize();
}));
}
return c;
}
K(c, a);
c.prototype.resubscribeResize = function () {
var b = this;
b._resizeSensor &&
(b._resizeSensor.parentNode.removeChild(b._resizeSensor),
(b._resizeSensor = et(b.wrapper.el, function () {
return b.rootResize();
})));
};
c.prototype.setCursor = function (b) {
this._setCursor !== b && this.processAttributes(this.wrapper, { cursor: b });
this._setCursor = b;
};
c.prototype.getCursor = function () {
return this._setCursor;
};
c.prototype.element = function (b, a, c) {
var d = this;
if (!Q(b)) {
if (b instanceof tb) return b;
if (J(Im, b)) return Im[b](this, a);
if (!O(b)) return this.element(b.tag, b.attr, c);
var e = a ? a.childNodes : null;
e && (a = Ga(a, ["childNodes"]));
var h = this.createElement(tb, b, a, c);
h &&
e &&
w(e, function (b) {
d.element(b).add(h);
});
return h;
}
};
c.prototype.isRootHidden = function () {
var b = this.root && this.root.el;
if (!b) return !0;
b = T.getComputedStyle(b);
return "hidden" === b.visibility || "none" === b.display;
};
c.prototype.isRootDestroyed = function () {
var b = this.root;
return b ? b.isDestroyed : !0;
};
c.prototype.add = function (b, a) {
var c = b.el instanceof HTMLElement,
d = a && a.el && a.el instanceof HTMLElement;
if (a && a.addElementToParent && !c) return a.addElementToParent(b), b;
a = c ? (d ? a : this.overlay) : a || this.root;
if (b.data.zIndex || a.data.ordered) return (c = b.data.zIndex || 0), (a.data.ordered = !0), Oq(a, b, c), b;
Kq(a, b);
return b;
};
c.prototype.addBefore = function (b, a) {
zg(b, a);
return b;
};
c.prototype.addAfter = function (b, a) {
Lq(b, a);
return b;
};
c.prototype.attr = function (b, a, c) {
var d;
if (Q(a)) return Rq(b), b;
if (!a) return b;
var e = O(a),
h = t(c),
k = e && !h,
l = a;
e && h && (l = ((d = {}), (d[a] = c), d));
if (!b) return this.rootAttr(l, k);
if (l.transition) return b.transition(l.transition), b;
a = this.processAttributes(b, Fm(l, b));
return k ? a : b;
};
c.prototype.rect = function (b, a, c, f, g, h) {
if (Q(b)) return this.element("rect");
b = Pa(b) ? b : { x: b, y: a, width: c, height: f, rx: g, ry: h };
return this.element("rect", b);
};
c.prototype.circle = function (b, a, c) {
if (Q(b)) return this.element("circle");
b = Pa(b) ? b : { cx: b, cy: a, r: c };
return this.element("circle", b);
};
c.prototype.image = function (b, a, c, f, g) {
if (Q(b)) return this.element("image");
b = Pa(b) ? b : { src: b, x: a, y: c, width: f, height: g };
return this.createElement($s, "image", b);
};
c.prototype.query = function (b, a) {
return a ? this.wrap(gi(b, a.el)) : this.wrap(gi(b));
};
c.prototype.queryAll = function (b) {
var a = this;
b = ba.querySelectorAll(b);
return B(b, function (b) {
return a.wrap(b);
});
};
c.prototype.svg = function (b) {
b = this.createElement(tb, "svg", b);
b.el.setAttribute("xmlns", "http://www.w3.org/2000/svg");
b.el.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
this.element("desc", { text: "Created with JSCharting" }).add(b);
return b;
};
c.prototype.reCreateElement = function (b, a) {
var c = b.parentNode,
d = bj(a);
b.destroy();
b.init(d, a);
b.isPatched = !0;
c && b.add(c);
return b;
};
c.prototype.destroy = function (b, a) {
var c = this;
a = a || c._skipDomDestroy;
if (b) {
var d = Zh(c);
nl(c, b, function (b) {
return d && ql(c, b);
});
var g = b.data.events;
g &&
g.length &&
w(g.slice(0), function (a) {
return c.un(b, a.type, a.fn);
});
!a && Yx(b);
b.isDestroyed = !0;
return b;
}
d && d.destroy();
Zh(c, null);
T.removeEventListener("resize", void 0, !1);
Iw(c.container.attr("id")) && c.destroy(c.container);
c.destroy(c.wrapper);
c.destroy(c.overlay);
c.destroy(c.documentElement, !0);
return c.destroy(c.root);
};
c.prototype.on = function (b, a, c) {
var d = function (a) {
return c.call(b, a);
};
this.eventsStore.addEvent(b.el, a, d) || b.el.addEventListener(a, d, !1);
(b.data.events = b.data.events || []).push({ type: a, fn: c, f: d });
return b;
};
c.prototype.un = function (b, a, c) {
if (!b.data.events) return b;
for (var d = (b.data.events = b.data.events || []), e = d.length - 1; -1 < e; e--) {
var h = d[e];
(h.type !== a && a) || (h.fn !== c && c) || (this.eventsStore.removeEvent(b.el, h.type, h.f) || b.el.removeEventListener(h.type, h.f, !1), d.splice(e, 1));
}
return b;
};
c.prototype.box = function (b, a) {
var c = this,
d;
if (b && (d = b.el)) {
var g = T.getComputedStyle(d);
d = g.width;
g = g.height;
if (0 < d.indexOf("px") && 0 < g.indexOf("px") && ((d = parseInt(d)), (g = parseInt(g)), 0 <= d && 0 <= g)) return { x: 0, y: 0, width: d, height: g };
}
a = ay(b || this.root, a);
d = t(this.width) && nb(this.width);
g = t(this.height) && nb(this.height);
var h = function (b) {
var a;
return !(null === (a = c.root) || void 0 === a ? 0 : a.attr) || "100%" !== c.root.attr(b);
},
k = !a.width && !d,
l = !a.height && !g,
m = k && h("width");
h = l && h("height");
b || (!m && !h) || this._staticSize
? (b || (!k && !l) || ((k = this.container.getBbox()), (a.width = a.width || k.width), (a.height = a.height || k.height)), (this._defaultSizeIsSet = !1))
: ((a.width = a.width || this.defaultWidth), (a.height = a.height || this.defaultHeight), (k = this.wrapper) && Ma.emit("warning", k.attr("id"), "defaultSizeIsSet", { container: k.el }), (this._defaultSizeIsSet = !0));
b || (d && (a.width = this.width), g && (a.height = this.height));
return a;
};
c.prototype.isDefaultSizeSet = function () {
return this._defaultSizeIsSet;
};
c.prototype.pathInner = function (b, a) {
if (Q(a)) return this.createElement(b, "path");
var c = ja(a);
a = O(a) || c ? { d: c ? pc(a, " ") : a } : a;
ja(a.d) && (a.d = pc(a.d, " "));
a.d && a.d.path && (a.d = a.d.path);
return this.createElement(b, "path", a);
};
c.prototype.rootResize = function () {
if (!this.width || !this.height) {
var b = this.root.attr("display"),
a = this.getSvgSize();
this.root.attr({ width: a.width, height: a.height, display: b });
}
ym && ym.trigger();
};
c.prototype.getSvgSize = function () {
var b = this.container.getBbox();
return { width: this.width || (b.width ? "100%" : this.defaultWidth), height: this.height || (b.height ? "100%" : this.defaultHeight) };
};
c.prototype.wrap = function (b) {
return Ag(b, this);
};
c.prototype.createElement = function (b, a, c, f) {
f = bj(a, null, f);
b = new b(f, this, a);
"path" === b.nodeName && ((c = c || {}), c.fill || (c.fill = "none"), c.stroke || (c.stroke = "none"));
c && b.attr(c);
b.isPatched = !0;
return b;
};
c.prototype.processAttributes = function (b, a) {
var c = this;
if (a && (a.beforeAttr && (a.beforeAttr(a), delete a.beforeAttr), a.reset && (Rq(b, a), delete a.reset), b.el)) {
if (O(a)) return Nq(b, a);
var d = this.isAnimationDisabled();
if (d || !b.isPatched || (!a.autoTransition && !a.animation) || !b.tryAutoTransition(a)) {
J(a, "animation") && (a.animation = void 0);
if (a.continueAnimation) {
if (((a.continueAnimation = void 0), b._transition && b._transition.attachToEnd(a))) return;
} else b.finishAnimation(d ? null : a);
return $x(b, a, function (b, a, d) {
dq(c, b, a, d, function (b) {
return ql(c, b);
});
});
}
}
};
c.prototype.isAnimationDisabled = function (b) {
return this.disableAnimation || !1 === this._defaultOptions.transition.animation || (b && !1 === b.animation);
};
c.prototype.showHide = function (b, a) {
var c = b.attr("display");
a !== ("none" !== c) && b.attr("display", a ? null : "none");
return b;
};
c.prototype.show = function (b) {
return this.showHide(b, !0);
};
c.prototype.hide = function (b) {
return this.showHide(b, !1);
};
c.prototype.visible = function (b, a) {
return this.showHide(b, t(a) ? a : "none" === b.attr("display"));
};
c.prototype.calculateImageSize = function (b, a) {
Mg(b, ".svg") ? this.calculateSvgImageSize(b, a) : this.calculateRasterImageSize(b, a);
};
c.prototype.load = function (b, a) {
var c = this;
Dv(b, function (b) {
var d = b.data,
e = bj("div", null, "html");
b = !0;
/^\s*<\s*svg(?:\s|>)/m.test(d) || ((d = '<svg xmlns="http://www.w3.org/2000/svg">' + d + "</svg>"), (b = !1));
e.innerHTML = d;
if ((d = e.getElementsByTagName("svg")[0]))
if (b) b = Ag(d, c);
else {
for (b = ba.createDocumentFragment(); d.firstChild; ) b.appendChild(d.firstChild);
b = Ag(b, c);
}
else b = null;
return a(b);
});
};
c.prototype.htmlElement = function (b, a) {
b = b || "";
var c = bj("div", null, "html");
c.innerHTML = b;
b = Ag(c, this, "div");
a && b.attr(a);
return b;
};
c.prototype.relativeToRoot = function (b, a) {
var c = this.getRootBoundingClientRect();
return { x: b - c.left, y: a - c.top };
};
c.prototype.getClientXY = function (b) {
var a = this.getRootBoundingClientRect(),
c = b.getBbox(),
f = 0,
g = 0;
do {
var h = (h = b.attr("transform").translate) ? [h[0], h[1]] : [0, 0];
f += h[0];
g += h[1];
b = b.parentNode;
} while (b && "svg" !== b.el.tagName);
return { x: c.x + a.left + f, y: c.y + a.top + g };
};
c.prototype.isAnimating = function () {
return 0 < Ce.getAnimations().length;
};
c.prototype.getOffsetsFromVisualViewport = function (b) {
var a = ba.documentElement.getBoundingClientRect();
b = b.parentNode ? b.getBoundingClientRect() : { top: 0, left: 0 };
return { top: b.top - a.top - window.pageYOffset, left: b.left - a.left - window.pageXOffset };
};
c.prototype.getRootBoundingClientRect = function () {
var b = this;
if (b._rootBoundingClientRect) return b._rootBoundingClientRect;
b._rootBoundingClientRect = b.getOffsetsFromVisualViewport(b.root.el);
T.setTimeout(function () {
b._rootBoundingClientRect = null;
}, 1e3);
return b._rootBoundingClientRect;
};
c.prototype.cssText = function (b, a) {
var c = ba,
d = c.head || c.getElementsByTagName("head")[0],
g = c.createElement("style");
a && g.setAttribute("id", a);
g.type = "text/css";
g.styleSheet ? (g.styleSheet.cssText = b) : g.appendChild(c.createTextNode(b));
d.appendChild(g);
};
c.prototype.calculateRasterImageSize = function (b, a) {
var c = function (b) {
return b.addEventListener("load", function () {
return a(b.width, b.height);
});
};
if (this._measuringImages[b]) (d = this._measuringImages[b]), d.width ? a(d.width, d.height) : c(d);
else {
this._measuringImages[b] = new Image();
var d = this._measuringImages[b];
c(d);
d.src = b;
}
};
c.prototype.calculateSvgImageSize = function (b, a) {
this.load(b, function (b) {
return a(b.attr("width") || 0, b.attr("height") || 0);
});
};
c.prototype.rootAttr = function (b, a) {
var c = this.wrapper,
d = this.root;
if (a) return "disableAnimation" === b ? this.disableAnimation : this.processAttributes(d, b);
b.transition && (L(this._defaultOptions.transition, b.transition), delete b.transition);
J(b, "disableAnimation") && ((this.disableAnimation = b.disableAnimation), delete b.disableAnimation);
b.container && (this.replaceContainer(b.container), delete b.container);
ub(b) || ((a = Fm(b, d)), (b = Oa(a, eC)), (a = Oa(a)), b && this.processAttributes(c, b), a && this.processAttributes(d, a));
};
c.prototype.defaultOptions = function () {
return this._defaultOptions;
};
c.prototype.replaceContainer = function (b) {
this.initContainer(b);
this.container.el.appendChild(this.wrapper.el);
this.wrapper.el.appendChild(this.root.el);
this.wrapper.el.appendChild(this.overlay.el);
};
c.prototype.initContainer = function (b) {
if (b && (O(b) || b.tagName))
if (((b = b.tagName ? b : gi(b)), "svg" === b.tagName.toLowerCase())) {
this.root = this.wrap(b);
var a = b.getElementsByTagName("desc")[0];
b = b.getElementsByTagName("defs")[0];
a || this.element("desc", { text: "Created with JSCharting" }).add(this.root);
b && new tb(b, this).add(this.root);
} else if ("div" === b.tagName.toLowerCase()) {
for (; b.lastChild; ) b.removeChild(b.lastChild);
this.container = this.wrap(b);
}
this.container || ((this.container = this.htmlElement("", { id: Dd("container") })), gi("body").appendChild(this.container.el));
};
return c;
})(EB),
ft = new ((function () {
function a() {}
a.prototype.create = function (a) {
return new fC(a);
};
return a;
})())(),
gt = (function () {
function a() {}
a.prototype.generate = function (a, b, d) {
var c = {},
f;
Da(a, function (b) {
t(a[b]) && ("z-index" === b ? ((f = f || {}), (f[b] = a[b])) : J(Em, b) && (c[b] = a[b]));
});
a.animation && (c.animation = a.animation);
b = { middle: { from: b, to: c }, end: a };
f && (b.start = f);
return b;
};
return a;
})(),
gC = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.generate = function (b, c, e) {
e = a.prototype.generate.call(this, b, c, e);
var d = A({}, c, b),
g = !c.d || Mg(c.d, "Z");
b = !b.d || Mg(b.d, "Z");
e.middle.to.fill && !c.fill && (e.middle.from.fill = "none");
if (g && b) return e;
e.middle.from.fill = g ? c.fill || "none" : "none";
if (e.middle.to.fill || d.fill) e.middle.to.fill = b ? d.fill || "none" : "none";
return e;
};
return c;
})(gt),
hC = { default: new gt().generate, path: new gC().generate },
iC = (function () {
function a(a) {
this._el = a;
this.scope = this._el.data.id;
this._renderer = this._el.renderer;
}
a.prototype.attr = function (a) {
var b = this._el;
return b.isComposite ? b.attr(a) : this._renderer.attr(b, a);
};
a.prototype.attrEnd = function (a) {
var b = this._el;
Da(a, function (b) {
var c = a[b];
c && !c.el && !c.isDef && c.val && (a[b] = c.val);
});
b.isComposite ? b.attr(a) : this._renderer.attr(b, a);
};
a.prototype.normalize = function (a) {
return this._el.normalizeAttrs(a);
};
a.prototype.parse = function (a, b) {
return "u" === b[0] ? this.parseUrl(b) : "%" === b[b.length - 1] ? this.parseDemesion(a, b) : b;
};
a.prototype.parseUrl = function (a) {
var b = /url\(#(.*)\)/g.exec(a);
if (!b) return a;
var c = this._renderer;
b = b[1];
var e = ol(c, b);
e ? (b = e) : (c = c.query("#" + b)) ? ((e = c.nodeName.toLowerCase()), (e = Am[e]) && e(c, b), (b = c)) : (b = void 0);
return b && b.val ? b.val : a;
};
a.prototype.parseDemesion = function (a, b) {
var c = parseFloat(b),
e = !!this._el.parentNode,
f = e ? this._el.parentNode.box() : this._el.box();
return J(f, a) ? (e ? (c * f[a]) / 100 : f[a]) : b;
};
return a;
})(),
ht = (function () {
function a(a, b) {
this._animation = {};
this._defaults = {};
this._activeAnimatingAttrs = this._animatingAttrs = null;
this._skipEnd = !1;
this._processors = {};
this._updater = a;
this.scope = this._updater.scope;
b && this.options(b);
}
a.prototype.options = function (a) {
if (a) {
a.animation && L(this._animation, Og[1].resolve(a.animation));
a.defaults && L(this._defaults, this.normalize(a.defaults));
a.processors && this.registerProcessors(a.processors);
a.generator && (this._generator = hC[a.generator]);
var b = a.start,
c = a.middle;
a = a.end;
(!c && !a) ||
this.checkForSameAnimation(c) ||
((this._skipEnd = !0),
this.finishAnimation(),
(this._skipEnd = !1),
b && ((b = this.normalize(b)), this._animatingAttrs && (b = Ga(b, pa(this._animatingAttrs))), this.attr(b)),
a && ((this._endAttrs = this._endAttrs || {}), L(this._endAttrs, Ga(a, ["animation", "autoTransition", "attrTransition"]))),
(b = this._appliedAnimation = c.to && c.to.animation ? W(this._animation, Og[1].resolve(c.to.animation)) : L({}, this._animation)),
c && c.to ? (this.applyAnimation(c.from, c.to, b), this.waitFinish(b)) : this.applyEnd(b));
}
};
a.prototype.getAnimationOptions = function () {
return this._animation;
};
a.prototype.getAnimations = function () {
return Ce.getAnimations(this.scope);
};
a.prototype.finishAnimation = function (a, b) {
void 0 === a && (a = !1);
var c = this.getAnimations() || [];
if (c.length) {
if (b) {
var e = this._activeAnimatingAttrs;
if (e) {
var f = !0,
g;
for (g in b)
if (J(e, g) && e[g] !== b[g]) {
f = !1;
break;
}
if (f) return;
}
}
w(c, function (b) {
return b.finishAnimation(a);
});
}
};
a.prototype.tryAutoTransition = function (a, b, d) {
if (this._generator && !1 !== a.animation && (!a.animation || 0 !== a.animation.duration)) return this.options(this._generator(a, b(), d)), this;
};
a.prototype.attachToEnd = function (a) {
if (!(this.getAnimations() || []).length || !a) return !1;
var b = (this._endAttrs = this._endAttrs || {});
L(b, a);
return !0;
};
a.prototype.checkForSameAnimation = function (a) {
if (!(a && a.to && a.to.animation && this._animatingAttrs)) return !1;
for (var b in a.to) if ("animation" !== b && a.to[b] !== this._animatingAttrs[b]) return !1;
return !0;
};
a.prototype.applyEnd = function (a) {
var b = this;
if (!b._skipEnd && ((b._animatingAttrs = null), (b._activeAnimatingAttrs = null), b._endAttrs && !ub(b._endAttrs))) {
if (a.beforeAttr || b._beforeAttr)
b._endAttrs.beforeAttr = function (c) {
return b.checkForBeforeAttr(c, a, null);
};
b.attrApllying = !0;
b._updater.attrEnd(b._endAttrs);
b.attrApllying = !1;
b._endAttrs = null;
}
};
a.prototype.applyAnimation = function (a, b, d) {
var c = this;
a = this.normalize(a);
b = this.normalize(b);
var f = this,
g = {},
h = {},
k = {},
l = this._animatingAttrs,
m = null !== l,
n = this._defaults,
p = [],
q = {},
r = {},
u = !0;
m && (b = L(l, b));
(function (b) {
Da(b, function (e) {
var v = b[e];
if (J(Em, e)) {
var x = m && J(l, e) ? c.attr(e) : a && J(a, e) ? a[e] : J(n, e) ? n[e] : c.attr(e),
E = Em[e];
E[2] && O(x) && (x = c._updater.parse(e, x));
v && v.isElement && !J(v, "val")
? (q[e] = t(v[e]) ? v[e] : v)
: ((x = E[0](x)),
(v = E[2] && O(v) ? f._updater.parse(e, v) : v),
(v = E[0](v)),
(k[e] = v),
c._endAttrs && J(c._endAttrs, e) && v === c._endAttrs[e] && delete c._endAttrs[e],
x == v || (v && v.isEqual && v.isEqual(x)) || ((r[e] = v), (u = !1), E[1] ? p.push({ key: e, animator: E[1](x, v, d) }) : ((g[e] = x), (h[e] = v))));
} else q[e] = v;
});
})(b);
this._animatingAttrs = this._curAttrs = this._prevAttrs = k;
this._activeAnimatingAttrs = r;
this._offset = 0;
b = L(
{
onFrame: function (b, a) {
c._offset = b = null === b ? 1 : b;
p.length &&
w(p, function (c) {
a[c.key] = c.animator(b);
});
c._prevAttrs = c._curAttrs;
c._curAttrs = a;
c.checkForBeforeAttr(a, d, b);
c.attr(a);
},
scope: this.scope,
},
d
);
ub(q) || this.attr(q);
u || Ce.animate([g, h], b);
};
a.prototype.waitFinish = function (a) {
var b = this,
c = this.getAnimations(),
e = a.onFinish,
f = a.final,
g = function () {
b.applyEnd(a);
e && e();
f && f();
},
h = function () {
S(c, function (b) {
return "finished" !== b.playState();
}) || g();
};
c && 0 < c.length
? (w(c, function (b) {
b.onFinish = function () {
h();
};
}),
h())
: g();
};
a.prototype.normalize = function (a) {
if (!a) return null;
a = Ga(a, ["animation", "autoTransition", "attrTransition"]);
return this._updater.normalize(a);
};
a.prototype.attr = function (a) {
this.attrApllying = !0;
a = this._updater.attr(a);
this.attrApllying = !1;
return a;
};
a.prototype.registerProcessors = function (a) {
var b = this;
ja(a)
? w(a, function (a) {
return b.registerProcessor(a);
})
: this.registerProcessor(a);
};
a.prototype.registerProcessor = function (a) {
a.name && (a.beforeAttr && ((this._beforeAttr = this._beforeAttr || []), this._beforeAttr.push(a.beforeAttr)), (this._processors[a.name] = a));
};
a.prototype.checkForBeforeAttr = function (a, b, d) {
var c = this;
b.beforeAttr
? b.beforeAttr(a, this._prevAttrs, d)
: this._beforeAttr &&
w(this._beforeAttr, function (b) {
return b(a, c._prevAttrs, d);
});
};
return a;
})(),
jC = (function () {
function a() {}
a.prototype.create = function (a, b) {
return new ht(new iC(a), b);
};
return a;
})();
Og[0] = new jC();
var Jm = fa("transform clipPath clip-path opacity display zIndex".split(" ")),
it = W(Jm, fa(["animation", "fill", "stroke"])),
kC = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.attr = function (b, a) {
return (this.attrApplier = this.attrApplier || new (this.applierType())(this)).attr(b, a);
};
return c;
})(tb),
jt = (function () {
function a(a) {
this._attrsToApply = {};
this._firstAttrApplied = !1;
this._childElements = [];
this.renderer = a.renderer;
this.virtualElement = a;
this.virtualElement.isComposite = !0;
}
a.prototype.attr = function (a, b) {
if (!a || !Pa(a)) {
var c = this.virtualElement.data.vals;
return J(c, a) ? c[a] : this.renderer.attr(this.virtualElement, a, b);
}
this._firstAttrApplied && a.animation && a.animation.duration && this.virtualElement.isPatched && !this.renderer.disableAnimation
? ((this._attrsToApply = a), this.renderer.attr(this.virtualElement, this.startAnimationAttrs(a)))
: ((this._firstAttrApplied = !0), L(this._attrsToApply, a), this.applyAttrs());
return this.virtualElement;
};
a.prototype.startAnimationAttrs = function (a) {
return Na({}, a, this.animAttrs());
};
a.prototype.animAttrs = function () {
return it;
};
a.prototype.groupAttrs = function () {
return Jm;
};
a.prototype.applyAttrs = function () {
var a = this.attrsToApply(),
b = Hb(a, Jm);
L(this.virtualElement.data.vals, b);
this.constructChildren(a, b);
this.renderer.attr(this.virtualElement, Na({}, a, this.groupAttrs()));
};
a.prototype.attrsToApply = function () {
return be(this.virtualElement.data.vals, this._attrsToApply, { animation: void 0 });
};
a.prototype.addElement = function (a) {
var b = "circle" === a.elType ? this.renderer.circle(a).add(this.virtualElement) : this.renderer.path(a).add(this.virtualElement);
b.data.key = a.key;
return b;
};
a.prototype.removeElement = function (a) {
this.virtualElement.el.removeChild(a.el);
};
a.prototype.bindConfig = function (a) {
var b = this;
Ub(
a,
b._childElements,
function (a) {
return b.addElement(a);
},
function (b, a) {
return a.attr(b);
},
function (a) {
return b.removeElement(a);
},
function (b) {
return b.key;
},
function (b) {
return b.data.key;
}
);
};
return a;
})(),
lC = W(it, fa(["d"])),
mC = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.animAttrs = function () {
return lC;
};
c.prototype.constructChildren = function (b, a) {
var c = [];
if (b.d) {
var d = function (b) {
b.omit = ["key", "caps"];
c.push(b);
},
g = function (b, a, c, e) {
b = {
key: b,
d: a,
stroke: z(c.stroke, "none"),
fill: z(c.fill, e.stroke, "rgba(0,0,0,.5)"),
opacity: z(c.opacity, c["stroke-opacity"], e.opacity, e["stroke-opacity"], 1),
zIndex: z(c["z-index"], e["z-index"]),
display: z(c.display, e.display),
};
d(b);
},
h = function (b, c, e) {
var f = cy(c, e),
h = f ? ey(e, f) : {};
c = W(a, { d: f ? f.d : c, caps: void 0 });
c.key = "l-" + b;
d(c);
h.start && g("c-start-" + b, h.start, e.start, a);
h.end && g("c-end-" + b, h.end, e.end, a);
},
k = (this._caps = by(b));
b = this._originalPath = b.d && b.d.isPath ? b.d : Aa(b.d);
if (k.eachShape) {
b = Ww(b);
for (var l = 0; l < b.length; l++) h(l, b[l], k);
} else h(0, b, k);
this.bindConfig(c);
}
};
c.prototype.startAnimationAttrs = function (b) {
var a = Na({}, b, this.animAttrs());
a.d && (a.d = a.d && a.d.isPath ? a.d : Aa(a.d));
this._skipCapsDuringAnimation = this._originalPath && this._originalPath.hasCurves && !Sq(this._caps) && Sq(b.caps);
return a;
};
c.prototype.attrsToApply = function () {
this._attrsToApply.caps || (this._attrsToApply.caps = {});
var b = a.prototype.attrsToApply.call(this);
this._skipCapsDuringAnimation && this.virtualElement.isAnimating() && (b.caps = {});
return b;
};
return c;
})(jt),
Tq = fa(["start", "end"]);
(function (a, c) {
(Zi[a] = Zi[a] || []).push(c);
})("path", function (a, c) {
if (!c || !c.caps) return !1;
c = a.data.vals;
a.renderer.reCreateElement(a, "g");
a.morphType = "lineShape";
var b = new mC(a);
b.attr(c);
a.attrApplier = b.attr.bind(b);
});
var De;
(function (a) {
a[(a.x = 0)] = "x";
a[(a.y = 1)] = "y";
a[(a.xy = 2)] = "xy";
})(De || (De = {}));
var kt;
(function (a) {
a[(a.Width = 0)] = "Width";
a[(a.Height = 1)] = "Height";
a[(a.Whitespace = 2)] = "Whitespace";
a[(a.None = 3)] = "None";
})(kt || (kt = {}));
var Ya = function (a) {
return a && "*" === a.valueType;
},
tc = function (a) {
return a && !a.isMutable && "px" === a.valueType;
},
ib = function (a) {
return a && "%" === a.valueType;
},
Ee = function (a) {
return a && "px" === a.valueType;
},
Cb = function (a) {
return a && !a.isMutable;
},
ic = function (a) {
return a ? a.px : 0;
},
nC = /[0123456789]+|.+/g,
Qa = function (a, c) {
var b = typeof a;
if ("object" === b && a.valueType) return L({}, a);
if (0 === a && !c) return ld();
var d = 0,
e = 0,
f = -Infinity,
g = !1,
h = 0,
k = 0,
l = !0;
c && ((f = z(c.minPx, -Infinity)), (g = z(c.stretch, !1)), (l = z(c.isMutable, !0)));
var m = g ? "*" : "px";
if ("number" === b) (e = a || 0), (d = g ? 1 : a);
else if ("string" === b && a.length)
switch ((c && ((h = z(c.allSpace, 0)), (k = z(c.freeSpace, 0))), (a = a.match(nC)), (d = parseFloat(a[0])), (d = (c = Ha(d)) || g ? 1 : d), (m = (c ? a[0] : a[1]) || m), (k = g ? e : k), m)) {
case "*":
e = (k || 0) * (d || 1);
break;
case "%":
e = ((h || 0) * d) / 100;
break;
case "px":
e = d;
}
e = Pj(oa([e, f]), 6);
return { val: d, px: e, valueType: m, isMutable: l };
},
ld = function () {
return { val: 0, px: 0, valueType: "px", isMutable: !0, minPx: 0 };
},
rf = function (a, c) {
var b, d;
c = c || 0;
var e = { val: 0, px: 0, valueType: "px" };
if ("number" === typeof a) c = b = d = e = { val: a, px: a, valueType: "px" };
else if (a.length) {
e = "string" === typeof a ? a.split(/ +/g) : "object" === typeof a ? a : [0];
var f = { allSpace: c };
c = Qa(e[0], f);
b = t(e[1]) ? Qa(e[1], f) : c;
d = t(e[2]) ? Qa(e[2], f) : c;
e = t(e[3]) ? Qa(e[3], f) : b;
} else "object" === typeof a ? ((f = { allSpace: c }), (c = a.top ? Qa(a.top, f) : e), (b = a.right ? Qa(a.right, f) : e), (d = a.bottom ? Qa(a.bottom, f) : e), (e = a.left ? Qa(a.left, f) : e)) : (c = b = d = e);
var g = 0,
h = 0,
k = 0;
f = 0 + ((Ee(e) ? e.val : 0) + (Ee(b) ? b.val : 0));
g += (Ee(c) ? c.val : 0) + (Ee(d) ? d.val : 0);
h += (ib(e) ? e.val : 0) + (ib(b) ? b.val : 0);
k += (ib(c) ? c.val : 0) + (ib(d) ? d.val : 0);
return { initial: a, top: c, right: b, bottom: d, left: e, horizontal: { absolute: f, relative: h, px: e.px + b.px }, vertical: { absolute: g, relative: k, px: c.px + d.px } };
},
lt = function (a, c, b) {
if (b) {
var d = b.padding,
e = b.offset,
f = d ? d.horizontal.relative : 0;
d = d ? d.horizontal.absolute : 0;
e = e ? Fe(e.left) + Fe(e.right) : 0;
f /= 100;
f = 1 + f / (1 - f);
d = (Fe(a) + d + e) * f;
"px" === a.valueType ? (a = Qa(d)) : a.valueType ? ((a = L({}, a)), (a.px = d)) : (a = d);
}
d = a;
b &&
0 !== c.px &&
((f = b.padding),
(e = b.offset),
(b = f ? f.vertical.relative : 0),
(f = f ? f.vertical.absolute : 0),
(e = e ? Fe(e.top) + Fe(e.bottom) : 0),
(b = Fe(c) + f + e + (b / 100) * Fe(d)),
"px" === c.valueType ? (c = Qa(b)) : c.valueType ? ((c = L({}, c)), (c.px = b)) : (c = b));
return { width: a, height: c };
},
Fe = function (a) {
return a.valueType ? a.px : a;
},
mt = function (a, c, b, d, e) {
function f(b, a) {
if (ja(b)) {
var c = b[0];
b = b[1];
} else (c = b.x), (b = b.y);
t(c) && (a.x = c);
t(b) && (a.y = b);
}
var g = { x: 0, y: 0, width: 0, height: 0 },
h = { x: 0, y: 0 },
k = { x: 0, y: 0 };
e = e || [0, 0];
c.getBbox ? ((g = void 0 !== c.toGlobal ? c.getGlobalBbox() : void 0 !== a.toGlobal ? a.toGlobal(c.getBbox()) : c.getBbox()), O(b) && (h = cj(b, g)), Fb(b) && ((c = b(g)), f(c, g))) : (f(c, g), O(b) && (h = cj(b, c)));
b = d || b;
O(b) && (k = cj(b, a.getBbox()));
b = void 0 !== a.toGlobal ? a.globalX : 0;
d = void 0 !== a.toGlobal ? a.globalY : 0;
c = void 0 !== a.toGlobal ? a.offsetX : 0;
a = void 0 !== a.toGlobal ? a.offsetY : 0;
return { offsetX: t(h.x) ? g.x - b + c + (h.x || 0) - (k.x || 0) + (e[0] || 0) : 0 + (e[0] || 0), offsetY: t(h.y) ? g.y - d + a + (h.y || 0) - (k.y || 0) + (e[1] || 0) : 0 + (e[1] || 0) };
},
nt = function (a, c, b) {
var d = b ? b.globalX : 0;
b = b ? b.globalY : 0;
c = "toLocal" === c ? -1 : 1;
return ja(a) ? [a[0] + d * c, a[1] + b * c, a[2], a[3]] : { x: a.x + d * c, y: a.y + b * c, width: a.width, height: a.height };
},
cj = function (a, c) {
a = a.split("|");
var b = { left: 0, center: 0.5, right: 1 },
d = { top: 0, middle: 0.5, bottom: 1 },
e = (J(c, "width") ? c.width : c[2]) || 0,
f = (J(c, "height") ? c.height : c[3]) || 0,
g = {};
w(a, function (a) {
t(b[a]) && (g.x = (g.x || 0) + b[a] * e);
t(d[a]) && (g.y = (g.y || 0) + d[a] * f);
});
return g;
},
Ff = function (a, c, b) {
void 0 === c && (c = 0);
var d = ja(a);
if (d) {
var e = G(a, 4),
f = e[0],
g = e[1],
h = e[2];
e = e[3];
} else (f = a.x), (g = a.y), (h = a.width), (e = a.height);
var k = Q(h) || Q(e);
if (Q(f) || Q(g)) return a;
a = (c / 2) % 1 || 1;
c = b ? b.globalX : 0;
b = b ? b.globalY : 0;
k || ((h = Ef(h + f, c, a) - Ef(f, c, a)), (e = Ef(e + g, b, a) - Ef(g, b, a)));
f = Ef(f, c, a);
g = Ef(g, b, a);
return d ? (k ? [f, g] : [f, g, h, e]) : k ? { x: f, y: g } : { x: f, y: g, width: h, height: e };
},
Ef = function (a, c, b) {
c = b - ((c + a) % 1);
0.5 < Math.abs(c) && (c -= 0 < c ? 1 : -1);
return a + c;
},
oC = function (a) {
function c(e, f) {
for (var g = 0, h = a[f].length; g < h; g++) {
var k = e.slice(0);
k.push(a[f][g]);
f === d ? b.push(k) : c(k, f + 1);
}
}
var b = [],
d = a.length - 1;
c([], 0);
return b;
},
Ge = { left: 0, top: 0, center: 0.5, middle: 0.5, right: 1, bottom: 1 },
ly = { x: "userX", y: "userY", width: "width", height: "height" },
ot = "fontFamily fontStyle fontWeight fontSize whiteSpace strategy textOverflow".split(" "),
td = {};
w("variant visibility cellSpacing cellPadding pixelCorrection preserveStartSpaces title".split(" "), function (a) {
td[a] = gy;
});
w(["margin", "padding"], function (a) {
td[a] = my;
});
w("maxWidth maxHeight fitWidth fitHeight ignoreCategories orientation autoWrap suspend xContentAlignment yContentAlignment xAlignment yAlignment".split(" "), function (a) {
td[a] = ji;
});
w(ot, function (a) {
td[a] = iy;
});
w(["width", "height", "x", "y", "strokeWidth"], function (a) {
td[a] = ky;
});
w(["offsetX", "offsetY"], function (a) {
td[a] = hy;
});
w(["maxWidth", "maxHeight", "fitWidth", "fitHeight"], function (a) {
td[a] = jy;
});
var dj = (function () {
function a(a, b) {
this.widths = [];
this.heights = [];
this.lefts = [];
this.rights = [];
this.bottoms = [];
this.tops = [];
a = this.rectangles = a;
this.scoreDirection = b;
for (var c = 0, e = this.rectangles.length; c < e; c++)
(b = a[c]), this.lefts.push(b.x), this.tops.push(b.y), this.rights.push(b.x + b.width), this.widths.push(b.width), this.heights.push(b.height), this.bottoms.push(b.y + b.height);
this.minX = Math.min.apply(null, this.lefts);
this.minY = Math.min.apply(null, this.tops);
this.maxX = Math.max.apply(null, this.rights);
this.maxY = Math.max.apply(null, this.bottoms);
this.minWidth = Math.min.apply(null, this.widths);
this.minHeight = Math.min.apply(null, this.heights);
this.maxWidth = this.maxX - this.minX;
this.maxHeight = this.maxY - this.minY;
}
a.prototype.getScore = function (a, b) {
var c = 0,
e = [];
if (a === De.xy && b) {
var f = (c = 0);
for (a = 0; a < b[0]; a++) {
for (var g = 0, h = 0; h < b[1]; h++) {
var k = this.widths[a * b[1] + h],
l = this.heights[a * b[1] + h];
g += k;
e.push(k * l);
}
c = g > c ? g : c;
}
for (h = 0; h < b[1]; h++) {
for (a = g = 0; a < b[0]; a++) g += this.heights[a * b[1] + h];
f = g > f ? g : f;
}
c *= f;
} else for (b = (a = a === De.y) ? this.widths : this.heights, f = a ? this.heights : this.widths, h = a ? this.maxWidth : this.maxHeight, a = 0, g = b.length; a < g; a++) e.push(b[a] * f[a]), (c += h * f[a]);
return { whitespace: 1 - Ta(e) / c, magnitude: c };
};
return a;
})(),
pC = (function () {
function a() {}
a.prototype.compareScores = function (a, b, d) {
a = this.quantifyScore(a, d);
b = this.quantifyScore(b, d);
return a < b ? -1 : a > b ? 1 : 0;
};
a.prototype.comparer = function (a) {
var b = this;
return function (c, e) {
return b.compareScores(c, e, a);
};
};
a.prototype.mergeScores = function (a) {
for (var b = 0, c = 0, e = 0, f = 0, g = a.length; f < g; f++) {
var h = a[f];
h.magnitude && ((b += h.whitespace * h.magnitude), c < h.magnitude && (c = h.magnitude), e++);
}
return b ? b / (e * c) : 0;
};
a.prototype.quantifyScore = function (a, b) {
return a.whitespace.toFixed(6);
};
a.prototype.sort = function (a, b) {
a.sort(this.comparer(b));
};
return a;
})(),
pt = /style\s*=\s*["']([^"]*)["']/,
qt = /([\S_]+)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))*.)["']?/g,
rt = /['"]/g,
qC = /[\u0590-\u05ff\u0600-\u06ff]/,
rC = /[-_]([a-z])/,
sC = /&nbsp;/gm,
tC = /\s\w+(?=[\s|>])/g,
st = { disk: "\u25cf\u00a0", circle: "\u25cb\u00a0", square: "\u25a0\u00a0", none: "" },
uC = ["antialias"],
Km = function (a) {
var c = "";
if (a) {
var b = a.length;
if (O(a)) c = a;
else {
if (1 === b && O(a[0].val)) return (a = a[0]), (a.type = "text"), a;
if (b) {
c = [];
for (var d = [], e = 0; e < b; e++) {
var f = a[e];
"visual" === f.kind || "panel" === f.type ? (d.length && (c.push({ type: "text", val: d.slice(0) }), (d = [])), c.push(f)) : d.push(f);
}
d.length && c.push({ type: "text", val: d.slice(0) });
return 1 === c.length ? c[0] : { type: "stack", val: c };
}
}
}
return { type: "text", val: c };
},
vC = function (a) {
a = a.split(";");
var c = {};
w(a, function (b) {
if (b) {
var a = b.split(":");
2 === a.length && ((b = tt(a[0].trim())), (a = a[1].trim()), (c[b] = a));
}
});
return c;
},
Rg = function (a, c) {
c = c || {};
c.val = a || "";
return c;
},
Tb = function (a, c, b) {
return a.substring(c, c + b.length).toLowerCase() === b;
},
wC = function (a) {
var c = [],
b = [],
d = [],
e = Rg(),
f = {},
g = [],
h = [],
k = 0,
l = [],
m = [],
n = [],
p = function (b) {
if (b) {
b = ja(b) ? b : b.split(";");
var a = [],
c = {};
w(b, function (b) {
if (b) {
var d = b.split(":");
1 === d.length && (d = b.split("="));
2 === d.length && ((b = d[0].trim()), (b = 0 === b.indexOf("data-") ? b : tt(b)), (d = d[1].trim()), (f[b] = d), a.push(b), (c[b] = d));
}
});
t(c.description) && !t(c.tabindex) && ((f.tabindex = 100), (c.tabindex = 100), a.push("tabindex"));
a.length && (g.push(a), (b = h.length) ? h.push(W(h[b - 1], c)) : h.push(c));
} else g.push([]), h.push([]);
},
q = function () {
var b = g.pop();
h.pop();
b &&
(w(b, function (b) {
delete f[b];
}),
(b = h.length) && L(f, h[b - 1]));
},
r = function () {
e && "" !== e.val && b.push(e);
var a = l[l.length - 1];
if (l.length && a > k) {
var d = c[c.length - 1];
d.margin || (d.margin = [0, 0, 0, 0]);
d.margin[2] = Math.floor(m[k] / 2);
}
if (b.length) {
d = Km(b);
a = l.length ? (k > a ? Math.floor(m[k - 1] / 2) : 0) : 0;
var g = Ta(n) || 0,
h;
if (d.margin) {
var p = (h = d.margin);
nb(h) ? (p = [h, h, h, h]) : O(h) && ((h = parseInt(h) || 0), (p = [h, h, h, h]));
h = p;
} else h = [0, 0, 0, 0];
h[0] += a;
h[3] += g;
d.margin = h;
l.push(k);
c.push(d);
b = [];
e = Rg("", Oa(f));
}
},
u = function () {
if (e.val)
if (e.width && O(e.val)) {
var a = { type: "panel", width: e.width };
e.verticalAlign && (a.verticalAlign = e.verticalAlign);
e.align && (a.xContentAlignment = e.align);
e.type = "text";
a.val = [Ga(e, ["width", "align", "verticalAlign"])];
b.push(a);
} else b.push(W(e, f));
e = Rg("", Oa(f));
};
a = a.replace(sC, String.fromCharCode(160));
var x = 0,
v = a.length;
for (x = 0; x < v; x++) {
var y = a[x];
if ("<" === y) {
if (Tb(a, x + 1, "br")) {
x += Tb(a, x + 3, "/") ? 4 : 3;
e.val || b.length || b.push({ val: " " });
r();
continue;
}
if (Tb(a, x + 1, "hr")) {
x += Tb(a, x + 3, "/") ? 4 : 3;
r();
c.push({
type: "panel",
width: "100%",
yContentAlignment: "middle",
val: [
{ type: "text", val: " " },
{ type: "panel", width: "100%", val: [{ type: "icon", d: "M 0 0 L 10 0", width: "100%", height: "1px", stroke: "darkgray", fill: "none" }] },
],
});
continue;
}
for (var D = !1, E = 0, F = ut.length; E < F; E++) {
var R = ut[E];
if (Tb(a, x, R.start)) {
x += R.start.length - 1;
u();
L(f, R.attrs);
D = !0;
break;
} else {
for (var z = 0, wa = R.stops.length; z < wa; z++) {
var U = R.stops[z];
if (Tb(a, x, U)) {
x += U.length - 1;
w(R.attrs, function (b, a) {
return delete f[a];
});
D = !0;
break;
}
}
if (D) break;
}
}
if (D) {
u();
continue;
}
E = 0;
for (F = vt.length; E < F; E++)
if (((R = vt[E]), Tb(a, x + 1, R.start))) {
for (F = x += R.start.length + 1; ">" !== a[x]; ) x++;
"ul" === R.key && ((E = null), 10 < x - F && (E = (F = a.substring(F, x).match(pt)) ? F[1] : E), p(E), r(), k++, (E = f.listPadding), (E = t(E) ? parseInt(E) : 10), m.push(E), n.push(E));
"li" === R.key && ((R = st[f.listStyleType]), b.unshift(A({ type: "text", val: t(R) ? R : st.disk }, f)));
D = !0;
break;
} else {
z = 0;
for (wa = R.stops.length; z < wa; z++)
if (((U = R.stops[z]), Tb(a, x + 1, U))) {
for (x += U.length + 1; ">" !== a[x]; ) x++;
"li" === R.key && r();
"ul" === R.key && (q(), k--, r(), n.pop());
D = !0;
break;
}
if (D) break;
}
if (D) {
u();
continue;
}
R = function (c, d) {
c = wt[c];
if (Tb(a, x + 1, c.tag)) {
x += c.tag.length;
d = "";
for (var g = a[x], h = { kind: "visual" }; ">" !== g && x++ < v; ) (g = a[x]), (d += g);
g = d.match(qt);
w(g, function (b) {
b = b.split("=");
2 === b.length && (h[b[0]] = b[1].replace(rt, ""));
});
h.style && (h = L(vC(h.style), h));
"chart" === c.tag
? ((c = d.match(tC)) &&
B(c, function (b) {
b = b.trim();
~uC.indexOf(b) ? (h[b] = !0) : (h.type = b);
}),
(h.type = h.type || "chart"),
(h.isNanoChart = !0))
: ((h.type = c.val), (h.fill = h.fill || "black"));
e.val && b.push(Oa(e));
e = Rg("", Oa(f));
h = Sa(h);
e.width ? b.push(W(e, { type: "panel", yAlignment: h.verticalAlign, val: [h] })) : b.push(h);
D = !0;
}
};
E = 0;
for (F = wt.length; E < F; E++) R(E, F);
if (D) {
u();
continue;
}
if (Tb(a, x + 1, "absolute")) {
x += 9;
u();
d = b.slice(0);
b = [];
continue;
} else if (Tb(a, x + 1, "/absolute")) {
x += 10;
u();
b = d.concat({ type: "panel", val: b });
d = [];
continue;
}
if (Tb(a, x + 1, "span")) {
x += 5;
R = "";
for (E = a[x]; ">" !== E && x++ < v; ) (E = a[x]), (R += E);
(E = (F = R.match(pt)) ? F[1] : null) ||
((R = R.match(qt)),
(E = B(R, function (b) {
return b.replace(rt, "");
})));
p(E);
D = !0;
} else Tb(a, x + 1, "/span") && ((x += 6), u(), q(), (D = !0));
if (D) {
e.val && b.push(Oa(e));
e = Rg("", Oa(f));
continue;
}
}
e.val += y;
}
e.val && b.push(e);
c.length ? (c.push(Km(b)), (d = { type: "stack:y", val: c })) : (d = Km(b));
return { value: d, isRtl: !!a.match(qC) };
},
ut = [
{ start: "<b>", stops: ["</b>", "<b/>"], attrs: { fontWeight: "bold" } },
{ start: "<strong>", stops: ["</strong>", "<strong/>"], attrs: { fontWeight: "bold" } },
{ start: "<i>", stops: ["</i>", "<i/>"], attrs: { fontStyle: "italic" } },
{ start: "<sup>", stops: ["</sup>", "<sup/>"], attrs: { fontSize: "0.7em", verticalAlign: "sup" } },
{ start: "<sub>", stops: ["</sub>", "<sub/>"], attrs: { fontSize: "0.7em", verticalAlign: "sub" } },
],
wt = [
{ tag: "icon", val: "icon" },
{ tag: "img", val: "image" },
{ tag: "chart", val: "nanoChart" },
],
vt = [
{ start: "ul", stops: ["/ul", "ul/"], key: "ul" },
{ start: "li", stops: ["/li", "<li/"], key: "li" },
],
tt = function (a) {
return 0 < a.indexOf("-")
? a.replace(rC, function (a) {
return a[1].toUpperCase();
})
: a;
},
xC = function (a, c) {
function b(b) {
for (var c = 0, f = 0, g, h, k = 0, l = [], m = 0, n = 0, p = e.length; n < p; n++) {
var q = e[n];
if ((h = q.length)) {
h = d(q, 0 === n, p === h);
g = h.width;
for (h = h.height; g > b; ) {
var r;
a: {
for (var u = (r = q.length); 2 < u; u--) {
var v = q[u - 1],
x = q[u - 2],
y = q[u - 3];
if (2 < r && (y.isSpace ? !v.isSpace : x.isSpace)) {
r = 2 + r - u;
break a;
}
}
r = 0;
}
if (!r) break;
g = n;
void 0 === r && (r = 1);
for (u = 0; u < r; u++) (v = e[g].pop()), e[g + 1].unshift(v);
g = d(q, 0 == n).width;
}
l.push({ x: 0, y: m, width: g, height: h, info: { itemCount: q.length } });
m += h;
f = f < g ? g : f;
c = c < g || !c ? g : c;
k++;
}
}
b = e;
n = [];
p = 0;
for (q = b.length; p < q; p++) n.push(yg(b[p]));
return { lines: n, linesUsed: k, width: f, height: m, maxLineWidth: c || g, score: new dj(l).getScore(De.y), parts: a };
}
function d(b, a, c) {
void 0 === c && (c = !1);
for (var d = 0, e = 0, f = 0, g = b.length; f < g; f++) {
var h = b[f],
k = h.width,
l = h.height;
e = e > l ? e : l;
if (!h.isSpace || ((f != g - 1 || c) && (0 < f || a))) d += k;
}
return { height: e, width: d };
}
var e = [],
f = c.step;
f = void 0 === f ? 0.1 : f;
var g = c.width;
g = void 0 === g ? 0 : g;
var h = c.height;
h = void 0 === h ? 0 : h;
c = c.wrapText;
c = void 0 === c ? !0 : c;
for (var k = f, l, m = [], n = 0, p = a.length; n < p; n++) {
for (var q = a[n], r = q.metrics, u = q.parts, x = [], v = 0, y = u.length; v < y; v++) {
var t = u[v],
E = t.width;
t = -1 < t.text.indexOf(q.delimiter.text);
e.push([]);
var F = { width: E, isSpace: t };
r && r.height && (F.height = r.height);
x.push(F);
t || (l && !(l > E)) || (l = E);
k += E;
}
e[0] = e[0].concat(x);
}
for (g && (k = g); k >= l + f; ) {
g = b(k);
if (g.maxLineWidth > k) break;
(!h || g.height <= h) && m.push(g);
if (!c && m.length) break;
k = g.maxLineWidth - f;
}
m.length || m.push(b(l));
return m;
},
Hd = { space: /(\s)/, variants: /&ore;|&ors;/g, startSpaces: /^ +/g, spaces: / +/g, quotes: /'|"/g, fontSize: /^[\d\.]+(px|pt|em)?$/ },
Xq = {
169: "copy",
174: "reg",
160: "nbsp",
8482: "trade",
34: "quot",
38: "amp",
60: "lt",
62: "gt",
176: "deg",
8364: "euro",
185: "sup1",
178: "sup2",
179: "sup3",
188: "frac14",
189: "frac12",
190: "frac34",
177: "plusmn",
180: "acute",
183: "middot",
},
Vq = { ore: "&ore;", ors: "&ors;", orc: "&orc;", or: "&||;" },
yC = fa("x y width height rotate opacity fill stroke offsetX offsetY".split(" ")),
Lm = fa(["animation", "transition"]),
zC = { initialize: !1, reposition: !0, destroy: !0, animatable: yC },
AC = (function () {
function a(a) {
this._li = a;
this.scope = Dd();
}
a.prototype.attr = function (a) {
var b = this._li;
if (O(a)) return this._li.attr(a);
b.updateAttrs(a, !0);
b.root.refresh();
};
a.prototype.attrEnd = function (a) {
return this.attr(a);
};
a.prototype.normalize = function (a) {
return a;
};
a.prototype.parse = function (a, b) {
return b;
};
return a;
})(),
BC = (function () {
function a(a, b) {
this._visual = a;
this._options = { auto: !1, mode: "simple", behaviour: L({}, zC) };
this._renderer = a.renderer;
var c = L({}, this._renderer.defaultOptions().transition);
this._attrTransition = new ht(new AC(a), c);
b && this.options(b);
}
a.prototype.options = function (a) {
a &&
(J(a, "auto") && (this._options.auto = a.auto || !1),
J(a, "mode") && (this._options.mode = a.mode || "simple"),
a.behaviour && L(this._options.behaviour, a.behaviour),
a.animation && this._attrTransition.options({ animation: a.animation }));
};
a.prototype.applyAttrs = function (a, b) {
var c = this._visual,
e = a.transition,
f = !1;
!1 === e ? ((e = { auto: !1 }), (f = !0)) : "auto" === e && ((e = { auto: !0 }), (f = !0));
e && yc(["auto", "mode", "behaviour"], e) && (this.options(e), (e = f ? null : Ga(a.transition, ["auto", "mode", "animation", "behaviour"])), ub(e) && ((e = null), delete a.transition));
if (this._renderer.disableAnimation || (!a.animation && !e && !this._options.auto)) c.updateAttrs(Hb(a, Lm), b);
else if (!ub(a)) {
var g = "simple" === this._options.mode;
if (c.isPatched || g)
if (((f = this._options.behaviour.animatable), g)) t(a.animation) || e || !Ln(f, a) || ((a.transition = null), (a.animation = this._attrTransition.getAnimationOptions())), c.updateAttrs(a, b);
else {
if (!e) {
e = Na({}, a, f);
g = Hb(a, f);
if (ub(e)) {
c.updateAttrs(Hb(a, Lm), b);
return;
}
b = Na({}, c.attrs, f);
a.animation && (e.animation = a.animation);
e = { start: g, middle: { from: b, to: e } };
}
this._attrTransition.options(e);
}
else c.updateAttrs(a, b);
}
};
a.prototype.applyPatch = function (a) {
var b = this._visual,
c = this._options;
this._renderer.disableAnimation || !c.auto || !c.behaviour.initialize || b.isPatched
? b.applyPatch(a)
: "layout" === c.mode
? (b.applyPatch(a), this.layoutInitializeTransition())
: ((a.transition = this.getSimpleInitializeTransition()), b.applyPatch(a));
};
a.prototype.applyDestroy = function () {
var a = this._visual,
b = this._options;
!this._renderer.disableAnimation && b.auto && b.behaviour.destroy ? ("simple" === b.mode ? a.updateAttrs({ transition: this.getSimpleDestroyTransition() }, !0) : this.layoutDestroy()) : a.applyDestroy();
};
a.prototype.applyAdd = function (a, b) {
var c = this._visual,
e = this._options;
!this._renderer.disableAnimation && e.auto && c.isPatched && e.behaviour.reposition ? ("simple" === e.mode ? this.simpleAdd(a) : this.layoutAdd(a)) : c.applyAdd(a, b);
};
a.prototype.getSimpleInitializeTransition = function () {
var a = this._visual.getBbox(),
b = 0 === a.x && 0 === a.y ? null : { translate: [a.x, a.y], scale: [1], val: "translate(" + a.x + ", " + a.y + ")" };
return {
start: { transform: { translate: [a.x + a.width / 2, a.y + a.height / 2], scale: [0], val: "translate(" + (a.x + a.width / 2) + ", " + (a.y + a.height / 2) + ") scale(0)" } },
middle: { to: { transform: b } },
end: { transform: b },
};
};
a.prototype.getSimpleDestroyTransition = function () {
var a = this._visual,
b = a.getBbox();
return {
middle: {
from: { transform: a.el.data.transform },
to: {
animation: {
final: function () {
var b = a.root;
a.applyDestroy();
b.refresh();
},
},
transform: { translate: [b.x + b.width / 2, b.y + b.height / 2], scale: [0], val: "translate(" + (b.x + b.width / 2) + ", " + (b.y + b.height / 2) + ") scale(0)" },
},
},
};
};
a.prototype.layoutInitializeTransition = function () {
this._attrTransition.finishAnimation();
var a = this._visual,
b = a.root,
d = a.getBbox(),
e = a.getGlobalBbox(),
f = e.width,
g = a.layout.panel({ width: 0, height: 0, x: d.x, y: d.y }).applyAdd(a.parent),
h = a.layout.panel().add();
a.updateAttrs({ scale: 0 }, !0).applyAdd(h);
b.refresh();
h.refresh();
this._attrTransition.options({
middle: {
from: { width: 0, height: 0 },
to: {
animation: {
final: function () {
a.updateAttrs({ scale: 1 }, !0).applyAdd(g.parent);
g.applyDestroy();
h.applyDestroy();
a.refresh();
},
onFrame: function (c, d) {
g.updateAttrs(d);
b.refresh();
c = g.getGlobalBbox();
a.applyPatch({ translate: [c.x, c.y], scale: [c.width / f] });
},
},
width: e.width,
height: e.height,
},
},
});
};
a.prototype.layoutDestroy = function () {
this._attrTransition.finishAnimation();
var a = this._visual,
b = a.getBbox(),
d = a.getGlobalBbox(),
e = d.width,
f = a.root,
g = a.layout.panel({ width: b.width, height: b.height, x: b.x, y: b.y }).applyAdd(a.parent),
h = a.layout.panel().add();
a.updateAttrs(d, !0).applyAdd(h);
f.refresh();
h.refresh();
this._attrTransition.options({
middle: {
from: { width: b.width, height: b.height },
to: {
animation: {
final: function () {
g.applyDestroy();
a.applyDestroy();
h.applyDestroy();
f.refresh();
},
onFrame: function (b, c) {
g.updateAttrs(c);
f.refresh();
b = g.getGlobalBbox();
a.applyPatch({ translate: [b.x, b.y], scale: [b.width / e] });
},
},
width: 0,
height: 0,
},
},
});
};
a.prototype.simpleAdd = function (a) {
this._attrTransition.finishAnimation();
this._visual.el.finishAnimation();
var b = this._visual,
c = b.getBbox(),
e = b.getGlobalBbox(),
f = b.layout.panel().add(),
g = b.layout.panel({ width: c.width, height: c.height }).add(a);
b.updateAttrs(e, !0).applyAdd(f);
g.refresh();
f.refresh();
var h = g.getGlobalBbox();
this._attrTransition.options({
middle: {
to: {
animation: {
final: function () {
var c = g.getBbox();
g.applyDestroy();
b.applyAdd(a);
b.updateAttrs(c, !0);
f.applyDestroy();
g.refresh();
b.refresh();
},
onFrame: function (a, c, d) {
b.applyPatch({ translate: [d(e.x, h.x, a), d(e.y, h.y, a)] });
},
},
},
},
});
};
a.prototype.layoutAdd = function (a) {
this._attrTransition.finishAnimation();
var b = this._visual,
c = b.getGlobalBbox(),
e = b.getBbox(),
f = b.layout.panel({ width: 0, height: 0, x: e.x, y: e.y }).applyAdd(a),
g = b.layout.panel(b.getBbox()).applyAdd(b.parent),
h = a.root,
k = g.root,
l = b.layout.panel().add();
b.updateAttrs(c, !0).applyAdd(l);
h.refresh();
h !== k && k.refresh();
l.refresh();
var m = e.width,
n = e.height,
p = c.x,
q = c.y;
this._attrTransition.options({
middle: {
to: {
animation: {
final: function () {
b.updateAttrs(e, !0).applyAdd(a);
f.applyDestroy();
g.applyDestroy();
h.refresh();
h !== k && k.refresh();
l.applyDestroy();
b.refresh();
},
onFrame: function (a, c, d) {
f.updateAttrs({ width: d(0, m, a), height: d(0, n, a) });
g.updateAttrs({ width: d(m, 0, a), height: d(n, 0, a) });
h.refresh();
h !== k && k.refresh();
c = f.getGlobalBbox();
b.applyPatch({ translate: [d(p, c.x, a), d(q, c.y, a)] });
},
},
},
},
});
};
return a;
})(),
CC = fa(["setSize", "finalSize", "renderSize", "pixelCorrection"]),
DC = function (a) {
return a.px;
},
Mm = {},
EC = fa(["translate", "rotate"]);
w(["width", "height", "x", "y"], function (a) {
return (Mm[a] = DC);
});
var Lc;
(function (a) {
a[(a.WriteIfChanged = 0)] = "WriteIfChanged";
a[(a.ReadOnly = 1)] = "ReadOnly";
a[(a.WriteOnly = 2)] = "WriteOnly";
})(Lc || (Lc = {}));
var Gf = (function () {
function a(a, b) {
this.layout = a;
this.forcePixelCorrection = !1;
this.init();
this.applyConfig(b);
}
a.prototype.init = function () {
this.combinations = [];
this.events = {};
this.subscriptions = [];
this.attrs = {};
this._awaitHandlers = [];
this.autoWrap = "auto";
this.renderer = this.layout.renderer;
this.root = this;
this.margin = rf(0);
this.isPatched = !1;
this.offsetY = this.offsetX = this.globalY = this.globalX = 0;
this.wasAdded = !1;
this.pixelCorrection = this.layout.pixelCorrection;
this.state = { needPatching: !0, needRecalculation: !0, needAttachPatching: !0, needDestroy: !1, destroyed: !1 };
this._availableAttrs = this.availableAttributes();
};
a.prototype.updateSize = function (a, b) {};
a.prototype.val = function (a) {
return this;
};
a.prototype.calculateMargin = function () {
return this.margin;
};
a.prototype.arrToBox = function (a) {
return { x: a[0], y: a[1], width: a[2], height: a[3] };
};
a.prototype.getBbox = function (a) {
return this.arrToBox(this.getBboxArray(a));
};
a.prototype.getGlobalBbox = function () {
return this.arrToBox(this.getGlobalBboxArray());
};
a.prototype.getBboxArray = function (a, b) {
return this.bboxArrayBased(ic(this.x), ic(this.y), a, b);
};
a.prototype.getGlobalBboxArray = function (a) {
return this.bboxArrayBased(this.globalX, this.globalY, !1, a);
};
a.prototype.bboxArrayBased = function (a, b, d, e) {
return [
a + (d ? this.offsetX : 0) - (e ? ic(this.margin.left) : 0),
b + (d ? this.offsetY : 0) - (e ? ic(this.margin.top) : 0),
ic(this.width) + (e ? ic(this.margin.horizontal) : 0),
ic(this.height) + (e ? ic(this.margin.vertical) : 0),
];
};
a.prototype.setSize = function (a) {
this.suspend ||
(this.setSizeValue("width", a.width, this.maxWidth),
this.setSizeValue("height", a.height, this.maxHeight),
this.setSizeValue("x", a.x),
this.setSizeValue("y", a.y),
this.needPatch(!0),
this.finalSizeCalled(),
this.triggerEvent("setSize"));
};
a.prototype.getTypeEvents = function () {
return CC;
};
a.prototype.setSizeValue = function (a, b, d) {
var c = this[a],
f = !c || c.isMutable;
nb(b) && c && !Ee(c) ? (this[a].px = t(d) && b > d ? d : b) : t(b) && f && (this[a] = Qa(b));
};
a.prototype.handleEvent = function (a, b, d, e) {
if (t(b) && (b = this.getEventByName(b, "un" !== a))) return b[a](b instanceof xm ? this.wrapEventCallback(d) : d, e);
};
a.prototype.getEventByName = function (a, b) {
!this.events[a] && b && (J(this.getTypeEvents(), a) ? (this.events[a] = new rd()) : this.subscribeDomEvents(a));
return this.events[a];
};
a.prototype.subscribeDomEvents = function (a) {
throw Error("Methods doesn't implemented");
};
a.prototype.triggerEvent = function (a) {
(a = this.events[a]) && a.trigger(this.getBbox());
};
a.prototype.on = function (a, b, d) {
(a = this.handleEvent(d ? "onDefer" : "on", a, b, d)) && this.subscriptions.push(a);
return this;
};
a.prototype.un = function (a, b) {
this.handleEvent("un", a, b);
return this;
};
a.prototype.isRelative = function () {
return (this.width && "px" !== this.width.valueType) || (this.height && "px" !== this.height.valueType);
};
a.prototype.add = function (a, b) {
return !this.wasAdded || (a && a !== this.parent) ? (this.transitionAnimator ? (this.transitionAnimator.applyAdd(a, b), this) : this.applyAdd(a, b)) : this;
};
a.prototype.await = function (a) {
this.root._awaitHandlers.push(a);
return this;
};
a.prototype.applyAdd = function (a, b) {
return this.insert({ parent: a, position: b });
};
a.prototype.alignTo = function (a, b, d, e) {
return this.attr(mt(this, a, b, d, e));
};
a.prototype.alignIn = function (a, b, d) {
this.insert({ parent: a });
a = {};
var c = this.getBbox();
if (O(b)) {
var f = ty(b);
f.x && (a.xAlignment = f.x);
f.y && (a.yAlignment = f.y);
this.attr(a);
}
b = d || b;
O(b) && ((b = cj(b, c)), (a.offsetX = 0 - b.x), (a.offsetY = 0 - b.y));
return this.attr(a);
};
a.prototype.insertFirst = function (a) {
return this.insert({ parent: a, position: 0 });
};
a.prototype.insert = function (a) {
var b = a.parent;
a = a.position;
Q(b) && (b = this.parent);
b &&
b !== this.parent &&
(this.parent && ((this.forcePixelCorrection = !0), this.parent.removeChild(this), this.updateAttrs({ offsetX: 0, offsetY: 0 })),
b === this.layout ? ((this.parent = b = null), this.notifyParentChanged()) : (0 === a ? b.prependChild : b.appendChild).call(b, this, a) && ((this.parent = b), this.notifyParentChanged()));
this.parent || this.layout.addChild(this);
this.wasAdded = !0;
this.setRenewComplete(!b || this.parent.wasAdded);
return this;
};
a.prototype.refresh = function (a) {
if (this.parent) return this.root.refresh(a), this;
this.wasAdded || this.add();
this.setRenewComplete(!0);
this.applyRefresh(a);
!a && this.endRefresh();
return this;
};
a.prototype.applyRefresh = function (a) {
this.parent || (this.update(), a || this.layout.destroyChildren());
a || this.patch();
};
a.prototype.endRefresh = function () {
this._awaitHandlers.length &&
(w(this._awaitHandlers, function (a) {
return a();
}),
(this._awaitHandlers = []));
this.triggerEvent("renderSize");
};
a.prototype.updateGlobalCoordinates = function () {
this.setGlobalCoordinates();
};
a.prototype.needPatch = function (a) {
this.state.needPatching = !0;
};
a.prototype.setGlobalCoordinates = function (a) {
var b = this.parent,
c = this.x.px + (b ? b.globalX : 0) + (this.offsetX || 0);
b = this.y.px + (b ? b.globalY : 0) + (this.offsetY || 0);
if (this.globalX !== c || this.globalY !== b || a) (this.globalX = c), (this.globalY = b), this.triggerEvent("pixelCorrection");
};
a.prototype.collectAttrs = function (a) {
return this.attrs;
};
a.prototype.correctPixelValues = function (a, b) {
a.rotate && 1 === (Math.abs(a.rotate[0]) / 90) % 2 && (a.rotate[0] += 0.1);
};
a.prototype.patch = function () {
var a = this.state,
b = this.collectAttrs();
if (!a.destroyed && a.needPatching && this.isComplete())
if (a.needDestroy) this.patchDestroy();
else {
this.pixelCorrection && this.correctPixelValues(b, this.parent);
a = this.parentChanged;
var d = this.cached(b, Lc.ReadOnly),
e = ub(d);
this._transition && (e && ((d = {}), (e = !1)), (d.transition = this._transition), (this._transition = null));
e && !a
? this.emptyPatch()
: (t(this._animation) && !e && ((d.animation = this._animation), Na(d, b, ec), (this._animation = void 0)), this.transitionAnimator ? this.transitionAnimator.applyPatch(d) : this.applyPatch(d));
}
};
a.prototype.emptyPatch = function () {
this.state.needPatching = !1;
this.isPatched = !0;
};
a.prototype.applyPatch = function (a) {
this.applyPatchState(a);
};
a.prototype.applyPatchState = function (a) {
this.cached(a, Lc.WriteOnly);
this.state.needPatching = !1;
this.isPatched = !0;
};
a.prototype.parentAttrsChanged = function (a) {};
a.prototype.sharedAttrsUpdated = function (a) {};
a.prototype.fillProperties = function (a) {
var b = this,
c = {},
e;
Da(a, function (d) {
var f = a[d];
if (J(td, d) && t(f)) {
var h = td[d](b, d, f);
h && (L(c, h), (e = e || {}), (e[d] = f));
}
});
c.updateSharedAttrs && this.sharedAttrsUpdated(e);
c.needRecalc && this.setRenewComplete();
c.updateGlobalCoordinates && this.updateGlobalCoordinates();
t(a.animation) && (this._animation = a.animation);
a.transition && (this._transition = a.transition);
};
a.prototype.addEvent = function (a) {
this.events[a] = new rd();
};
a.prototype.cached = function (a, b, d, e, f) {
void 0 === b && (b = Lc.WriteIfChanged);
void 0 === d && (d = "_cache_");
void 0 === e && (e = this);
var c = J(e, d);
a = Sc({}, a, Lm);
var h = c ? e[d] : a;
return c ? (b === Lc.WriteOnly ? (L(h, a), {}) : (b = Lj(h, a, EC, b === Lc.ReadOnly, f)) ? b : null) : ((e[d] = h), L({}, h));
};
a.prototype.notifyParentChanged = function () {
this.updateRoot();
};
a.prototype.updateRoot = function () {
var a = this.parent ? this.parent.root : this,
b = this.root;
a !== b && (0 < b._awaitHandlers.length && ((a._awaitHandlers = a._awaitHandlers.concat(b._awaitHandlers)), b.parent && (b._awaitHandlers = [])), (this.root = a));
};
a.prototype.availableAttributes = function () {
return null;
};
a.prototype.defaultConfig = function () {
return null;
};
a.prototype.applyConfig = function (a) {
var b = !a,
c = this.defaultConfig();
b && null === c ? (this.config = {}) : (b && (a = {}), (this.config = this.extendDefault(c || {}, a)), this.checkForAttrAnimation(Uq(this.config)));
};
a.prototype.extendDefault = function (a, b) {
return L(a, b);
};
a.prototype.checkForAttrAnimation = function (a, b) {
if (this.transitionAnimator || J(a, "animation") || J(a, "transition")) return this.transitionAnimator || (this.transitionAnimator = new BC(this)), this.transitionAnimator.applyAttrs(a, b), this;
this.updateAttrs(a, b);
};
a.prototype.updateAttrs = function (a, b) {
this.applyAttrs(a);
b && this.isPatched && this.needPatch();
return this;
};
a.prototype.applyAttrs = function (a) {
this.fillProperties(a);
var b = this.attrs,
c = this._availableAttrs;
if (c) {
for (var e in a) if (Object.hasOwnProperty.call(c, e) || 0 === e.indexOf("data-")) b[e] = a[e];
a = b;
} else a = L(b, a);
this.attrs = a;
};
a.prototype.setRenewComplete = function (a) {
var b = this.state,
c = b.needRecalculation;
if (a || !c) !this.parent || (!a && c) ? (b.needRecalculation = !0) : ((b.needRecalculation = !0), this.parent.setRenewComplete(a));
};
a.prototype.updateCombinations = function () {
this.state.needRecalculation && this.isComplete() && ((this.combinations = this.composeCombinations()), (this.state.needRecalculation = !1), (this.variant = null));
};
a.prototype.attr = function (a, b) {
if (O(a)) {
if (Q(b)) return J(this, a) ? ((b = this[a]), J(Mm, a) ? Mm[a](b) : b) : this.attrs[a];
var c = a;
a = {};
a[c] = b;
}
a = Uq(a);
this.checkForAttrAnimation(a, this.isPatched);
return this;
};
a.prototype.update = function () {
this.updateCombinations();
this.updateSize(this.wasAdded && !this.parent ? this.layout.getRootBox() : void 0);
this.triggerEvent("finalSize");
return this;
};
a.prototype.isComplete = function () {
return !0;
};
a.prototype.composeCombinations = function () {
return [];
};
a.prototype.finalSizeCalled = function () {};
a.prototype.getContentSize = function () {
return this.getBbox();
};
a.prototype.visible = function (a, b) {
var c = "none" !== this.attr("display");
t(a) || (a = !c);
if (a === c) return this;
this.attr({ display: a ? null : "none" });
!0 !== b && (this.suspend = !a);
this.setRenewComplete(!0);
return this;
};
a.prototype.destroy = function () {
if (this.transitionAnimator) return this.transitionAnimator.applyDestroy(), this;
this.applyDestroy();
return this;
};
a.prototype.applyDestroy = function () {
w(this.subscriptions, function (a) {
return a.un();
});
this.subscriptions = [];
this.isPatched = !1;
this.parent ? (this.parent.removeChild(this), this.layout.needToDestroy(this)) : this.layout.removeChild(this);
this.state.needDestroy = !0;
this.state.needPatching = !0;
};
a.prototype.patchDestroy = function () {
this.state.destroyed = !0;
};
a.prototype.setDomEventsElement = function (a) {
for (var b in this.events) this.events[b] instanceof xm && this.events[b].setElement(a);
};
a.prototype.toLocal = function (a) {
return nt(a, "toLocal", this.parent);
};
a.prototype.toGlobal = function (a) {
return nt(a, "toGlobal", this.parent);
};
a.prototype.setPreliminarySize = function (a) {
var b = this.variant ? this.variant.index : 0;
(this.combinations.length && !a) || this.updateCombinations();
b >= this.combinations.length && (b = 0);
this.combinations.length && this.setSize(this.combinations[b].minSize);
this.parent && this.updateGlobalCoordinates();
return this;
};
a.prototype.externalOn = function (a, b, d) {
if (a) {
var c = this.wrapEventCallback(d),
f = function (d) {
d = aq(d, a, b);
c(d);
};
a.on(b, f);
return {
un: function () {
a.un(b, f);
},
};
}
};
a.prototype.wrapEventCallback = function (a) {
var b = this;
return t(a)
? function (c) {
c.bbox = b.getBbox();
var d = (c.pointers = c.pointers
? B(c.pointers, function (a) {
return b.toRelativeXY(a);
})
: [b.toRelativeXY(c.eventArgs)]);
c.x = d[0][0];
c.y = d[0][1];
a && a(c);
}
: void 0;
};
a.prototype.toRelativeXY = function (a) {
if (!a) return [0, 0];
var b = t(a.clientX) ? this.renderer.relativeToRoot(a.clientX - this.globalX, a.clientY - this.globalY) : { x: 0, y: 0 };
return [b.x, b.y, a.id];
};
return a;
})(),
Hf = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.init = function () {
a.prototype.init.call(this);
this.width = this.width || ld();
this.height = this.height || ld();
this.x = this.x || ld();
this.y = this.y || ld();
};
c.prototype.availableAttributes = function () {
return Ls;
};
c.prototype.updateSize = function (b, a) {
a && (this.variant = a);
b && this.setSize(b);
this.setGlobalCoordinates();
this.updateVisual();
return this;
};
c.prototype.updateVisual = function () {
this.setPosition(this.x, this.y);
};
c.prototype.setPosition = function (b, a) {
var c = !this.x || this.x.isMutable,
d = !this.y || this.y.isMutable;
this.x = b && c ? b : this.x;
this.y = a && d ? a : this.y;
};
c.prototype.getZeroSize = function (b) {
var a = ld();
Ya(b) && (a.valueType = "*");
return a;
};
c.prototype.composeCombinations = function () {
var b = this,
a = function (a) {
return tc(a) ? a : b.getZeroSize(a);
},
c = a(this.width);
a = a(this.height);
return [{ score: { whitespace: 0, magnitude: c.px * a.px }, minSize: { width: c, height: a }, index: 0 }];
};
c.prototype.patchDestroy = function () {
a.prototype.patchDestroy.call(this);
this.el && (this.el.destroy(), delete this.el);
};
c.prototype.below = function (b) {
this.belowItem = b;
return this.add();
};
c.prototype.useMainElementForEvents = function (b) {
this._useMainElementForEvents = b;
};
c.prototype.subscribeDomEvents = function (b) {
var a = new xm(b),
c = this.getLowermostElement();
this._useMainElementForEvents && (c = this.el);
a.setElement(c);
this.events[b] = a;
};
c.prototype.getLowermostElement = function () {
return this.el;
};
c.prototype.collectAttrs = function (b) {
void 0 === b && (b = !1);
return b ? L(L({}, this.attrs), this.getBbox(!0)) : this.attrs || {};
};
c.prototype.getParentGroup = function () {
return this.parent ? this.parent.getElement() : null;
};
c.prototype.notifyParentChanged = function () {
a.prototype.notifyParentChanged.call(this);
this.parentChanged = !0;
};
c.prototype.applyPatch = function (b) {
if (!this.el || this.parentChanged) {
var c = null != this.el,
e = this.getParentGroup();
this.el = c ? this.el.attr(b) : this.createElement(b);
this.belowItem ? ((c = this.belowItem.getLowermostElement() || this.belowItem.el) ? this.el.addBefore(c) : this.el.add(e)) : this.el.add(e);
this.setDomEventsElement(this.el);
} else this.el.attr(b);
this.parentChanged = !1;
a.prototype.applyPatch.call(this, b);
};
c.prototype.transition = function (b) {
this.el && this.el.transition(b);
};
return c;
})(Gf),
xt = ld(),
FC = [
{
score: { whitespace: 0, magnitude: 0 },
minSize: { width: xt, height: xt },
maxlineWidth: 0,
lineUsed: 1,
lines: [[{ width: 0, height: 0, isSpace: !1 }]],
parts: [{ text: "", width: 0, parts: [{ text: "", width: 0 }] }],
index: 0,
},
],
GC = fa(["width", "height", "x", "y"]),
yt = ["val", "textVariants", "verticalAlign"],
zt = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.preserveStartSpaces = !0;
b._cachedCombinations = {};
b.textElements = [];
b._maxDescent = 0;
return b;
}
K(c, a);
c.prototype.val = function (b) {
if (t(b)) {
var a = Pa(b),
c = a ? b.val || "" : b;
this.text !== c && this.attr(a ? b : { val: c });
return this;
}
return this.text;
};
c.prototype.createElement = function (b) {
return this.renderer.element("text", b);
};
c.prototype.getMaxDescent = function () {
return this._maxDescent;
};
c.prototype.updateVisual = function () {
var b = this,
a = this._parentAttributes && this._parentAttributes.textOverflow;
a = "ellipsis" === (this._textOverflow || a);
var c = this.variant,
f = this.width ? this.width.px : void 0,
g = this.height ? this.height.px : void 0,
h = this.maxWidth || f,
k = this.xAlignment || this.xContentAlignment || "left";
if (!c) {
for (var l = this.combinations, m = l.length, n = 0; n < m; n++) {
var p = l[n];
if (p && (!f || p.minSize.width.px < f) && (!g || p.minSize.height.px < g)) {
c = p;
break;
}
}
c || (c = l[m - 1]);
}
w(c.parts, function (a) {
return a.metrics && (b._maxDescent = Math.max(a.metrics.descent, b._maxDescent));
});
this.wrappedLayout = (function (b, a, c) {
for (var d = b.lines, e = b.parts, f = b.maxLineWidth, g = [], k = 0, l = 0, m = 0, n = e[m], p = n.parts, q = 0, r = d.length; q < r; q++) {
var u = d[q],
t = u.length,
w = { text: "", x: 0, y: 0, styles: {} },
z = 0,
A = [],
C = 0,
H = 0,
B = 0,
N = 0;
if (t) {
for (var J = 0; J <= t; J++) {
var Ba = h - z;
if (!p[k] || J === t) {
var G = n.metrics || { height: 0, descent: 0 },
K = G.height,
I = G.descent;
G = G.leading - G.fontSize;
var O = K - I;
w.text && ((w.styles = n.style || {}), A.push(L({}, w)), (C = C < K ? K : C), (H = H < O ? O : H), (B = B < I ? I : B), (N = N < G ? G : N));
if (J < t) {
for (; n && !(k < n.parts.length); ) (k -= n.parts.length), (n = e[++m]);
p = n.parts;
w = { text: "", x: z, y: 0, styles: {} };
}
}
if ((K = u[J])) {
G = K.width;
K = !K.isSpace;
if (0 !== J || K || 0 === q) {
I = J !== t - 1;
O = u.length === p.length;
if (K || I || O) z += G;
I = p[k].text;
if (a) {
Ba = I.substring(0, Math.round(I.length * (Ba && G ? Ba / G : 0) - 1) - Math.ceil(n.ellipsis.width / (G / I.length)));
G = K && J === t - 2;
var Q = (O = J === t - 1) ? !1 : !u[J + 1].isSpace;
G = b.width > (h || 0) && ((!G && !O) || Q) ? n.ellipsis.width : 0;
h && 0.01 < z - h + G && (K || J < t - 1) && ((I = Ba + n.ellipsis.text), (k += t - J - 1), (J = t - 1));
}
w.text += I;
}
k++;
}
}
u = 0;
for (t = A.length; u < t; u++)
(w = A[u]), (J = w.styles && w.styles.verticalAlign), (Ba = n.metrics.fontSize / 2), (w.y = l + ("sup" === J ? N + Ba : "sub" === J ? H + Ba - B : H)), (w.x += Ge[c] * (f - z)), g.push(w);
l += C;
}
}
return { parts: g, score: b.score };
})(c, a, k);
};
c.prototype.composeCombinations = function () {
if (!this.text) return FC;
var b = Ga(this._ownAttributes, ["x", "y"]),
a = W(this.layout.svgStyles, this._parentAttributes),
c = W(a, b),
f = c.whiteSpace || "normal",
g = this.preserveStartSpaces,
h = "pre" !== f && "nowrap" !== f && "auto" === this.autoWrap,
k = (!this.width || ("*" !== this.width.valueType && this.width.isMutable)) && c.strategy ? c.strategy : "none",
l = this.ignoreCategories,
m = c.fontFamily,
n = c.fontStyle,
p = c.fontWeight,
q = c.fontSize;
if (this._cachedCombinations.filter) {
var r = this._cachedCombinations,
u = r.filter;
if (u.whiteSpace === f && u.text === this.text && u.strategy === k && u.fontFamily === m && u.fontStyle === n && u.fontWeight === p && u.fontSize === q) return r.result;
}
this._cachedCombinations.filter = { whiteSpace: f, text: this.text, strategy: k, fontFamily: m, fontStyle: n, fontWeight: p, fontSize: q };
b = { own: c, personal: b, parent: a };
h = {
ignoreCategories: l,
preserveSpaces: "pre" === f || "pre-wrap" === f,
preserveStartSpaces: g,
wrapText: h,
wrappingStrategy: k,
width: tc(this.width) ? this.width.px : 0,
height: tc(this.height) ? this.height.px : 0,
maxWidth: this.maxWidth,
maxHeight: this.maxHeight,
};
k = ny(this.text, b, this.layout.svgStyles, h);
f = h.width;
g = h.height;
h = { wrapText: h.wrapText, strategy: h.wrappingStrategy, width: f, height: g, maxWidth: h.maxWidth, maxHeight: h.maxHeight };
l = [[]];
b = 0;
for (a = k.length; b < a; b++)
if (((c = k[b]), (m = c.length))) {
m = [];
n = 0;
for (p = c.length; n < p; n++) {
q = Wq(l);
r = 0;
for (u = l.length; r < u; r++) q[r].push(c[n]);
m = m.concat(q);
}
l = m;
} else for (n = 0, p = l.length; n < p; n++) l[n].push(void 0 == m ? c : c[0]);
k = l;
l = [];
b = 0;
for (a = k.length; b < a; b++) {
m = xC(k[b], h);
if (h) {
var x = void 0;
c = void 0;
n = m.length;
p = h.wrapText;
q = h.strategy;
r = h.maxWidth;
u = h.maxHeight;
var v = "none" === q,
y = [],
D = 0;
if (n) {
for (var w = 0; w < n; w++) {
var F = m[w],
R = F.score;
x = x && x !== F.linesUsed;
var z = (!t(r) || F.width < r) && (!t(u) || F.height < u);
p && z && (v || !c || x || F[q] < c[q] || R.whitespace < c.score.whitespace) && ((D += (v && D) || x ? 1 : 0), (c = y[D] = F));
x = F.linesUsed;
}
y.length || y.push(m[p ? n - 1 : 0]);
}
c = y;
} else c = m;
l = l.concat(c);
}
h = l;
k = 0;
for (l = h.length; k < l; k++) (b = h[k]), (a = g), b && ((b.minSize = { width: Qa(f || b.width), height: Qa(a || b.height) }), delete b.width, delete b.height), (h[k].index = k);
return (this._cachedCombinations.result = h);
};
c.prototype.fillProperties = function (b) {
b &&
(t(b.val) && (this.text !== b.val && this.setRenewComplete(), (this.text = b.val)),
t(b.stroke) && (this._strokeAttrs = Na({}, b, Pg)),
t(b.textOverflow) && (this._textOverflow = b.textOverflow),
a.prototype.fillProperties.call(this, b));
};
c.prototype.getLowermostElement = function () {
return this.textElements[0];
};
c.prototype.patchDestroy = function () {
var b = this.textElements;
if (b) {
for (var c = 0, e = b.length; c < e; c++) b[c] && b[c].destroy();
this.textElements = [];
}
a.prototype.patchDestroy.call(this);
};
c.prototype.availableAttributes = function () {
return iB;
};
c.prototype.collectAttrs = function () {
var b = a.prototype.collectAttrs.call(this, !0);
b.translate = { x: b.x, y: b.y };
return Sc({}, b, GC);
};
c.prototype.applyPatch = function (b) {
var a = this.wrappedLayout || {},
c = this.textElements,
f = a.parts,
g = f ? f.length : 1,
h = c.length,
k = this.getParentGroup(),
l = (this.el || k ? b : W(this.layout.svgStyles, b)) || {},
m = !!this.el;
m || (this.el = this.createElement(l).add(k));
for (k = 0; k < g; k++) {
var n = f ? f[k] : a,
p = { text: n.text, x: n.x || 0, y: n.y || 0 };
p = W(p, n.styles);
this.preserveStartSpaces && (p.style = "white-space: pre");
p.x = 0 === p.x ? "0px" : p.x;
if (k < h) (n = c[k]), (p = Ga(p, yt)), (p = this.cached(p, Lc.WriteIfChanged, "_cache_", n, !0)) && n.attr(p);
else {
p = be(Ga(n, ["styles"]), p, fa(yt));
n = this.renderer.element("tspan");
this.cached(p, Lc.WriteOnly, "_cache_", n);
if (!n) return this;
n.prev = p;
c.push(n);
n.add(this.el);
n.attr(p);
}
}
for (k = h - 1; k >= g; k--) c.pop().destroy();
m && this.el.attr(l);
this._strokeAttrs && this.el.attr({ strokeAttrs: this._strokeAttrs });
this.applyPatchState(b);
};
c.prototype.sharedAttrsUpdated = function (b) {
this._ownAttributes = this._ownAttributes || {};
L(this._ownAttributes, b);
this.setRenewComplete();
};
c.prototype.parentAttrsChanged = function (b) {
var a = this;
a._parentAttributes || (a._parentAttributes = {});
L(a._parentAttributes, b);
var c = !1;
Da(b, function (d) {
a[d] !== b[d] && (c = !0);
});
c && a.setRenewComplete();
};
return c;
})(Hf),
HC = (function (a) {
function c(b, c) {
return (a.call(this, b, c) || this).updateSize();
}
K(c, a);
c.prototype.availableAttributes = function () {
return gB;
};
c.prototype.createElement = function (b) {
var a = this.renderer.image(b);
b.width ^ b.height &&
~nm.indexOf("Safari") &&
(a.el.onload = function () {
var c = a.el.getBBox();
!b.width && a.el.setAttribute("width", c.width);
!b.height && a.el.setAttribute("height", c.height);
});
return a;
};
c.prototype.collectAttrs = function () {
var b = a.prototype.collectAttrs.call(this, !0);
return W(b, { src: this.src });
};
c.prototype.fillProperties = function (b) {
b && ((this.src = t(b.src) ? b.src : this.src || ""), a.prototype.fillProperties.call(this, b));
};
return c;
})(Hf),
IC = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.availableAttributes = function () {
return Ms;
};
c.prototype.collectAttrs = function () {
var b = a.prototype.collectAttrs.call(this, !0),
c = { rx: this.rx, ry: this.ry },
e = parseInt(b["stroke-width"]) || 0;
e && ((c.x = b.x + e / 2), (c.y = b.y + e / 2), (c.width = b.width - e), (c.height = b.height - e));
return W(b, c);
};
c.prototype.fillProperties = function (b) {
if (b) {
var c = t(b.radius) ? b.radius : b.cornerRadius;
this.rx = t(b.rx) ? b.rx : t(c) ? c : this.rx || 0;
this.ry = t(b.ry) ? b.ry : t(c) ? c : this.ry || 0;
J(b, "stroke-width") && (this.strokeWidth = parseInt(b["stroke-width"]) || 0);
a.prototype.fillProperties.call(this, b);
}
};
c.prototype.createElement = function (b) {
return this.renderer.rect(b);
};
c.prototype.correctPixelValues = function (b, c) {
a.prototype.correctPixelValues.call(this, b, c);
c = Ff(b, this.strokeWidth, c);
L(b, c);
};
return c;
})(Hf),
At = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.availableAttributes = function () {
return fB;
};
c.prototype.collectAttrs = function () {
var b = Ga(a.prototype.collectAttrs.call(this, !0), ["cx", "cy", "r"]);
L(b, this.getShapeBox());
return b;
};
c.prototype.getShapeBox = function (b) {
b = b || this.getBbox(!0);
return {
x: this.relativeSize ? (t(this.cx) ? this.cx - this.r : null) : b.x,
y: this.relativeSize ? (t(this.cy) ? this.cy - this.r : null) : b.y,
width: this.relativeSize ? this.calculateFromRadius(this.r) : b.width,
height: this.relativeSize ? this.calculateFromRadius(this.r) : b.height,
shapeName: this.mode,
};
};
c.prototype.fillProperties = function (b) {
b && ((this.mode = b.mode || b.subType || this.mode), Q(this.relativeSize) && this.setSizeType(b), (this.cx = b.cx), (this.cy = b.cy), (this.r = b.r), a.prototype.fillProperties.call(this, b));
};
c.prototype.createElement = function (b) {
return this.renderer.shape(this.mode, b);
};
c.prototype.setSizeType = function (b) {
yc(["x", "y", "width", "height"], b) ? (this.relativeSize = !1) : yc(["cx", "cy", "r"], b) && (this.relativeSize = !0);
};
c.prototype.calculateFromRadius = function (b) {
return t(b) ? 2 * b : null;
};
c.prototype.default = function (b, a) {
return lc(b) ? a : b;
};
return c;
})(Hf),
Bt = {},
Ct = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.init = function () {
a.prototype.init.call(this);
this.padding = this.padding || rf(0);
};
c.prototype.extendDefault = function (b, c) {
c.name && Q(c.size) && (b.width = b.height = 16);
return a.prototype.extendDefault.call(this, b, c);
};
c.prototype.collectAttrs = function () {
var b = a.prototype.collectAttrs.call(this);
this.updateIconState();
b.d = this._iconD;
t(this._rotate) && (1 === this._rotate.length && (this._rotate.push(this._iconWidth ? b.x + this._iconWidth / 2 : 0), this._rotate.push(this._iconHeight ? b.y + this._iconHeight / 2 : 0)), (b.rotate = this._rotate));
return b;
};
c.prototype.getFromStoreOrShapes = function (b) {
var a = this;
if (b && "none" !== b) {
var c, f;
return (f = Bt[b])
? f
: (c = dc[b])
? (Bt[b] = c(0, 0, 10, 10, { r: 2 }).toString())
: xo(
b,
function (b) {
b.displayCdnWarning && Ma.emit("warning", "dom", "cdnLoad", { container: a.renderer.wrapper.el });
},
function () {
Ma.emit("warning", "dom", "iconNotFound", { data: [b], container: a.renderer.wrapper.el });
}
);
}
};
c.prototype.updateIconState = function (b) {
b = (b && (b.d || b.path)) || this.attrs.d || this.attrs.path;
var a = this.getShapeBox();
this.pixelCorrection && (a = Ff(a, 1 === a.height || 1 === a.width ? 1 : 0, this.parent));
var c = b || (this._icon ? this.getFromStoreOrShapes(this._icon) : null);
c && ((b = Yp(c, [a.x, a.y, a.width, a.height, this._userSize], this._outerShape, this.padding, !!b)), (this._iconD = b[0]), (this._iconSize = b[1]), (this._iconWidth = b[2]), (this._iconHeight = b[3]));
};
c.prototype.val = function (b) {
t(b) && this.attr(b);
return this;
};
c.prototype.getIconSize = function () {
this.updateIconState();
return this._iconSize;
};
c.prototype.createElement = function (b) {
return this.renderer.path(b);
};
c.prototype.fillProperties = function (b) {
if (b) {
var c = b.outline,
e = b.hatch;
this._icon = J(b, "name") ? b.name : this._icon;
this._userSize = J(b, "size") ? parseInt(b.size) : this._userSize;
this._outerShape = t(b.outerShape) ? Xp(b.outerShape) : this._outerShape;
if (b.size || ((b.d || b.path) && !b.width && !b.height)) this.updateIconState(b), (b.width = this._iconWidth), (b.height = this._iconHeight);
t(b.rotate) && ((this._rotate = uy(b.rotate)), (b.rotate = void 0));
t(c) && (c.color && (b.stroke = c.color), c.width && (b.borderWidth = c.width));
t(e) && (e.style && (b.hatchPattern = e.style), e.color && (b.hatch = e.color));
a.prototype.fillProperties.call(this, b);
}
};
return c;
})(At),
JC = fa(ot),
KC = fa(["width", "height", "x", "y"]),
Sg = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.init = function () {
a.prototype.init.call(this);
this.childElements = [];
this.attachedElements = [];
this.itemsCount = 0;
this.padding = this.padding || rf(0, this.width ? this.width.px : 0);
this.stretchSum = { width: 1, height: 1 };
this.scoring = new pC();
};
c.prototype.sameChildren = function (b) {
b = B(b, function (b) {
return b.type;
}).join();
if (this.childrenHash === b) return !0;
this.childrenHash = b;
return !1;
};
c.prototype.val = function (b) {
if (!b) return this.childElements;
ja(b) || (b = [b]);
if (this.sameChildren(b))
for (var a = 0, c = b.length; a < c; a++) {
var f = b[a];
f instanceof Gf && (this.childElements[a].destroy(), f.insert({ parent: this, position: a }));
this.childElements[a].val(f.val || f);
}
else
for (this.destroyChildren(), this.destroyAttachedElements(), delete this.childrenHash, a = 0, c = b.length; a < c; a++)
(f = b[a]), f instanceof Gf || (O(f) && (f = { type: "text", text: f }), ja(f) && (f = { type: "stack", val: f }), f.add || (f = this.layout.item(f))), f.add(this);
return this;
};
c.prototype.addElementToParent = function (b) {
this.attach(b, { setSize: null });
};
c.prototype.attach = function (b, a) {
a =
a && t(a.setSize)
? a.setSize
: function (a) {
return b.attr({ x: 0, y: 0, width: a.width, height: a.height });
};
this.attachedElements.push({ el: b, domAttached: !1, setSize: a });
this.state.needAttachPatching = !0;
this.isPatched && this.patchAttachedElements();
};
c.prototype.updateSize = function (b, a) {
var c = !this.variant || (a && this.variant !== a),
d = b && (b.width !== this.width.px || b.height !== this.height.px || b.x !== this.x.px || b.y !== this.y.px);
d && this.setSize(b);
this.setGlobalCoordinates();
this.variant = a || this.variant || this.selectVariant();
b || this.setSize(this.variant.minSize);
(c || d) && this.arrange();
return this;
};
c.prototype.calculatePadding = function (b, a) {
a = this.padding;
var c = a.right,
d = a.top,
g = a.bottom,
h = function (a) {
return "%" === a.valueType ? (a.val * b) / 100 : a.px;
};
return { left: h(a.left), right: h(c), top: h(d), bottom: h(g) };
};
c.prototype.getContentSize = function () {
var b = this.getBbox(),
a = this.calculatePadding(b.width, b.height);
return { width: Math.max(b.width - a.left - a.right, 0), height: Math.max(b.height - a.top - a.bottom, 0), x: b.x + a.left, y: b.y + a.top };
};
c.prototype.getStretchingArea = function () {
var b = this.stretchSum,
a = this.getReservedSpace(),
c = this.getContentSize();
return { width: Math.max(c.width - a.width, 0) / (b.width || 1), height: Math.max(c.height - a.height, 0) / (b.height || 1) };
};
c.prototype.getReservedSpace = function () {
return { width: 0, height: 0 };
};
c.prototype.selectVariant = function () {
var b = this.combinations,
a = null,
c = b.length,
f = this.strategy || this.layout.svgStyles.strategy,
g = null,
h = function (b) {
return b && "*" !== b.valueType;
};
if (c) {
for (var k = 0; k < c; k++) {
var l = b[k],
m = l.score,
n = this.fitsSize(l.minSize),
p = h(this.width),
q = h(this.height),
r = g && 1 === this.scoring.compareScores(g, m, f);
p = !g || (p && q && r);
n.width && n.height && p && ((a = l), (g = m));
}
g = null;
if (!a) {
for (k = c - 1; 0 <= k; k--) {
c = b[k];
h = "height" === f ? f : "width";
if ((g && g.minSize[h].px < c.minSize[h].px && !a) || (g && a && g.minSize[h].px === a.minSize[h].px)) a = g;
g = b[k];
}
a = a || g;
}
return a;
}
};
c.prototype.fitsSize = function (b) {
var a = ic(this.width),
c = ic(this.height);
return { width: !a || 1 > b.width.px - a, height: !c || 1 > b.height.px - c };
};
c.prototype.composeCombinations = function () {
var b = this,
a = [],
c = this.childElements,
f = !c || !c.length,
g = this.suspend,
h = this.width,
k = this.height;
if (f || g) {
a = [];
if (g)
for (var l = 0; l < c.length; l++) {
var m = c[l];
m.combinations.length || m.updateCombinations();
m = m.combinations;
a.push(m.length ? m[0] : null);
}
c = function (b) {
return g || !b || (f && b.isMutable) ? ld() : b;
};
return [{ components: a, score: { whitespace: 0, magnitude: h && k ? h.px * k.px : 0 }, minSize: { width: c(h), height: c(k) }, index: 0 }];
}
h = 1;
for (l = 0; l < c.length; l++) (m = c[l]), m.combinations.length || m.updateCombinations(), (m = m.combinations.slice()), (k = m.length), (h *= k), k || m.push(null), a.push(m);
1e3 < h &&
(a = B(a, function (a) {
a = b.maxWidth ? vy(a, b.maxWidth) : a[0];
return [a];
}));
c = this.mixCombinations(a);
return this.filterCombinations(c);
};
c.prototype.mixCombinations = function (b) {
return this.getCombinations(b);
};
c.prototype.getCombinations = function (b, a) {
a = a || { codes: [], result: [], counter: 0 };
if (0 < b.length)
for (var c = b[0].length, d = 0; d < c; d++) {
var g = b.slice(0);
a.codes[a.counter] = b[0][d];
g.shift();
a.counter++;
this.getCombinations(g, a);
}
else (b = a.codes.slice(0)), a.result.push(b);
a.counter--;
return a.result;
};
c.prototype.filterCombinations = function (b) {
var a = this.width,
c = this.height,
f = tc(a),
g = tc(c),
h = "none" === this.autoWrap,
k = !f && !g && "golden" === this.autoWrap,
l = function (b) {
return t(b) ? b : Infinity;
},
m = l(this.maxWidth);
l = l(this.maxHeight);
if (1 === b.length) return (b = this.measure(b[0])), f && (b.minSize.width = Oa(a)), g && (b.minSize.height = Oa(c)), (b.index = 0), [b];
if (!(f || g || h || k)) {
a = [];
c = 0;
g = f = void 0;
for (var n = 0, p = b.length; n < p; n++) {
var q = this.measure(b[n]),
r = q.minSize;
h = m - r.width.px;
k = l - r.height.px;
var u = Math.max(Math.abs(Math.min(0, h)), Math.abs(Math.min(0, k)));
if (0 <= h && 0 <= k) a.push(q), (q.index = c++);
else if (!f || Q(g) || g > u) (g = u), (f = q);
}
!a.length && f && a.push(f);
return a;
}
var x = null,
v = 0,
y = b.length - 1;
n = 0;
for (p = b.length; n < p; n++) {
q = this.measure(b[n]);
r = q.minSize;
var D = r.width.px;
r = r.height.px;
var w = D / r,
F = !f || q.minSize.width.px <= a.px,
R = !g || q.minSize.height.px <= c.px,
z = !k || !x || (Math.abs(1.618 - w) < Math.abs(1.618 - v) && 0.1 > q.score.whitespace);
if (((D <= m && r <= l) || f || g) && F && R && z && (f && (q.minSize.width = Oa(a)), g && (q.minSize.height = Oa(c)), (u = q), k && ((x = q), (v = w)), f || h || (k && 1.618 > w))) break;
n === p - 1 && !u && F && (y = 0);
}
b = u || this.measure(b[y]);
b.index = 0;
return [b];
};
c.prototype.selectClosest = function (b, a, c) {
function d(b, a, c) {
b = b.minSize;
a = a.minSize;
return c ? Math.abs(b[c].px - a[c].px) : Math.abs(b.width.px - a.width.px) + Math.abs(b.height.px - a.height.px);
}
for (var e = b[0], h = e ? d(a, e, c) : null, k = 1, l = b.length; k < l; k++) {
var m = b[k];
if (null !== m) {
var n = d(a, m, c);
if (null === h || h > n) (h = n), (e = m);
}
}
return e;
};
c.prototype.applyFitSize = function (b, a) {
var c = this.fitWidth,
d = this.fitHeight,
g = 1,
h = 1;
c && c < b && (g = c / b);
d && d < a && (h = d / a);
(c || d) && this.attr({ transform: { scale: Math.min(g, h) } });
};
c.prototype.arrange = function () {
var b = this.variant;
if (b) {
var a = this.childElements,
c = b.components,
f = this.getContentSize(),
g = this.width.isMutable ? b.minSize.width : this.width,
h = this.height.isMutable ? b.minSize.height : this.height;
b = this.calculatePadding(g.px, h.px);
if (c)
for (this.applyFitSize(g.px, h.px), g = 0, h = a.length; g < h; g++) {
var k = a[g],
l = c[g],
m = k.width,
n = k.height;
if (l) {
var p = k.calculateMargin(),
q = ic(k.userX),
r = ic(k.userY);
q = f.width - p.horizontal.px - (q ? q - b.left : 0);
r = f.height - p.vertical.px - (r ? r - b.top : 0);
m = Cb(m) ? m : l.minSize.width;
n = Cb(n) ? n : l.minSize.height;
var u = function (b, a) {
return Ya(a) ? b : ib(a) ? (a.val * b) / 100 : a.px;
};
q = u(q, m);
r = u(r, n);
m = f.width - q - p.horizontal.px;
n = f.height - r - p.vertical.px;
m = (Ge[k.xAlignment || this.xContentAlignment] || 0) * (0 < m ? m : 0);
n = (Ge[k.yAlignment || this.yContentAlignment] || 0) * (0 < n ? n : 0);
k.updateSize({ width: q, height: r, x: k.userX ? k.userX.px : m + b.left + p.left.px, y: k.userY ? k.userY.px : n + b.top + p.top.px }, l);
}
}
}
};
c.prototype.measure = function (b) {
for (var a = [], c = 0, f = 0, g = !1, h = !1, k = [], l = this.childElements, m = 0, n = b.length; m < n; m++) {
var p = b[m],
q = l[m];
if (p) {
var r = tc(q.width) ? q.width : p.minSize.width,
u = tc(q.height) ? q.height : p.minSize.height,
x = q.calculateMargin(),
v = Cb(q.userX) ? q.userX.px : 0;
q = Cb(q.userY) ? q.userY.px : 0;
var y = x.horizontal.relative / 100;
r = (r.px + v + x.horizontal.absolute) * (1 + y / (1 - y));
u = u.px + q + x.vertical.absolute + (x.vertical.relative / 100) * r;
x = Ya(p.minSize.width);
v = Ya(p.minSize.height);
g = g || x;
h = h || v;
c = r > c ? r : c;
f = u > f ? u : f;
k.push(p.score);
a.push({ x: 0, y: 0, width: p.minSize.width.px, height: p.minSize.height.px });
}
}
return { components: b, minSize: this.completeSize(Qa(c, { stretch: g }), Qa(f, { stretch: h })), score: { whitespace: this.combineScores(k, a), magnitude: c * f }, index: 0 };
};
c.prototype.completeSize = function (b, a) {
return lt(b, a, { padding: this.padding });
};
c.prototype.createElement = function (b) {
return this.renderer.element("g", b);
};
c.prototype.updateRoot = function () {
a.prototype.updateRoot.call(this);
w(this.childElements, function (b) {
return b.updateRoot();
});
};
c.prototype.updateCombinations = function () {
w(this.childElements, function (b) {
return b.updateCombinations();
});
a.prototype.updateCombinations.call(this);
};
c.prototype.updateGlobalCoordinates = function () {
a.prototype.updateGlobalCoordinates.call(this);
w(this.childElements, function (b) {
return b.updateGlobalCoordinates();
});
};
c.prototype.applyDestroy = function () {
for (var b = this.childElements; b.length; ) b[0].applyDestroy();
a.prototype.applyDestroy.call(this);
};
c.prototype.applyRefresh = function (b) {
a.prototype.applyRefresh.call(this, b);
if (this.isPatched && !b) {
w(this.childElements, function (b) {
return b.applyRefresh();
});
if ((b = this.el && this.el.data.vals["clip-path"]) && b.isDef) {
var c = this.getBbox();
b.attr = L(b.attr || {}, { width: c.width, height: c.height });
b.updateAttr && b.updateAttr(b);
}
this.state.needAttachPatching && this.patchAttachedElements();
}
};
c.prototype.applyPatch = function (b) {
a.prototype.applyPatch.call(this, b);
this.patchTitle(b);
b = (b = b && b.translate) && (b.x || b.y);
(this.forcePixelCorrection || b) && this.pixelCorrection && (this.updateGlobalCoordinates(), this.correctPixelValuesDown());
};
c.prototype.correctPixelValuesDown = function () {
w(this.childElements, function (b) {
b.pixelCorrection && b.isPatched && (b.needPatch(), b.patch(), b instanceof c && b.correctPixelValuesDown());
});
};
c.prototype.patchAttachedElements = function () {
var b = this,
a = b.el,
c = [];
w(b.attachedElements, function (b) {
b.el.isDestroyed ? c.push(b) : b.domAttached || (b.el.add(a), (b.domAttached = !0));
});
c.length &&
w(c, function (a) {
b.attachedElements.splice(b.attachedElements.indexOf(a), 1);
});
b.state.needAttachPatching = !1;
};
c.prototype.destroyAttachedElements = function () {
w(this.attachedElements, function (b) {
return b.el && b.el.destroy();
});
};
c.prototype.patchTitle = function (b) {
b = this.title;
var a = this._titleVisual;
t(b) && (b ? (a || (a = this._titleVisual = this.renderer.element("title").add(this.el)), a.attr({ text: b })) : a && (a.destroy(), (this._titleVisual = null)));
};
c.prototype.availableAttributes = function () {
return Vi;
};
c.prototype.collectAttrs = function () {
var b = a.prototype.collectAttrs.call(this, !0);
b.translate = { x: b.x, y: b.y };
J(b, "shadow") && !J(b, "clipPath") && delete b.shadow;
return Sc({}, b, KC);
};
c.prototype.appendChild = function (b, a) {
return 0 < a ? this.insertChild(b, a) : this.addChild(b, "push");
};
c.prototype.prependChild = function (b) {
return this.addChild(b, "unshift");
};
c.prototype.addChild = function (b, a) {
return this.childElements && 0 > this.childElements.indexOf(b)
? (this.childElements[a](b), (a = this.childElements.length), this.itemsCount < a && (this.itemsCount = a), this._sharedAttributes && b.parentAttrsChanged(this._sharedAttributes), !0)
: !1;
};
c.prototype.removeChild = function (b) {
b.parent = null;
b = this.childElements.indexOf(b);
0 > b || (this.childElements.splice(b, 1), (this.itemsCount = this.childElements.length), this.setRenewComplete());
};
c.prototype.insertChild = function (b, a) {
var c = this.childElements,
d = c.indexOf(b),
g = 0 > d;
g || c.splice(d, 1);
c.splice(a, 0, b);
if (g) return (this.itemsCount = c.length), this._sharedAttributes && b.parentAttrsChanged(this._sharedAttributes), !0;
this.setRenewComplete();
return !1;
};
c.prototype.isNotEmpty = function () {
return 0 < this.childElements.length;
};
c.prototype.clear = function (b) {
for (var a = this.childElements, c = 0, f = a.length; c < f; c++) {
var g = a[c];
g && ((g.parent = null), -1 === b.indexOf(g) && g.patchDestroy());
}
this.childElements = [];
this.combinations = [];
this.variant = null;
this.itemsCount = 0;
return this;
};
c.prototype.destroyChildren = function () {
var b = this.childElements;
if (b) {
for (var a = 0, c = b.length; a < c; a++) {
var f = b[a];
f && ((f.parent = null), f.patchDestroy());
}
this.childElements = [];
}
};
c.prototype.patchDestroy = function () {
this.destroyChildren();
a.prototype.patchDestroy.call(this);
};
c.prototype.combineScores = function (b, a) {
if (!a || 2 > a.length) return b[0].whitespace;
b = this.scoring.mergeScores(b);
a = this.scoreCombination(a);
return (b + a.whitespace) / 2;
};
c.prototype.isComplete = function () {
var b = (0 === this.itemsCount && 0 < this.childElements.length) || this.childElements.length === this.itemsCount,
a = 0 === this.itemsCount && (tc(this.width) || tc(this.height));
return b || a;
};
c.prototype.scoreCombination = function (b) {
return new dj(b).getScore();
};
c.prototype.finalSizeCalled = function () {
if (this.attachedElements) {
var b = this.getBbox();
w(this.attachedElements, function (a) {
a.setSize && a.setSize(b);
});
}
};
c.prototype.snap = function (b, a) {
void 0 === a && (a = 1);
return Ff(b, a, this);
};
c.prototype.getElement = function () {
return this.el;
};
c.prototype.getLowermostElement = function () {
var b = this.el;
return b ? b.childNodes[0] : null;
};
c.prototype.sharedAttrsUpdated = function (b) {
var a = (this._sharedAttributes = this._sharedAttributes || {});
Na(a, b, JC);
w(this.childElements, function (b) {
return b.parentAttrsChanged(a);
});
};
c.prototype.parentAttrsChanged = function (b) {
var a = this,
c;
Da(b, function (d) {
a[d] !== b[d] && ((c = c || {}), (c[d] = b[d]));
});
c && ((this._sharedAttributes = c), this.sharedAttrsUpdated(c));
};
return c;
})(Hf),
Tg = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.init = function () {
a.prototype.init.call(this);
this.orientation = "x";
};
c.prototype.fillProperties = function (b) {
b && ((this.orientation = b.subType || b.orientation || this.orientation), a.prototype.fillProperties.call(this, b));
};
c.prototype.arrange = function () {
var b = this.variant;
if (b) {
var a = this.childElements,
c = b.components,
f = b.extra || {},
g = this.getContentSize(),
h = this.width.isMutable ? b.minSize.width : this.width,
k = this.height.isMutable ? b.minSize.height : this.height;
b = this.calculatePadding(h.px, k.px);
var l = "y" === this.orientation;
this.applyFitSize(h.px, k.px);
var m = 0,
n = 0,
p = 0;
h = 0;
this.stretchSum = f.stretchSum || this.stretchSum;
f = 0;
for (k = a.length; f < k; f++) {
var q = a[f],
r = c[f];
if (r) {
var u = q.calculateMargin(),
x = Cb(q.width) ? q.width : r.minSize.width,
v = Cb(q.height) ? q.height : r.minSize.height,
y = Ya(x) ? u.horizontal.px : (ib(x) ? (x.val * g.width) / 100 : x.px) + u.horizontal.px,
t = Ya(v) ? u.vertical.px : (ib(v) ? (v.val * g.height) / 100 : v.px) + u.vertical.px;
q = Ya(x) ? (g.width * x.val) / this.stretchSum.width : y;
v = Ya(v) ? (g.height * v.val) / this.stretchSum.height : t;
l ? ((m = m > y ? m : y), (n += t), (p = p > q ? p : q), (h += v)) : ((m += y), (n = n > t ? n : t), (p += q), (h = h > v ? h : v));
}
}
var w = 0,
F = 0,
R = 0,
z = 0;
m = l ? g.width : oa([0, g.width - m]);
n = l ? oa([0, g.height - n]) : g.height;
p = oa([0, g.width - p]);
h = oa([0, g.height - h]);
f = 0;
for (k = a.length; f < k; f++)
if (((q = a[f]), (r = c[f])))
(u = q.calculateMargin()),
(x = q.width && !q.width.isMutable ? q.width : r.minSize.width),
(v = q.height && !q.height.isMutable ? q.height : r.minSize.height),
(y = Ya(x) ? (m * x.val) / this.stretchSum.width : ib(x) ? (x.val * g.width) / 100 : x.px),
(t = Ya(v) ? (n * v.val) / this.stretchSum.height : ib(v) ? (v.val * g.height) / 100 : v.px),
q.updateSize(
{
width: y,
height: t,
x: w + (Ge[q.xAlignment || this.xContentAlignment] || 0) * (l ? g.width - y - u.horizontal.px : p) + b.left + u.left.px,
y: F + (Ge[q.yAlignment || this.yContentAlignment] || 0) * (l ? h : g.height - t - u.vertical.px) + b.top + u.top.px,
},
r
),
l ? ((R = R > y ? R : y), (F = z += t + u.vertical.px)) : ((R += y + u.horizontal.px), (z = z > t ? z : t), (w = R));
}
};
c.prototype.reverse = function () {
this.childElements.reverse();
this.state.needRecalculation = !0;
};
c.prototype.getReservedSpace = function () {
var b = this.variant ? { width: this.variant.minSize.width.px, height: this.variant.minSize.height.px } : a.prototype.getReservedSpace.call(this),
c = "y" === this.orientation;
return { width: c ? 0 : b.width, height: c ? b.height : 0 };
};
c.prototype.selectClosest = function (b, c) {
return a.prototype.selectClosest.call(this, b, c, "y" === this.orientation ? "width" : "height");
};
c.prototype.measure = function (b) {
for (var a = [], c = [], f = 0, g = 0, h = 0, k = 0, l = !1, m = !1, n = 0, p = 0, q = 0, r = this.childElements, u = 0, x = b.length; u < x; u++) {
var v = b[u],
y = r[u];
if (v) {
var t = v.minSize.width,
w = v.minSize.height,
F = Cb(y.width) ? y.width : t,
R = Cb(y.height) ? y.height : w;
y = r[u].calculateMargin();
l = l || Ya(F);
m = m || Ya(R);
c.push(v.score);
a.push({ x: 0, y: 0, width: t.px, height: w.px });
"x" === this.orientation
? ((f += (ib(F) ? 0 : F.px) + y.horizontal.absolute),
(h += (ib(F) ? F.val : 0) + y.horizontal.relative),
(v = Math.max(Ee(R) ? R.px : 0, w.px) + y.vertical.absolute),
(g = g > v ? g : v),
(n += Ya(F) ? F.val : 0))
: ((g += (ib(R) ? 0 : R.px) + y.vertical.absolute),
(k += (ib(R) ? R.val : 0) + y.vertical.relative),
(F = Math.max(Ee(F) ? F.px : 0, t.px) + y.horizontal.absolute),
(f = f > F ? f : F),
(p += Ya(R) ? R.val : 0));
q += y.vertical.relative;
}
}
f = 100 > h ? (100 * f) / (100 - h) : 0;
g = (100 * g) / (100 - k) + (q * f) / 100;
return {
components: b,
minSize: this.completeSize(Qa(f, { stretch: Cb(this.width) ? !1 : l }), Qa(g, { stretch: Cb(this.height) ? !1 : m })),
score: { whitespace: this.combineScores(c, a), magnitude: f * g },
extra: { stretchSum: { width: n || 1, height: p || 1 } },
index: 0,
};
};
c.prototype.val = function (b) {
b && b.length && (this.itemsCount = b.length);
return a.prototype.val.call(this, b);
};
c.prototype.scoreCombination = function (b) {
var a = De[this.orientation || "x"];
return new dj(b).getScore(a);
};
return c;
})(Sg),
LC = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.fillProperties = function (b) {
var c = this,
e = t(b.val) ? b.val : b.text,
f = b.xAlignment,
g = b.yAlignment,
h = b.xContentAlignment || f,
k = b.yContentAlignment || g;
!b.xContentAlignment && b.xAlignment && (b.xContentAlignment = f);
!b.yContentAlignment && b.yAlignment && (b.yContentAlignment = g);
h &&
this.xContentAlignment !== h &&
w(this.childElements, function (b) {
b.attr({ xContentAlignment: h });
});
k &&
this.yContentAlignment !== k &&
w(this.childElements, function (b) {
b.attr({ yContentAlignment: k });
});
b.width && (b.strategy = b.strategy || "none");
b.stroke &&
((this._strokeAttrs = Na({}, b, Pg)),
w(this.childElements, function (b) {
b.attr(c._strokeAttrs);
}));
a.prototype.fillProperties.call(this, b);
t(e) && this.val(e);
};
c.prototype.init = function () {
a.prototype.init.call(this);
this.orientation = "y";
};
c.prototype.val = function (b) {
return t(b) ? (O(b) && this._textAttr !== b && ((this._textAttr = b), this.parseTextAndSetTextValue()), this) : this._textAttr;
};
c.prototype.setTextSize = function (b) {
var a = this;
"text" === b.type && (b.width = b.width || "*");
ja(b) &&
w(b, function (b) {
return a.setTextSize(b);
});
};
c.prototype.collectAttrs = function () {
var b = a.prototype.collectAttrs.call(this);
return Hb(b, Pg);
};
c.prototype.editLine = function (b) {
if ("text" === b.type && b.val)
if (
ja(b.val) &&
ea(b.val, function (b) {
return b.align;
}).length
) {
var a = [];
w(b.val, function (b) {
a.push({ type: "text", val: [b], xAlignment: b.align });
});
b = L(b, { type: "stack", val: a, width: b.width || "100%" });
} else O(b.val) && b.align && (b.xAlignment = b.align);
if (!this.width.isMutable) {
var c = this.textOverflow;
!c || ("ellipsis" !== c && "clip" !== c) || this.setTextSize(b);
}
var f = this.xContentAlignment || this.xAlignment,
g = this.yContentAlignment || this.yAlignment,
h = function (b) {
f && (b.xAlignment = b.xAlignment || f);
g && (b.yAlignment = b.yAlignment || g);
};
if (f || g)
ja(b)
? w(b, function (b) {
return h(b);
})
: h(b);
this._strokeAttrs && L(b, this._strokeAttrs);
return b;
};
c.prototype.canReuse = function (b) {
if (ja(b.val) || ja(b)) {
b = b.val || b;
for (var a = 0, c = b.length; a < c; a++) if (!this.canReuse(b[a])) return !1;
return !0;
}
return "visual" === b.kind || b.align ? !1 : !0;
};
c.prototype.destroyElements = function () {
for (; this.childElements.length; ) this.childElements[0].destroy();
};
c.prototype.sameHash = function (b) {
b = B(b.val || b, function (b) {
return b.type;
}).join();
if (this._configHash === b) return !0;
this._configHash = b;
return !1;
};
c.prototype.parseTextAndSetTextValue = function () {
var b = this._textAttr;
"" === b && this.destroyElements();
if (b) {
b = wC(b);
b.isRtl && ((this.attrs.direction = "rtl"), (this.attrs.textAnchor = "end"));
var a = b.value,
c = "stack:y" === a.type ? a.val : [a],
f = this.childElements.length;
b = [];
var g = this.sameHash(a);
this._recreate = this._recreate || (this._type && a.type && this._type !== a.type) || (a.val && (!this.canReuse(a) || !g)) || a.isNanoChart;
this._type = ja(a) ? "array" : a.type;
a = 0;
for (g = c.length; a < g; a++) {
var h = c[a],
k = h.length;
(ub(h.val) && !k && ub(h.name) && ub(h.src) && ub(h.d) && "visual" !== h.kind) || b.push(this.editLine(h));
}
var l = B(b, function (b) {
return (
(b = S(b.val, function (b) {
return b.verticalAlign;
})) && b.verticalAlign
);
});
if (!this._recreate && 0 < f) {
a = 0;
for (g = b.length; a < g; a++)
a < f ? ((c = b[a]), this.childElements[a].val(c.val && c.val.length && "text" !== c.type ? c.val : c)) : ((h = this.layout.item(b[a]).add(this)), 0 < a && h.attr({ preserveStartSpaces: !1 }));
a = f - 1;
for (g = b.length; a >= g; a--) this.childElements[a].destroy();
} else
for (this._recreate = void 0, this.destroyElements(), this.sharedAttrsUpdated(this.attrs), a = 0, g = b.length; a < g; a++)
(c = b[a]),
(h = void 0),
"visual" === c.kind && c.align && (c.xAlignment = c.align),
ja(c.val) && (c.yContentAlignment = c.yContentAlignment || l[a] || this.yContentAlignment),
(f = this.layout.item(c)) && (h = f.add(this)),
0 < a && h && h.attr({ preserveStartSpaces: !1 });
w(this.childElements, function (b, a) {
if (
!l[a] &&
b instanceof Tg &&
((a = b.childElements),
(b = ea(a, function (b) {
return b instanceof Ct;
})),
b.length)
) {
var c = 0;
a = ea(a, function (b) {
return b instanceof zt;
});
w(a, function (b) {
return (c = Math.max(c, b.update().getMaxDescent()));
});
w(b, function (b) {
var a = b.calculateMargin();
a.bottom.val || a.top.val || b.attr({ margin: { top: 0, left: a.left.val, right: a.right.val, bottom: c } });
});
}
});
}
};
return c;
})(Tg),
Dt = ["cellSpacing", "cellPadding", "borders"],
MC = (function (a) {
function c(b, c) {
b = a.call(this, b, c) || this;
b.rowCount = 0;
b.columnCount = 0;
b.gridElements = [];
b.borders = [];
b.borderElements = [];
c && c.cellSpacing && b.applyCellSpacing(c.cellSpacing);
return b;
}
K(c, a);
c.prototype.attr = function (b, c) {
J(b, "cellSpacing") && this.applyCellSpacing(b.cellSpacing);
return a.prototype.attr.call(this, b, c);
};
c.prototype.applyCellSpacing = function (b) {
(this.cellSpacing = parseInt(b) || 0) && "number" === typeof this.padding.initial && (this.padding = rf(this.padding.initial + this.cellSpacing / 2));
var a = rf(this.cellSpacing / 2);
w(this.childElements, function (b) {
b.padding = a;
});
};
c.prototype.isComplete = function () {
var b = this.childElements;
b = b ? b.length : 0;
return 0 < b && b === this.rowCount * this.columnCount;
};
c.prototype.arrange = function () {
var b = this.variant;
if (b) {
this.calculatePadding((this.width.isMutable ? b.minSize.width : this.width).px, (this.height.isMutable ? b.minSize.height : this.height).px);
for (var a = this.childElements, c = this.getContentSize(), f = b.components, g = [], h = [], k = [], l = [], m = 0; m < this.rowCount; m++)
for (var n = 0; n < this.columnCount; n++) {
var p = m * this.columnCount + n,
q = f[p],
r = a[p];
if (q) {
var u = q.minSize,
x = function (b, a) {
return ib(b) ? (b.val * a) / 100 : b.px;
};
q = x(u.width, c.width);
x = x(u.height, c.height);
p = r.width && !r.width.isMutable ? r.width : u.width;
r = r.height && !r.height.isMutable ? r.height : u.height;
g[n] = oa([g[n], Ya(p) ? p.val : 0]);
h[m] = oa([h[m], Ya(r) ? r.val : 0]);
k[n] = oa([k[n], q]);
l[m] = oa([l[m], x]);
} else (k[n] = oa([k[n], 0])), (l[m] = oa([l[m], 0])), (g[n] = oa([g[n], 0])), (h[m] = oa([h[m], 0]));
}
m = [];
n = [];
g = Ta(g);
u = Ta(h);
h = [];
for (var v = 0; v < this.rowCount; v++)
for (var y = 0; y < this.columnCount; y++) {
p = v * this.columnCount + y;
q = f[p];
r = a[p];
p = b.minSize;
x = c.width - p.width.px + k[y];
var t = c.height - p.height.px + l[v];
q
? ((p = Cb(r.width) ? r.width : q.minSize.width),
(r = Cb(r.height) ? r.height : q.minSize.height),
(q = Ya(p) ? (x * p.val) / g : ib(p) ? (p.val * c.width) / 100 : p.px),
(x = Ya(r) ? (t * r.val) / u : ib(r) ? (r.val * c.height) / 100 : r.px),
(m[y] = oa([m[y], q])),
(n[v] = oa([n[v], x])),
h.push([q, x]))
: ((m[y] = oa([m[y], 0])), (n[v] = oa([n[v], 0])));
}
c = this.padding.top.px;
for (f = 0; f < this.rowCount; f++) {
k = n[f];
l = this.padding.left.px;
for (g = 0; g < this.columnCount; g++)
(p = f * this.columnCount + g),
(u = m[g]),
(r = a[p]),
(v = h[this.columnCount * f + g]),
(q = u),
(x = k),
(y = l),
(t = c),
tc(r.width) && (y += (Ge[r.xAlignment] || 0) * (u - v[0])),
tc(r.height) && (t += (Ge[r.yAlignment] || 0) * (k - v[1])),
r.updateSize({ width: q, height: x, x: y, y: t }, b.components[p]),
(l += u);
c += k;
}
}
};
c.prototype.refreshBorders = function () {
for (
var b = function (b, c) {
c = a.borders[b];
if (!c) return "continue";
var d = a.childElements[b];
b = a.borderElements[b] = a.borderElements[b] || [];
for (
var e = function (b, a) {
b = Ff([b ? 0 : a ? d.width.px : 0, b ? (a ? d.height.px : 0) : 0, b ? d.width.px : 0, b ? 0 : d.height.px], 1, d);
return "M " + b[0] + " " + b[1] + " l " + b[2] + " " + b[3];
},
f = 0;
4 > f;
f++
)
if (c[f]) {
var g = b[f],
h = !(f % 2),
q = 1 === f || 2 === f;
g ? g.attr({ d: e(h, q) }) : ((g = a.renderer.path({ d: e(h, q), strokeWidth: 1, stroke: "gray", fill: "none" })), g.add(d), (b[f] = g));
}
},
a = this,
c = 0,
f = this.childElements.length;
c < f;
c++
)
b(c);
};
c.prototype.applyPatch = function (b) {
this.refreshBorders();
a.prototype.applyPatch.call(this, b);
};
c.prototype.getReservedSpace = function () {
var b = this.variant;
return b ? { width: b.minSize.width.px, height: b.minSize.height.px } : { width: 0, height: 0 };
};
c.prototype.scoreCombination = function (b) {
return new dj(b).getScore(De.xy, [this.rowCount, this.columnCount]);
};
c.prototype.measure = function (b) {
function a(b, a) {
if (b.length !== a.length) return 0;
for (var c = [], d = 0; d < b.length; d++) {
var e = [b[d]],
f = a[d];
0 < f && e.push(f / 100);
c.push(e);
}
b = oC(c);
for (c = a = 0; c < b.length; c++) {
e = d = 0;
f = b[c];
for (var g = 0; g < f.length; g++) {
var h = f[g];
1 > h ? (d += h) : (e += h);
}
a = oa([a, 1 > d ? e / (1 - d) : e]);
}
return a;
}
for (
var c = [],
f = [],
g = { widths: [], heights: [] },
h = { widths: [], heights: [] },
k = { width: !1, height: !1 },
l = function (b) {
return ib(b) ? 0 : b.px;
},
m = function (b) {
return ib(b) ? b.val : 0;
},
n = this.childElements,
p = 0;
p < this.rowCount;
p++
)
for (var q = 0; q < this.columnCount; q++) {
var r = p * this.columnCount + q,
u = b[r],
x = n[r];
if (u) {
r = u.minSize.width;
var v = u.minSize.height,
y = Cb(x.width) ? x.width : r;
x = Cb(x.height) ? x.height : v;
k.width = k.width || Ya(y);
k.height = k.height || Ya(x);
c.push(u.score);
f.push({ x: 0, y: 0, width: r.px, height: v.px });
g.widths[q] = oa([g.widths[q] || 0, l(r)]);
g.heights[p] = oa([g.heights[p] || 0, l(v)]);
h.widths[q] = oa([h.widths[q] || 0, m(r)]);
h.heights[p] = oa([h.heights[p] || 0, m(v)]);
} else (g.widths[q] = oa([g.widths[q] || 0, 0])), (g.heights[p] = oa([g.heights[p] || 0, 0])), (h.widths[q] = oa([h.widths[q] || 0, 0])), (h.heights[p] = oa([h.heights[p] || 0, 0]));
}
g = (function (b, c, d) {
var e = a(b.widths, c.widths);
b = a(b.heights, c.heights);
return { width: Qa(e, { stretch: d.width }), height: Qa(b, { stretch: d.height }) };
})(g, h, k);
return { components: b, score: { whitespace: this.combineScores(c, f), magnitude: g.width.px * g.height.px }, minSize: this.completeSize(g.width, g.height), index: 0 };
};
c.prototype.mixCombinations = function (b) {
for (
var a = this.rowCount,
c = this.columnCount,
f = [],
g = b.reduce(function (b, a) {
return b.length > a.length ? b : a;
}).length,
h = 0;
h < a;
h++
)
for (var k = 0; k < c; k++)
for (var l = b[h * c + k], m = l.length - 1, n = g; 0 < n--; ) {
var p = ((m * n) / g + 0.5) << 0;
f[n] || (f[n] = []);
f[n].push(l[p]);
}
return f;
};
c.prototype.val = function (b) {
if (!b) return this.gridElements;
this.rowCount = b.length;
this.columnCount = jm(
b,
function (b, a) {
return a.length > b ? a.length : b;
},
0
);
this.clear(Tc(b));
for (var a = this.cellSpacing / 2 || 0, c = 0; c < this.rowCount; c++)
for (var f = 0; f < this.columnCount; f++) {
var g = b[c][f] || this.layout.panel({ type: "panel" }),
h = this.wrapInnerItem(g, a);
this.gridElements.push(g);
h.add(this);
}
this.refreshBorders();
return this;
};
c.prototype.wrapInnerItem = function (b, a) {
if (b.parent) return b.parent;
a = this.layout.panel({ padding: a });
"px" !== b.width.valueType && ((a.width = qa(b.width)), "%" === b.width.valueType && (b.width.val = 100));
"px" !== b.height.valueType && ((a.height = qa(b.height)), "%" === b.height.valueType && (b.height.val = 100));
"Icon" !== b.constructor.name && ((a.attrs = Hb(b.attrs, Pg)), (b.attrs = {}));
b.add(a);
return a;
};
c.prototype.clear = function (b) {
for (var a = this.childElements, c = 0, f = a.length; c < f; c++) {
var g = a[c],
h = this.gridElements[c];
g && ((g.parent = null), g.destroyAttachedElements(), -1 === b.indexOf(h) && g.patchDestroy());
}
this.borderElements = [];
this.gridElements = [];
this.childElements = [];
this.combinations = [];
this.variant = null;
this.itemsCount = 0;
return this;
};
c.prototype.fillProperties = function (b) {
if (b) {
var c = this.processAttrs(b);
a.prototype.fillProperties.call(this, b);
c && this.isComplete() && this.setRenewComplete();
}
};
c.prototype.processAttrs = function (b) {
for (var a = !1, c = Dt.length, f = 0; f < c; f++) {
var g = Dt[f],
h = b[g];
t(h) && ((a = a || this[g] !== h), (this[g] = h), delete b[g]);
}
return a;
};
return c;
})(Sg),
Et = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.availableAttributes = function () {
return hB;
};
c.prototype.defaultConfig = function () {
var b = this.layout;
b = b ? C(b.renderer, "errorReporting.chart") : void 0;
b = (b ? b.boxDefaults() : Cf()).outline;
return { fill: "white", "border-color": b.color, "border-width": b.width };
};
c.prototype.getPaddingOffset = function (b, a) {
b = b.valueType ? b.px : b;
var c = a.valueType ? a.px : a;
a = Yw(b, c, this.shape || {});
b = 0 === b && 0 === c;
return { top: a[1] + (b ? 0 : this.strokeWidth), bottom: a[3] + (b ? 0 : this.strokeWidth), left: a[0] + (b ? 0 : this.strokeWidth), right: a[2] + (b ? 0 : this.strokeWidth) };
};
c.prototype.fillProperties = function (b) {
b && (this.processAttrs(b), a.prototype.fillProperties.call(this, b));
};
c.prototype.destroyRect = function () {
this.rect && (delete this._box_cache_, this.rect.destroy(), (this.rect = null));
};
c.prototype.patchRect = function () {
var b = this.strokeWidth,
a = this.getBbox(),
c = !a.width || !a.height;
if (!this.childElements.length || c) this.destroyRect();
else if (a.width === 2 * b && a.height === 2 * b) this.destroyRect();
else if (
((b = W(this.attrs || {}, {
"border-width": this.strokeWidth,
stroke: this.stroke,
fill: this.fillColor,
shadow: this.shadow,
width: oa([a.width - b, 0]),
height: oa([a.height - b, 0]),
x: b / 2,
y: b / 2,
shape: this.shape,
})),
this.pixelCorrection && ((a = Ff(b, this.strokeWidth, this)), L(b, a)),
(b = Sc({}, b, eB)),
(b = this.cached(b, Lc.WriteIfChanged, "_box_cache_")))
)
this.rect ? this.rect.attr(b) : ((this.rect = this.renderer.shape("rectangle", b)), (b = this.firstItem()) ? ((b = this.getLowermostElement() || b.el), this.rect.addBefore(b)) : this.rect.add(this.getElement())),
this.rectAttrsApplied({ d: this.rect.attr("d") });
};
c.prototype.emptyPatch = function () {
a.prototype.emptyPatch.call(this);
this.patchRect();
};
c.prototype.applyPatch = function (b) {
a.prototype.applyPatch.call(this, Sc({}, b, jB));
this.patchRect();
};
c.prototype.patchDestroy = function () {
this.rect && (this.rect.destroy(), delete this.rect);
a.prototype.patchDestroy.call(this);
};
c.prototype.rectAttrsApplied = function (b) {};
c.prototype.firstItem = function () {
return this.childElements && this.childElements.length
? S(this.childElements, function (b) {
return b.isPatched;
})
: null;
};
c.prototype.calculatePadding = function (b, a) {
var c = this.padding;
b = this.getPaddingOffset(b, a);
return { left: c.left.px + b.left, right: c.right.px + b.right, top: c.top.px + b.top, bottom: c.bottom.px + b.bottom };
};
c.prototype.completeSize = function (b, a) {
var c = this.padding,
d = this.getPaddingOffset(b, a);
return lt(b, a, { padding: c, offset: d });
};
c.prototype.processAttrs = function (b) {
J(b, "stroke-width") && ((this.strokeWidth = parseInt(b["stroke-width"]) || 0), delete b["stroke-width"]);
J(b, "stroke") && ((this.stroke = b.stroke), delete b.stroke);
J(b, "color") && ((this.fillColor = b.color), delete b.color);
J(b, "fill") && ((this.fillColor = b.fill), delete b.fill);
J(b, "shadow") && ((this.shadow = b.shadow), delete b.shadow);
J(b, "shape") && ((this.shape = b.shape), delete b.shape, this.setRenewComplete());
if (J(b, "radius")) {
this.shape = this.shape || {};
this.shape.r = b.radius;
var a = b.corners && ja(b.corners),
c = a ? b.corners : this.shape.corners || [{ type: "round" }, { type: "round" }, { type: "round" }, { type: "round" }];
a &&
!J(c[0], "type") &&
(c = B(c, function (b) {
return { type: b };
}));
this.shape.corners = c;
delete b.radius;
delete b.corners;
this.setRenewComplete();
}
};
return c;
})(Sg),
Ft = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.fillProperties = function (b) {
b && J(b, "text") && (this.textAttr !== b.text && ((this.textAttr = b.text), O(this.textAttr) && (this.textAttr = { val: this.textAttr }), this.createTextAndSetTextValue()), delete b.text);
a.prototype.fillProperties.call(this, b);
};
c.prototype.createTextAndSetTextValue = function () {
this.textAttr
? this.textVisual
? this.textVisual.attr(this.textAttr)
: ((this.textVisual = this.layout.textStack()), (this.textAttr.zIndex = 1), this.textVisual.attr(this.textAttr), this.textVisual.add(this))
: this.textVisual && (this.textVisual.destroy(), (this.textVisual = null));
};
return c;
})(Et),
NC = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.availableAttributes = function () {
return Vi;
};
c.prototype.createElement = function (b) {
b = this.renderer.element("g", b);
if (this._innerSvg) {
var a = b.el;
if (t(a.innerHTML)) return (a.innerHTML = this._innerSvg), b;
var c = ba.createElement("div");
c.innerHTML = "<svg><g>" + this._innerSvg + "</g></svg>";
w(c.childNodes[0].childNodes, function (b) {
return a.appendChild(b);
});
}
return b;
};
c.prototype.fillProperties = function (b) {
b && ((this._innerSvg = b.innerSvg || this._innerSvg), a.prototype.fillProperties.call(this, b));
};
return c;
})(Hf),
Mc = {},
Md = {},
Gt = { strategy: "width", textRendering: "geometricPrecision" },
Zq = { fontSize: "12px", fontFamily: "tahoma, geneva, sans-serif" };
Mc.panel = Sg;
Mc.stack = Tg;
Mc.grid = MC;
Mc["stack:text"] = LC;
Mc["box:text"] = Ft;
Mc.box = Et;
Md.icon = Ct;
Md.image = HC;
Md.rect = IC;
Md.shape = At;
Md.text = zt;
Md.svgContainer = NC;
var ki = {},
Al = (function () {
function a(a) {
this.children = [];
this._needToDestroy = [];
var b = this;
a = W(Gt, a);
b.renderer = ft.create(a);
b.pixelCorrection = t(a.pixelCorrection) ? a.pixelCorrection : !0;
b.svgStyles = W({}, Gt);
b.refreshHandler = ym.onDefer(function (a) {
a = b.disableAnimation();
b.refreshRootBox();
b.refresh();
a && b.enableAnimation();
}, 30);
}
a.prototype.refresh = function () {
this.destroyChildren();
this.eachChildren(function (a) {
return a.refresh();
});
};
a.prototype.refreshRootBox = function () {
this.rootBox = this.renderer.box();
};
a.prototype.getRootBox = function () {
this.rootBox || this.refreshRootBox();
return this.rootBox;
};
a.prototype.eachChildren = function (a) {
var b = this,
c;
w(this.children, function (b) {
b.parent ? ((c = c || []), c.push(b)) : a(b);
});
c &&
w(c, function (a) {
b.children.splice(b.children.indexOf(a), 1);
});
};
a.prototype.removeChild = function (a) {
a = this.children.indexOf(a);
0 <= a && (this.needToDestroy(this.children[a]), this.children.splice(a, 1));
};
a.prototype.addChild = function (a) {
-1 === this.children.indexOf(a) && this.children.push(a);
};
a.prototype.needToDestroy = function (a) {
this._needToDestroy.push(a);
};
a.prototype.destroyChildren = function () {
1 > this._needToDestroy.length ||
(w(this._needToDestroy, function (a) {
return a.patch();
}),
(this._needToDestroy = []));
};
a.prototype.destroy = function () {
this.refreshHandler && this.refreshHandler.un();
this.renderer.destroy();
};
a.prototype.item = function (a) {
return a ? this.createLayoutItem(qa(a)) : null;
};
a.prototype.panel = function (a) {
a = a || { type: "panel" };
a = O(a) ? { type: a } : qa(a);
$q(a);
var b = Mc[a.type],
c = !b && a.type,
e = c ? [this.createLayoutItem(a)] : a.val || [];
b || (delete a.type, delete a.val, (a = W(c ? {} : a, { type: "panel", val: e })));
return this.createPanel(a);
};
a.prototype.box = function (a) {
a = W({ type: "box" }, a || {});
!a.mode && a.text && (a.mode = "text");
a.mode && (a.type = "box:" + a.mode);
return this.createPanel(a);
};
a.prototype.stack = function (a) {
a = W({ type: "stack" }, a || {});
return this.createPanel(a);
};
a.prototype.stackY = function (a) {
a = W({ type: "stack:y" }, a || {});
return this.panel(a);
};
a.prototype.text = function (a) {
void 0 === a && (a = "");
return this.createVisual({ type: "text", val: a });
};
a.prototype.textStack = function (a) {
void 0 === a && (a = "");
return this.createPanel({ type: "stack:text", text: a });
};
a.prototype.rect = function (a) {
return this.createVisual(W({ type: "rect" }, a || {}));
};
a.prototype.group = function (a) {
return this.createVisual(W({ type: "group" }, a || {}));
};
a.prototype.svgContainer = function (a) {
return this.createVisual(W({ type: "svgContainer" }, { innerSvg: a }));
};
a.prototype.image = function (a) {
return this.createVisual(W({ type: "image" }, a || {}));
};
a.prototype.shape = function (a, b) {
return this.createVisual(W({ type: "shape", mode: a }, b || {}));
};
a.prototype.icon = function (a) {
return this.createVisual(W({ type: "icon", name: O(a) ? a : null }, a || {}));
};
a.prototype.attr = function (a, b) {
Pa(a) ? Na(this.svgStyles, a, { fontFamily: "", fontSize: "" }) : O(a) && t(b) && this.svgStyles[a] && (this.svgStyles[a] = b);
a = this.renderer.attr(null, a, b);
return t(a) ? a : this;
};
a.prototype.add = function (a) {
a && this.attr({ container: a });
return this;
};
a.prototype.button = function (a) {
return this.createPanel(W({ type: "button" }, a || {}));
};
a.prototype.input = function (a) {
return this.createPanel(W({ type: "input" }, a || {}));
};
a.prototype.file = function (a) {
return this.createPanel(W({ type: "file" }, a || {}));
};
a.prototype.color = function (a) {
return this.createPanel(W({ type: "color" }, a || {}));
};
a.prototype.range = function (a) {
return this.createPanel(W({ type: "range" }, a || {}));
};
a.prototype.finishAnimations = function () {
return Ce.getAnimations().map(function (a) {
return a.cancel();
});
};
a.prototype.disableAnimation = function () {
var a = !1 === this.attr("disableAnimation");
a && this.attr("disableAnimation", !0);
return a;
};
a.prototype.enableAnimation = function () {
this.attr("disableAnimation", !1);
};
a.prototype.createPanel = function (a) {
for (var b = Mc[a.type], c = a.val || [], e = [], f = 0, g = c.length; f < g; f++) {
var h = c[f];
if (h instanceof Array) {
e.push([]);
for (var k = 0, l = h.length; k < l; k++) {
var m = h[k];
(m = m instanceof Gf ? m : this.createLayoutItem(m)) && e[f].push(m);
}
} else (m = h instanceof Gf ? h : this.createLayoutItem(h)) && e.push(m);
}
a = new b(this, a);
e.length && a.val(e);
return a;
};
a.prototype.createVisual = function (a) {
var b = a.type,
c = Md[b];
if (!c) {
if (a.isNanoChart) {
a = Object.keys(ke("nanoChartTypes").members);
c = b.length;
for (var e = 0, f = a.length; e < f; e++) {
var g = a[e],
h = b,
k = g;
if (0 === h.length) h = k.length;
else if (0 === k.length) h = h.length;
else {
for (var l = [], m = 0; m <= k.length; m++) l[m] = [m];
for (var n = 0; n <= h.length; n++) l[0][n] = n;
for (m = 1; m <= k.length; m++) for (n = 1; n <= h.length; n++) l[m][n] = k[m - 1] === h[n - 1] ? l[m - 1][n - 1] : Math.min(l[m - 1][n - 1] + 1, Math.min(l[m][n - 1] + 1, l[m - 1][n] + 1));
h = l[k.length][h.length];
}
if (3 > h && (!p || h < c)) {
var p = g;
c = h;
}
}
Ma.emit("warning", "layout", p ? "microchartNotFoundSuggestion" : "microchartNotFound", { data: [b, p], container: C(this.renderer, "wrapper.el") });
}
return null;
}
return new c(this, a);
};
a.prototype.createLayoutItem = function (a) {
if (!a.type && !O(a.type)) return null;
$q(a);
return Mc[a.type] ? this.createPanel(a) : this.createVisual(a);
};
return a;
})(),
Fl = (function () {
function a(a) {
void 0 === a && (a = {});
this.schema = a;
this.lengths = {};
this.indexes = {};
this.calculations = {};
this.uniqTypes = {};
this.ordered = {};
this.data = {};
this.dataFlat = {};
}
a.prototype.getKeys = function () {
for (var a = this.getAllKeys(), b = [], d = 0, e = a.length; d < e; d++) this.data[a[d]].length && b.push(a[d]);
return b;
};
a.prototype.getAllKeys = function () {
return Object.keys(this.data);
};
a.prototype.getKey = function (a) {
return (a = this.data[a]) ? a.slice() : [];
};
a.prototype.getKeyRef = function (a) {
return this.data[a] || [];
};
a.prototype.hasKey = function (a) {
return this.data[a] && this.data[a].length;
};
a.prototype.hasAllKeys = function (a) {
var b = !0;
a = "array" === I(a) ? a : a.split(",");
for (var c = 0, e = a.length; c < e; c++)
if (!this.hasKey(a[c])) {
b = !1;
break;
}
return b;
};
a.prototype.hasAnyKeys = function (a) {
for (var b = 0, c = a.length; b < c; b++) if (this.hasKey(a[b])) return !0;
};
a.prototype.getValue = function (a, b) {
var c;
return (c = this.data[a]) ? c[b] : void 0;
};
a.prototype.setValue = function (a, b, d) {
this.data[a][b] = d;
};
a.prototype.getItem = function (a) {
for (var b = this.getKeys(), c = {}, e, f = 0, g = b.length; f < g; f++) {
var h = b[f];
t((e = this.getValue(h, a))) && (c[h] = e);
}
return c;
};
a.prototype.findValue_i = function (a, b) {
var c,
e,
f = this.uniqTypes[a];
if (f && "date" === f[0]) return this.findValue_iDate(a, b);
if ((e = this.data[a]) && -1 < (c = e.indexOf(b))) return this.indexes[a][c];
};
a.prototype.findValue_iDate = function (a, b) {
var c = this.data[a];
b = b.getTime ? b.getTime() : b;
for (var e = 0, f = c.length; e < f; e++) if (c[e].getTime() === b) return this.indexes[a][e];
};
a.prototype.findInterpolatedInfo = function (a, b) {
var c = this.uniqTypes[a];
if (c && "date" === c[0]) return this.findInterpolatedInfo_date(a, b);
a = this.data[a];
c = 0;
for (var e = a.length; c < e; c++) {
var f = a[c],
g = void 0;
if (b === f) return { i: c, inter: 0 };
if (b >= f && c < e - 1 && b < (g = a[c + 1])) return { i: c, inter: Y(0, 1, f, g, b) };
}
return { i: -1, inter: 0 };
};
a.prototype.findInterpolatedInfo_date = function (a, b) {
a = this.data[a];
var c = I(b);
b = "string" === c ? Date.parse(b) : "date" === c ? b.getTime() : b;
c = 0;
for (var e = a.length; c < e; c++) {
var f = a[c].getTime(),
g = void 0;
if (b === f) return { i: c, inter: 0 };
if (b >= f && c < e - 1 && b < (g = a[c + 1].getTime())) return { i: c, inter: Y(0, 1, f, g, b) };
}
return { i: -1, inter: 0 };
};
a.prototype.max_i = function (a) {
return (a = this.calculations[a]) ? a.max_i : -1;
};
a.prototype.min_i = function (a) {
return (a = this.calculations[a]) ? a.min_i : -1;
};
a.prototype.max = function (a) {
return (a = this.calculations[a]) ? a.max : void 0;
};
a.prototype.min = function (a) {
return (a = this.calculations[a]) ? a.min : void 0;
};
a.prototype.sum = function (a) {
return (a = this.calculations[a]) ? a.sum : void 0;
};
a.prototype.sumAbs = function (a) {
return (a = this.calculations[a]) ? a.sumAbs : void 0;
};
a.prototype.concat = function (a) {
return this.getKeyRef(a).slice(0);
};
a.prototype.indexObject = function (a, b) {
var c = Object.keys(a);
this.indexKeys(c, a, b);
};
a.prototype.indexKeys = function (a, b, d) {
for (var c, f = 0, g = a.length; f < g; f++) {
var h = a[f],
k = this.schema[h] || {},
l = b[h];
c = this.data[h] = this.data[h] || [];
var m = (this.indexes[h] = this.indexes[h] || []);
this.lengths[h] = this.lengths[h] + 1 || 1;
if (t(b[h]))
if (((c[d] = l), m.push(d), "number" === (c = this.addUniqType(h, l)))) this.addCalcValue(h, l, d);
else if ("array" === c && k.flatten) for (h = this.dataFlat[h] = this.dataFlat[h] || [], k = 0, c = l.length; k < c; k++) h.push(l[k]);
else "date" === c && this.addCalcValue(h, l.getTime(), d);
}
};
a.prototype.sortBy = function (a, b, d) {
void 0 === b && (b = !0);
var c = this,
f = this.indexes[a],
g = !!f,
h = d
? function (b) {
return d(c.getItem(b));
}
: (function () {
var b = c.data[a];
g = b && b.length;
return function (a) {
return b[a];
};
})();
if (g) {
f = f.map(function (b, a) {
return { _i: b, val: h(a) };
});
var k = function (b, a) {
return b.val < a.val ? -1 : b.val > a.val ? 1 : 0;
},
l = function (b, a) {
return k(a, b);
};
f.sort(b ? k : l);
return B(f, function (b) {
return b._i;
});
}
};
a.prototype.sortByNone = function () {
var a = this,
b = 0;
w(pa(this.data), function (c) {
a.data[c].length > b && (b = a.data[c].length);
});
var d = [];
ob(b, function (b) {
return d.push(b);
});
return d;
};
a.prototype.addUniqType = function (a, b) {
b = I(b);
a = this.uniqTypes[a] = this.uniqTypes[a] || [];
0 > a.indexOf(b) && a.push(b);
return b;
};
a.prototype.addCalcValue = function (a, b, d) {
var c = (this.calculations[a] = this.calculations[a]);
c ? (b > c.max && ((c.max = b), (c.max_i = d)), b < c.min && ((c.min = b), (c.min_i = d)), (c.sum += b), (c.sumAbs += Vb.abs(b))) : (this.calculations[a] = { min: b, max: b, min_i: d, max_i: d, sum: b, sumAbs: Vb.abs(b) });
};
a.prototype.reset = function (a) {
var b = this;
a
? this.resetKey(a)
: (w(this.getKeys(), function (a) {
b.resetKey(a);
}),
(this.lengths = {}));
};
a.prototype.resetKey = function (a) {
delete this.data[a];
delete this.indexes[a];
delete this.calculations[a];
delete this.uniqTypes[a];
delete this.lengths[a];
delete this.ordered[a];
};
a.prototype.countDecimals = function (a) {
var b = this.data[a],
c = [0];
this.dataFlat[a] ? (b = this.dataFlat[a]) : 2 !== a.length || !this.data[a[0]] || ("e" !== a[1] && "s" !== a[1]) || (b = this.data[a[0]]);
if (b && b.length) {
a = 0;
for (var e = b.length; a < e; a++) c.push(Yf(b[a]));
}
return Math.max.apply(Math, H(c));
};
a.prototype.log = function (a) {
a = Object.keys(this.data);
w(a, function (b) {});
};
return a;
})(),
OC = (function () {
function a(a) {
this.chart = a;
this.items = {};
this.spItems = [];
}
a.prototype.getSPItems = function () {
return this.spItems.slice(0);
};
a.prototype.register = function (a) {
var b = zb(a);
this.items[b] = a;
"SmartPalette" === a.kind && this.spItems.push(a);
return a;
};
a.prototype.remove = function (a) {
if ((a = z(a.id, a.currentOptions.id))) return this.removeById(a);
};
a.prototype.exists = function (a) {
return this.items[a];
};
a.prototype.filter = function (a) {
return ea(this.items, a);
};
a.prototype.destroyItem = function (a) {
var b;
return (b = this.items[a]) ? (b.destroy && b.destroy(), this.removeById(a), !0) : !1;
};
a.prototype.removeById = function (a) {
var b = this.items,
c;
return (c = b[a]) ? ("SmartPalette" === c.kind && pb(this.spItems, c), delete b[a], !0) : !1;
};
return a;
})(),
li = {},
Ht = function () {
function a(b, a) {
var c = {};
if (0 < a.length)
if ("string" === I(a)) {
c = sf(a, "seriesType,chartType");
var d = sf(a, "seriesType,chartType", !0);
c.invalid && ((c = {}), (d = {}));
} else c = a;
if (0 < b.length || !c.chartType)
if ("string" === I(b))
var e = sf(b, "chartType"),
f = sf(b, "chartType", !0);
else e = b;
b = id({}, d, f, c, e);
switch (b.chartType) {
case "radar":
case "gauge":
var g = !0;
}
return { dst: c, ct: e, ctdst: b, isPaneType: g };
}
function c(b, c) {
var d = k,
e = b.toLowerCase(),
g;
c && (g = f(c)) && ((c = a(k, g)), (d = c.ctdst));
if ((d.chartType && d.chartType.toLowerCase() === e) || (d.seriesType && d.seriesType.toLowerCase() === e)) return !0;
if ("calendar" === b || "heatmap" === b || "variwide" === b) return e === d.seriesType;
}
function b(b) {
var c;
b && b.currentOptions && (b = b.currentOptions);
return b && (c = f(b)) ? a(k, c) : a(k, "");
}
function d(a, c) {
var d = b(c);
d = d.ctdst || d;
if ((c = d[a])) return c.toLowerCase();
if (!c && "seriesType" === a && "map" === d.chartType) return "map";
}
function e(b) {
var a;
g.chartType && -1 < "pie,gauge,funnel,cone,pyramid".indexOf(g.chartType) && (a = !0);
if (a && b) {
for (var c = [], d = [], e = 0, f = b.length; e < f; e++) {
a = !1;
var h = b[e];
h.i = e;
h.type && sf(h.type, "chartType", "noDef").chartType && (c.push([h]), (a = !0));
a || d.push(h);
}
d.length && c.splice(0, 0, d);
return c;
}
return a;
}
function f(b) {
var a,
d,
e,
f = b.type;
c("map") && !f && (a = b.map) && (d = a.type || C(a, "features.0.geometry.type")) && (f = (e = l[d]) ? e : d);
return f;
}
var g = {},
h = {},
k,
l = { LineString: "line", MultiLineString: "line", Polygon: "column", MultiPolygon: "column", Point: "marker", MultiPoint: "marker" };
return {
init: function (b) {
var c = C(b, "type") || "";
b = C(b, "defaultSeries.type") || C(b, "defaultSeries_type") || "";
c = a(c, b);
g = c.ct || {};
h = c.dst || {};
k = c.ctdst || {};
},
isType: c,
getIsTypeChecker: function (b) {
var c = k,
d;
b && (d = f(b)) && ((b = a(k, d)), (c = b.ctdst));
var e = function (b, a) {
return c[b] && c[b].toLowerCase() === a;
};
return function (b) {
var a = b.toLowerCase();
if (e("chartType", a) || e("seriesType", a)) return !0;
if ("calendar" === b || "heatmap" === b || "variwide" === b) return a === c.seriesType;
};
},
hasSetting: function (b, c, d) {
var e = k,
g;
d && (g = f(d)) && ((d = a(k, g)), (e = d.ctdst));
if ((d = e[b]))
if (((d = d.toLowerCase()), "behavior" === b)) {
if (-1 < ("," + d + ",").indexOf("," + c.toLowerCase() + ",")) return !0;
} else if (d && d === c.toLowerCase()) return !0;
},
settingVal: d,
getSettingChecker: function (a) {
var c,
d = b(a);
d = d.ctdst || d;
return function (b) {
if ((c = d[b])) return c.toLowerCase();
if (!c && "seriesType" === b && "map" === d.chartType) return "map";
};
},
curCtDst: b,
mergeSettings: a,
getPaneGroups: function (b) {
var a = [],
c = [],
d;
h.chartType && (d = 1);
for (var e = 0, f = b.length; e < f; e++) {
var g = !1,
k = b[e];
k.i = e;
if (d || k.type) {
var l = d || sf(k.type, "chartType", "noDef");
if (d || l.chartType) a.push([k]), (g = !0);
}
g || c.push(k);
}
0 < c.length && a.splice(0, 0, c);
return B(a, function (b) {
var a = B(b, function (b) {
return b.id;
}).join("");
b.hash = a;
return b;
});
},
shouldDataMerge: e,
dataMergeType: function (b) {
if (e())
return (
(b = S(b, function (b) {
return S(b.points, function (b) {
return z(b[1], b.y, 0).length;
});
})),
"gauge" === g.chartType && b ? "collect" : "sum"
);
},
isMapLayer: function (b) {
if (c("map") && ("object" === typeof b.getMapData() || (c("map") && (C(b.userOptions, "mapDataId") || C(b.userPoints, "0.mapDataId"))))) return !0;
},
isHoriz: function () {
return "horizontal" === d("chartType");
},
};
},
xy = {
solid: "",
dot: "1,3",
dash: "4,3",
dashdot: "4,3,1,3",
dashdotdot: "4,3,1,3,1,3",
shortdash: "3,1",
shortdot: "1,1",
shortdashdot: "3,1,1,1",
shortdashdotdot: "3,1,1,1,1,1",
longdash: "8,3",
longdashdot: "8,3,1,3",
longdashdotdot: "8,3,1,3,1,3",
},
It = function (a) {
return a;
},
PC = function () {
return [
{ option: "outline.color", check: It, dependent: "outline.width", value: 1 },
{
option: "outline.width",
check: function (a) {
return 0 < a;
},
dependent: "boxVisible",
value: !0,
},
{ option: "fill", check: It, dependent: "boxVisible", value: !0, important: !0 },
];
},
Nm = function (a, c) {
var b = PC();
b.push.apply(b, H(c || []));
w(b, function (b) {
var c = ja(b.option) ? b.option : [b.option];
c = S(c, function (c) {
return b.check(C(a, c));
});
var d = b.important || Q(C(a, b.dependent));
c && d && Z(a, b.dependent, b.value);
});
return a;
},
kb = function (a, c, b, d, e) {
var f;
Q((f = a[b])) || (c[d || b] = e ? e(f) : f);
},
oi = t,
zy = [10, 5, 4, 2, 1, 0.5],
Ay = [50, 20, 10, 5, 4, 2, 1],
fr = { badMin: "min", badMax: "max" },
Cl = Vb,
Nd = function (a, c) {
return {
val: function (b) {
return a(Fg(b.indexedData), c ? b.scCache : b.cache, "max", "min");
},
axis: "y",
};
},
Od = function (a, c, b) {
return {
val: function (d) {
return c(d.pOptions[a], b ? d.scCache : d.cache, a + "Max", a + "Min");
},
axis: a,
};
},
bb = function (a, c, b) {
return {
val: function (b) {
return c(b, a);
},
axis: a,
fStr: b,
};
},
ta = function (a, c) {
return J(a.cache, c) ? a.cache[c] : a.scCache && a.scCache[c];
},
uc = function (a, c, b) {
a = a.cache["y" === c ? "list" : c + "List"];
return a.length ? b(a) : "";
},
He = function (a) {
return {
val: function (c) {
return a(c);
},
yVal: !0,
};
},
Jt = {
yaxislabel: function (a) {
return a.cache.yAxis ? N(a.cache.yAxis.currentOptions, ["label", "text"]) : void 0;
},
xaxislabel: function (a) {
return a.cache.xAxis ? N(a.cache.xAxis.currentOptions, ["label", "text"]) : void 0;
},
zaxislabel: function (a) {
return a.chart.currentOptions.zAxisLabelText || N(a.chart.currentOptions, ["zAxis", "label", "text"]);
},
percentoftotal: bb("y", qi),
ypercentoftotal: bb("y", qi),
xpercentoftotal: bb("x", qi),
zpercentoftotal: bb("z", qi),
icon: function (a) {
return a.point.getIconTag();
},
},
QC = {
percentofdatarange: Nd(Jd, !0),
ypercentofdatarange: Nd(Jd, !0),
xpercentofdatarange: Od("x", Jd, !0),
zpercentofdatarange: Od("z", Jd, !0),
percentofdatamax: Nd(rc, !0),
ypercentofdatamax: Nd(rc, !0),
xpercentofdatamax: Od("x", rc, !0),
zpercentofdatamax: Od("z", rc, !0),
percentofseriesrange: Nd(Jd),
ypercentofseriesrange: Nd(Jd),
xpercentofseriesrange: Od("x", Jd),
zpercentofseriesrange: Od("z", Jd),
percentofseriesmax: Nd(rc),
ypercentofseriesmax: Nd(rc),
xpercentofseriesmax: Od("x", rc),
zpercentofseriesmax: Od("z", rc),
percentofaxisrange: bb("y", Dl),
ypercentofaxisrange: bb("y", Dl),
xpercentofaxisrange: bb("x", Dl),
percentofseries: bb("y", pi),
ypercentofseries: bb("y", pi),
xpercentofseries: bb("x", pi),
zpercentofseries: bb("z", pi),
percentofgroup: bb("y", ri),
ypercentofgroup: bb("y", ri),
xpercentofgroup: bb("x", ri),
zpercentofgroup: bb("z", ri),
percentile: bb("y", si, "n0"),
ypercentile: bb("y", si, "n0"),
xpercentile: bb("x", si, "n0"),
zpercentile: bb("z", si, "n0"),
seriespointcount: function (a) {
return a.series.userPoints.length;
},
seriesname: function (a) {
return a.sOptions.name;
},
parentid: function (a) {
return a.pOptions.parent || "";
},
parentname: function (a) {
var c = a.pOptions.parent,
b = a.chart.chartItemManager.exists(c);
return (c && b ? b : a.sOptions).name;
},
complete: function (a) {
return z(C(a.pOptions, "complete.y"), C(a.pOptions, "complete"), 0);
},
zvalue: function (a) {
return a.pOptions.z;
},
xvalue: function (a) {
return t(a.pOptions.x) ? (a.fOptions.xIsTime ? new Date(a.pOptions.x) : a.pOptions.x) : a.pOptions.name;
},
yvalue: He(function (a) {
return gr(a);
}),
value: He(function (a) {
return gr(a);
}),
ystart: He(function (a) {
return Eg(a.indexedData) ? a.indexedData.ys : a.indexedData.y;
}),
open: He(function (a) {
return a.pOptions.open;
}),
close: He(function (a) {
return a.pOptions.close;
}),
high: He(function (a) {
return t(a.pOptions.high) ? a.pOptions.high : Eg(a.indexedData) ? a.indexedData.ye : a.indexedData.y;
}),
low: He(function (a) {
return t(a.pOptions.low) ? a.pOptions.low : Eg(a.indexedData) ? a.indexedData.ys : a.indexedData.y;
}),
id: function (a) {
return a.pOptions.id;
},
name: function (a) {
return a.pOptions.name || ("string" === typeof a.pOptions.x ? a.pOptions.x : a.indexedData.name || "");
},
color: function (a) {
return Lb(a.series.getPointAttr(a.point).baseColor, 0);
},
yrange: function (a) {
return Fg(a.indexedData);
},
subvaluelist: function (a) {
return (a = a.pOptions.subvalue) && a.values ? a.values.join(",") : "";
},
},
If = {
type: function (a) {
return ta(a, "type");
},
maxpointname: function (a) {
return ta(a, "nMax");
},
ymaxpointname: function (a) {
return ta(a, "nMax");
},
xmaxpointname: function (a) {
return ta(a, "nXMax");
},
zmaxpointname: function (a) {
return ta(a, "nZMax");
},
minpointname: function (a) {
return ta(a, "nMin");
},
yminpointname: function (a) {
return ta(a, "nMin");
},
xminpointname: function (a) {
return ta(a, "nXMin");
},
zminpointname: function (a) {
return ta(a, "nZMin");
},
pointcount: function (a) {
return ta(a, "list").length;
},
median: function (a) {
return uc(a, "y", qh);
},
ymedian: function (a) {
return uc(a, "y", qh);
},
xmedian: function (a) {
return uc(a, "x", qh);
},
zmedian: function (a) {
return uc(a, "z", qh);
},
mode: function (a) {
return uc(a, "y", ph);
},
ymode: function (a) {
return uc(a, "y", ph);
},
xmode: function (a) {
return uc(a, "x", ph);
},
zmode: function (a) {
return uc(a, "z", ph);
},
rangesum: function (a) {
return ta(a, "yRangeSum");
},
yrangesum: function (a) {
return ta(a, "yRangeSum");
},
yaverage: function (a) {
return ta(a, "average");
},
average: function (a) {
return ta(a, "average");
},
zaverage: function (a) {
return ta(a, "zAverage");
},
xaverage: function (a) {
return ta(a, "xAverage");
},
},
Om = {
lasty: function (a) {
return uc(a, "y", P);
},
lastx: function (a) {
return uc(a, "x", P);
},
lastz: function (a) {
return uc(a, "z", P);
},
name: function (a) {
return a.series.name;
},
value: function (a) {
return a.cache.sum;
},
color: function (a) {
return a.sOptions.color ? a.sOptions.color : 1 === a.series._points.length ? a.series._points[0].tokenValue("%color") : a.series.info.style.base.color;
},
id: function (a) {
return a.sOptions.id || a.sOptions.options.id;
},
ylist: function (a) {
return a.cache.list ? a.cache.list.join(",") : "";
},
xlist: function (a) {
return a.cache.list ? a.cache.list.join(",") : "";
},
zlist: function (a) {
return a.cache.list ? a.cache.list.join(",") : "";
},
},
Ug = {
name: function (a) {
return z(a.item.name, a.cache.name, C(a.cache, "label.text"), "");
},
color: function (a) {
return a.item.color;
},
minutes: function (a) {
return El(a, 6e4);
},
hours: function (a) {
return El(a, 36e5);
},
days: function (a) {
return El(a, 864e5);
},
};
Ib("value,ysum", function (a) {
return (Ug[a] = function (a) {
return a.val.pop ? a.val[1] : a.val;
});
});
Ib("min,ymin,xmin", function (a) {
return (Ug[a] = function (a) {
var b = a.evaluedValue[0],
c = a.cache.min,
e = a.cache.low;
a = (a = a.cache.value) && (ja(a[0]) ? a[0][0] : a[0]);
return z(b, c, e, a);
});
});
Ib("max,ymax,xmax", function (a) {
return (Ug[a] = function (a) {
var b = a.evaluedValue[1],
c = a.cache.max,
e = a.cache.options;
a = (a = a.cache.value) && (ja(a[0]) ? a[0][1] : a[1]);
return z(b, c, e, a);
});
});
Ib("range,yrange", function (a) {
return (Ug[a] = function (a) {
return a.val.pop ? a.val[1] - a.val[0] : a.val;
});
});
Ib("Sum,Average", function (a) {
var c = Se(a);
Ib("Min,Max", function (b) {
var d = Se(b);
Ib("y,x,z", function (e) {
var f = "y" === e;
f &&
(If[d + c] = function (b) {
return ta(b, d + a);
});
If[e + d + c] = function (c) {
return ta(c, (f ? d : e + b) + a);
};
});
});
});
Ib("Sum,Min,Max,Range,Absmax", function (a) {
return Ib("y,x,z", function (c) {
var b = Se(a),
d = "y" === c;
d &&
(If[b] = function (a) {
return ta(a, b);
});
If[c + b] = function (e) {
return ta(e, d ? b : c + a);
};
var e = b + "ofseries";
d &&
(Om[e] = function (a) {
return a.scCache[b];
});
Om[c + e] = function (e) {
return e.scCache[d ? b : c + a];
};
});
});
var Gy = L(QC, Jt),
Hy = L(Om, W(Jt, If)),
Iy = L(
{
title: function (a) {
return a.chart.options("title.label.text");
},
maxseriesname: function (a) {
return ta(a, "snMax");
},
ymaxseriesname: function (a) {
return ta(a, "snMax");
},
xmaxseriesname: function (a) {
return ta(a, "snXMax");
},
zmaxseriesname: function (a) {
return ta(a, "snZMax");
},
minseriesname: function (a) {
return ta(a, "snMin");
},
yminseriesname: function (a) {
return ta(a, "snMin");
},
xminseriesname: function (a) {
return ta(a, "snXMin");
},
zminseriesname: function (a) {
return ta(a, "snZMin");
},
name: function (a) {
return ta(a, "name");
},
typelist: function (a) {
return a.cache.typeList.join(",");
},
sumlist: function (a) {
return a.cache.sumList.join(",");
},
ysumlist: function (a) {
return a.cache.sumList.join(",");
},
xsumlist: function (a) {
return a.cache.xSumList.join(",");
},
zsumlist: function (a) {
return a.cache.zSumList.join(",");
},
},
If
),
Jy = Ug,
mr = Ng,
Gl = /(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(.\d+)[+-](\d{2}):(\d{2})/g,
Pb = function (a, c) {
return function (b) {
return a[c](b);
};
},
RC = function (a, c) {
var b = Yb(a);
a = c([b[0], b[1]]);
c = c([b[2], b[3]]);
c = Ze([a[0], a[1], c[0], c[1]]);
0 > c[2] && ((c[0] -= c[2]), (c[2] = Math.abs(c[2])));
0 > c[3] && ((c[1] -= c[3]), (c[3] = Math.abs(c[2])));
return c;
},
Py = [3, 2, 3, 2],
Xy = /(-?[0-9]+),(-?[0-9]+)/,
Sy = /[\s,]/,
vr = { top: "t", topright: "r", right: "r", bottomright: "r", bottom: "b", topleft: "l", left: "l", bottomleft: "l" },
Ty = { topright: "righttop", bottomright: "rightbottom", topleft: "lefttop", bottomleft: "leftbottom" },
Uy = {
insidetop: "tctc",
insidetopright: "trtr",
insideright: "mrmr",
insidebottomright: "brbr",
insidebottom: "bcbc",
insidetopleft: "tltl",
insidelefttop: "tltl",
insiderighttop: "trtr",
insiderightbottom: "brbr",
insideleftbottom: "blbl",
insideleft: "mlml",
insidebottomleft: "blbl",
insidecenter: "mcmc",
insidemiddle: "mcmc",
top: "bctc",
topcenter: "bctc",
righttop: "tltr",
right: "mlmr",
middleright: "mlmr",
rightbottom: "blbr",
bottom: "tcbc",
bottomcenter: "tcbc",
lefttop: "trtl",
left: "mrml",
middleleft: "mrml",
leftbottom: "brbl",
topright: "brtr",
bottomright: "trbr",
topleft: "bltl",
bottomleft: "tlbl",
outsidetopright: "bltr",
outsidebottomright: "tlbr",
outsidetopleft: "brtl",
outsidebottomleft: "trbl",
outsiderighttop: "bltr",
outsiderightbottom: "tlbr",
outsidelefttop: "brtl",
outsideleftbottom: "trbl",
},
Vy = { top: 0, bottom: 0, middle: 0, left: 1, right: 1, center: 1 },
Wy = B(
(function (a) {
return (a = ke(a)) ? Object.keys(a.members) : [];
})("orientation"),
function (a) {
return a.toLowerCase();
}
).join("|"),
Kt = (function () {
function a(a, b, d) {
void 0 === d && (d = []);
this.currentOptions = {};
this.userOptions = {};
this.chart = a;
if (void 0 === b) {
var c = 1;
b = {};
}
b = this.normalizeOptions(b);
this.userOptions = qa(b);
C(this.userOptions, "data.length") &&
(this.userOptions.data = this.userOptions.data.map(function (b) {
return qa(b);
}));
this.renderer = a && (a.renderer || a);
this.init.apply(this, H(d));
!c && this.setOptions();
}
a.prototype.options = function (a, b) {
if ("string" === typeof a) return this.optionsGet(a);
A(this.userOptions, this.normalizeOptions(a));
this.setOptions();
return this;
};
a.prototype.init = function () {
for (var a = 0; a < arguments.length; a++);
this.defaultMutable = !0;
};
a.prototype.normalizeOptions = function (a, b) {
return Sa(a, b);
};
a.prototype.optionsGetter = function (a) {
return xr(this, a);
};
a.prototype.optionsGet = function (a) {
return C(this.currentOptions, a.replace(/_/g, "."));
};
a.prototype.defaultOptions = function () {
return {};
};
a.prototype.contextOptions = function () {
return this.defaultContextOptions;
};
a.prototype.dependentOptions = function () {
return [];
};
a.prototype.completeUserOptions = function () {
return Nm(this.userOptions, this.dependentOptions());
};
a.prototype.setOptions = function () {
var a = [this.defaultOptions()],
b = this.contextOptions();
b && a.push(b);
a.push(this.completeUserOptions());
!this.defaultMutable && a.unshift({});
this.currentOptions = A.apply(null, a);
return this;
};
return a;
})(),
Lt = (function (a) {
function c(b, c, e) {
void 0 === e && (e = []);
b = a.call(this, b, c, e) || this;
b.attribs = {};
b.events = {};
b.updateOptions = {};
b.subscriptions = [];
return b;
}
K(c, a);
c.prototype.init = function () {
for (var b = 0; b < arguments.length; b++);
this.defaultMutable = !0;
};
c.prototype.defaultOptions = function () {
return this.chart ? { animation: this.chart.options("animation") } : {};
};
c.prototype.setOptions = function () {
a.prototype.setOptions.call(this);
this.setRootVisuals();
return this;
};
c.prototype.options = function (b, a) {
var c = this.optionsGetter(b);
if ("NotGetter" !== c) return c;
A(this.userOptions, this.normalizeOptions(b));
this.setOptions();
!1 !== a && this.render(null, a);
return this;
};
c.prototype.normalizeUpdateOpt = function (b, a) {
"object" === typeof a ? ((b = yf(b)), (a = A(b, Sa(a)))) : (a = b);
return a;
};
c.prototype.afterUpdate = function (b) {
if (b && b.then) {
var a = this;
Ce.await(function () {
b.then && (b.then.call(a.chart), delete b.then);
});
}
};
c.prototype.setRootVisuals = function () {
this.rootPanel || (this.rootPanel = this.renderer.panel());
return this;
};
c.prototype.setAttribs = function () {
return this;
};
c.prototype.render = function (b, a) {
return this;
};
c.prototype.getBounds = function (b) {
var a = b || this.rootPanel,
c = a;
for (b = [0, 0]; c; ) (b[0] += c.x.px + c.offsetX), (b[1] += c.y.px + c.offsetY), (c = c.parent);
a.isPatched
? ((a = a.getBbox()), (a = [a.width, a.height]))
: ((c = a.combinations), c.length || (c = a.composeCombinations()), (c = c[0]), (a = [z(C(a.attrs, "width"), c.minSize.width.px), z(C(a.attrs, "height"), c.minSize.height.px)]));
return b.concat(a);
};
c.prototype.add = function (b, a) {
this.parentLayoutItem = b || this.renderer;
this.render();
this.rootPanel.add(b, a);
return this;
};
c.prototype.destroy = function () {
w(this.rootVisuals, function (b) {
return b && b.destroy && b.destroy();
});
this.rootPanel && this.rootPanel.destroy();
};
c.prototype.handleEvent = function (b, a, c, f) {
if (t(a) && t(c) && (a = this.events[a])) return a[b](c, f);
};
c.prototype.trigger = function (b, a) {
this.events[b].trigger(a, this);
};
c.prototype.on = function (b, a, c) {
(b = this.handleEvent(c ? "onDefer" : "on", b, a, c)) && this.subscriptions.push(b);
return this;
};
c.prototype.un = function (b, a) {
this.handleEvent("un", b, a);
return this;
};
c.prototype.triggerUser = function (b, a) {
return this.triggerUserTarget(b, this, a);
};
c.prototype.triggerUserTarget = function (b, a, c) {
var d = this.currentOptions.events;
d = (b = d && mh(d, b)) && d[b];
if (Fb(d)) return d.call(a, c || void 0);
};
c.prototype.hasUserEvent = function (b) {
var a = this.currentOptions.events;
if (b) {
if ("any" === b) return a && pa(a).length;
if (a) return (b = mh(a, b)) && Fb(a[b]);
}
};
c.prototype.hasAnyNamedEvent = function (b) {
return this.hasUserEvent(b) || this.events[b];
};
c.prototype.click = function (b) {};
return c;
})(Kt),
jc = (function (a) {
function c(b, c, e) {
void 0 === e && (e = []);
e = a.call(this, b, c, e) || this;
e.chart = b;
void 0 === c && (c = {});
e.id = c.id || void 0;
e.ciManager = b.chartItemManager;
e.ciManager.register(e);
return e;
}
K(c, a);
c.prototype.destroy = function () {
a.prototype.destroy.call(this);
this.ciManager.remove(this);
};
return c;
})(Lt),
Zy = function (a) {
var c = [],
b = function (a, e) {
void 0 === e && (e = "");
var d;
if ("object" !== typeof a || null === a) return a;
var g = function (a, d) {
var f = typeof a;
d = e.length ? e + "." + d : d;
"object" === f && null !== a ? b(a, d) : "function" === f && c.push([d, a]);
};
if (Array.isArray(a)) {
var h = a.length;
for (d = 0; d < h; d++) g(a[d], d);
} else for (d in a) a.hasOwnProperty(d) && g(a[d], d);
};
b(a);
return c;
},
SC = fa("rotate fontFamily fontStyle fontWeight fontSize color margin padding".split(" ")),
TC = fa(["val", "xAlignment", "yAlignment", "stroke"]),
Fi = (function (a) {
function c(b, c, e) {
b = a.call(this, b, c) || this;
b.target = e;
b.currentState = "";
return b;
}
K(c, a);
c.prototype.setRootVisuals = function () {
var b = (this.rootVisuals = this.rootVisuals || {}),
a = this.rootPanel,
c = this.renderer;
this.rootPanel || (a = this.rootPanel = c.panel());
b.background || (b.background = b.background || c.item({ type: "rect", fill: "transparent" }).add(a));
b.text || (b.text = b.text || c.textStack(this.getText()).attr({ width: "auto", autoWrap: "none" }).add(a));
return this;
};
c.prototype.setAttribs = function () {
var b,
a = {};
a[""] = this.translate(this.currentOptions);
if ((b = this.currentOptions.states)) b.hover && (a.hover = this.translate(C(this.currentOptions, "states.hover"))), b.select && (a.select = this.translate(C(this.currentOptions, "states.selected")));
this.attribs = a;
return this;
};
c.prototype.applyAttrs = function (b) {
this.rootPanel.attr(Hb(b, TC));
this.rootVisuals.text.attr(Hb(b, SC));
this.chart.triggerOptionsApplied("label", this);
};
c.prototype.isVisible = function () {
return !1 !== this.currentOptions.visible && this.getText().length;
};
c.prototype.getSize = function (b) {
if (!this.isVisible()) return [0, 0];
b && this.applyAttrs(b);
this.rootPanel.updateCombinations();
var a = this.rootPanel.combinations;
b = this.rootPanel.calculateMargin();
if (!a.length) return [0, 0];
a = a[0].minSize;
return [a.width.px + b.horizontal.px, a.height.px + b.vertical.px];
};
c.prototype.getSizes = function (b) {
if (!this.isVisible()) return [[0, 0]];
b && this.applyAttrs(b);
this.rootPanel.updateCombinations();
b = this.rootPanel.combinations;
var a = this.rootPanel.calculateMargin();
a = [a.horizontal.px, a.vertical.px];
return b.length
? B(b, function (b) {
b = b.minSize;
return [b.width.px + a[0], b.height.px + a[1]];
})
: [[0, 0]];
};
c.prototype.render = function () {
var b = this;
this.setOptions();
this.setAttribs();
var a = this.currentOptions,
c = this.attribs[""],
f = c.attr.label;
c = c.layout.label;
var g = this.rootVisuals.text;
if (this.isVisible()) {
this.rootPanel && this.rootPanel.visible(!0);
this.applyAttrs(c);
var h = this.rootVisuals.text.variant;
90 === Math.abs(c.rotate) && "center" === c.yAlignment && h && g.attr({ y: (h.minSize.width.px / 2) * (0 > c.rotate ? 1 : -1) });
g &&
(g.attr(f),
g.attr({ val: this.getText() }),
C(a, "states.hover") &&
((void 0).on("mouseover", function () {
b.setState("hover");
}),
(void 0).on("mouseout", function () {
b.setState("");
})));
} else this.rootPanel && this.rootPanel.visible(!1);
return this;
};
c.prototype.translate = function (b) {
var a = {},
c = {};
b = b || this.currentOptions;
c = id({}, b.style || {});
zc(
a,
b,
function (b, a) {
b.color = a;
},
"color",
Lb
);
c = qc(this.currentOptions);
return { attr: { label: a }, layout: { label: c } };
};
c.prototype.setState = function (b) {
if (b !== this.currentState) {
var a = this.attribs[b],
c = a.attr.label;
this.rootPanel.options(a.layout.label);
this.rootPanel.attr(c);
this.currentState = b;
}
};
c.prototype.attr = function (b) {
this.rootPanel.attr(b);
};
c.prototype.getTextEl = function () {
return this.rootVisuals.text;
};
c.prototype.getText = function () {
return this.evalText(this.options("text")) || "";
};
c.prototype.evalText = function (b) {
var a = this.target || this.chart;
b && a && a.replaceTokens && (b = a.replaceTokens(b));
return b;
};
return c;
})(Lt),
UC = "visible fill outline opacity radius padding position margin corners shadow width height".split(" "),
Pm = function (a) {
a = a ? a.boxDefaults() : Cf();
a.fill = Eh(a.fill, 0.8);
a.position = "bltl";
return a;
},
ej = (function (a) {
function c(b, c, e) {
b = a.call(this, b, c, [b, c, e]) || this;
b.target = e;
b.fillShading = "box";
b.asHTML = !1;
b.isVisible = !1;
b.applyOptions(!1);
return b;
}
K(c, a);
c.prototype.init = function () {
for (var b = [], a = 0; a < arguments.length; a++) b[a] = arguments[a];
G(b, 3);
};
c.prototype.defaultOptions = function () {
var b = C(this.chart.currentOptions, "defaultAnnotation");
return A(Pm(this.chart), b);
};
c.prototype.setRootVisuals = function () {
var b = this,
a = this.renderer;
this.rootPanel ||
((a = this.rootPanel =
this.rootPanel ||
(this.asHTML || this.currentOptions.asHTML
? a.renderer.htmlElement().attr({ left: 0, top: 0 })
: a.box({ autoWrap: "none", transition: { auto: !0, animation: t(this.currentOptions.animation) ? this.currentOptions.animation : { duration: 1200 } } }))),
this.rootVisuals || (this.rootVisuals = { content: this.createContentVisual(a) }),
a.on("click", function (a) {
return b.click(a);
}));
return this;
};
c.prototype.getBounds = function (b) {
return !b && this.currentOptions.asHTML ? this.bbox() : a.prototype.getBounds.call(this, b);
};
c.prototype.createContentVisual = function (b) {
var a = this.renderer;
return this.asHTML || this.currentOptions.asHTML ? a.renderer.htmlElement().add(b) : a.textStack().add(b);
};
c.prototype.bbox = function (b) {
var a = this.rootPanel,
c = a.getBbox();
this.currentOptions.asHTML &&
((b = b ? Ac(this.currentOptions.margin) : [0, 0, 0, 0]),
(c.x = (parseFloat(a.attr("left")) || 0) - b[3]),
(c.y = (parseFloat(a.attr("top")) || 0) - b[0]),
(c.width = c.width + b[1] + b[3]),
(c.height = c.height + b[0] + b[2]));
return [c.x, c.y, c.width, c.height];
};
c.prototype.visible = function (b) {
t(b) || (b = "none" !== this.rootPanel.attr("display"));
this.rootPanel.attr({ display: b ? "block" : "none" });
this.setVisible(b);
return this;
};
c.prototype.setVisible = function (b) {
this.isVisible = b;
};
c.prototype.alignTo = function () {
for (var b, a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
(b = this.rootPanel).alignTo.apply(b, H(a));
};
c.prototype.options = function (b, a) {
var c = this.optionsGetter(b);
if ("NotGetter" !== c) return c;
c = this.normalizeOptions(b);
var d = this.userOptions.label,
g = c.label && c.label.text;
d = d && d.text;
g = t(g) && d !== g;
if (!Lj(this.userOptions, c)) return this;
this.setOptions();
c = t(a);
this.applyOptions(c ? a : { skipReflow: !0 });
if (!1 === a || (c && a.skipReflow)) return this;
g = (c = this.rootPanel) && c.isPatched && (g || void 0);
!g && c && this.chart.isRendered && !1 !== a && ((b = pa(b)), 0 < gc(b, UC).length && (g = !0));
g && (G(Ig(this), 1)[0] ? c.refresh && c.refresh() : this.chart.chartAreaSet.reflow(a, !1, !0));
this.afterUpdate(a);
return this;
};
c.prototype.normalizeOptions = function (b) {
var c = void 0;
void 0 === c && (c = "corners");
var e, f;
"undefined" !== (f = I((e = C(b, c)))) && "object" === f && (b[c] = sw(e));
return a.prototype.normalizeOptions.call(this, b);
};
c.prototype.applyOptions = function (b) {
void 0 === b && (b = {});
b = Sa(b);
this.rootPanel || this.setOptions();
var a = this.currentOptions,
c = this.userOptions,
f = this.rootPanel,
g = this.rootVisuals.content,
h = this.asHTML || a.asHTML,
k = qa(z(b.animation, a.animation, {}));
b = qa(a);
var l = qc(a.label),
m = C(a, "label.text");
if (h) {
var n = this.rootPanel,
p = n.transition(),
q = n.renderer.isAnimationDisabled(b);
b.animation = n.isPatched && !q ? (p ? A(p.getAnimationOptions(), k) : k) : null;
b = br(b);
} else (b = Cg(b, z(a.fillShading, this.fillShading))), (b.animation = k);
if ((m = this.evalText(m)) || (!this.asHTML && g && g.textAttr !== m) || (this.asHTML && f.innerHTML !== m))
(l = A({ animation: { duration: 0 } }, l)), this.asHTML || a.asHTML ? (l.innerHTML = m) : ((l.val = m), c.width && ((l.maxWidth = c.width), (l.strategy = "none"))), g && g.attr(l);
this.checkVisibility(a);
a = this.currentOptions.position;
this._pos_ !== a
? ((this._pos_ = a),
(c = this._posInfo_ = tr(this.currentOptions)),
c[0]
? ((a = c[1]),
(g = c[2]),
(k = this.chart.chartAreaSet),
(c = this.rootPanel.getBboxArray ? this.rootPanel.getBboxArray() : [0, 0].join(this.bbox(!0).slice(2))),
(g = 0 === g ? this.chart.rootVisuals.itemsBox.getGlobalBboxArray() : k.items[0].getContentGlobalBbox()),
(a = [a[0] + g[0] - c[0], a[1] + g[1] - c[1]]))
: (a = void 0))
: (a = void 0);
a && ((b[h ? "left" : "offsetX"] = h ? a[0] + "px" : a[0]), (b[h ? "top" : "offsetY"] = h ? a[1] + "px" : a[1]));
f.attr(this.transformRootAttr(b));
this.triggerOptionsApplied();
return this;
};
c.prototype.triggerOptionsApplied = function () {
this.chart.triggerOptionsApplied("annotation", this);
};
c.prototype.transformRootAttr = function (b) {
return b;
};
c.prototype.checkVisibility = function (b) {
b = !1 !== b.visible;
var a = this.rootPanel ? "none" !== this.rootPanel.attr("display") : this.isVisible,
c = b !== a;
this.setVisible(a);
c && this.visible(b);
};
c.prototype.destroy = function () {
a.prototype.destroy.call(this);
this._unsubscribeContentBox && this._unsubscribeContentBox();
this.rootPanel && this.rootPanel.destroy();
};
c.prototype.remove = function (b) {
var a = this.chart,
c;
pb(a._annotations, this);
(c = S(a.userOptions.annotations, { id: this.id })) && pb(a.userOptions.annotations, c);
this.destroy();
!1 !== b && this.chart.chartAreaSet.reflow(!1, !1, !0);
};
c.prototype.measure = function (b) {
this.isMeasured = !0;
b && !this.currentOptions.maxWidth && this.rootPanel.attr({ maxWidth: b[2] });
return this.rootPanel ? (this.rootPanel.isHtml ? ha(this.bbox(!0)) : this.rootPanel.setPreliminarySize(!0).getGlobalBboxArray(!0)) : [0, 0, 0, 0];
};
c.prototype.positionApplied = function (b) {};
c.prototype.positionUpdated = function (b) {
this.positionApplied(b);
};
c.prototype.getText = function () {};
c.prototype.evalText = function (b) {
var a = this.target || this.chart;
a && a.replaceTokens && "string" === typeof b && -1 < b.indexOf("%") && (b = a.replaceTokens(b));
return b;
};
return c;
})(jc),
VC = (function (a) {
function c(b, c) {
c = a.call(this, b.chart, c, b) || this;
c.chartArea = b;
c.fillShading = "titleBox";
return c;
}
K(c, a);
c.prototype.applyOptions = function () {
var b = this.currentOptions;
if (!1 === b.visible) return this.rootPanel.attr({ suspend: "true" }), this;
a.prototype.applyOptions.call(this);
if ((b = C(b, "position"))) "full" === b ? this.rootPanel.attr({ width: "100%", strategy: "none" }) : this.rootPanel.attr({ width: "auto" });
return this;
};
c.prototype.triggerOptionsApplied = function () {
this.chart.triggerOptionsApplied("title", this);
};
c.prototype.defaultOptions = function () {
var b = this.chart;
b = b ? b.boxDefaults() : Cf();
return A(b, { position: "left", padding: [3, 3, 6, 3], corners: ["cut", "square", "square", "square"], label: { align: "left", style: { fontSize: 14 } }, animation: !1, shadow: z(b.shadow, !0) });
};
c.prototype.dependentOptions = function () {
return [
{
option: "fill",
check: function (b) {
return b;
},
dependent: "padding",
value: 3,
},
];
};
c.prototype.setRootVisuals = function () {
a.prototype.setRootVisuals.call(this);
this.rootPanel.attr({ transition: !1 });
return this;
};
c.prototype.createContentVisual = function (b) {
return this.renderer.textStack().add(b);
};
return c;
})(ej),
Qm = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "EntryWrapper";
return b;
}
K(c, a);
c.prototype.defaultOptions = function () {
return {};
};
c.prototype.styleIconVisual = function (b, a) {
if (b) {
b = b.base;
var c = A({}, this.currentOptions),
d = C(c, "outline.color");
Z(c, "outline.color", d || ia("outline", c.color || "white"));
c = fc(c);
b && b.attr(c);
a.isStyled = !0;
}
};
c.prototype.getIconVisual = function (b, a, c) {
a = this.renderer;
c = c.iconVisual || {};
var d = (c.root = c.root || a.panel({ yAlignment: "center" }));
b = this.getIconPaths(b);
b.base && !c.base && (c.base = c.base || a.renderer.path({ d: b.base }).add(d));
return c;
};
c.prototype.getIconPaths = function (b) {
return { base: dc.rectangle(0, 0, b[0], b[1], { r: 2, corners: ["round", "round", "round", "round"] }), extra: void 0 };
};
c.prototype.setState = function (b) {};
c.prototype.replaceTokens = function (b, a) {
return this.chart.replaceTokens(b, a);
};
c.prototype.getFormatInfo = function () {
return this.chart.getFormatInfo();
};
return c;
})(jc),
Mt = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "RangeValueEntry";
return b;
}
K(c, a);
c.prototype.replaceTokens = function (b, a) {
return Gg(b, this, a || this.getFormatInfo());
};
return c;
})(Qm),
lb = function (a) {
return "string" === typeof a
? ((a = a.trim()), a.match(Rk) ? parseFloat(a) : a.match(/\/|:|AM|PM|\.\d\./g) && !Ha(new Date(a).getTime()) && 6 <= a.length && 6 <= a.replace(/[^0-9]/g, "").length ? new Date(a).getTime() : parseFloat(a))
: a;
},
Nt = (function () {
function a(a, b) {
this.chart = a;
this.kind = "SmartPalette";
this.axisRange = [];
this.legendEntries = [];
this.colorRanges = [];
this.mode = "colorBar";
this.rangesMode = "manual";
this.currentOptions = {};
this.userOptions = {};
this.refreshExtremes = !1;
zb(b);
this.setOptions(b);
this.id = b.id;
a && (this.ciManager = a.chartItemManager).register(this);
}
a.prototype.options = function (a) {
var b = xr(this, a);
if ("NotGetter" !== b) return b;
this.setOptions(a);
return this;
};
a.prototype.setOptions = function (a) {
A(this.userOptions, this.normalizeOptions(a, "colors,id"));
this.refreshExtremes = O(a.pointValue) && this.currentOptions.pointValue !== this.userOptions.pointValue;
this.currentOptions = this.translateOptions(A({}, this.defaultOptions(), this.userOptions));
this.initialized = !1;
this.mode = a.ranges ? "ranges" : "colorBar";
this.stopPosDefined = !0;
this.colorRanges = [];
this.stops = this.getStops();
this.setStopRange();
};
a.prototype.normalizeOptions = function (a, b) {
return Sa(a, b);
};
a.prototype.translateOptions = function (a) {
var b;
if ((b = a.ranges))
if ("array" === I(b))
a.ranges = B(b, function (b) {
return "object" === I(b) ? b : { value: b };
});
else {
var c = b.min,
e = b.max,
f = [];
b = b.interval;
!t(b) || (t(c) && t(e)) || (Ma.emit("warning", a.id || this.id, "minMaxRequired", { container: this.chart.getWrapper() }), (c = c || 0), (e = z(e, 3 * b)));
if (t(c) && t(e)) {
var g = e - c;
e = z(b, g / 3);
b = lm(g / e);
20 < b && ((e = lm(g / 20)), (b = lm(g / e)), Ma.emit("warning", a.id || this.id, "spRangesOverflow", { data: ["ranges.interval"], container: this.chart.getWrapper() }));
g = 0;
for (var h = b; g < h; g++) f.push({ value: g === b - 1 ? [c + e * g, c + e * (g + 1)] : c + e * g });
a.ranges = f;
}
}
return a;
};
a.prototype.defaultOptions = function () {
return {};
};
a.prototype.syncLegendEntries = function (a) {
var b = a.smartPalette,
c = b.getRangeConfigs(),
e,
f = [];
b.legendEntries.length
? ((f = b.legendEntries),
w(f, function (b) {
return b.setColumns();
}))
: (w(c, function (b) {
f.push((e = a.addEntry(new WC(a.chart, b))));
e.setColumns();
}),
(b.legendEntries = f));
return f;
};
a.prototype.getRangeConfigs = function () {
var a = this.currentOptions,
b = a.ranges,
d = function (b, c) {
return A({ legendEntry: { value: "%min - %max", name: " ", cursor: "default", set: 1 } }, a.defaultRange || {}, b, c);
};
if ("array" === I(b))
return this.colorRanges.length
? this.colorRanges
: B(b, function (a, c) {
var e = c ? b[c - 1] : void 0,
f = c < b.length - 1 ? b[c + 1] : void 0;
c = hb(a.value, lb);
return f ? ((e = f.value), d({ min: c.pop ? c[0] : c, max: e.pop ? e[0] : e }, a)) : "array" === I(c) ? d({ min: c[0], max: c[1] }, Ga(a, "value")) : d({ min: c, max: c + Math.abs(c - lb(e.value)) }, a);
});
};
a.prototype.setStopRange = function () {
var a = B(this.stops, function (b) {
return b[0];
}),
b = Math.min.apply(Math, H(a));
a = Math.max.apply(Math, H(a));
this.stopRange = a - b;
this.stopExtremes = [b, a];
var d = hb(this.currentOptions.colorsValueRange, lb);
this.clips = !(0 <= b && 1 >= a) || d;
};
a.prototype.getStops = function (c) {
var b = this,
d = this,
e = d.currentOptions,
f = function () {
var b = [],
a = [];
a = l.map(function (b) {
return lb(b[0]);
});
for (var c = 0, d = l.length; c < d; c++) a[c] = l[c][0];
a = [Math.min.apply(null, a), Math.max.apply(null, a)];
for (c = l.length - 1; -1 < c; c--) {
d = l[c];
var e = void 0,
f = void 0;
e = [na(a[1] - lb(d[0]) + a[0], 2), d[1]];
if ((f = 0 < c ? l[c - 1] : void 0)) 3 < f.length ? ((e[2] = 1 - f[3]), (e[3] = 1 - f[2])) : 2 < f.length && ((e[2] = 0), (e[3] = 1 - f[2]));
b.push(e);
}
l = b;
},
g = function () {
var b = e.colors,
a = hb(e.colorsValueRange, lb);
d.stopPosDefined = !1;
"solid" === c && b.push(b[b.length - 1]);
var f = z(C(a, "0"), 0),
g = (z(C(a, "1"), 1) - f) / (b.length - 1);
return B(b, function (b, a) {
return "solid" === c ? [f + a * g, b, 1] : [f + a * g, b];
});
},
h = function () {
var c = e.ranges,
f = [],
g = !0,
h = [];
w(c, function (b) {
var a = "object" === I(b) ? b.value : b;
g = (b = b.color) ? g : !1;
a = hb(a, lb);
a.pop ? (f.push([a[0], b, 1]), f.push([a[1], b]), h.push(a[0])) : (f.push([a, b, 1]), h.push(a));
});
if (!g) {
e.colors || ((e.colors = ["white"]), Ma.emit("warning", e.id, "colorsRequired", { container: b.chart.getWrapper() }));
for (var k = e.colors, l = Math.min.apply(Math, H(h)), x = [], v = (Math.max.apply(Math, H(h)) - l) / (k.length - 1), y = 0, t = k.length; y < t; y++) x.push([l + v * y, k[y]]);
var E = new a(d.chart, { stops: x, invert: e.invert });
w(f, function (b) {
b[1] = E.getValueColor(b[0]);
});
w(c, function (b) {
b.color = b.value.pop ? E.getValueColor(lb(b.value[0])) : E.getValueColor(lb(b.value));
});
E.destroy();
}
return f;
},
k = function (b) {
if (b && b.length)
return b.map(function (b) {
b = b.slice(0);
b[0] = lb(b[0]);
return b;
});
},
l = "ranges" === d.mode ? h() : k(e.stops) || g();
e.invert && "ranges" !== d.mode && f();
return l;
};
a.prototype.getPointColor = function (a, b, d) {
d = d || {};
b = this.getPointValue(b, a, d);
return this.getValueColor(b, a);
};
a.prototype.getValueColor = function (a, b) {
var c = this.stops || this.getStops(b);
(function () {
if (b) {
var a;
if ((a = b.info.style.base)) for (var d = 0, g = c.length; d < g; d++) "%color" === c[d][1].toLowerCase() && (c[d][1] = a.color);
}
})();
a = this.valueToStopPos(a);
return (function (b) {
a: {
for (var a = 0, d = c.length; a < d; a++) {
var e = c[a];
if (lb(e[0]) > b) {
a = 0 === a ? [e] : [c[a - 1], e];
break a;
}
lb(e[0]);
if (a === d - 1) {
a = [e];
break a;
}
}
a = void 0;
}
d = a[0];
e = [];
if (1 === a.length) return a[0][1];
b = Y(0, 1, d[0], a[1][0], b);
2 < d.length && ((e[0] = d[2]), 3 < d.length && (e[1] = d[3]));
if (b < e[0]) return d[1];
if (1 < e.length && b > e[1]) return a[1][1];
var k = [0, 1];
1 < e.length ? (k = e) : 0 < e.length && (k[0] = e[0]);
b = Y(0, 1, k[0], k[1], b);
return qe(d[1], a[1][1], 100 * b);
})(a);
};
a.prototype.setPointSpValues = function (a, b) {
var c = a.userPoints,
e = this.currentOptions,
f = e.colorsValueRange,
g = a.colorKey || "valueSP";
if (a.info.usesSmartPalette && c && c.length) {
var h = c.length - 1,
k = c[h];
k[g] = this.getPointValue(k, a);
if (this.extremes && !this.refreshExtremes) {
b = this.extremes[0];
var l = this.extremes[1];
} else b = l = k[g];
for (; h--; ) {
k = c[h];
var m = (k = k[g] = this.getPointValue(k, a));
null !== m && !Ha(m) && (k > l ? (l = k) : k < b && (b = k));
}
this.extremes = [b, l];
this.refreshExtremes = !1;
this.dataRange = l - b;
c = !f && 0 <= b && 1 >= l;
a = this.axisConfig = {};
(e = e.colorsValueRange) ? ((b = e[0]), (l = e[1])) : c && this.clips ? ((b = 0), (l = 1)) : this.clips || ((b = this.stopPosToValue(0)), (l = this.stopPosToValue(1)));
b = Dg(b, l, 8, { minIntervalGap: 0 });
this.axisRange = [b.min, b.max];
l = 0.001 * (b.max - b.min);
a.min = b.min - l;
a.max = b.max + l;
a.interval = b.interval;
a.tickInterval = b.interval;
a.startOnTick = a.endOnTick = !1;
}
return this.extremes;
};
a.prototype.getPointValue = function (a, b, d) {
d = d || {};
var c = this.currentOptions,
f = t(a._i) ? b._points[a._i] : S(b._points, { id: a.id }) || S(b._points, { currentOptions: { id: a.id } });
f || (a = 0);
d = d.spSrc;
"number" === typeof a
? (f = a)
: ((a = b.ctmIsType("heatmap") ? "percentOfZAxisRange" : "percentOfYAxisRange"),
(c = c.pointValue) || ((b = 1 < b.userPoints.length ? ("chart" === d ? "{%percentOfDataRange/100}" : "{%percentOfSeriesRange/100}") : "{" + a + "/100}"), (c = b)),
(b = c),
"function" === I(b)
? (f = b(f))
: (-1 === b.indexOf(":") && (b = b.replace("}", ":n5}")), (this.tokenUsed = b), (f = f.replaceTokens(b, { y: { culture: "en-US" }, x: { culture: "en-US" } })), (f = f.replace(/,/g, "")), (f = lb(f))));
return f;
};
a.prototype.valueToStopPos = function (a) {
var b,
c = yr(this),
e = c.dataPerc;
return c.stopPerc && !e && (b = this.axisRange) && t(b[0]) ? Y(0, 1, b[0], b[1], a) : a;
};
a.prototype.stopPosToValue = function (a) {
var b,
c = yr(this),
e = c.dataPerc;
return c.stopPerc && !e && (b = this.extremes) && t(b[0]) && !Ha(b[0]) ? Y(b[0], b[1], 0, 1, a) : a;
};
a.prototype.getTraditionalStops = function (a, b) {
function c(b, a, c) {
function d(b) {
b = Y(h[0], h[1], 0, 1, b);
b = e.stopPosToValue(b);
return e.getValueColor(b);
}
var f = [];
f = (function () {
for (var d = [], e = 0, f = b.length; e < f; e++) {
var g = b[e],
h = e < f - 1 ? b[e + 1] : "undefined",
k = 0 < e ? b[e - 1] : "undefined";
if (g[0] < a && h[0] > a) d.push(a);
else if (!(g[0] < a && h[0] < a))
if (g[0] === a) d.push(g[0]);
else if (h[0] !== a)
if (g[0] > c && k) {
if (k[0] < c) {
d.push(c);
break;
}
} else d.push(g[0]);
}
return d;
})();
return (function (b) {
for (var e = [], f = 0, g = b.length; f < g; f++) {
var h = b[f];
e.push([Y(0, 1, a, c, h), d(h)]);
}
return e;
})(f);
}
var e = this,
f = [],
g = e.getStops(a),
h = [];
a = e.axisRange;
var k = function (b) {
return Y(0, 1, h[0], h[1], b);
};
h = e.stopExtremes;
for (var l = 0, m = g.length; l < m; l++) {
var n = g[l],
p = l < m ? g[l + 1] : void 0;
f.push([k(lb(n[0])), n[1]]);
if (p) {
if (2 < n.length) {
var q = 1 === n[2] ? 1e-4 : 0;
f.push([Y(k(lb(n[0])), k(p[0]) - q, 0, 1, n[2]), n[1]]);
}
3 < n.length && f.push([Y(k(lb(n[0])), k(p[0]), 0, 1, n[3]), p[1]]);
}
}
b && (b.pop && (a = b), b && e.clips && 2 === a.length && ((b = k(e.valueToStopPos(a[0]))), (a = k(e.valueToStopPos(a[1]))), (f = c(f, b, a))));
return f;
};
a.prototype.getPaletteCSS = function (a, b) {
a = this.getTraditionalStops(a);
var c = [];
c.push(b ? "to bottom" : "to right");
a.map(function (b) {
var a = Dh(b[1]).hex;
b = 100 * lb(b[0]);
c.push(a + " " + b + "%");
});
return "background: linear-gradient(" + c.join(", ") + ");";
};
a.prototype.destroy = function () {
this.ciManager.remove(this);
this.destroyEntries();
};
a.prototype.destroyEntries = function () {
w(this.legendEntries, function (a) {
return a.destroy();
});
};
return a;
})(),
WC = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "SmartPaletteEntry";
return b;
}
K(c, a);
return c;
})(Mt),
Ot,
XC = (function () {
function a(a, b) {
this._layout = a;
this._renderer = a.renderer;
this._options = { label: "", type: "default", delay: 300, fill: "#fff" };
this._mini = this._isShowing = this._isStarted = !1;
Ot ||
(this._renderer.cssText(
"\n\n.loader,\n.loader .loader-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\tbottom: 0;\n\toverflow: hidden;\n}\n\n.loader {\n\tanimation:loader-fadeIn ease-in 1;\n\tanimation-fill-mode:forwards;\n\tanimation-duration:0.1s;\n\n\topacity: 0;\n\tvisibility: visible;\n}\n\n.loader.hide,\n.loader.anim-hide {\n\tanimation:loader-fadeOut ease-in 1;\n\tanimation-fill-mode:forwards;\n\tanimation-duration:0.03s;\n}\n\n.loader.hide {\n\tanimation-duration:0s;\n\tvisibility: hidden;\n}\n\n.loader .loader-overlay {\n\topacity: 0.3;\n}\n\n.loader .loader-text {\n\tcolor: #666;\n\tmargin-top: 5px;\n}\n\n.loader.mini .loader-text {\n\ttop: 7px;\n\tleft: 20px;\n}\n\n.loader .loader-icon-holder {\n\tposition: relative;\n\ttop: calc(50% - 35px);\n\ttext-align: center;\n}\n\n.loader.mini .loader-icon-holder {\n\ttop: 7px;\n\tleft:0;\n}\n\n.loader.mini .loader-text {\n\ttop: 1px;\n\tfont-size: 6px;\n}\n\n.loader.bars .loader-icon,\n.loader.bars .loader-icon:before,\n.loader.bars .loader-icon:after {\n\tbackground: rgba(50,102,187, 0.75);\n\tanimation: loader-bars 1s infinite ease-in-out;\n\twidth: 10px;\n\theight: 40px;\n}\n.loader.bars .loader-icon {\n\tcolor: rgba(50,102,187, 0.75);\n\ttext-indent: -9999em;\n\tfont-size: 11px;\n\t-webkit-animation-delay: -0.16s;\n\tanimation-delay: -0.16s;\n\tmargin: 0 auto;\n}\n\n.loader.bars .loader-icon:before,\n.loader.bars .loader-icon:after {\n\tposition: absolute;\n\ttop: 0;\n\tcontent: '';\n}\n\n.loader.bars .loader-icon:before {\n\tleft: -15px;\n\tanimation-delay: -0.32s;\n}\n.loader.bars .loader-icon:after {\n\tleft: 15px;\n}\n\n.loader.bars.mini .loader-icon,\n.loader.bars.mini .loader-icon:before,\n.loader.bars.mini .loader-icon:after {\n\twidth: 5px;\n\theight: 20px;\n\tanimation: loader-bars 1s infinite ease-in-out;\n}\n\n.loader.bars.mini .loader-icon:before {\n\tleft: -7px;\n\tanimation-delay: -0.32s;\n}\n\n.loader.bars.mini .loader-icon:after {\n\tleft: 7px;\n}\n\n.loader.bars.mini .loader-icon {\n\ttop: 5px;\n\tleft: 5px;\n}\n\n\n@keyframes loader-fadeIn { 0% { opacity:0; } 100% { opacity:1; } }\n@keyframes loader-fadeOut { 0% { opacity:1; transform: scale(1); } 99% { transform: scale(1); } 100% { opacity:0; transform: scale(0); } }\n\n@keyframes loader-bars {\n0%,\n80%,\n100% {\n\ttransform: scaleY(0.75);\n}\n40% {\n\ttransform: scaleY(1.25);\n}\n}\n\n@keyframes loader-default { from { opacity: 1 } to { opacity: 0 } }\n\n\n.loader.default .loader-icon {\n\twidth: 50px;\n\theight: 50px;\n\tposition: relative;\n\tmargin: 0 auto;\n}\n\n.loader.default .loader-icon .inner\n{\n\tanimation: loader-default ease-out 0.96s infinite;\n\tposition: absolute;\n\tbackground: #444; \n\tborder-radius: 2px;\n\ttransform-origin: 2px 25px;\n\tleft: 50%; \n\theight: 25%;\n\twidth: 8.33%;\n}\n\n.loader.default.mini .loader-icon {\n\twidth: 20px;\n\theight: 20px;\n}\n\n.loader.default.mini .loader-icon .inner\n{\n\tborder-radius: 1px;\n\ttransform-origin: 0px 10px;\n}\n\n.loader.default .loader-icon .inner:nth-of-type(1) {\n\ttransform: rotate(0deg);\n\tanimation-delay: -0.88s;\n}\n.loader.default .loader-icon .inner:nth-of-type(2) {\n\ttransform: rotate(30deg);\n\tanimation-delay: -0.8s;\n}\n\n.loader.default .loader-icon .inner:nth-of-type(3) {\n\ttransform: rotate(60deg);\n\tanimation-delay: -0.72s;\n}\n\n.loader.default .loader-icon .inner:nth-of-type(4) {\n\ttransform: rotate(90deg);\n\tanimation-delay: -0.64s;\n}\n.loader.default .loader-icon .inner:nth-of-type(5) {\n\ttransform: rotate(120deg);\n\tanimation-delay: -0.56s;\n}\n.loader.default .loader-icon .inner:nth-of-type(6) {\n\ttransform: rotate(150deg);\n\tanimation-delay: -0.48s;\n}\n.loader.default .loader-icon .inner:nth-of-type(7) {\n\ttransform: rotate(180deg);\n\tanimation-delay: -0.4s;\n}\n.loader.default .loader-icon .inner:nth-of-type(8) {\n\ttransform: rotate(210deg);\n\tanimation-delay: -0.32s;\n}\n.loader.default .loader-icon .inner:nth-of-type(9){\n\ttransform: rotate(240deg);\n\tanimation-delay: -0.24s;\n}\n.loader.default .loader-icon .inner:nth-of-type(10){\n\ttransform: rotate(270deg);\n\tanimation-delay: -0.16s;\n}\n.loader.default .loader-icon .inner:nth-of-type(11) {\n\ttransform: rotate(300deg);\n\tanimation-delay: -0.08s;\n}\n.loader.default .loader-icon .inner:nth-of-type(12) {\n\ttransform: rotate(330deg);\n}\n"
),
(Ot = !0));
b && this.options(b);
}
a.prototype.options = function (a) {
L(this._options, a);
};
a.prototype.loading = function (a, b) {
return !1 === a ? this.end() : this._renderer.isRootHidden() ? !1 : this.start(a, b);
};
a.prototype.destroy = function () {
this.end();
this._loaderElement && this._loaderElement.destroy();
};
a.prototype.ensureAnimationApplied = function (a) {
var b = this,
c = new Date().getTime() - b._endTime;
b._animationApplied || !b._isShowing || !0 !== b._options.break || 0 > c
? a()
: (b._loaderElement.attr({ "animation-delay": "0ms" }),
uo(function () {
b._animationApplied = !0;
b.insideRequest = !0;
a();
b.insideRequest = !1;
}));
};
a.prototype.mainClass = function () {
return "loader " + this._options.type;
};
a.prototype.createElements = function () {
if (!this._loaderElement) {
this._loaderElement = this._renderer.htmlElement("", { class: this.mainClass() + " hide" }).add(this._renderer.wrapper);
this._overlayElement = this._renderer.htmlElement("", { class: "loader-overlay" }).add(this._loaderElement);
this._iconHolderElement = this._renderer.htmlElement("", { class: "loader-icon-holder" }).add(this._loaderElement);
this._iconElement = this._renderer.htmlElement("", { class: "loader-icon" }).add(this._iconHolderElement);
this._textElement = this._renderer.htmlElement("", { class: "loader-text" }).add(this._iconHolderElement);
for (var a = 0; 12 > a; a++) this._renderer.htmlElement("", { class: "inner" }).add(this._iconElement);
}
return this._loaderElement;
};
a.prototype.end = function () {
if (!this._isStarted || !this._loaderElement) return !1;
if (this._isShowing) {
var a = 0 < new Date().getTime() - this._endTime && this._animationApplied ? "anim-hide" : "hide";
this._loaderElement.attr({ class: this.mainClass() + " " + (this._mini ? "mini " : "") + a, "animation-delay": "0ms" });
}
this._isStarted = this._isShowing = !1;
return !0;
};
a.prototype.start = function (a, b) {
var c = this,
e = c._isStarted,
f = (t(b) ? b : c._options.delay) || 0,
g = !c._loaderElement,
h = O(a) || null === a ? a : c._options.label,
k = c._textToShow !== h;
if (c._isStarted && !k && b) return !1;
c._isStarted = !0;
c._textToShow = h;
c.createElements();
(function () {
(k || g) && c._textElement.attr({ innerHTML: h });
if (!c._isShowing) {
var b = c._layout.getRootBox();
c._mini = 50 > b.height || 50 > b.width;
c._endTime = f + new Date().getTime();
c._animationApplied = !1;
uo(function () {
if (!c._animationApplied) {
c._animationApplied = !0;
var b = c._endTime - new Date().getTime();
c._isShowing && c._loaderElement.attr({ "animation-delay": (0 < b ? b : 0) + "ms" });
}
});
c._loaderElement.attr({ class: c._mini ? c.mainClass() + " mini" : c.mainClass(), width: b.width + "px", height: b.height + "px", "animation-delay": f + "ms" });
c._overlayElement.attr({ "background-color": c._options.fill || "#fff" });
c._isShowing = !0;
}
})();
return !e;
};
return a;
})(),
YC = (function () {
return function (a) {
this.series = a;
};
})(),
Pt = { contentArea: 0, axis: 1 },
$y = (function () {
function a(a) {
this.layout = a;
this.uses = {};
}
a.prototype.use = function (a) {
this.uses = a;
return this;
};
a.prototype.build = function (a) {
var b = this.layout,
c = {};
a = this.uses = a || this.uses;
var e = A({ content: { holder: { stretch: !0 } }, axis: { offset: 0 } }, a);
a.title && ((c.titleBoxPanel = b.panel()), (c.titleBox = new VC(a.title.holder).add(c.titleBoxPanel)));
if (a.axis) {
var f = e.axis.offset;
c.topAxes = b.panel({ type: "stack:y" }).attr(zi("left", "bottom", 0, -f));
c.leftAxes = b.panel({ type: "stack:x" }).attr(zi("right", "top", -f, 0));
c.rightAxes = b.panel({ type: "stack:x" }).attr(zi("left", "top", f, 0));
c.bottomAxes = b.panel({ type: "stack:y" }).attr(zi("left", "top", 0, f));
}
var g = [],
h = a.outline ? a.outline.width : 1;
if (a.content && a.content.stroke) {
c.contentStroke = b.renderer.path({ fill: "none", stroke: "none", "stroke-width": a.content.stroke.width });
var k = !0 === a.content.stroke.onFront;
}
a.background &&
((c.caBackgroundPanel = b.panel({ padding: h / 2 })),
(c.caBackground = b.rect(ve({ fill: "rgba(0,0,0,0)", shadow: !1 })).add(c.caBackgroundPanel)),
(a.contentHolderFront || k) && c.contentStroke.add(c.caBackgroundPanel),
a.contentHolderFront || g.push(c.caBackgroundPanel));
var l = function (a) {
return ve(b.panel({ type: "panel" })).attr({ x: h / 2, y: h / 2 });
};
a.axisMarkers && ((c.axisMarkersBehind = l()), (c.axisMarkersFront = l()));
a.gridLines && ((c.gridLinesBehind = l()), (c.gridLinesFront = l()));
c.dataContent = l();
f = Kd({});
f = c.contentHolder = b.panel(e.content.holder.stretch ? ve(f) : f);
var m = function (b) {
return b && g.push(b);
};
m(c.gridLinesBehind);
!a.axis && a.contentHolderFront ? (m(c.axisMarkersBehind), (c.axisContentBehind = l()), g.push(c.axisContentBehind)) : m(c.axisMarkersBehind);
g.push(c.dataContent);
m(c.gridLinesFront);
m(c.axisMarkersFront);
!a.axis && a.contentHolderFront && ((c.axisContentFront = l()), g.push(c.axisContentFront));
c.content = b.panel(ve(Kd({ val: g }))).add(f);
a.contentOverlay && (c.contentOverlay = b.panel(ve(Kd({}))).add(f));
!a.contentHolderFront && !1 === k && c.contentStroke.add(f);
a.annotationLayer && (c.anHolder = b.panel(ve(Kd({}))).add(f));
a.overflow && ((c.topOverflow = b.panel()), (c.leftOverflow = b.panel()), (c.rightOverflow = b.panel()), (c.bottomOverflow = b.panel()));
k = function (a) {
if (!a) return a;
var c = b.panel({ zIndex: Pt.axis });
a.add(c);
return c;
};
k = {
type: "grid",
val: [
[b.panel(), k(c.topAxes), b.panel()],
[k(c.leftAxes), f, k(c.rightAxes)],
[b.panel(), k(c.bottomAxes), b.panel()],
],
};
a.contentHolderFront && ((c.contentHolderBehind = b.panel()), (c.contentHolderFront = b.panel()));
c.grid = !a.axis && a.contentHolderFront ? b.panel({ val: [c.caBackgroundPanel, c.contentHolderBehind, f, c.contentHolderFront] }) : a.axis ? b.panel(e.content.holder.stretch ? ve(k) : k) : f;
c.mainStacks = a.overflow
? b.panel({
type: "stack:y",
val: [
Kd({ val: a.title ? [c.topOverflow, { type: "stack:y", yAlignment: "bottom", val: [c.titleBoxPanel] }] : [c.topOverflow] }),
{ type: "stack:x", val: [Kd({ val: [c.leftOverflow] }), c.grid, Kd({ val: [c.rightOverflow] })] },
Kd({ val: [c.bottomOverflow] }),
],
})
: c.grid;
return c;
};
return a;
})(),
Rm,
Qt = { custom: 1e3, AxisMarker: 1200 },
Sm = function (a) {
var c = a.point,
b = a.yVal;
a = a.color || c.tokenValue("%color");
c = df(a);
return { value: b, label: { color: 0.65 < c ? "#000" : "#fff" }, fill: a, outline: { color: 0.85 < c ? "#d3d3d3" : a }, gridLine: { color: a } };
},
Tm = (function () {
function a(a) {
this.chartArea = a;
this.boxes = [];
this.labelBoxes = [];
this.paths = [];
this._allBoxes = void 0;
this.anyColLabelOverflow = !1;
}
a.prototype.addIdBox = function (a, b) {
b.id = a;
this.addBox(b);
};
a.prototype.addBox = function (a) {
a && 4 === a.length && this.boxes.push(a);
};
a.prototype.addBodyBox = function (a) {
this.addBox(a);
};
a.prototype.addLabelBox = function (a, b) {
a && 4 === a.length && ((a.id = b), this.labelBoxes.push(a));
};
a.prototype.reset = function () {
this.boxes = [];
this.labelBoxes = [];
this._allBoxes = void 0;
this.anyColLabelOverflow = !1;
};
a.prototype.collideAllExcept = function (a, b) {
if (Yc(this.boxes, a) || Yc(this.labelBoxes, a)) return !0;
};
a.prototype.collideAll = function (a, b) {
if (Yc(this.boxes, a, b) || Yc(this.labelBoxes, a, b)) return !0;
};
a.prototype.collideLabels = function (a, b) {
return Yc(this.labelBoxes, a, b) ? !0 : !1;
};
a.prototype.alignAvoid = function (a, b) {
a = vh(a, this.boxes, b);
return vh(a, this.labelBoxes, b);
};
return a;
})(),
ZC = (function (a) {
function c(b, c) {
var d = a.call(this, b.chart, c, [b, c]) || this;
d.series = b;
d.attribs = { point: {}, states: {} };
d.kind = "Point";
d.visuals = { marker: void 0, rect: void 0, body: void 0, rectComplete: void 0, errorY: void 0, errorX: void 0, errorXV: void 0, errorYV: void 0, label: void 0, labelConnector: void 0 };
d._state = "";
d.info = {};
d.isMousedOver = !1;
d.chart = b.chart;
d.x = c.x;
d.y = c.y;
d.name = c.name;
d._i = c._i;
d._state = "";
(d.selected = c.selected) && Jl(d, !0);
return d;
}
K(c, a);
c.prototype.init = function (a, c) {
this.series = a;
this._i = c._i;
this.defaultMutable = !0;
};
c.prototype.options = function (a, c) {
var b = this.series,
d = !0,
g = this.optionsGetter(a);
if ("NotGetter" !== g) return g;
if ("object" === typeof a.mapData && (this.setMapData(a.mapData), 1 === pa(a).length)) return this;
a = Sa(a, "map,mapData,geometry");
g = pa(a);
0 < gc(g, Js).length ? b.seriesDirty.pointData(!0) : 0 < gc(g, Cr).length && b.seriesDirty.pointIndex(!0);
if (0 < gc(g, bB).length && (t(a.selected) && Jl(this, a.selected), t(a.muted) && "select" !== this._state && this.setState(a.muted ? "mute" : ""), this.chart.isRendered && this.syncLeCheckbox(), 1 === g.length)) {
d = !1;
var h = !0;
}
t(a._i) && (this._i = a._i);
L(this.userOptions, a);
h ? L(this.currentOptions, a) : ((b.userPoints[this._i] = this.userOptions), this.genOptions());
Ll(this);
if (d && !1 !== c) {
b.chartArea.invalidate();
b.setDataInfo();
c = this.normalizeUpdateOpt({ animation: b.currentOptions.animation }, c);
this.chart.redraw(c);
var k = !0;
}
this.triggerUser("update");
this.userDefinedExploded = t(this.userOptions.exploded);
!k && this.afterUpdate(c);
return this;
};
c.prototype.defaultOptions = function () {
return Kl(this.series, this._i);
};
c.prototype.contextOptions = function () {};
c.prototype.setOptions = function () {
a.prototype.setOptions.call(this);
Ll(this);
return this;
};
c.prototype.setState = function (a, c) {
var b = this,
d = b.series,
g = b.chart;
a = Ml(b, a);
var h = {};
if (t(null === c || void 0 === c ? void 0 : c.animation)) {
A(h, !1 === c.animation ? { duration: 0 } : c.animation);
var k = !!h.duration;
}
if (a !== b._state) {
c = b.userDefinedExploded;
var l = (b.coord() || {}).styleSet || d.getPointAttr(this),
m = l.pointAttr,
n = l.svAttr;
l = function (a) {
var b = a.rootPanel;
return b ? b.rect || b.el : a;
};
var p;
(p = b.visuals.body) && (l = l(p)) && l.attr && l.attr(A(k ? { animation: h } : {}, m[a]));
w(["errorY", "errorX", "errorXV", "errorYV"], function (c) {
(p = b.visuals[c]) && p.attr(A(k ? { animation: h } : {}, n[a]));
});
l = b.selected;
var q = (b.selected = "select" === a);
b._state = a;
var r = d.info.type.isPie,
u = b.userDefinedExploded;
q && !l
? (b.triggerUser("select"), g._pointSelection(), r && !u && b.options({ exploded: !0 }), m[a] || Ma.emit("warning", d.name || d.id, "pointSelectNoAttrs", { data: [b.options("id")], container: d.chart.getWrapper() }))
: !q && l && (b.triggerUser("unselect"), g._pointSelection(), r && !u && b.options({ exploded: !1 }));
b.userDefinedExploded = c;
}
};
c.prototype.select = function (a, c, e) {
a = t(a) ? a : !this.selected;
Jl(this, a, e);
};
c.prototype.mouseOver = function (a) {
var b = this.chart,
c = C(a, "eventArgs");
if (!this.isMousedOver && !1 !== this.series.options("mouseTracking.enabled")) {
this.isMousedOver = !0;
c = this.triggerUser("mouseOver", c);
!1 !== c && "select" !== this._state && this.setState("hover");
var f = b.hoveredPoint;
b.hoveredPoint = this;
f && f !== this && f.mouseOut(a);
a = this.mouseOverOutCursor();
b.setCursor(a.over);
return c;
}
};
c.prototype.mouseOut = function (a) {
var b = C(a, "eventArgs"),
c = this.series;
this.isMousedOver = !1;
if (!this._cursorCaptured) {
if (C(c.currentOptions, "mouseTracking.sticky")) var f = (f = this.chart.hoveredPoint) ? f.series === c : !1;
f || ("select" !== c.state && c.setState(""), c.tooltip.hideTooltip(), !1 === f && c.triggerUser("mouseOut", a));
a = this.triggerUser("mouseOut", b);
!1 !== a && "select" !== this._state && (this.setState(""), c.visualizer.hideHaloMo());
this.chart.setCursor();
return a;
}
};
c.prototype.click = function (a) {
var b = this.currentOptions.nativeClick,
c = C(a, "eventArgs"),
f = this.series.chartArea;
if (!1 !== this.series.options("mouseTracking.enabled")) {
var g = { eventArgs: a.eventArgs, currentTarget: this };
L(g, f.clickData(g));
f = this.series.currentOptions.pointSelection;
a = a.accumulate || (c && c.ctrlKey);
!1 !== this.triggerUser("click", g) && (b && b.call(this, g), f && this.select(void 0, void 0, a), this.syncLeCheckbox());
}
};
c.prototype.mouseOverOutCursor = function () {
var a = this.currentOptions,
c = this.series.currentOptions,
e = a.cursor || c.cursor;
c = c.pointSelection;
a = this.hasUserEvent("click") || a.nativeClick;
var f = { over: void 0, out: "initial" };
if (e || c || a) f.over = e || "pointer";
return f;
};
c.prototype.genOptions = function () {
if (this.currentOptions.mapDataId && this.userOptions.mapDataId && this.currentOptions.mapDataId === this.userOptions.mapDataId) {
var a = this.currentOptions.map,
c = this.userOptions.map,
e = void 0,
f = void 0;
delete this.currentOptions.map;
delete this.userOptions.map;
this.userOptions.mapData &&
this.currentOptions.mapData &&
this.userOptions.mapData !== this.currentOptions.mapData &&
this.userOptions.mapData.id === this.currentOptions.mapData.id &&
((e = this.currentOptions.mapData), (f = this.userOptions.mapData), delete this.currentOptions.mapData, delete this.userOptions.mapData);
this.currentOptions = A(this.defaultOptions(), this.userOptions);
this.currentOptions.map = a;
this.userOptions.map = c;
e && f && ((this.currentOptions.mapData = e), (this.userOptions.mapData = f));
} else this.currentOptions = A(this.defaultOptions(), this.userOptions);
};
c.prototype.getMapData = function () {
return C(this.info, "map") || C(this.userOptions, "mapData") || C(this.userOptions, "map") || {};
};
c.prototype.setMapData = function (a) {
Z(this.info, "map", a);
return this;
};
c.prototype.getPosConfig = function () {
return {};
};
c.prototype.destroy = function () {
w(this.visuals, function (a) {
return a && a.destroy();
});
var b = this.legendEntry;
b && b.destroy();
this.chart.setCursor();
a.prototype.destroy.call(this);
};
c.prototype.syncLegendItems = function (a) {
var b = this.series;
a = 1 / b.points().items.length;
a = b._i + a * this._i;
b = b.chart.requestLegend(b);
var c = this.options("legendEntry.visible");
!1 === c || ("none" !== b.spMode && !0 !== c) || (this.legendEntry ? this.legendEntry.setColumns() : (this.legendEntry = b.addEntry(this, a)));
};
c.prototype.syncLeCheckbox = function () {
var a;
if (null === (a = this.legendEntry) || void 0 === a ? 0 : a.checkbox) this.legendEntry.updateCheckbox(), this.legendEntry.checkbox.refresh();
};
c.prototype.getIconVisual = function (a, c, e) {
var b = this.series;
c !== this && (c = void 0);
return b.getIconVisual(a, c || this, e);
};
c.prototype.iconName = function () {
return this.series.iconName();
};
c.prototype.getIconTag = function () {
var a = this.series.info.style;
return "<icon name=" + this.iconName() + " fill=" + a.base.color + " verticalAlign=middle width=20 height=10>";
};
c.prototype.styleIconVisual = function (a) {
var b = this.series.getPointAttr(this.currentOptions);
a && a.base.attr(b.pointAttr[""]);
};
c.prototype.replaceTokens = function (a, c) {
return ir(a, this.series, this, c || this.series.getFormatInfo());
};
c.prototype.tokenValue = function (a) {
return this.replaceTokens({ token: a });
};
c.prototype.remove = function (a) {
var b = this.series,
c = Sf(b.userPoints, { id: this.options("id") });
-1 < c && (b.removePoint(c, a), this.triggerUser("remove"));
};
c.prototype.zoomTo = function (a) {
var b = this.series;
if (b.ctManager.isType("calendar")) b.zoomTo(a);
else if (b.ctManager.isType("map")) {
var c = this.getMapData();
(c = C(c, "bbox") || C(c, "properties.bbox")) && b.chart.zoom(c, a);
} else
b.chartArea._isStaticDragArea
? ((c = this.coord()), (c = 4 === c.xyz.length ? va(c.xyz) : c.xyz.slice(0, 2)), (c = Rn(c) ? { center: Xc(c, b.visualizer._coordOffset) } : void 0))
: ((c = b.indexer.getValue("pos", this._i).xyz.slice(0, 2)), (c = Rn(c) ? { pos: c } : void 0)),
c && b.chartArea.zoom(c, a);
};
c.prototype.setRootVisuals = function () {
return this;
};
c.prototype.coord = function () {
return this.series.indexer.getItem(this._i).coordinates;
};
c.prototype.bbox = function () {
var a = this.coord();
if (a.pathObj && a.pathObj.isPath) var c = a.pathObj.bbox();
else {
var e = O(a.pathD) ? a.pathD : a.pathD.pop ? a.pathD.join(" ") : void 0;
a.htShape ? (c = a.htShape.bbox()) : O(e) ? (e = -1 < e.indexOf("url") ? Cc(ha(this.visuals.body.getBbox())) : e) && (c = kl(e)) : a.pathD.bbox && (c = a.pathD.bbox());
}
!c && a.xyz && ((c = a.xyz.slice(0, 2)), c.push(0, 0));
e = [];
Xe(e, a.sv, a.svs);
var f = [c];
Xe(f, C(a, "collision.body"));
e.length && f.push(Ua(e));
1 < f.length && (c = Ea(f));
return c;
};
return c;
})(jc),
$C = { top: "bottom", bottom: "top", left: "right", right: "left", center: "center", middle: "middle" },
aD = { top: "right", bottom: "left", left: "top", right: "bottom", center: "middle", middle: "center" },
bD = function () {
var a = function (a) {
a = a.split(",");
return B(a, function (a) {
return { align: "incenter", vAlign: a };
});
},
c = { normal: {}, range: {}, stacked: {}, ganttCandle: {} };
w(
{
normal: { auto: "outtop,intop,outbottom", others: "inmiddle,inbottom" },
range: { auto: "outtop,inmiddle,outbottom", others: "intop,inbottom" },
ganttCandle: { auto: "inmiddle,outtop,outbottom", others: "" },
stacked: { auto: "inmiddle", others: "intop,inbottom" },
},
function (b, d) {
w(b, function (b, f) {
return (c[d][f] = a(b));
});
}
);
return c;
},
cD = function () {
var a = {
normal: {
auto: [
{ align: "left", vAlign: "top" },
{ align: "center", vAlign: "top" },
{ align: "right", vAlign: "top" },
{ align: "left", vAlign: "middle" },
{ align: "right", vAlign: "middle" },
{ align: "left", vAlign: "bottom" },
{ align: "center", vAlign: "bottom" },
{ align: "right", vAlign: "bottom" },
],
others: [{ align: "incenter", vAlign: "inmiddle" }],
},
};
w(a.normal.auto, function (c, b) {
a.normal.others.push({ align: "in" + c.align, vAlign: "in" + c.vAlign });
});
(function (a) {
w(a, function (b, c) {
b = a[c];
b.align = "out" + b.align;
b.vAlign = "out" + b.vAlign;
});
})(a.normal.auto);
return a;
},
Jf = function (a) {
return "i" === a[0] ? ["in", a.substr(2).toLowerCase()] : ["out", a.substr(3).toLowerCase()];
},
Um = function (a, c, b, d, e) {
c = e ? c : b;
a = e ? a.align : a.vAlign;
return (d && d[0] !== a[0]) || (c && c.toLowerCase() !== Jf(a)[1]);
},
Mr = function (a) {
return "i" === a.align[0] && "i" === a.vAlign[0];
},
Rt = function (a, c) {
a = Jf(a);
return a[0] + c[a[1]];
},
Nc = function (a, c) {
var b = c ? aD : $C;
return { align: Rt(c ? a.vAlign : a.align, b), vAlign: Rt(c ? a.align : a.vAlign, b), rotation: a.rotation || 0 };
},
qz = function (a, c, b, d, e, f) {
b = c.slice(0);
e = (function (a, b) {
var c = [],
d = va(a);
a = Yb(a);
var e = { u: [d[0], a[1]], d: [d[0], a[3]], l: [a[0], d[1]], r: [a[2], d[1]] };
w(["u", "d", "l", "r"], function (a) {
var d;
(d = b[a]) && c.push(mb(e[a], [d, d]));
});
return c;
})(c, e);
b = H([b], d, e);
f = (f = f.rectComplete) ? ha(f) : void 0;
b = Ea(b);
c = gk(c, H(d, e, f ? [f] : []));
a.isHoriz() ? ((c = Ye(c, [c[2] - 10, c[3]])), (b = Ye(b, [b[2] + 10, b[3]]))) : ((c = Ye(c, [c[2], c[3] - 10])), (b = Ye(b, [b[2], b[3] + 10])));
return { in: c, out: b };
},
fz = function (a, c, b, d, e) {
a = rb(Ea(H([c], b)), -5);
return { in: gk(c, b), out: a, outCorner: rb(a, 3) };
},
gz = function (a, c, b, d, e) {
a = a.isHoriz();
var f = e.getValue("coordinates", d);
d = e.getValue("coordinates", d - 1);
f && d && ((b = b.slice(0)), (d = d.xyz), (f = f.xyz), a ? b.push(Ua([f, [d[0], f[1]]])) : b.push(Ua([f, [f[0], d[1]]])));
return { in: gk(c, b), out: rb(Ea(H([c], b)), -5) };
},
dD = function (a, c, b, d) {
var e = c.currentOptions.label || {},
f = e.align,
g = e.verticalAlign,
h = "auto" === e.placement ? void 0 : e.placement;
d = f || g || h;
var k = c.series.info.hasYRanges,
l = a.isHoriz(),
m = c.series;
c = m.info;
var n = c.hasSubvalues;
a = m.yAxis.isStacked();
var p = "category" === m.xAxis.type;
m = bD();
c = n || (l && p && c.type.zStacked);
if (e.alignSequence) return e.alignSequence;
if (h && ((l && f) || (!l && g))) return (d = "i" === h[0] ? "in" : "out"), (e = l ? [{ align: d + f, vAlign: "inmiddle" }] : [{ align: "incenter", vAlign: d + g }]);
a = m[a ? "stacked" : c ? "ganttCandle" : k ? "range" : "normal"];
c = function (a) {
return {
u: function (a) {
return a;
},
d: function (a) {
return B(a, function (a) {
return Nc(a);
});
},
r: function (a) {
return B(a, function (a) {
return Nc(a, !0);
});
},
l: function (a) {
return B(a, function (a) {
return Nc(Nc(a, !0));
});
},
}[b](a);
};
e = c(a.auto);
k = function (a) {
return !Um(a, f, g, h, l);
};
d && ((e = ea(e, k)), (d = c(a.others)), e.push.apply(e, H(ea(d, k))));
return e;
},
hz = function (a, c, b) {
c = c.currentOptions.label || {};
var d = c.align,
e = c.verticalAlign,
f = "auto" === c.placement ? void 0 : c.placement;
a = d || e || f;
b = cD();
if (c.alignSequence) return c.alignSequence;
if (d && e) return (a = f && "i" === f[0] ? "in" : "out"), [{ align: a + d, vAlign: a + e }];
b = b.normal;
c = b.auto;
var g = function (a) {
var b = d ? Um(a, d, e, f, !0) : !0;
a = e ? Um(a, d, e, f, !1) : !0;
return b && a;
};
a &&
((c = ea(c, function (a) {
return !g(a);
})),
c.push.apply(
c,
H(
ea(b.others, function (a) {
return !g(a);
})
)
));
return c;
},
eD = function (a, c, b, d) {
var e, f;
t(b)
? (w(a, function (a) {
var g = Ia(c, va(a.box)),
k = 0;
g = Math.abs(ws(b - g + 180, 360) - 180);
if (!t(f) || g < f) (e = a), (f = g);
45 > g ? (k += 2) : (135 < g && (k += 1), d.length && (ro(a.box, d[0]) && (k -= 2), d[1] && ro(a.box, d[1]) && (k -= 2)));
a.score = k;
}),
e && e.score++)
: St(a, c);
},
St = function (a, c) {
var b,
d,
e = t(c);
w(a, function (a) {
var f = 0,
h = Jf(a.vAlign)[1],
k = Jf(a.align)[1];
if (e) {
var l = va(a.box);
l = Xb(c, l);
if (!t(d) || l < d) (d = l), (b = a);
}
"center" === k && (f++, "top" === h && f++);
"middle" === h && f++;
a.score = f;
});
e && (b.score += 3);
},
fD = function (a, c, b, d, e, f) {
w(a, function (a) {
var g = 0,
k = a;
e ? (k = f ? Nc(a, !0) : Nc(Nc(a, !0))) : f && (k = Nc(a));
var l = Jf(k.vAlign)[1];
k = Jf(k.align)[1];
if (b || d) {
var m = b ? "right" : "left";
c ? ("bottom" === l && k === m ? (g += 2) : "middle" === l && k === m ? g++ : "bottom" === l && "center" === k && g++) : (k === m && g++, "bottom" !== l && g++);
} else c ? ("bottom" === l && "center" === k ? (g += 2) : "middle" === l ? g++ : "top" === l && --g) : ("center" === k && g++, "top" === l && g++);
a.score = g;
});
},
kz = function (a, c, b, d, e) {
c = ha(c.coordRect);
va(c);
St(a);
a = sa(a, function (a) {
return a.score;
});
a.reverse();
return a;
},
jz = function (a, c, b, d, e) {
d = function (a) {
return e.getValue("coordinates", a);
};
c = d(b._i);
var f = d(b._i - 1),
g = d(b._i + 1);
d = [];
b.series.ctSvIs("lineSeriesType", "step") || (f && d.push([c.xyz, f.xyz]), g && d.push([c.xyz, g.xyz]));
if (2 === d.length) {
b = Ia(d[0][0], d[0][1]);
var h = Ia(d[1][0], d[1][1]);
h = ws(h - b + 180, 360) - 180;
h = b + h / 2 + 180;
} else d.length && (h = Ia(d[0][1], d[0][0]));
eD(a, c.xyz, h, d);
a = sa(a, function (a) {
return a.score;
});
a.reverse();
return a;
},
iz = function (a, c, b, d, e) {
var f = function (a) {
return e.getValue("coordinates", a);
};
d = f(b._i);
var g = f(b._i - 1);
f = f(b._i + 1);
var h = b.series;
b = 0 === h._i;
var k = h.yAxis;
h = k.isStackedFull();
k = k.isStacked();
c = c.isHoriz();
fD(a, k && !(k && !h && b), !g, !f, c, c ? d.xyz[0] < d.xyzs[0] : d.xyz[1] > d.xyzs[1]);
a = sa(a, function (a) {
return a.score;
});
a.reverse();
return a;
},
Tt = function () {
return { opacity: 0.9, width: 3, color: "#dedeac" };
},
Ut = function () {
return { axes: "x,y", values: "x,y", requiredData: "x,y", supportedData: "x,y,subvalue,subvalueX", privateAxes: "", customAxisOptions: {} };
},
mz = "circle diamond four-point-star five-point-star six-point-star seven-point-star".split(" "),
Ie = (function (a) {
function c(b) {
var c = a.call(this, b) || this;
c.series = b;
c.kind = "base";
c.typeConfig = Ut();
c.typeConfigCtSpecific = {
chartType: { gauge: { privateAxes: "x", customAxisOptions: { x: {} } }, radar: { x: { isRadial: !0, scale: { range: { padding: 0 } } }, y: { isRadial: !0 } } },
radarType: { polar: { x: { radialInterpolation: "spider" } }, spider: { x: { radialInterpolation: "spider" } } },
gaugeType: {},
linearGaugeType: { horizontal: {} },
};
c.shapeLabelMeta = {};
c.debugBBox = !1;
c.staticBodyDGetter = void 0;
c.staticSeriesBodyInfo = xc;
c.staticPointCompleteVisInfo = xc;
c.coordDirty = !0;
c.coordinates = {};
c.paths = { areas: void 0, lines: void 0 };
c.pointValueParser = Ai;
c.collidePointBoxes = !0;
c.getLabelHitTest = function () {
return function (a, b, c) {
var d = a.meta.label;
a = a.meta.labelAttr;
var e = d && d.slice(2);
return d && Ad([d[0] + (a.offsetX || 0), d[1] + (a.offsetY || 0), e[0], e[1]], [b, c]);
};
};
Lr(b);
c.debounce = new Ae();
return c;
}
K(c, a);
c.prototype.getTypeConfigDefault = function () {
return Ut();
};
c.prototype.getTypeConfig = function (a) {
if (!this._typeConfigCache || a) {
var b = this.series;
a = this.getTypeConfigDefault();
var c = this.typeConfigCtSpecific,
f,
g,
h = this.series.ctManager.getSettingChecker(b),
k;
for (k in c) (b = c[k]), (f = h(k)) && (g = b[f]) && A(a, g);
c && (delete a.chartTypeSpecific, A(a, c));
this._typeConfigCache = a;
}
return this._typeConfigCache;
};
c.prototype.pointArrayExpander = function (a) {
return { x: a[0], y: a[1] };
};
c.prototype.pointLeVisible = function (a) {
return !0;
};
c.prototype.contextDefaults = function () {};
c.prototype.eachPoint = function (a) {
for (var b = this.series.points().items, c = 0, f = b.length; c < f && !1 !== a(b[c], b[c]._i); c++);
};
c.prototype.render = function (a, c) {
var b = this.series,
d = b.currentOptions,
g = this,
h = b.info.type,
k = (b.pane || b.chartArea).collisionManager,
l,
m = g.isHoriz(),
n,
p,
q = b.rootVisuals,
r = b.info,
u = r.type,
x = N(b.chart.currentOptions, ["navigator", "enabled"]),
v = b.renderer;
if (t(g.lastRenderVisibility) && !g.lastRenderVisibility && !b.isVisible) return g;
var y = z(N(b.currentOptions, ["defaultPoint", "subvalue", "line", "length"]), 20),
D = y,
E = function (c) {
var d;
c &&
(d = c(g, a)) &&
(U = d.d) &&
(((l = { d: U, zIndex: t(d.zIndex) ? d.zIndex : b.zIndex + gb.series }), (l = g.render_applyDynamicAttrVals([l, d.state, { animation: d.animation }], a, d.state)), (n = d.visGetter()))
? (l.animation && (c = g.getAnimatorOptions(d.shapeName)) && ((l.animation.pathAnimation = c), (c.fromD = N(n, ["data", "attrs", "d"])), n.finishAnimation()), n.attr(l))
: (d.visSetter((n = v.path(l))),
n.add(d.target),
w(d.events, function (a, b) {
return n.on(b, a);
})));
},
F = q.points;
v = v.renderer;
a = Pa(a) ? a : {};
q = F && F.pixelCorrection;
b.state = d.selected ? "select" : d.muted ? "mute" : b.state || "";
if (u.drawArea || u.drawLine)
q && ("step" === b.ctSv("lineSeriesType") || (u.drawMarker && "polar" !== b.ctSv("radarType") && !1 !== N(b.currentOptions, ["defaultPoint", "marker", "visible"])))
? (a.coordinatesCorrection = function (a) {
return ue(F, a, 1);
})
: (a.coordinatesCorrection = function (a) {
return a.map(function (a) {
return [a[0], a[1]];
});
});
!c && b.preRender(a);
a.coordinatesCorrection = null;
w(g.staticSeriesBodyInfo, E);
var R = b.points().items,
C = function (a, b, c, d, e, f) {
var g,
h = "",
k = function (a) {
return (m && !f) || (!m && f)
? [
[a[0], a[1] - e],
[a[0], a[1] + e],
]
: [
[a[0] - e, a[1]],
[a[0] + e, a[1]],
];
};
if (u.drawRect && a) {
a = ha(a);
var l = po(a, b, 1),
n = po(a, c, 1);
l || n || (g = wv(a, [b, c]));
}
g
? w(g, function (a) {
a && a.length && ((h += xa(fb(a))), d && d.labelObstacles.push(Ua(a)));
})
: ((h = xa(fb([b, c]))), d && d.labelObstacles.push(Ua([b, c])));
e && ((h += xa(fb(k(b)))), (h += xa(fb(k(c)))));
return h;
},
wa = this.staticBodyDGetter || lz,
U,
M,
B,
J,
G,
Nb,
K,
L,
I,
Q;
c = function (c, d) {
I = R[P.renderOrder[c]];
if (!I) return "continue";
M = b.indexer.getValue("coordinates", I._i);
G = I.visuals;
if (M) {
var e = I.currentOptions;
Nb = Q = M.styleSet || b.getPointAttr(e);
M.styleSet = Q;
K = Q.svAttr[""];
L = !1;
p = I._state = e.selected ? "select" : e.muted ? "mute" : I._state || "";
c = Q.pointAttr[p];
B = M.xyz;
J = M.xyzs;
M.meta.labelObstacles = [];
Q.labelVisible && g.initPointLabel(I, M, Q);
r.hasSubvalues && ((D = z(N(e, ["subvalue", "line", "length"]), y)), (D *= z(M.width, M.unclusteredWidth, N(M, ["marker", "size"]), 10) / 100));
(x && u.drawMarker && (u.drawLine || u.drawArea)) || (r.hasMaxedMarkerLimit && u.drawMarker && (u.drawLine || u.drawArea) && (e.color || e.outline || e.marker || G.body || (L = !0)));
P.isRadial && (L = !1);
var f = (d = void 0),
q = void 0;
if (!L && ((f = M.prev), !f || f.isVisible || M.isVisible || M.everVisible)) {
f && !f.isVisible && M.isVisible && G.body && f.pathD && G.body.attr({ d: f.pathD, animation: !1 });
U = M.pathObj || M.path || wa(g, I, M, F, c.r, Q.drawMarker);
M.pathD = U;
var t = (f = void 0);
if ((t = M.meta.marker)) f = 0 < t[2] && 0 < t[3];
f || !Np(U)
? ("string" === typeof U && vb(U, "url(")
? ((d = U.replace(/url\(/g, "").replace(/\)/g, "")), (l = { src: d, cx: B[0], cy: B[1], zIndex: b.zIndex + gb.body }))
: U.arcShape && "object" === typeof U
? ((l = A(Oa(U.arcShape), { zIndex: b.zIndex + gb.body })), (q = !0))
: (l = { d: U, zIndex: b.zIndex + gb.body }),
(l = g.render_applyDynamicAttrVals([l, c], a, c)),
(n = G.body)
? ((c = g.getPointAnimatorOptions(M, I)) && !ub(c) && ((l.animation.pathAnimation = c), !n.isComposite && n.finishAnimation()), n.attr(l))
: (q && "solid" === b.ctSv("columnType") && (l.shading = "solid"), (G.body = n = q ? v.element("arcShape", l) : d ? v.element("image", l) : v.path(l)), n.add(F)))
: (n = G.body) && n.attr({ d: U });
if (q && n.hitTest) {
var cb = (M.htShape = n);
M.hitTest = function (a, b) {
return cb.hitTest(a, b);
};
} else if (!M.hitTest && O(M.pathD) && !1 !== e.mouseTracking) {
var Jc = M;
M.hitTest = function (a, b) {
return (Jc.htShape || (Jc.htShape = Aa(Jc.pathD))).hitTest(a, b);
};
}
!1 !== b.isVisible && (k.addBodyBox(N(M, ["collision", "body"])), k.addBox(M.meta.marker));
}
h.drawMarker ||
(!b.currentOptions.forceMarker && !0 !== N(e, ["marker", "visible"])) ||
((Nb = b.getPointAttr(e, !0)),
(c = Nb.pointAttr[p]),
(U = nz(I, g.getBodyShapeName(I, !0), M, c.r, F)),
U.indexOf && vb(U, "url(")
? ((e = (d = b.xAxis) && d.isStackedFull() ? (B[0] + J[0]) / 2 : B[0]), (q = B[1]), (d = U.replace(/url\(/g, "").replace(/\)/g, "")), (l = { src: d, cx: e, cy: q, zIndex: b.zIndex + gb.body }))
: ((l = { d: U, zIndex: b.zIndex + gb.marker }), (d = void 0)),
(l = g.render_applyDynamicAttrVals([l, c], a, c)),
(n = G.marker) ? n.attr(l) : ((G.marker = n = d ? v.element("image", l) : v.path(l)), n.add(F)));
if (r.hasSubvalues && !g.isRadial && "ohlc" !== r.type.seriesType) {
c = {
get: function () {
return G.errorY;
},
set: function (a) {
return (G.errorY = a);
},
onX: !1,
};
d = {
get: function () {
return G.errorX;
},
set: function (a) {
return (G.errorX = a);
},
onX: !0,
};
var gd = K["stroke-width"] || 1,
rg = D / 2;
e = function (c, d) {
c = ue(F, c, gd);
l = { d: C(M.rect, c[0], c[1], M.meta, "candlestick" !== h.seriesType ? rg : 0, d.onX), zIndex: b.zIndex + gb.error };
l = g.render_applyDynamicAttrVals([l, K], a, K);
(n = d.get()) ? n.attr(l) : (d.set((n = v.path(l))), n.add(F));
};
M.sv && M.svs && ((q = M.sv), (f = M.svs), (t = m ? 0 : 1), r.drawRect && (M.sv[t] === M.xyz[t] && (q = M.xyzs), M.svs[t] === M.xyzs[t] && (f = M.xyz)), e([q, f], c));
M.svx && M.svxs && e([M.svx, M.svxs], d);
c = m ? M.svxv : M.svv;
d = m ? M.svv : M.svxv;
var Ba = [];
if (c) {
Ba = [];
var Sp = [];
w(ue(F, c, gd), function (a) {
a = [
[a[0] - rg, a[1]],
[a[0] + rg, a[1]],
];
Ba.push.apply(Ba, H(a));
M.meta.labelObstacles.push(a);
Sp.push(a);
});
l = { d: tg(Sp), zIndex: b.zIndex + gb.error };
l = g.render_applyDynamicAttrVals([l, K], a, K);
(n = G.errorYV) ? n.attr(l) : ((G.errorYV = n = v.path(l)), n.add(F));
}
if (d) {
Ba = [];
var S = [];
w(ue(F, d, gd), function (a) {
a = [
[a[0], a[1] - rg],
[a[0], a[1] + rg],
];
Ba.push.apply(Ba, H(a));
S.push(a);
});
M.meta.labelObstacles.push(Ua(Ba));
l = { d: tg(S), zIndex: b.zIndex + gb.error };
l = g.render_applyDynamicAttrVals([l, K], a, K);
(n = G.errorXV) ? n.attr(l) : ((G.errorXV = n = v.path(l)), n.add(F));
}
}
r.hasComplete &&
E(function (a) {
return a.staticPointCompleteVisInfo(a, I, M);
});
(Q.labelVisible && u.isShape && !b.pane) || u.isAnnotation ? (P.renderLabel(I, Q, M, b.indexer, a), k.addLabelBox(M.meta.label)) : (g.hideVisual(g.getLabelWrapper(G.label, Q)), g.hideVisual(G.labelConnector));
} else g.hideVisual(G.body), g.hideVisual(g.getLabelWrapper(G.label, Q));
g.hideUnusedPointVisuals(I);
I.chart.triggerOptionsApplied("point", I);
};
var P = this;
d = 0;
for (q = R.length; d < q; d++) c(d);
g.isRendered = !0;
g.hideUnused();
g.lastRenderVisibility = b.isVisible;
return g;
};
c.prototype.renderLabels = function (a, c) {
c = this.series;
var b = (c.pane || c.chartArea).collisionManager;
if (c.info.type.isAnnotation || !((c.chart.isRendered && this.isRendered) || c.isVisible)) return this;
a = Pa(a) ? a : {};
a.coordinatesCorrection = null;
for (var d = c.points().items, g, h, k, l = 0, m = d.length; l < m; l++)
if ((k = d[this.renderOrder[l]]))
(g = c.indexer.getValue("coordinates", k._i)),
(h = k.visuals),
g
? ((h = k.currentOptions),
(h = g.styleSet || c.getPointAttr(h)),
h.labelVisible && c.isVisible && (this.renderLabel(k, h, g, c.indexer, a), (h = g.meta.label), this.collidePointBoxes ? b.addLabelBox(h) : h && b.addLabelBox(Hr(g.meta.labelTextBox, h, g.meta.labelAttr))))
: (this.hideVisual(h.body), this.hideVisual(h.label)),
this.hideUnusedPointVisuals(k);
this.isRendered = !0;
this.hideUnused();
return this;
};
c.prototype.getAnimatorOptions = function (a, c) {
c = this.updateInfo;
var b = this.series;
if (c && c.action) {
var d = b.ctManager.settingVal("lineSeriesType", b.currentOptions);
return { action: c.action, at: c.at, count: z(c.count, 1), del: c.del || 0, type: d, shapeName: a, shift: c.shift || !1, fromD: void 0, pointsLen: b._points.length };
}
return null;
};
c.prototype.getPointAnimatorOptions = function (a, c) {
if (this.isRadial && c && "needle" === this.getBodyShapeName(c) && a.coordPrev) {
var b = N(this.series, ["pointBodyDGenerator"]);
return {
needle: {
from: a.coordPrev,
to: a,
gen: function (a) {
return b("needle", a);
},
},
};
}
return {};
};
c.prototype.renderDebug = function (a, c, e) {};
c.prototype.isHoriz = function () {
var a = this.series;
return (a.pane || a.chartArea).isHoriz;
};
c.prototype.renderLabel = function (a, c, e, f, g) {
dz(this, a, c, e, f, g);
};
c.prototype.initPointLabel = function (a, c, e) {
var b = this.series,
d = c.meta,
h = a.visuals,
k = this.kind,
l = (b.pane || b.chartArea).collisionManager,
m = b.info.style.base,
n = b.renderer,
p = b.rootVisuals,
q = b.info.type,
r = this.isHoriz();
if (!d.labelSize) {
b = N(a.currentOptions, ["label", "text"]) || b.info.labelTextInfo.label;
"function" === I(b) && (b = b(a) || "");
b = a.replaceTokens(b);
d.labelText = b;
a = qc(e.label, "pie" === k ? ["offset"] : void 0, m);
k = {};
a.autoWrap = "none";
a.val = b;
if ((b = N(d, ["label", "bounds"])))
this.collidePointBoxes ? ((k.width = b[2]), (k.height = b[3])) : ((k.maxWidth = b[2]), (k.maxHeight = b[3]), (k.width = null), (k.height = null)),
(k.x = b[0]),
(k.y = b[1]),
id(a, { xAlignment: "center", yAlignment: "middle" }),
(a.maxWidth = b[2]),
(a.maxHeight = b[3]),
(a.width = null),
(a.height = null);
n = (m = !h.label) ? (h.label = n.textStack().attr(A({}, a))) : h.label.attr(A({}, a));
h = n.composeCombinations()[0].minSize;
h = [h.width.px, h.height.px];
var u = 10 <= Math.max(h[0] - k.maxWidth, h[1] - k.maxHeight);
m ? (u ? ((p = this.wrapLabel(n, k, e).add(p.points)), (h[0] = k.maxWidth), (h[1] = k.maxHeight)) : (p = n.attr(k).add(p.points))) : (p = this.getLabelWrapper(n, e).attr(k));
(!q.drawRect && "ohlc" !== this.kind) ||
r ||
(this.isRadial ? ((c = c.pathOptions), (q = (c.innerR + c.r) / 2), (c = Xb(Jb(c.cxy, c.start, q), Jb(c.cxy, c.end, q)))) : (c = c.rect.width), h[0] > c && (l.anyColLabelOverflow = !0));
!N(e, ["label", "autoHide"]) &&
d.shape &&
((e = !r || l.anyColLabelOverflow),
(l = d.shape[2]),
(r = d.shape[3]),
(c = e ? l / h[1] : r / h[1]),
(q = { fitWidth: null, fitHeight: null }),
0.5 < c && ((c = Math.floor(100 * c) / 100), 1 > c && ((h[0] *= c), (h[1] *= c)), e && (q.fitHeight = l), !e && (q.fitHeight = r)),
p.attr(q));
this.collidePointBoxes || ((k.width = b[2]), (k.height = b[3]), (k.maxWidth = null), (k.maxHeight = null), p.attr(A({}, k)), (d.labelTextBox = [0, 0, Math.min(b[2], h[0]), Math.min(b[3], h[1])]));
delete a.width;
delete a.height;
d.labelAttr = a;
d.labelSize = b ? [b[2], b[3]] : h;
d.labelInternalSize = h;
}
return this;
};
c.prototype.wrapLabel = function (a, c, e) {
return a.attr(c);
};
c.prototype.getLabelWrapper = function (a, c) {
return N(c, ["label", "wrapped"]) ? a.parent.parent : a;
};
c.prototype.possibleLabelPositions = function (a, c, e, f, g) {
return ez(this, a, c, e, f, g);
};
c.prototype.getBodyShapeName = function (a, c) {
return this.series.getPointMarkerType(a.currentOptions);
};
c.prototype.updatePointsGlobals = function () {
var a = this.series.pane;
return (this.pointsGlobals = a ? a.getGlobalOffsets() : void 0);
};
c.prototype.setCoordinates = function (a, c) {
function b(a, b) {
void 0 === b && (b = { xIsSorted: !0, isFinal: !1 });
var c = b.isFinal,
e = b.xIsSorted,
f = N(h.currentOptions, ["line", "tension"]);
f = t(f) ? ua(Y(0.7, 1, 0, 1, f), 0, 1) : 0.8;
var g = {
spline: function (a) {
return [bx(a, f)];
},
step: r
? function (a) {
return fb(a);
}
: function (a, b) {
return ax(a, b, !e);
},
normal: function (a) {
return fb(a);
},
}[Q ? "spline" : U];
if (R.drawLine || R.drawArea) {
b = [];
var k = function (a, b, c) {
void 0 === c && (c = !1);
if (c) return xa(g(a)) + "Z" + xa(g(b)) + "Z";
b.reverse();
a.push.apply(a, H(b));
return xa(g(a)) + "Z";
};
B.length &&
((B = d ? d(B) : B),
K.push(B),
(a = a || 0 < L.length),
R.drawLine &&
(r
? c &&
((b = K.slice(0)),
1 === K.length
? I.push(xa(g(B, O)) + (a ? "" : "Z"))
: ((a = b[b.length - 1].slice(0)),
a.push.apply(a, H(b[0])),
(a = xa(g(a, O))),
I.push(a),
2 < K.length &&
((a = K.slice(1, K.length - 1)),
w(a, function (a) {
I.push(xa(g(a, O)));
}))))
: 1 < B.length && I.push(g(B, O))),
R.drawArea &&
(r
? (Nb.push({ s: J, e: B }),
c &&
((L = []),
1 === Nb.length
? ((J = d ? d(J) : J), L.push(k(J, B, !0)))
: ((a = Nb[Nb.length - 1]),
(c = a.s.slice(0)),
(a = a.e.slice(0)),
(b = Nb[0].s),
a.push.apply(a, H(Nb[0].e)),
c.push.apply(c, H(b)),
L.push(k(c, a)),
2 < Nb.length &&
((c = Nb.slice(1, Nb.length - 1)),
w(c, function (a) {
L.push(k(a.s, a.e));
})))))
: (J.reverse(), (J = d ? d(J) : J), (b = [g(B, O)]), b.push(g(J, !O).join(" ").replace(/M/gi, "L")), L.push(xa(b) + "Z"))));
}
B = [];
J = [];
}
var d = c ? c.coordinatesCorrection : null,
g = this,
h = g.series,
k = h.currentOptions,
l = h.indexer,
m = h.pane,
n,
p,
q = h.chartArea.isZoomLive();
if (t(g.lastRenderVisibility) && !g.lastRenderVisibility && !h.isVisible) return g;
var r = m ? m.isRadial : !1,
u = h.indexer.data.coordinates || h.prevCoords;
u && (u = u.slice(0));
var x = a.x,
v = a.y,
y = a.width,
D = a.height,
E = h.ctManager,
F = h.info,
R = F.type,
C = h.userPoints,
wa = h.points().items,
U = E.settingVal("lineSeriesType", k),
M = N(k, ["emptyPointMode"]) || "undefined",
B = [],
J = [],
K = [];
c = [];
var Nb = [],
I = [],
L = [],
O = g.isHoriz(),
Q = (E.isType("map") && "line" === R.seriesType && "spline" === U) || (E.isType("radar") && m && "polar" === m.getRadarType() && "line" === R.seriesType),
P = N(m, ["projection", "val2linxy"]),
S = O ? a.height : a.width;
r && ((S = 1), (g.isRadial = !0));
m = m ? m.xAxis : h.xAxis;
E = m.clusterCounts[h.type];
var Ba = t(E);
E = z(E, 1);
var T = m.getShortestDistPerc(),
W = T * S,
X = m.currentOptions.spacingPercentage,
Z = W * X;
if (1 <= Z || r) W -= Z;
var aa = z(m.currentOptions.staticColumnWidth, W),
V = aa / E;
"column" !== k.type || r || (V = Math.max(V, 5));
var da = aa / E;
r || ((V = na(V)), (da = na(aa / E)));
m = z(h.clusterIndex, 1);
var ea = -(V * E) / 2 + V * m;
Z = T * X;
var ba = { xLength: 1, clusterWidth: T - (1 <= Z ? Z : 0) };
A(ba, { thisWidth: ba.clusterWidth / E });
A(ba, { unclusteredWidth: ba.clusterWidth / E, clusterOffset: -(ba.thisWidth * E) / 2 + ba.thisWidth * m });
E = function (a) {
return "string" === typeof a && -1 < a.indexOf("%") ? (parseInt(a) / 100) * Math.min(y, D) : a;
};
var fa = function (a, b) {
var c;
if ((c = n[a])) (p[a] = qa.apply(void 0, H(c))), b && Fb(b) && (p[a] = b.apply(void 0, H(p[a])));
},
ia = function (a) {
var b;
if ((b = n[a])) {
var c = (p[a] = []);
w(b, function (a) {
c.push(qa.apply(void 0, H(a)));
});
}
},
ka = l.hasAllKeys("ys,ye"),
ca = l.hasAllKeys("xs,xe");
m = h.ctManager.settingVal("bubbleSizingType", h.options());
var la = E(N(k, ["size", "max"])) || 50,
ma = E(N(k, ["size", "min"])) || 5,
oa = Sn(la / 2),
sa = Sn(ma / 2);
l.indexKeys(["coordinates", "bbox"], {}, 0);
var ra = function (a, b) {
return [x + a * y, v + b * D];
};
X = function (a, b) {
return [ca ? a : ba.clusterOffset + ba.thisWidth / 2 + a, b];
};
var ta = function (a) {
return ca ? a : ba.clusterOffset + ba.thisWidth / 2 + a;
};
E = function (a, b) {
return [a, ca ? b : ea + V / 2 + b];
};
var pa = function (a, b, c) {
P && ((b = G(O ? P(b, a, c) : P(a, b, c), 2)), (a = b[0]), (b = b[1]));
a = ra(a, b);
r && (t(c) || (c = 0.9), a.push((y / 2) * c));
return a;
};
m = {
column: r
? X
: function (a, b) {
return [ca ? x + a * y : x + ea + V / 2 + a * y, v + b * D];
},
marker: r ? pa : ra,
bubble:
"width" === m
? function (a, b, c) {
a = pa(a, b);
a.push(Y(ma, la, 0, 1, c));
return a;
}
: function (a, b, c) {
a = pa(a, b);
a.push(2 * Math.sqrt(Y(sa, oa, 0, 1, c) / Math.PI));
return a;
},
};
m.ohlc = m.column;
O &&
(m.column = r
? E
: function (a, b) {
return [x + a * y, ca ? v + b * D : v + ea + V / 2 + b * D];
});
m.variwide = m.column;
var qa = m[h.type] || m.marker;
X = function (c, d) {
d = [];
var e = {};
if (l.getValue("isEmpty", c)) return "ignore" !== M && b(!0), "continue";
n = l.getValue("pos", c);
p = { width: Ba ? V : void 0, unclusteredWidth: da, clusterSpace: T * S, meta: e };
g.clearPrevCoord(l.getValue("coordinates", c));
l.setValue("coordinates", c, p);
var f = r && R.drawRect ? pa : void 0;
fa("xyz", f);
fa("xyzs", f);
var m = p.xyzs;
f = p.xyz;
var v = m[1] - f[1],
x = V;
if (r) {
var y = g.series.pane.angleArc();
p.arc = { angle: Y(y.start, y.end, 0, 1, n.xyz[0]), cxy: va(ha(a)) };
}
e.xy = f;
y = void 0;
var D = ca ? m[0] : f[0] - V / 2,
E = ca ? f[0] - m[0] : V,
A = void 0;
r && ((v = n.xyzs[1] - n.xyz[1]), (D = ca ? n.xyzs[0] : n.xyz[0] - V / 2), (A = ca ? n.xyzs[0] : n.xyz[0]), (E = ca ? n.xyz[0] - n.xyzs[0] : x));
if (Ba)
if (r) {
if (O) {
if (((v = p.rectPos = { y: ca ? n.xyzs[1] : ta(n.xyz[1] - V / 2), x: n.xyzs[0], width: n.xyz[0] - n.xyzs[0], height: V, ccw: n.xyzRDesc[1] }), n.xyzRDesc[1] && ja(C[c].y))) {
x = void 0;
for (0 > v.width ? (x = v.x + v.width) : 0 < v.width && ((x = v.x), (v.x += v.width)); x < v.x; ) x += 1;
v.width = x - v.x;
}
} else v = p.rectPos = { x: ta(A) - V / 2, y: n.xyz[1], width: E, height: v };
p.arcPos = { start: v.x, end: v.x + v.width, angle: v.x + v.width / 2 };
} else O ? ((y = ca ? m[1] : f[1] - V / 2), (x = ca ? f[1] - m[1] : V), (v = m[0] - f[0]), (y = { y: y, x: f[0], width: v, height: x })) : (y = { x: D, y: f[1], width: E, height: v }), (y = Yo(y)), (e.shape = ha(y));
t(D) &&
E &&
((p.rect = y),
R.drawRect &&
F.hasComplete &&
((D = n.completee - n.completes),
(E = n.completeXe - n.completeXs),
r
? ((v = p.rectPos),
(p.rectCompletePos = O
? { x: Y(v.x, v.x + v.width, 0, 1, n.completes), y: Y(v.y + v.height, v.y, 0, 1, n.completeXe), width: D * v.width, height: E * v.height, targetBox: ha(a) }
: { x: v.x + n.completeXs * v.width, y: v.y + (1 - n.completee) * v.height, width: E * v.width, height: D * v.height, targetBox: ha(a) }))
: (p.rectComplete = O
? { x: Y(y.x, y.x + y.width, 0, 1, n.completes), y: Y(y.y + y.height, y.y, 0, 1, n.completeXe), width: D * y.width, height: E * y.height }
: { x: y.x + n.completeXs * y.width, y: y.y + (1 - n.completee) * y.height, width: E * y.width, height: D * y.height })),
y && d.push([y.x, y.y, y.width, y.height]));
B.push(f);
Q &&
n.interpPoints &&
w(n.interpPoints, function (a) {
B.push(qa.apply(void 0, H(a)));
});
R.drawArea && J.push(m);
F.hasSubvalues && !r && (w(["sv", "svs", "svx", "svxs"], fa), w(["svv", "svxv"], ia));
h.coordinatesModifier && h.coordinatesModifier(g, p);
m = (p.styleSet = q ? u[c].styleSet : h.getPointAttr(h.userPoints[c])).markerSize;
y = N(k, ["defaultPoint", "marker", "visible"]) || !0 === N(C[c], ["marker", "visible"]);
if (R.drawMarker || k.forceMarker || y)
if ((F.hasMaxedMarkerLimit && !y && (m = 0), g.isRadial && "needle" === g.getBodyShapeName(wa[c]))) {
if (!q) {
var U = (e = h.pointBodyDGenerator) && e("needle", p),
G;
p.hitTest = function (a, b) {
G = G || Aa(U);
return G.hitTest(a, b);
};
}
} else
(e.marker = mb(f, [m, m])),
(e = e.marker.slice(0)),
(f = void 0),
(f = 0 === c || c === C.length - 1 ? N(Kl(g.series, c), ["marker", "offset"]) : z(N(C[c], ["marker", "offset"]), N(k, ["defaultPoint", "marker", "offset"]))) && (f = Kr(f)) && (e = Xc(e, f)),
d.push(e);
if (!R.isRadarColumn && d.length && !q) {
d = Ea(d);
var K = 15 > d[2] || 15 > d[3] ? th(d, [15, 15]) : d.slice(0);
ka && !R.isRadar && ((K = uv(K, [p.xyzs])), !R.drawRect && t(aa) && ((e = 0.8 * aa), (K = th(K, O ? [0, e] : [e, 0]))));
p.pathD = Cc(K);
e = z(C[c].mouseTracking, N(k, ["defaultPoint", "mouseTracking"]));
if (!t(e) || !0 === e) {
var cb = g.getLabelHitTest();
p.hitTest = function (a, b) {
return Ad(K, [a, b]) || cb(this, a, b);
};
}
l.setValue("bbox", c, d);
}
};
m = 0;
for (E = C.length; m < E; m++) X(m);
b(null, { isFinal: !0, xIsSorted: h.info.xIsSorted });
g.paths = { lines: I, areas: L };
g.coordinates.line = K;
R.drawArea && (g.coordinates.area = c);
g.coordRect = a;
g.validate(!0);
if (u) for (m = 0, E = wa.length; m < E; m++) if ((c = h.indexer.getValue("coordinates", m))) c.coordPrev = g.clearPrevCoord(u[m]);
g.renderOrder = l.sortByNone();
g.renderOrderRev = g.renderOrder.slice(0);
g.renderOrderRev.reverse();
return this;
};
c.prototype.clearPrevCoord = function (a) {
var b = a && a.coordPrev;
b && (b.prevCoord && (this.clearPrevCoord(b), (b.prevCoord = void 0)), b.pathD && (b.pathD.clearCache && b.pathD.clearCache(!0), (b.pathD = void 0)), (b.hitTest = void 0), (a.coordPrev = void 0));
return a;
};
c.prototype.setPos = function (a, c) {};
c.prototype.getShapeOptions = function (a, c) {
var b = this.series;
c = b.pane || b.chartArea;
b = b.currentOptions.shape;
c.defaultShapeOptions && (b = qd({}, b, c.defaultShapeOptions().ca));
return Gr(b, a);
};
c.prototype.validate = function (a) {
this.coordDirty = a ? !1 : !0;
};
c.prototype.hideUnused = function () {
var a = this.series,
c = a.visuals;
a = a.info.type;
a.drawLine || a.tree || !c.line || this.hideVisual(c.line);
!a.drawArea && c.area && this.hideVisual(c.area);
return this;
};
c.prototype.hideVisual = function (a) {
a && (a.finishAnimation && a.finishAnimation(), a.attr({ opacity: 0 }));
};
c.prototype.hideUnusedPointVisuals = function (a) {};
c.prototype.render_applyDynamicAttrVals = function (a, c, e) {
var b = this.series;
e = e || b.info.style.states[b.state] || {};
if (a.pop && 1 < a.length) {
for (var d = A({}, a[0]), h = 1, k = a.length; h < k; h++) d = im(d, a[h]);
a = d;
}
d = a.animation ? a.animation : {};
a.animation = c && c.animation ? A({}, b.getAnimationConfig(), c.animation || {}, d) : !1 !== c ? A({}, b.getAnimationConfig(), d) : A({}, { duration: 0 }, d);
b.isVisible ? ((a.opacity = z(e.opacity, 1)), (a.display = "block")) : ((a.opacity = 0), (a.display = "none"));
return a;
};
c.prototype.render_applyDynamicAttrValsLE = function (a, c, e) {
a = this.render_applyDynamicAttrVals(a, c, e);
a.opacity = 1;
a.display = "block";
return a;
};
c.prototype.getPointIconVisual = function (a, c, e) {
return this.getIconVisual(a, c, e);
};
c.prototype.getIconVisual = function (a, c, e) {
var b = this,
d = b.series,
h = d.renderer,
k = e.iconVisual || {},
l = b.getIconPaths(a, c),
m;
c = function (c, f) {
"string" === typeof l[c] && 0 === l[c].indexOf("url(")
? ((m = l[c].replace(/url\(/g, "").replace(/\)/g, "")), (f = { src: m, cx: a[0] / 2, cy: a[1] / 2, zIndex: 5, width: a[0], height: a[1] }))
: (f = b.render_applyDynamicAttrValsLE([{ d: l[c], opacity: 1, zIndex: f }, {}], { animation: d.getAnimationConfig() }, {}));
(k[c] = k[c] || (m ? h.renderer.element("image", f).add(n) : h.renderer.path(f).add(n))).attr(f);
e.icons[c] = f.d;
};
var n = (k.root = k.root || h.panel({ yAlignment: "center" }));
l.base ? c("base", 2) : Ra(k.base);
l.extra ? c("extra", 1) : Ra(k.extra);
return k;
};
c.prototype.getIconPaths = function (a, c) {
return Ci(this, a, c);
};
c.prototype.getIconStyles = function (a) {
return Jr(this);
};
c.prototype.setIconVisualAttr = function (a, c) {
var b = this,
d = b.series,
g = b.getIconStyles(a),
h;
if (a)
var k = a.base,
l = a.extra;
a = function (a) {
var e = { animation: c.isStyled ? d.getAnimationConfig() : !1 };
h = b.render_applyDynamicAttrValsLE(a, {}, {});
h = A(h, e);
!1 === d.isVisible && (b.modifyHiddenIconStyle(h), delete h.display, delete h.opacity);
return h;
};
if (g.base && k) {
var m = a(g.base),
n = c.icons.base;
n && (m.d = n);
k.attr(m);
}
g.extra && l && l.attr(a(g.extra));
c.isStyled = !0;
};
c.prototype.modifyHiddenIconStyle = function (a) {
var b = a.fill;
!1 === this.series.isVisible && (a.fill && ((b = To(b, 0.8)), (b = ne(b, "v", -0.2)), (b = ma(b)), (a.fill = b)), a.stroke && (a.stroke = To(a.stroke, 0.2)), 1 < a["stroke-width"] && (a["stroke-width"] = 1));
return a;
};
c.prototype.showHalo = function (a) {
var b = this.series,
c = b.chartArea,
f = ha(c.contentRect),
g = b.visuals,
h = b.renderer;
if (a && !b.indexer.getValue("isEmpty", a._i)) {
var k = a.currentOptions.focusGlow;
if (!1 !== k) {
var l = k ? L(Tt(), k) : Tt();
l.width = t(l.width) ? 2 * l.width : l.width;
vb(l.color, "%") && (l.color = a.replaceTokens(l.color));
tf(l) &&
((k = fc({ outline: l })),
A(k, { d: xa(this.haloPath(a, l)), "stroke-linejoin": "round", "pointer-events": "none", zIndex: 1 }),
(a = a.visuals.body),
c.panes && a && (f = rb(Ea([f, ha(a.box())]), -10)),
(k.clipPath = { d: Cc(f) + k.d, "clip-rule": "evenodd" }),
(f = qa(k)),
(f["stroke-opacity"] *= 0.4),
(k["stroke-width"] *= 0.6),
(b.haloPath = k.d),
(c = g.pointHalo || []),
c.length || (c = g.pointHalo = [h.renderer.path().add(b.rootVisuals.pointHalo), h.renderer.path().add(b.rootVisuals.pointHalo)]),
c[0].attr(k),
c[1].attr(f));
}
} else
(c = g.pointHalo || []),
c.length &&
w(c, function (a) {
return a.attr({ d: "M0 0" });
}),
(b.haloPath = "");
};
c.prototype.hideHalo = function () {
this.showHalo();
};
c.prototype.hideHaloMo = function () {
var a = this.series,
c = a.xAxis;
a = a.chartArea.tooltip.cttEnabled(a.yAxis, c);
c = c && (c.currentOptions.crosshair || {}).enabled;
a || c || this.hideHalo();
};
c.prototype.haloPath = function (a, c) {
var b = this.series;
c = c.width;
var d = b.indexer.getValue("coordinates", a._i);
b = b.info.hasMaxedMarkerLimit;
var g = d && z(d.pathD, d.pathObj, d.meta.bodyD),
h = "string" === typeof g && -1 < g.indexOf("url("),
k = g.arcShape,
l = !h && Np(g);
if (k) return a.visuals.body.attrApplier.outlinePath();
if (h) return Cc(ha(a.visuals.body.box()));
if (l || b) (a = d.meta.xy || d.xyz), (g = dc.circle(a[0] - c / 2, a[1] - c / 2, c, c));
return g;
};
c.prototype.pointMouseOver = function (a, c) {
var b = this.series,
d = b.chart,
g = d.hoveredPoint === c && this.hoveredItem === c;
N(d.hoveredPoint, ["series"]);
b.chartArea.debounce.clear("unmute");
(this.hoveredItem = c) && c.mouseOver(a);
var h = b.translateToGlobal([a.x, a.y]),
k;
b.pane && (k = b.pane.getGlobalOffsets());
if (!1 === N(d.currentOptions, ["defaultTooltip", "enabled"]) && c.labelAutoHidden) {
var l;
(l = c.visuals.label) && l.attr({ opacity: 1 }).refresh();
}
!b.chartArea.tooltip.cttEnabled(b.yAxis, b.xAxis) && b.tooltip.showTooltip(c, a, h, k);
c && !g && this.showHalo(c);
c && !g && ((a = Nl(c)) ? Ol(c, "", a) : ("select" !== b.state && b.setState("hover"), c.chart.highlighted && Qb(c.chart, c)));
};
c.prototype.pointMouseOut = function (a, c) {
var b = this.series,
d = b.chart;
b = b.chartArea;
this.hoveredItem = void 0;
!1 === N(d.currentOptions, ["defaultTooltip", "enabled"]) && c.labelAutoHidden && ((d = void 0), (d = c.visuals.label) && d.attr({ opacity: 0 }).refresh());
a = c && c.mouseOut(a);
this.hideHalo();
!1 !== a &&
c &&
!1 !== N(c.currentOptions, ["states", "mute", "enabled"]) &&
b.debounce.defer(
"unmute",
function () {
Qb(c.series.chart);
},
230
);
};
c.prototype.pointClick = function (a, c) {
c && c.click(a);
};
c.prototype.pointMouseOutAny = function () {
var a;
if ((a = this.hoveredItem)) return "select" !== this.series.state && this.series.setState(""), this.pointMouseOut({}, a), !0;
};
return c;
})(YC),
Oc = { marker: Ie },
gD = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.staticSeriesBodyInfo = [oz, Er];
b.kind = "area";
return b;
}
K(c, a);
c.prototype.contextDefaults = function () {};
c.prototype.hideUnusedPointVisuals = function (a) {
a = a.visuals;
Ra(a.marker);
Ra(a.labelConnector);
Ra(a.rectComplete);
Ra(a.rect);
};
c.prototype.getIconPaths = function (a, c) {
var b = a[0],
d = a[1];
a = Fr(this, a, c);
a.extra += " L " + b + " " + d + " L0 " + d + " Z";
return a;
};
c.prototype.getIconStyles = function (b) {
var c = this.series.info.style.attr;
b = a.prototype.getIconStyles.call(this, b);
c = A(b, { extra: c.area });
b = c.extra;
b.fill && !b.stroke && (b.stroke = zh(b.fill));
return c;
};
return c;
})(Ie),
Vt = function () {
return { axes: "x,y", values: "x,y", requiredData: "x,y", supportedData: "x,y,subvalue,subvalueX,complete,completeX", privateAxes: "", customAxisOptions: {} };
},
Vg = (function (a) {
function c(b) {
var c = a.call(this, b) || this;
c.series = b;
c.kind = "column";
c.typeConfig = Vt();
c.staticBodyDGetter = Ql;
c.staticPointCompleteVisInfo = rz;
c.staticPositionsFromAligments = pz;
c.dependencyVisuals = [];
c.dependencyAttrs = [];
return c;
}
K(c, a);
c.prototype.getTypeConfigDefault = function () {
return Vt();
};
c.prototype.render = function (b) {
a.prototype.render.call(this, b);
this.renderDependencies(b);
return this;
};
c.prototype.setCoordinates = function (b, c) {
C(this, "series.pane.isRadial") && ((this.isRadial = !0), (this.staticBodyDGetter = this.series.pane.staticBodyDGetter), (this.staticPositionsFromAligments = this.series.pane.staticPositionsFromAligments));
a.prototype.setCoordinates.call(this, b, c);
return this;
};
c.prototype.getParents = function (a) {
var b = this,
c = [],
f,
g = [];
if (a) {
if ((f = a.options("parent"))) g = f.split(",");
return B(g, function (a) {
return b.series.ciManager.exists(a);
});
}
this.eachPoint(function (a) {
(f = a.options("parent")) ? ((g = f.split(",")), !b.series.ciManager.exists(g[0]) && c.push(a)) : c.push(a);
});
return $a(c);
};
c.prototype.renderDependencies = function (a) {
var b = this,
c = b.series,
f = b.isHoriz(),
g = c.indexer,
h = c[(f ? "x" : "y") + "Axis"].isInverted() ? 1 : 0,
k = function (a, b) {
var c = function (a, b, c) {
return la(a, b) > la(a, c) ? c : b;
},
d = Yb(b.meta.shape),
e = a.xyz.slice(0, 2),
g = b.xyz.slice(0, 2),
k = f ? 1 : 0,
l = f ? 0 : 1,
m = e[k] < g[k] ? 1 : -1,
n = e[k];
g = g[k];
var p = la(n, g) - b.clusterSpace / 2,
t = la(n, c(n, d[k], d[k + 2])),
w = a.xyz[l];
a = b.xyz[l];
var z = b.xyzs[l],
A,
M = [(A = e)],
C = function (a, b) {
var c = A.slice(0);
c[a] = b;
M.push((A = c));
},
B = sa([z, a]),
H = 5 * h;
b = w + H;
c = c(A[l], B[0], B[1]);
e = A[l] - c;
a = 0 < e ? -1 : 1;
d = function (a) {
void 0 === a && (a = 1);
C(l, w + H / a);
C(k, n + p * m);
C(l, ua(z + H / a, B[0], B[1]));
C(k, n + t * m);
};
Kb(B, b) && a !== h ? d(1) : Kb(B, b) ? (C(l, b), C(k, n + t * m)) : 0 === e ? d(1.5) : a === h ? (C(l, c - H), C(k, g), C(l, z)) : a !== h && d(1);
return hd(M, 3);
},
l = [],
m = function (a, b) {
var c = g.getValue("coordinates", a._i);
w(b, function (b) {
if (b && b.series.isVisible) {
var d = b.series.indexer.getValue("coordinates", b._i),
e = A({ color: "#494949", width: 1, caps: { end: { type: "arrow", size: 6, concavity: 0.1 } } }, b.series.options("line"));
b = A(Bb(e), { d: k(d, c), key: b.id + a.id });
l.push(b);
}
});
return [];
};
b.eachPoint(function (a) {
return m(a, b.getParents(a));
});
b.updateDeps(l, a);
return b;
};
c.prototype.updateDeps = function (a, c) {
var b = this,
d = b.series.renderer.renderer,
g = b.series.rootVisuals.area;
b.dependencyAttrs = B(a, function (a) {
return b.render_applyDynamicAttrVals(a, c);
});
a &&
Ub(
a,
b.dependencyVisuals,
function (a) {
var c = d.path(a).add(g);
c.data.key = a.key;
b.dependencyVisuals.push(c);
},
function (a, b) {
return b.attr(a);
},
function (a) {
g.removeChild(a.el);
pb(b.dependencyVisuals, a);
},
function (a) {
return a.key;
},
function (a) {
return a.data.key;
}
);
return b;
};
c.prototype.getBodyShapeName = function (a, c) {
return c ? this.series.getPointMarkerType(a.currentOptions) : "square";
};
c.prototype.hideUnusedPointVisuals = function (a) {
var b = a.series.options("forceMarker") || !0 === C(a.currentOptions, "marker.visible");
a = a.visuals;
!b && Ra(a.marker);
Ra(a.labelConnector);
};
c.prototype.possibleLabelPositions = function (a, c, e, f, g) {
e = this.series;
c = f.meta;
var b = a.currentOptions.label || {},
d = e.chartArea;
d = (e.pane || d).collisionManager;
e = this.isHoriz();
var l = b.rotate;
b = !e && d.anyColLabelOverflow;
d = ha(this.series.contentRect());
c = c.labelSize.slice(0);
t(l) && ((b = !1), 90 === Math.abs(l) ? (b = !0) : 0 !== l && (c = hk(H([0, 0], c), [l, 0, 0]).slice(2)));
b && ((f.meta.isVertical = !0), c.reverse());
g = this.isRadial ? g.getValue("pos", a._i) : f;
g = e ? (g.xyz[0] > g.xyzs[0] ? "r" : "l") : g.xyz[1] > g.xyzs[1] ? "d" : "u";
a = dD(this, a, g);
return this.staticPositionsFromAligments(this, f, g, d, c, a, b);
};
c.prototype.getIconPaths = function (a, c) {
return Pl(this, a, c);
};
c.prototype.getIconStyles = function (a) {
a = this.series;
var b = a.info,
c = a.getPointAttr(),
f = Jr(this);
if (b.hasUniqueStyles || b.type.colorByPoint) (a = c.pointAttr[""]), zc(f, a, "base.hatch", "hatch"), zc(f, a, "base.hatchPattern", "hatchPattern");
else if (((f = A(f, { base: c.pointAttr[""] })), (b = f.base.fill), (c = b.linearGradient))) {
var g = c.hash;
c = b.linearGradient = Ja(90);
c.hash = g + "LE" + a.isVisible;
}
return f;
};
c.prototype.getPointAnimatorOptions = function (a, c) {
return (c = this.series.pane) && c.isRadial && a.coordPrev ? ("spider" === c.getRadarType() ? {} : { slice: { to: a.pathOptions, from: a.coordPrev.pathOptions } }) : {};
};
return c;
})(Ie),
hD = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "line";
b.staticSeriesBodyInfo = [Er];
return b;
}
K(c, a);
c.prototype.contextDefaults = function () {};
c.prototype.render = function (b) {
a.prototype.render.call(this, b);
return this;
};
c.prototype.hideUnusedPointVisuals = function (a) {
a = a.visuals;
Ra(a.marker);
Ra(a.labelConnector);
};
c.prototype.getIconPaths = function (a, c) {
return Fr(this, a, c);
};
c.prototype.getIconStyles = function (b) {
var c = this.series,
e = A({}, c.info.style.attr),
f = a.prototype.getIconStyles.call(this, b),
g = Math.max.apply(
Math,
H(
c.chartArea
.series(function (a) {
return a.info.type.drawLine;
})
.items.map(function (a) {
return N(a.currentOptions, ["line", "width"]) || 0;
})
)
),
h = 1,
k = function (a, b) {
void 0 === b && (b = h);
return a ? Math.max(1, a * b) : a;
};
c = function (a, b) {
void 0 === b && (b = h);
return Math.round(k(a, b));
};
4 < g && (h = 4 / g);
if ((g = e.line["stroke-width"]))
if (((e.line["stroke-width"] = c(g)), (c = void 0), 2 < g && (c = e.line["stroke-dasharray"]))) {
g = c.split(",").map(function (a) {
return parseInt(a);
});
g = Ta(g);
b = Aa(b.extra.data.attrs.d).length();
var l = h;
l = Math.min(l, b / (2.2 * g));
e.line["stroke-dasharray"] = c
.split(",")
.map(function (a) {
return k(parseInt(a), l);
})
.join(",");
}
return A(f, { extra: Ga(e.line, ["caps"]) });
};
return c;
})(Ie),
Wt = function () {
return { axes: "x,y", values: "x,open,high,low,close" };
},
iD = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "candlestick";
b.typeConfig = Wt();
b.pointValueParser = tz;
b.staticBodyDGetter = Ql;
return b;
}
K(c, a);
c.prototype.getTypeConfigDefault = function () {
return Wt();
};
c.prototype.pointArrayExpander = function (a) {
return { x: a[0], open: a[1], high: a[2], low: a[3], close: a[4] };
};
c.prototype.hideUnusedPointVisuals = function (a) {
a = a.visuals;
Ra(a.rect);
Ra(a.marker);
Ra(a.labelConnector);
};
c.prototype.getIconPaths = function (a, c) {
var b = a[1] / 2,
d = a.slice(0),
g = Math.round(0.4 * a[0]),
h = g / 2;
d[0] -= g;
var k = Pl(this, d, c);
w(k, function (a, b) {
a = a.isPath ? a : Aa(xa(a));
k[b] = a.translate(function (a) {
return [a[0] + h, a[1]];
});
});
k.extra = "M0 " + b + " L " + h + " " + b;
k.extra += "M" + (a[0] - h) + " " + b + " L" + a[0] + " " + b + " ";
return k;
};
c.prototype.getIconStyles = function (a) {
a = this.series.info.style.base.color;
return { base: { fill: a, stroke: ia("outline", a), "stroke-width": 1 }, extra: { fill: "none", stroke: ia("outline", a), "stroke-width": 1 } };
};
return c;
})(Vg),
Xt = function () {
return { axes: "x,y", values: "x,open,high,low,close", customAxisOptions: { z: { visible: !1 } } };
},
jD = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "ohlc";
b.typeConfig = Xt();
b.pointValueParser = uz;
b.staticBodyDGetter = vz;
return b;
}
K(c, a);
c.prototype.getTypeConfigDefault = function () {
return Xt();
};
c.prototype.pointArrayExpander = function (a) {
return { x: a[0], open: a[1], high: a[2], low: a[3], close: a[4] };
};
c.prototype.hideUnusedPointVisuals = function (a) {
var b = a.visuals;
Ra(b.rect);
!a.series.options("forceMarker") && Ra(b.marker);
Ra(b.marker);
Ra(b.labelConnector);
};
c.prototype.getIconPaths = function (a, c) {
c = a[1] / 2;
var b = 0.3 * a[0],
d = { extra: "" };
d.extra = "M0 " + c + " L " + a[0] + " " + c;
d.extra += "M" + b + " 0 L" + b + " " + c;
d.extra += "M" + (a[0] - b) + " " + a[1] + " L" + (a[0] - b) + " " + c;
return d;
};
c.prototype.getIconStyles = function (a) {
return { extra: { fill: "none", stroke: ia("outline", this.series.info.style.base.color), "stroke-width": 1 } };
};
return c;
})(Vg),
kD = (function (a) {
function c(b) {
var c = a.call(this, b) || this;
c.series = b;
c.kind = "variwide";
b.chart.typeContextOptions = { axes: { x: { spacingPercentage: 0, scale: { type: "stackedFull" } } } };
return c;
}
K(c, a);
return c;
})(Vg),
Yt = function () {
return { axes: "x,y,z", values: "x,y,z", requiredData: "x,y,z", supportedData: "x,y,z,subvalue,subvalueX", customAxisOptions: { z: { visible: !1 } } };
},
lD = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.kind = "bubble";
b.typeConfig = Yt();
b.staticBodyDGetter = xz;
return b;
}
K(c, a);
c.prototype.getTypeConfigDefault = function () {
return Yt();
};
c.prototype.pointArrayExpander = function (a) {
return { x: a[0], y: a[1], z: a[2] };
};
c.prototype.setCoordinates = function (b, c) {
var d = this.series;
a.prototype.setCoordinates.call(this, b, c);
this.renderOrder = d.indexer.sortBy("z", !1) || d.indexer.sortBy("ze", !1);
this.renderOrderRev = this.renderOrder.slice(0);
this.renderOrderRev.reverse();
return this;
};
c.prototype.getIconPaths = function (a, c) {
return Ci(this, a, c, "circle");
};
c.prototype.possibleLabelPositions = function (b, c, e, f, g) {
c = c || f.pathD || f.meta.bodyD;
var d = f.meta,
k = f.xyz,
l = d.labelSize;
c = or(Aa(c), l, k);
k = [];
c ? ((c.isInside = !0), k.push(c)) : (d.marker || (d.marker = [0, 0, 0]), (d.marker[2] = f.xyzs[2]), (k = a.prototype.possibleLabelPositions.call(this, b, "", e, f, g)));
return k;
};
c.prototype.hideUnusedPointVisuals = function (a) {
var b = a.visuals;
Ra(b.rect);
a.series.options("forceMarker") || a.options("marker.visible") || Ra(b.marker);
Ra(b.labelConnector);
};
return c;
})(Ie);
Oc.area = gD;
Oc.column = Vg;
Oc.line = hD;
Oc.candlestick = iD;
Oc.ohlc = jD;
Oc.variwide = kD;
Oc.bubble = lD;
var Vm,
Db,
fj,
gj = function () {
return { radius: 2, shadow: !0, boxVisible: !0, fill: "auto", outline: { color: "auto", width: 1 }, transparency: 0.2, enabled: !0, timeout: 1200, margin: 7, padding: 5, followCursor: "auto" };
},
mD = function (a) {
return a.pop
? a
.map(function (a) {
return a.id;
})
.join("")
: a.id;
},
Zt = (function () {
function a(a) {
var b = this;
this.series = a;
this.kind = "Tooltip";
this.currentOptions = gj();
this.moveTooltip = Ni(function (a, c, d) {
var e = b.chart.rootVisuals.tooltip;
if (e) {
var f = e.rootPanel.el;
f && ((a = b.position(a, b.targetPanel(), e.bbox(), c, !0, d).outBox), f.attr({ animation: { duration: 10 }, transform: { translate: a.slice(0, 2) } }));
}
}, 10);
var c = "Series" === a.kind ? a.chartArea : a;
this.chart = a.chart;
this.curCA = c;
this.chart.tooltipRef = this;
this.currentOptions = A(gj(), c.currentOptions.defaultTooltip || this.chart.currentOptions.defaultTooltip || {});
this.isVisible = !1;
this.debounce = new Ae();
}
a.prototype.options = function (a) {
a = Sa(a);
this.setOptions(a);
return this;
};
a.prototype.setOptions = function (a) {
this.currentOptions = A(gj(), this.curCA.currentOptions.defaultTooltip || this.chart.currentOptions.defaultTooltip || {}, a);
return this;
};
a.prototype.targetMetrics = function (a) {
var b = a.coord(),
c = this.currentOptions.margin || 0,
e = C(b, "meta.label");
a = a.bbox();
4 === C(b, "meta.marker.length") && (a = Ea([a, b.meta.marker]));
return { xyz: b.xyz, xyzs: b.xyzs, elBox: rb(a, -c), labelBox: e ? rb(e, -c) : e };
};
a.prototype.showTooltip = function (a, b, d, e) {
var c = this,
g = this.currentOptions,
h = this.debounce,
k = this.isFollowCursor(a, b);
a && a !== Vm && !1 !== g.enabled && !0 !== g.combined
? ((Vm = a),
h.clear("showtimeout"),
h.clear("hidetimeout"),
k
? this.show(a, b, d, e)
: h.defer(
"showtimeout",
function () {
return c.show(a, b, d, e);
},
20
))
: k && this.moveTooltip(a, d, e);
};
a.prototype.isFollowCursor = function (a, b) {
var c = this.currentOptions;
if ("boolean" === typeof c.followCursor) return c.followCursor;
if ("touch" === b.device || c.combined || !a.series) return !1;
a = a.series.info.type;
return !a.isAnnotation && (a.isShape || a.isMapLayer || a.tree);
};
a.prototype.hideTooltip = function (a) {
var b = this,
c = this,
e = this.series,
f = this.debounce;
a = z(a, this.currentOptions.timeout, 1200);
f.clear("showtimeout");
f.clear("hidetimeout");
Vm = null;
if (!0 !== e.options("mouseTracking.sticky")) {
var g = C(this.chart.rootVisuals, "tooltip.rootPanel.el");
g &&
f.defer(
"hidetimeout",
function () {
Db === c &&
(null === g || void 0 === g ? void 0 : g.attr({ opacity: 0, animation: { duration: 40 } }),
setTimeout(function () {
return b.hide();
}, 40));
},
a
);
}
};
a.prototype.defaultAnimation = function (a) {
return { duration: a ? 0 : 40 };
};
a.prototype.hide = function () {
var a = this.chart.rootVisuals.tooltip;
a && a.isVisible && (a.visible(!1), (a.isVisible = !1), (fj = ""), this.chart.renderer.refresh());
Db === this && (Db.debounce.clear("hidetimeout"), (Db = void 0));
};
a.prototype.translateToGlobal = function (a) {
var b = this.series.translateToGlobal(a);
4 === a.length && b.push.apply(b, H(a.slice(2, 4)));
return b;
};
a.prototype.correctChartBox = function (a) {
a = this.translateToGlobal(a);
a[0] = -a[0];
a[1] = -a[1];
return a;
};
a.prototype.correctCABox = function (a) {
return this.series.correctRootBox(a);
};
a.prototype.targetPanel = function () {
return this.series.rootVisuals.points;
};
a.prototype.color = function (a) {
return a.tokenValue("%color");
};
a.prototype.text = function (a) {
var b = a.series;
b = z(C(a.currentOptions, "tooltip"), C(b.currentOptions, "defaultPoint.tooltip"), b.getAutoTooltipText(a), b.info.labelTextInfo.tooltip);
Fb(b) && (b = b(a));
return a.replaceTokens(b);
};
a.prototype.show = function (a, b, d, e) {
this.preShow();
var c = this.chart,
g = mD(a),
h = (a.pop ? a[0] : a).series;
g += h.id || h.currentOptions.name || h.currentOptions.id || "";
var k = fj === g,
l = this.targetPanel(),
m = this.currentOptions;
if (!k) {
h = c.rootVisuals.tooltip;
if (!k) {
var n = this.text(a),
p = this.color(a),
q = C(m, "outline.color");
q = A({ style: { "pointer-events": "none" } }, m, { label: { text: n, align: this.chart.isRtlCulture ? "right" : "left" }, outline: { color: "auto" === q ? ia("outline", p) : q } });
q.margin = 0;
if (h) {
var r = h.isVisible;
h.visible(!0);
(c = h.rootPanel.el) && c.attr && c.attr({ opacity: 1 });
} else h = c.rootVisuals.tooltip = new nD(c, A({ asHTML: !1, autoWrap: "none" }, q)).add(c.rootVisuals.front);
h.options(q, !1);
h.rootPanel.setPreliminarySize && h.rootPanel.setPreliminarySize(!0);
}
c = h.bbox();
m = this.isFollowCursor(a, b);
l = this.position(a, l, c, d, m, e);
e = l.xy;
l = l.outBox;
k
? h.options({ position: e.join(",") })
: ((k = h.chart.rootVisuals.itemsBox.getGlobalBboxArray()),
(e = [l[0] - k[0], l[1] - k[1]]),
(q = q.fill),
c[3] &&
((c = Gc(c)),
(l = this.currentOptions),
void 0 === l && (l = {}),
(k = 1 - (l.opacity || 1)),
(l = t(l.radius) ? l.radius / 4 + 3 : 5),
(c = Math.round((l / c.height) * 100)),
(p = Lb(p, k)),
(p = jb(Ja(90), [
["0%", p],
["0%", p],
[0 + c + "%", V("#f0f2fd", k)],
[0 + c + "%", V("#ffffff", k)],
[100 - c + "%", V("#ffffff", k)],
[100 - c + "%", V("#e6e9fd", k)],
["100%", p],
["100%", p],
]))),
h.options({ fillShading: !1, fill: "auto" === q ? p : q, position: e.join(",") }, r ? { animation: this.defaultAnimation() } : { animation: this.defaultAnimation(!0) }),
(Db = this),
(fj = g),
this.postShow(a, b, d));
fj = g;
}
};
a.prototype.position = function (a, b, d, e, f, g) {
var c = "TooltipCa" === this.kind,
k = !!this.series.pane,
l = this.curCA.rootVisuals.content,
m = N(this.chart.userOptions, ["defaultTooltip", "margin"]),
n = this.currentOptions.margin;
f && !t(m) && (n = 20);
if (f) g && ((e[0] -= g.x), (e[1] -= g.y));
else {
var p = this.targetMetrics(a);
if (!p) return { xy: [0, 0], outbox: d };
}
var q = p ? p.xyz : e,
r = p ? p.xyzs : p;
m = p ? p.elBox : mb(q, [2 * n, 2 * n]);
var u = p && p.labelBox ? Ea([m, p.labelBox]) : void 0,
x = r && q[0] !== r[0];
ha(("chartArea" === this.series.kind ? this.series.rootVisuals.content : this.series.chartArea.rootPanel).getGlobalBbox());
var v = rb(ha(this.chart.rootPanel.getGlobalBbox()), 0),
y = this.correctCABox(ha(l.getGlobalBbox()));
l = this.correctChartBox(ha(this.chart.rootPanel.getGlobalBbox()));
var D = k ? this.correctCABox(ha(this.chart.rootPanel.getGlobalBbox())) : v,
E = k ? D : l.slice(0);
k ||
w(this.curCA._axes, function (a) {
if (a.isVisible) {
a = a.sideIndex();
var b = Yb(y);
switch (a) {
case 0:
E = bk(E, b[1]);
D = bk(D, b[1]);
break;
case 1:
E = ck(E, b[2]);
D = ck(D, b[2]);
break;
case 2:
E = dk(E, b[3]);
D = dk(D, b[3]);
break;
case 3:
(E = ak(E, b[0])), (D = ak(D, b[0]));
}
}
});
b = md(b, x ? [(q[0] + r[0]) / 2, q[1]] : q, 1);
b = [b[0] - d[2] / 2, b[1] - d[3] - n];
b = f ? b : this.translateToGlobal(b);
n = b.slice(0);
n.push.apply(n, H(d.slice(2)));
r = "inCenter";
q = "outTop";
if (
m &&
(c && (this.curCA.isHoriz ? ((q = e[1] < l[3] / 2 ? "outBottom" : "outTop"), (r = "inMiddle")) : ((r = e[0] < l[2] / 2 ? "outRight" : "outLeft"), (q = "inMiddle"))),
(x = f ? m : this.translateToGlobal(m)),
(n = he(n, x, r, q).box),
!c &&
!f &&
((x = (a[0] || a).series.visualizer), (v = void 0), p && p.labelBox && (v = this.possiblePositions(a[0] || a, d, u, E, x)), (v && 0 !== v.length) || (v = this.possiblePositions(a[0] || a, d, m, E, x)), 0 < v.length))
) {
var F = !0;
n = k ? v[0] : this.translateToGlobal(v[0]);
xv(this.translateToGlobal(m), Zc(n, D)) && (F = "forced" !== v[0][4]);
}
n = Zc(n, D);
m &&
!c &&
!F &&
Ad(n, e) &&
((q = "outTop" === q ? "outBottom" : "inMiddle"),
(a = n.slice(0)),
(x = f ? m : this.translateToGlobal(m)),
(n = he(n, x, r, q).box),
(n = Zc(n, D)),
f && Ad(n, e) && ((f = l[2] - e[0]), e[0] > n[2] || f > n[2] ? ((r = e[0] > l[2] / 2 ? "outLeft" : "outRight"), (n = he(n, x, r, q).box), (n = Zc(n, D))) : (n = a)));
g && ((n[0] += Math.round(g.x)), (n[1] += Math.round(g.y)));
return { xy: b, outBox: n };
};
a.prototype.possiblePositions = function (a, b, d, e, f) {
a = a.series;
var c = a.chartArea.collisionManager;
f = a.yAxis;
var h = a.isStacked,
k = a.info.type,
l = !1;
k.drawRect || (l = !0);
var m = function (a) {
return a.split(",").map(function (a) {
a = a.split("-");
return { align: "out" + a[0], vAlign: "out" + a[1] };
});
},
n = m("center-top,center-bottom,left-middle,right-middle");
l && n.push.apply(n, H(m("left-top,right-top,left-bottom,right-bottom")));
k.drawRect &&
"horizontal" === a.ctSv("chartType") &&
((n = n.map(function (a) {
return Nc(a, !0);
})),
f &&
!f.isInverted() &&
(n = n.map(function (a) {
return Nc(a);
})));
var p = function (a) {
return $c(e, a);
};
a = n.map(function (a) {
return he(H([0, 0], b.slice(2)), d, a.align, a.vAlign).box;
});
f = a.filter(p).filter(function (a) {
return p(a) && h ? !c.collideLabels(a) : !c.collideAll(a);
});
if (!f.length) {
if (p(a[0])) return a[0].push("possible"), [a[0]];
a[0].push("forced");
f = [a[0]];
1 < a.length && p(a[1]) && (a[1].push("possible"), f.push(a[1]), f.reverse());
}
return f;
};
a.prototype.preShow = function () {
Db && Db.chart !== this.chart && Db.hide();
Db = this;
};
a.prototype.hideActiveTooltip = function (a) {
Db && (a ? Db && a === Db.chart && Db.hide() : Db.hide());
};
a.prototype.postShow = function (a, b, d) {
"touch" === b.device && this.hideTooltip(8e3);
this.isVisible = !0;
this.chart.chartAreaSet.items[0].debounce.clear("clickoff");
this.chart.tooltipRef = this;
};
a.prototype.cttEnabled = function (a, b) {
var c = this.currentOptions,
e = c.combined,
f = a.currentOptions.crosshair || {};
a = b && b.options("crosshair.enabled");
f = f.enabled;
if (c.enabled) return e ? !0 : t(e) ? e : !0 !== a || !b || f ? !1 : a;
};
return a;
})(),
oD = (function (a) {
function c(b) {
var c = a.call(this, b) || this;
c.chartArea = b;
c.kind = "TooltipCa";
return c;
}
K(c, a);
c.prototype.color = function (a) {
return "#f0f0f0";
};
c.prototype.targetMetrics = function (b) {
var c = this,
e = this.chartArea.isHoriz;
b = ea(b, function (a) {
return !a.series.indexer.getValue("isEmpty", a._i);
}).map(function (b) {
return a.prototype.targetMetrics.call(c, b);
});
var f = b.map(function (a) {
return a.xyz;
});
f.push.apply(
f,
H(
b.map(function (a) {
return a.xyzs;
})
)
);
var g,
h,
k = function (a) {
var b = sa(f, function (b) {
return b[a];
});
g = b[0];
h = b[b.length - 1];
};
e ? k(0) : k(1);
if (b.length)
return {
xyz: h,
xyzs: g,
elBox: Ea(
b.map(function (a) {
return a.elBox;
})
),
labelBox: Ea(
b.map(function (a) {
return a.labelBox;
})
),
};
};
c.prototype.translateToGlobal = function (a) {
var b = this.targetPanel().getGlobalBbox();
b = [a[0] + b.x, a[1] + b.y];
4 === a.length && b.push.apply(b, H(a.slice(2, 4)));
return b;
};
c.prototype.correctCABox = function (a) {
return a;
};
c.prototype.targetPanel = function () {
return this.chartArea.rootVisuals.content;
};
c.prototype.defaultAnimation = function (a) {
return { duration: a ? 0 : 40 };
};
c.prototype.text = function (b) {
var c = this;
if (b.length) {
var e = Dy(b),
f = b[0].chart.options("defaultTooltip");
f = C(f, "label.text") || "<b>%xValue</b><br>%points";
var g = void 0;
e.points = b
.map(function (b) {
return a.prototype.text.call(c, b);
})
.filter(function (a) {
return O(a) && a.trim().length;
})
.join("<br>");
g = "function" === typeof f ? f(b) : f;
return wi(g, e);
}
};
return c;
})(Zt),
nD = (function (a) {
function c() {
return (null !== a && a.apply(this, arguments)) || this;
}
K(c, a);
c.prototype.defaultOptions = function () {
var a = C(this.chart.currentOptions, "defaultTooltip");
return A(gj(), a);
};
c.prototype.triggerOptionsApplied = function () {};
return c;
})(ej),
$t = function () {
return { mouseTracking: { sticky: !1 }, markerLimit: 110, opacity: 0.9, defaultPoint: {} };
},
Wm = function (a) {
return !1 !== a.options("mouseTracking.enabled") && !1 !== a.options("mouseTracking");
},
Xm = (function (a) {
function c(b, c) {
var d = a.call(this, b.chart, c, [b, c]) || this;
d.chartArea = b;
d.kind = "Series";
d.isVisible = !0;
d.legendEntries = [];
d.isStacked = !0;
d.visuals = { panel: void 0, line: void 0, area: void 0, pointHalo: void 0 };
d.zIndex = 0;
d.cpbIndexOffset = 0;
d._points = [];
d.indexer = new Fl({ svv: { flatten: !0 }, svxv: { flatten: !0 } });
d.userPoints = [];
d.dataPoints = [];
d.dirty = !0;
d.state = "";
d.seriesDirty = new pD(d);
d.chart = b.chart;
d.renderer = b.renderer;
d.ctManager = b.ctManager;
d.initFP();
c && d.options(c, !1);
d.tooltip = new Zt(d);
return d;
}
K(c, a);
c.prototype.init = function () {
for (var a = 0; a < arguments.length; a++);
};
c.prototype.getCaSeriesPoints = function () {
var a = this,
c = this.chartArea.userOptions.series;
if (c && c.length)
return (
(c = S(c, function (b) {
return b.name === a.name;
})) && c.points
);
};
c.prototype.initFP = function () {
var a = this;
this.points = Xa(
wb,
function () {
return a._points;
},
function (b) {
a.options({ points: b });
},
{
push: function (b, c) {
var d = N(c, ["shift"]);
!0 === d && a.userPoints.shift();
b.pop && (b = a.visualizer.pointArrayExpander(b));
a.userPoints.push(b);
var e = a.getCaSeriesPoints();
e && e.push(b);
a.visualizer.updateInfo = { action: "splice", at: a.userPoints.length - 1, count: 1, del: 0, shift: d };
a.chart.renderer.finishAnimations();
a.invalidate().refresh(c);
a.visualizer.updateInfo = void 0;
},
splice: function (b, c, f, g) {
var d;
(d = a.userPoints).splice.apply(d, H([b, c], f));
(d = a.getCaSeriesPoints()) && d.splice.apply(d, H([b, c], f));
a.visualizer.updateInfo = { action: "splice", at: b, del: c, count: f.length };
a.chart.renderer.finishAnimations();
a.invalidate().refresh(g);
a.visualizer.updateInfo = void 0;
},
}
);
};
c.prototype.syncLegendItems = function () {
var a = this,
c = this,
e = c.info.type.colorByPoint,
f = c.chartArea,
g = c.chart,
h = c.currentOptions.legendEntry || {},
k = c.legendEntries,
l = g.requestLegend(this),
m = c.ctmIsType("map"),
n = function () {
c.legendEntry ? c.legendEntry.setColumns() : (c.legendEntry = l.addEntry(a, c._i));
},
p = function () {
c.legendEntry && (c.legendEntry.destroy(), (c.legendEntry = void 0));
},
q = function (a) {
a.syncLegendItems(c.legendEntry);
a.legendEntry && (k.push(a.legendEntry), a.legendEntry.setColumns());
},
r = function () {
c.points().each(function (a) {
a.legendEntry && (a.legendEntry.destroy(), (a.legendEntry = void 0));
});
c.legendEntries = [];
};
if (!((!c.isVisible && g.isRendered && c.visualizer.isRendered) || (m && c.currentOptions.isBaseLayer))) {
f.chartAreaSet.enumerateData();
var u = !1 !== N(c.chartArea.currentOptions, ["legend", "visible"]);
if (e) {
!x && c.setPoints();
var x = !0;
}
if (e && u && !1 !== c.options("defaultPoint.legendEntry.visible")) (k = c.legendEntries = []), c.points().each(q), !0 === h.visible ? n() : p();
else if ((u && !1 !== h.visible ? n() : p(), c._points.length && c._points[0].legendEntry && r(), c.info.hasUniqueStyles || k.length))
!x && c.setPoints(),
(x = !0),
c.points().each(function (a) {
u && !0 === a.options("legendEntry.visible")
? q(a)
: a.legendEntry &&
(a.legendEntry.destroy(),
(c.legendEntries = ea(k, function (b) {
return b !== a.legendEntry;
})),
(a.legendEntry = void 0));
});
}
};
c.prototype.iconName = function () {
var a = this;
if (!a._iconName) {
var c = function (a) {
return !a || (0 !== a.size && "none" !== a.type);
},
e = function (a) {
return "system/default/" + a;
},
f = function () {
var b = a.points(0);
return b && b.currentOptions.marker;
},
g = N(a.currentOptions, ["defaultPoint", "marker"]);
c = !c(g) || !c(f());
f = this.info.type;
a._iconName = f.drawArea ? e(c ? "areaSolo" : "area") : f.drawLine ? e(c ? "lineSolo" : "line") : f.drawMarker ? e("circle") : e("square");
}
return a._iconName;
};
c.prototype.getIconVisual = function (a, c, e) {
c === this && (c = void 0);
return this.visualizer.getIconVisual(a, c, e);
};
c.prototype.styleIconVisual = function (a, c) {
a && this.visualizer.setIconVisualAttr(a, c);
};
c.prototype.setAxes = function () {
var a = this,
c = a.options(),
e = a.visualizer.getTypeConfig(),
f = e.customAxisOptions || {},
g = e.privateAxes || "";
e = e.axes.length ? e.axes.split(",") : [];
var h;
w(e, function (b) {
h = b + "Axis";
var d,
e = a.chartArea.axConfList,
k = A({}, f[b]);
(d = a[h]) && (d = d.parentAxis || d);
var p = a.userOptions[h],
q = p || c[h] || (d ? d.id : void 0);
if ((d = vb(g, b) && (!d || !d.currentOptions.isPrivate))) (q = qa(e[b][0])), p && q.id !== p && (q = {}), delete q.id, (k = A(k, q)), (k.isPrivate = !0), (q = p || de(6));
p = a[h];
b = a[h] = a.chartArea.requestAxis(a, b, q, k);
b.isPrivate = d;
p && p.isPrivate && p.id !== b.id && p.destroy();
Z(a.currentOptions, h, b.id);
});
return this;
};
c.prototype.assignAxes = function () {
var a = this,
c = this.visualizer.getTypeConfig().axes.split(","),
e = this.chartArea.axConfList,
f,
g,
h,
k = this.options();
w(c, function (b) {
f = b + "Axis";
e[b] = e[b] || [];
if ((g = k[f])) "object" === I(g) && ((h = zb(g)), e[b].push(g), (k[f] = h));
else if ((g = z(e[b][0], a.chartArea.chartAreaSet.freeAxes[b]))) k[f] = g.id;
});
};
c.prototype.reIndexStringVals = function (a) {
var b = this.indexer,
c = a.toPosition,
f = [a.prefix];
f.push.apply(f, H(a.usedDataKeys));
f = $a(f);
a = b.data;
w(f, function (a) {
if (vb(b.uniqTypes[a], "string")) {
var d = b.getKey(a);
b.reset(a);
for (var e = 0, f = d.length; e < f; e++) {
var g = {};
g[a] = c(d[e]);
b.indexKeys([a], g, e);
}
}
});
if (2 === gc(["ye", "ys"], f).length && a.ys && a.ys.length) {
b.reset("yr");
f = 0;
for (var g = a.ys.length; f < g; f++) b.indexKeys(["yr"], { yr: a.ye[f] - a.ys[f] }, f);
}
this.seriesDirty.pointIndex(!1);
};
c.prototype.getFormatInfo = function () {
var a = this,
c = {},
e,
f = this.visualizer.getTypeConfig().axes.split(","),
g = this.chart.currentOptions.defaultCultureName;
g && (c.culture = g);
w(f, function (b) {
(e = a[b + "Axis"]) ? (c[b] = e.getFormatInfo()) : (c[b] = {});
});
return c;
};
c.prototype.options = function (a, c) {
var b = !0,
d = this.optionsGetter(a);
if ("NotGetter" !== d) return d;
d = pa(a);
var g = 1 === d.length;
if ("object" === typeof a.mapData && (this.setMapData(a.mapData), g)) return this;
if (0 < gc(d, Or).length) {
var h = g;
L(this.userOptions, a);
L(this.currentOptions, a);
this.visualizer && (t(a.muted) && "select" !== this.state ? this.setState(a.muted ? "mute" : "") : t(a.selected) && this.select(a.selected));
}
if (!h) {
t(a.visible) && ((this.isVisible = a.visible), g && (b = !1), this.chart.isRendered && this.legendEntry && this.legendEntry.updateCheckbox(this.isVisible));
if (a.points || a.emptyPointMode) this.seriesDirty.points(!0), this.seriesDirty.pointIndex(!0), this.seriesDirty.resetCache();
this.userPoints = a.points || this.userPoints;
delete a.points;
a = this.normalizeOptions(a);
(a.defaultPoint || a.firstPoint || a.lastPoint) && this.seriesDirty.points(!0);
a = L(this.userOptions, a);
this.name = a.name || "";
this.setOptions();
this.type = this.ctManager.settingVal("seriesType", this.options());
this.setType(b);
if (!1 !== c) {
c = this.normalizeUpdateOpt({ animation: this.currentOptions.animation }, c);
b && this.chartArea.invalidate();
this.chart.redraw(c);
var k = !0;
}
b && this.chart.updateSideItems(c);
}
this.chart.triggerOptionsApplied("series", this);
!k && this.afterUpdate(c);
return this;
};
c.prototype.normalizeArrPoints = function () {
var b;
if ((b = this.userPoints)) {
var c = I(b);
if ("string" === c && 0 === b.indexOf("JSC.points")) this.userPoints = Nj(b);
else if ("object" === c && b.data) this.userPoints = np(b);
else if (b.length) {
c = 0;
for (var e = b.length; c < e; c++) {
var f = b[c];
f.pop ? (b[c] = this.visualizer.pointArrayExpander(f)) : "number" === typeof f ? (b[c] = { y: f }) : a.prototype.normalizeOptions.call(this, b[c], "map,attributes");
}
this.userPoints = b;
}
}
};
c.prototype.setType = function (a) {
var b = this.options(),
c = this.ctManager;
"gauge" === b.type && (this.type = b.type = "gauge marker");
var f = c.settingVal("seriesType", b);
c = c.settingVal("chartType", b);
"organization" === c && (this.type = f = b.type = "annotation");
f = b = f || this.type || f || c;
f = J(Oc, f) ? Oc[f] : Ie;
(this.visualizer && this.visualizer.kind === b) || ((this.visualizer = new f(this)), this.setOptions(), this.assignAxes());
"calendar" === this.visualizer.kind && (this.isStacked = !1);
this.visualizer.getTypeConfig(!0);
this._ctmIsTypeCache = this._ctSvCache = void 0;
this.normalizeArrPoints();
!1 !== a && this.setData();
};
c.prototype.normalizeOptions = function (b) {
b = a.prototype.normalizeOptions.call(this, b);
pw(b, "size", ["min", "max"]);
cp(b, "emptyPointMode");
var c = b,
e,
f;
"undefined" !== (f = I((e = C(c, "animation.easing")))) && "string" === f && Z(c, "animation.easing", On(e));
return b;
};
c.prototype.defaultOptions = function () {
var a = this.chart.options("navigator.enabled");
return A(a ? A($t(), { line: { width: 2 } }) : $t(), { animation: this.chart.options("animation") });
};
c.prototype.contextOptions = function () {
return this.visualizer ? this.visualizer.contextDefaults() : void 0;
};
c.prototype.setOptions = function () {
var a = this.chart.options("navigator.enabled"),
c = this.normalizeOptions(this.chart.currentOptions.defaultSeries || {}),
e = (this.currentOptions = A({}, this.defaultOptions(), this.contextOptions(), c, this.userOptions));
a &&
"line" === this.ctManager.settingVal("seriesType", e) &&
(this.currentOptions = A(e, { defaultPoint: { marker: { type: "circle", color: "none", outline: { width: 0 } }, states: { hover: { marker: { outline: { width: 2 } } } } } }));
c = this.ctManager;
a = this.ctSv("gaugeType");
if ("gauge" === c.settingVal("chartType", e)) {
c = c.curCtDst(e);
var f = c.dst.explicit || "";
c = vb((c.ct || {}).explicit || "", "seriesType");
e = e.type || "";
var g = vb(e, "gauge");
f = -1 !== f.indexOf("seriesType");
var h = "circular" === a ? "marker" : "column";
if (!c && !f)
if ("circular" === a) {
g && !f && ((h = e + h), (this.currentOptions.type = h));
var k = { type: h, defaultPoint: { marker: { type: "needle", length: 0.8 } } };
} else "linear" === a && (g && !f && ((h = e + h), (this.currentOptions.type = h)), (k = { type: h }));
}
k && qd(this.currentOptions, k);
Ll(this);
return this;
};
c.prototype.ctSv = function (a) {
this._ctSvCache || (this._ctSvCache = this.ctManager.getSettingChecker(this.currentOptions));
return this._ctSvCache(a);
};
c.prototype.ctSvIs = function (a, c) {
return this.ctSv(a) === c;
};
c.prototype.ctmIsType = function (a) {
this._ctmIsTypeCache || (this._ctmIsTypeCache = this.ctManager.getIsTypeChecker(this.currentOptions));
return this._ctmIsTypeCache(a);
};
c.prototype.correctRootBox = function (a) {
var b = this.chart.navigator;
if (this.pane) {
var c = this.pane.getGlobalOffsets();
a[0] -= c.x;
a[1] -= c.y;
}
b && ((a[1] += b.defaults.toolbarHeight), (a[3] -= b.defaults.toolbarHeight));
return a;
};
c.prototype.setInfo = function () {
var a = this.ctManager,
c = this.options(),
e = a.hasSetting,
f = function (a) {
return e("behavior", a, c);
},
g = a.settingVal("chartType", c),
h = a.settingVal("seriesType", c);
"organization" === g && (this.type = h = c.type = "annotation");
a = {
seriesType: h,
drawMarker: f("drawMarker"),
drawArea: f("drawArea"),
drawRect: f("drawRect"),
drawLine: f("drawLine") || "organization" === g,
colorByPoint: f("colorByPoint") || t(c.palette),
colorByPointLocal: t(c.palette),
snapToZero: f("snapToZero"),
drawSubvalue: f("drawSubvalue"),
noNameGrouping: f("noNameGrouping"),
tree: f("tree"),
varyPalette: f("varyPalette"),
labelConnector: f("labelConnector"),
clusters: f("clusters"),
noPos: f("noPos"),
isMapLayer: a.isMapLayer(this),
isAnnotation: f("annotation"),
isShape: "visualshape" === a.settingVal("seriesLayout", c),
isPie: "pie" === g,
isRadar: "radar" === g,
hasNeedles: "gauge" === g && "marker" === h && "needle" === N(c, ["defaultPoint", "marker", "type"]),
roundCaps: this.ctSvIs("columnType", "roundcaps"),
isRadarColumn: !1,
};
"line" === N(c, ["map", "type"]) && ((a.drawMarker = !1), (a.drawArea = !1), (a.drawLine = !0));
if (a.isPie || c.isMerged) a.colorByPoint = !0;
a.isRadar && a.drawRect && (a.isRadarColumn = !0);
"gauge" === g && (a.snapToZero = !0);
f = N(this, ["info", "style"]);
this.info = { type: a, hasSubvalues: !1, hasComplete: !1, hasYRanges: !1, hasUniqueStyles: !1, hasMaxedMarkerLimit: !1, data: {}, style: f || {}, xIsSorted: !0, labelTextInfo: {}, map: this.info ? this.info.map : {} };
if ("object" === I(c.palette || this.chart.palette) || "heatmap" === g) this.info.usesSmartPalette = !0;
};
c.prototype.setDataInfo = function (a) {
var b = this.visualizer,
c = this.chart,
f = this.info,
g = f.type,
h = this.userPoints,
k = h.length,
l = this.indexer,
m = 0,
n = b.pointValueParser,
p = b.pointDataKeys || Js;
if (this.seriesDirty.pointIndex() || a) {
this._catCache = [];
t(this._i) || this.chartArea.chartAreaSet.enumerateSeries(this);
g.clusters &&
((this.zAxis && "stacked" === N(this.zAxis.currentOptions, ["scale", "type"])) ||
"stacked" === N(this.chart.currentOptions, ["zAxisScaleType"]) ||
"stacked" === N(this.chart.currentOptions, ["zAxis", "scale", "type"])) &&
((g.clusters = !1), (g.zStacked = !0));
this.prevCoords = l.data.coordinates || this.prevCoords;
var q = 0 === l.getAllKeys.length;
l.reset();
a = void 0;
var r = !0;
!this.isVisible && !q && c.isRendered && this.isStacked && (a = { y: 0 });
q = this.cpbIndexOffset;
var u = function (a) {
return a;
},
x;
c = void 0;
if ((c = this.currentOptions.defaultPoint))
if ((x = c.subvalue))
u = function (a) {
return a.subvalue ? a : A(a, { subvalue: x });
};
for (; m < k; m++) {
var v = h[m];
this.setLegendEntryVisibility(v);
zb(v);
v = a ? A({}, v, a) : v;
u(v);
v._i = m;
g.colorByPoint && (v.cpbIndex = z(v.cpbIndex, g.colorByPointLocal ? m : q++));
v = n(this, v, p, b.skipSubvalues);
l.indexObject(v, m);
m && r && t(v.x) && nb(v.x) && v.x < l.data.x[m - 1] && (r = !1);
}
f.hasYRanges = !1;
l.hasAllKeys(["y", "ys"]) && ((g.snapToZero = !1), (f.hasYRanges = !0));
l.hasAllKeys(["ys", "ye"]) && !l.hasKey("y") && ((g.snapToZero = !1), (f.hasYRanges = !0));
this.currentOptions.isPreview && (g.snapToZero = !1);
f.hasMaxedMarkerLimit = g.drawMarker && k > this.currentOptions.markerLimit;
f.xIsSorted = r;
l.hasAnyKeys(["subvalue", "subvalueX"]) && (f.hasSubvalues = !0);
l.hasAnyKeys(["complete", "completee", "completeX", "completeXe"]) && (f.hasComplete = !0);
b = void 0;
g.varyPalette
? (b = !0)
: l.hasAnyKeys(["color", "outline", "marker", "label", "fill"])
? (b = !0)
: "candlestick" === g.seriesType
? (b = !0)
: "ohlc" === g.seriesType
? N(this.currentOptions, ["defaultPoint", "altColor"]) && (b = !0)
: g.tree
? (b = !0)
: g.isRadarColumn && (b = !0);
if ("object" === I(this.chart.options("palette"))) g.colorByPoint = !0;
else if ("%color" === N(c, ["marker", "fill"])) b = !0;
else if (this.currentOptions.firstPoint || this.currentOptions.lastPoint) b = !0;
f.hasUniqueStyles = b || f.hasUniqueStyles;
this.seriesDirty.pointIndex(!1);
this.seriesDirty.pos(!0);
this.validateData();
this.setAttribs(!0);
this.visualizer.validate(!1);
this.syncLegendItems();
}
};
c.prototype.setLegendEntryVisibility = function (a) {
!1 === this.visualizer.pointLeVisible(a) && ((a = a.legendEntry || (a.legendEntry = {})), (a.visible = z(a.visible, !1)));
};
c.prototype.validateData = function () {
if (this.visualizer && this.userPoints.length && !this.ctmIsType("map")) {
var a = this.visualizer.getTypeConfig(),
c = a.requiredData,
e = a.supportedData,
f = this.indexer.getAllKeys();
c &&
((c = c.split(",")),
vb(f, "ys") && f.push("y"),
vb(f, "xs") && f.push("x"),
vb(f, "zs") && f.push("z"),
gc(f, c).length < c.length && Ma.emit("error", this.id, "dataRequired", { data: [this.name || this.id, c.join(", ")], container: this.chart.getWrapper() }));
e && a.supportedData.split(",");
}
};
c.prototype.setData = function () {
this.setInfo();
this.setDataInfo(!0);
};
c.prototype.setPoints = function () {
var a = this;
if (a.seriesDirty.points()) {
if (!a._points.length || a.dirty) {
a._defPointGen = void 0;
Ub(
a.userPoints,
a._points,
function (b) {
return new ZC(a, b);
},
function (a, b) {
return b.options(a, !1);
},
function (a) {
return a.destroy();
},
function (a, b) {
return z(a.id, a.name) || b;
},
function (a, b) {
return z(a.currentOptions.id, a.currentOptions.name, a.id) || b;
}
);
var c = [],
e = {};
w(a._points, function (a) {
e[a.id] = a;
});
w(a.userPoints, function (a) {
Xe(c, e[a.id]);
});
a._points = c;
}
if (a.info.usesSmartPalette) {
var f = a.getSP(),
g = f.userOptions.pointValue;
100 < this._points.length && O(g) && Ma.emit("warning", a.id, "spPointValueSuggestion", { container: this.chart.getWrapper() });
f.setPointSpValues(a);
}
a.seriesDirty.points(!1);
}
return this;
};
c.prototype.getAutoLabelText = function (a, c) {
function b() {
switch (q.type.seriesType) {
case "candlestick":
case "ohlc":
var a = r ? x(["%icon", " ", "O:%open H:%high L:%low C:%close"]) : "%xValue {%close-%open}<br/>Open: %open<br/>High: %high<br/>Low: %low<br/>Close: %close";
return a;
default:
var b = (a = ""),
c = r ? "" : "<br/>",
d = vb(Bf(u.vScale), Bf("stacked")),
e = q.type.drawLine,
f = 1 < p.chartArea.series().items.length,
g = !r && !e && !d;
r
? (b = "%icon")
: (u.sName && f && !g && (a += v("%seriesName") + "<br/>"),
"category" === u.xScale
? (a += u.xAxisLabel ? "%xAxisLabel: " + (v("%name") + "<br/>") : "%name ")
: (u.pointName && (a = "%name<br/>"), (a += u.xAxisLabel ? "%xAxisLabel: " + v("%xValue") + "<br/>" : "%xValue ")));
a += F("yAxisLabel", c, y(), " ");
u.hasZ && (a += F("zAxisLabel", "<br/>", "%zValue", "<br/>", !0));
r || (e || d ? d && (a += "<br/>%ypercentOfGroup% of " + w()) : (a += "<br/>" + m()));
u.hasComplete && (a += "<br/>%complete Complete");
a = b ? x([b, "<span style='width:5;'> </span>", a]) : a;
return n(a.trim());
}
}
function d() {
var a = E();
a += " " + F("yAxisLabel", "<br/>", y(), "<br/>");
u.hasZ && (a += " " + F("zAxisLabel", "<br/>", "%zValue", "<br/>", !0));
a += m();
return n(a.trim());
}
function g() {
var a = (u.sName ? v("%seriesName") + "<br/>" : "") + "%name: " + y();
return n(a.trim());
}
function h(a) {
var b = "",
c = u.mapInfo || {};
a && a.options("name") && (b += "%name");
u.mapInfo && u.serName && u.serName !== c.name && ((b += b.trim().length ? "<br/>" : ""), "province" === c.mapLevel && ((a = c.country), vb(Bf(u.serName), Bf(a)) && (b += "%country")));
u.serName && ((b += b.trim().length ? "<br/>" : ""), (b += "%seriesName"));
"marker" === q.type.st && ((b += b.trim().length ? "<br/>" : ""), (b += "<br/>Lat: " + v("%yValue")), (b += "<br/>Long: " + v("%xValue")));
u.hasZ && ((b += b.trim().length ? "<br/>" : ""), (b += F("zAxisLabel", "<br/>", "%zValue", "<br/>", !0)));
return n(b.trim());
}
function k() {
var a = u.sName ? "%seriesName" : "";
a += " " + E();
a += a.trim().length ? "<br/>" : "";
a += F("yAxisLabel", "<br/>", y(), "<br/>");
return n(a.trim());
}
function l() {
var a = "";
"category" === u.xScale ? (a += u.xAxisLabel ? "%xAxisLabel: " + (v("%name") + "<br/>") : "%name ") : (u.pointName && (a = "%name<br/>"), (a += u.xAxisLabel ? "%xAxisLabel: " + v("%xValue") + "<br/>" : "%xValue "));
a += " " + F("yAxisLabel", "<br/>", y(), "<br/>");
u.hasZ && (a += " " + F("zAxisLabel", "<br/>", "%zValue", "<br/>", !0));
return n(a.trim());
}
function m(a) {
var b = "";
"time" !== u.vScale &&
((b = t(a) ? a + "% of " : "%percentOfSeries% of "), (b += u.sName ? "%seriesName" : q.type.colorByPoint ? "Series" : "%icon"), vb(Bf(u.vScale), Bf("stacked")) && (b += "<br/>%percentOfGroup% of " + w()));
return b;
}
function n(a) {
return a.replace(/<br\/><br\/>/g, "<br/>").replace(/<br\/> <br\/>/g, "<br/>");
}
void 0 === a && (a = {});
var p = this,
q = this.info,
r = p.chartArea.tooltip.cttEnabled(p.yAxis, p.xAxis),
u = A(a, q.labelTextInfo);
a = this.options("defaultPoint.label.text");
var x = function (a) {
return (p.chart.isRtlCulture ? a.reverse() : a).join("");
},
v = function (a) {
return "<b>" + a + "</b>";
},
y = function () {
return u.hasRange ? ("time" === u.vScale ? "%yStart\u2013%yValue" : "(%yStart\u2013%yValue)") : "%yValue";
},
w = function () {
return "category" === u.xScale ? "%name" : "%xValue";
},
E = function () {
return u.pointName || O(u.pointX) ? (u.pointName ? "%name" : "%xValue") : "";
},
F = function (a, b, c, d, e) {
return r ? c : u[a] ? b + ("%" + a) + ": " + v(c) + "<br/>" : (e ? "(" + c + ")" : c) + d;
},
z = "",
C = "";
switch (u.ct) {
case "horizontal":
case "vertical":
z = b();
break;
case "cone":
case "pyramid":
case "funnel":
case "treemap":
case "pie":
z = d();
break;
case "heatmap":
z = l();
break;
case "radar":
z = b();
break;
case "gauge":
z = k();
break;
case "navigator":
z = b();
break;
case "organization":
C = z = "%XValue";
break;
case "map":
z = c ? h(c) : "%name";
C = "%name";
break;
case "calendar":
z = b();
C = "%name";
break;
case "venn":
C = "%name";
z = g();
break;
default:
z = b();
}
return { tooltip: z, label: a || C || "%yValue" };
};
c.prototype.getAutoTooltipText = function (a) {
return this.getAutoLabelText({ pointName: a.name, pointX: a.options("x"), hasComplete: t(a.options("complete")) }).tooltip;
};
c.prototype.setPane = function (a) {
this.pane = a;
a.hasNeedles = a.hasNeedles || this.info.type.hasNeedles;
a.hasRoundCaps = a.hasRoundCaps || this.info.type.roundCaps;
Lr(this);
};
c.prototype.render = function (a, c) {
this.renderRect = a.rect || a;
this.userPoints.length && this.visualizer.render(c);
return this;
};
c.prototype.renderLabels = function (a, c) {
this.renderRect = a.rect || a;
this.userPoints.length && this.visualizer.renderLabels(c);
};
c.prototype.setPos = function () {
var a = this,
c = a.ctManager,
e = a.pane,
f = a.ctmIsType("radar"),
g = a.ctmIsType("gauge"),
h = a.info,
k = a.options(),
l = a.userPoints,
m = N(k, ["emptyPointMode"]) || "undefined",
n,
p = g && "marker" === h.type.seriesType,
q = N(a.currentOptions, ["defaultPoint", "marker", "length"]);
c = c.settingVal("lineSeriesType", k);
var r = ("line" === h.type.seriesType && "spline" === c && a.ctmIsType("map")) || ("line" === h.type.seriesType && f && e && "polar" === e.getRadarType()),
u = f ? 15 / 360 : 5,
x,
v,
y;
if (a.seriesDirty.pos() && !a.info.type.noPos) {
a.info.labelTextInfo = Pr(this);
e = a.getAutoLabelText({}, a._points[0]);
L(a.info.labelTextInfo, e);
a.isStacked = a.yAxis.isStacked();
a.indexer.indexKeys(["pos"], {}, 0);
var D = a.getXYZTranslator(),
E = function (a, b, c, d) {
t(B[a]) && (U[a] = D(b, c, d));
},
F = D(0, 0, 0),
A = function (a, b) {
return Math.floor(mc(a, b) / u);
},
C = function (a, b, c, d) {
var e = [];
c &&
ob(c, function (f) {
f && ((f = [Y(a[0], b[0], 0, 1, (1 / c) * f), Y(a[1], b[1], 0, 1, (1 / c) * f)]), e.push(d ? d.apply(void 0, H(f)) : f));
});
return e;
};
e = function (b, c) {
B = a.indexer.getItem(b);
if (B.isEmpty && "ignore" === m && !N(a, ["pane", "isRadial"])) return "continue";
var d = z(B.ye, B.y),
e = z(B.ys, 0),
g = z(B.xe, B.x),
k = z(B.xs, g),
l = z(B.ze, B.z),
u = void 0;
p && (n = z(N(B, ["marker", "length"]), q, 0.8)) && (n.pop ? ((c = G(n, 2)), (u = c[0]), (l = c[1])) : ((l = n), (u = 0)));
u = z(B.zs, u, l);
U = { xyz: D(g, d, l), xyzOrigins: F, xyzs: D(k, e, u), xyzRDesc: [k > g, e > d, u > l] };
"map" === h.type.seriesType && a.visualizer.setPos(B, U);
h.hasSubvalues &&
(E("sv", g, B.sv, l),
E("svs", g, B.svs, l),
E("svx", B.svx, d, l),
E("svxs", B.svxs, d, l),
t(B.svv) &&
((U.svv = x = []),
w(B.svv, function (a) {
x.push(D(g, a, l));
})),
t(B.svxv) &&
((U.svxv = x = []),
w(B.svxv, function (a) {
x.push(D(a, d, l));
})));
h.hasComplete &&
(t(z(B.completee, B.complete)) || t(z(B.completeXe, B.completeX))
? ((c = function (a, b, c) {
t(Z(U, b, z(B[b], B[c]))) ? Z(U, a, B[a] || 0) : ((U[a] = 0), (U[b] = 1));
}),
c("completes", "completee", "complete"),
c("completeXs", "completeXe", "completeX"))
: (U.completes = U.completee = U.completeXs = U.completeXe = 0));
a.indexer.setValue("pos", b, U);
r && y && ((b = void 0), a.ctmIsType("map") ? (b = A(y, [g, d])) : f && (b = A(v.xyz, U.xyz)), (v.interpPoints = C(y, [g, d], b, D)));
v = U;
y = [g, d];
};
c = 0;
for (l = l.length; c < l; c++) e(c, l);
if (f && r) {
var B = a.indexer.getItem(0),
U = a.indexer.getValue("pos", 0);
l = v.xyz[0] + 2 * la(v.xyz[0], 1);
l = [v.xyz, [l, U.xyz[1]]];
e = A(l[0], l[1]);
v.interpPoints = C(l[0], l[1], e);
v.interpPoints.unshift(l[0], l[0]);
}
} else a.info.type.noPos && ((a.info.labelTextInfo = Pr(this)), (e = a.getAutoLabelText()), L(a.info.labelTextInfo, e));
a.seriesDirty.pos(!1);
return this;
};
c.prototype.setCoordinates = function (a, c) {
this.userPoints.length && this.visualizer.setCoordinates(a || this.contentRect(), c);
return this;
};
c.prototype.setState = function (a, c) {
void 0 === c && (c = {});
a = Ml(this, a);
if (this.state !== a) {
var b = {},
d = z(c.continueAnimation, !0);
if (c.animation) {
A(b, !1 === c.animation ? { duration: 0 } : c.animation);
var g = !!b.duration;
}
c = function (a) {
return A(g ? { continueAnimation: d, animation: b } : { continueAnimation: d }, a);
};
var h = this.info.type,
k,
l = this.getStateAttrs(a);
h.drawLine && (k = this.visuals.line) && l.line && k.attr(c(l.line));
h.drawArea && (k = this.visuals.area) && k.attr(c(l.area));
this.state = a;
"select" === a && this.chart._seriesSelection();
}
};
c.prototype.getStateAttrs = function (a) {
var b = this.info.type,
c = this.info.style,
f = c.states;
a = Ml(this, a);
a = f[a];
f = { line: void 0, area: void 0 };
b.drawLine && (f.line = L({}, a));
b.drawArea && (f.area = fc({ fill: z(a.areaColor, c.base.areaColor), opacity: z(a.areaOpacity, c.base.areaOpacity) }));
return f;
};
c.prototype.getXYZValAxes = function () {
var a = this.pane,
c = N(a, ["xAxis"]) || this.xAxis,
e = N(a, ["yAxis"]) || this.yAxis;
a = N(a, ["zAxis"]) || this.zAxis;
return [c, e, a];
};
c.prototype.getXYZTranslator = function () {
var a = this.chartArea,
c = this.pane,
e = c ? c.isHoriz : a.isHoriz,
f = z(N(c, ["projection"]), a.projection),
g = G(this.getXYZValAxes(), 3);
a = g[0];
c = g[1];
g = g[2];
var h = a ? a.getValToLin() || xc : Gb,
k = c ? c.getValToLin() || xc : Gb,
l = g ? g.getValToLin() || xc : Gb;
return this.ctmIsType("map")
? (this.transformFn = function (a, b, c) {
a = f.val2linxy(a, b);
return [h(a[0]), k(a[1]), l(c)];
})
: (this.transformFn = e
? function (a, b, c) {
return [k(b), h(a), l(c)];
}
: function (a, b, c) {
return [h(a), k(b), l(c)];
});
};
c.prototype.preRender = function (a) {
void 0 === a && (a = {});
var b = a.rect || this.contentRect();
if (a.rect) {
var c = z(this.options("shape.padding"), 0.3);
c && (b = Xo(b, c));
}
t(this._i) || this.chartArea.chartAreaSet.enumerateData();
this.setPos().setPoints().setAttribs().setCoordinates(b, a);
};
c.prototype.contentRect = function () {
return this.renderRect;
};
c.prototype.destroy = function () {
var b = this.visualizer;
b && b.clearHighlightVisuals && b.clearHighlightVisuals();
this.rootVisuals = null;
this.points().each(function (a) {
return a.destroy();
});
a.prototype.destroy.call(this);
w(this.visuals, function (a) {
return (
(t(a) &&
hb(a, function (a) {
return a.destroy && a.destroy();
})) ||
!0
);
});
this.legendEntry && this.legendEntry.destroy();
};
c.prototype.translateToGlobal = function (a) {
var b = this.chartArea.rootVisuals.content.getGlobalBbox();
b = [a[0] + b.x, a[1] + b.y];
2 < a.length && ((b[2] = a[2]), (b[3] = a[3]));
return b;
};
c.prototype.hitTest = function (a) {
var b = this.visualizer;
if (this.isVisible && Wm(this)) {
var c = this.indexer.getKey("coordinates"),
f,
g = b.renderOrderRev;
if ((b = b.pointsGlobals || b.updatePointsGlobals())) (a[0] -= b.x), (a[1] -= b.y);
b = function (b) {
if ((f = c[b]) && f.hitTest && f.hitTest(a[0], a[1])) return !0;
};
var h = void 0;
if (g) {
g.length > c.length &&
(g = g.filter(function (a) {
return a < c.length;
}));
for (var k = 0, l = c.length; k < l; k++) if (((h = g[k]), b(h))) return this._points[h];
} else for (k = 0, l = c.length; k < l; k++) if (b(k)) return this._points[k];
}
};
c.prototype.mouseOut = function (a) {
var b = this.chart.requestLegend(this);
b && b.pointOut();
this.visualizer.pointMouseOutAny() && this.triggerUser("mouseOut", a);
};
c.prototype.mouseMove = function (a, c) {
if (Wm(this)) {
c = this.chartArea;
var b = this.visualizer,
d = this.chart.requestLegend(this),
g = [a.x, a.y],
h;
if ((h = this.hitTest(g))) {
var k = "hover" === this.state || b.hoveredItem;
c.crosshair(g, a, !0);
b.pointMouseOver(a, h);
d.pointOver(h);
!k && this.triggerUser("mouseOver");
return !0;
}
N(this.currentOptions, ["mouseTracking", "sticky"]) || (b.pointMouseOutAny() && this.triggerUser("mouseOut", a), d && d.pointOut());
}
};
c.prototype.mouseClick = function (a) {
if (Wm(this)) {
var b;
if ((b = this.hitTest([a.x, a.y]))) return this.visualizer.pointClick(a, b), this.triggerUser("click", a), b;
}
};
c.prototype.pointOver = function (a, c) {};
c.prototype.showHaloAtX = function (a) {
var b = this.indexer;
a = b.findValue_i("x", a);
var c = this.info.labelTextInfo.hasRange,
f = [],
g = this._points[a];
g && this.visualizer.showHalo(g);
if (t(a)) {
var h = b.getItem(a);
c
? w(["svs", "sv", "ys", "ye"], function (a) {
a = h[a];
t(a) && f.push(a);
})
: f.push(z(b.getValue("ye", a), b.getValue("y", a)));
return [this.yAxis, g, f];
}
};
c.prototype.hideHalo = function () {
this.visualizer.showHalo();
};
c.prototype.setAttribs = function (a) {
var b = this.currentOptions,
c = this._i,
f = this.ctmIsType("treemap"),
g = b.line || (f && N(b, ["shape", "outline"])) || {};
f = this.info;
var h = this.chart.palette,
k = this.userPoints.length > b.markerLimit ? 1 : 2,
l = "array" === I(h) ? h : Xi("default");
this.info.style = { set: { color: m, opacity: p, line: {}, area: {} }, attr: { line: {}, area: {} }, states: {} };
h = f.style;
var m = z(b.color, N(b, ["defaultPoint", "color"]), l[c % l.length]);
c = z(N(b, ["defaultPoint", "marker", "type"]), Ui[c % Ui.length]);
m = Fk(m);
var n = z(m[3], 1),
p = z(b.opacity, 1) * n;
l = z(N(b, ["outline", "opacity"]), b.opacity, 1) * n;
n *= z(N(b, ["shape", "opacity"]), b.opacity, 0.8);
m = ma(m, "rgb");
var q = ia(g.color || La.seriesLine, m),
r = N(b, ["shape", "fill"]) || b.fill;
if (r) {
r = ia(oc(r), m);
var u = r.linearGradient ? r : Ro(Fk(r));
}
u = this.ctSvIs("areaShadingType", "subtle") ? dd(Fa.areaFill, u || m) : m;
p = h.base = { color: m, altColor: "white", opacity: p, lineColor: q, lineOpacity: l, areaOpacity: n, areaColor: u, markerType: c };
if (!a)
return (
(a = f.style.states),
(u = 2),
this.ctmIsType("organization") && (u = 0),
(m = b.states || {}),
(b = m.hover || {}),
(h = m.select || {}),
(m = m.mute || {}),
f.type.drawLine &&
((k = f.style.set.line = { width: z(g.width, k), color: p.lineColor, opacity: z(g.opacity, 1) * p.lineOpacity, dashStyle: g.dashStyle }),
g.caps && (k.caps = g.caps),
(a[""] = f.style.attr.line = Bb(k)),
(g = b.line || {}),
(a.hover = !1 !== b.enabled ? A({}, a[""], { "stroke-width": z(g.width, k.width + u), stroke: ia(z(g.color, b.color, k.color), p.color), "stroke-opacity": z(g.opacity, b.opacity, k.opacity) }) : {}),
(g = h.line || {}),
(a.select = !1 !== h.enabled ? A({}, a[""], { "stroke-width": z(g.width, k.width + u), stroke: ia(z(g.color, h.color, k.color), p.color), "stroke-opacity": z(g.opacity, h.opacity, k.opacity) }) : {}),
(g = m.line || {}),
(a.mute = !1 !== m.enabled ? A({}, a[""], { "stroke-width": z(g.width, k.width), stroke: ia(z(g.color, m.color, k.color), p.color), "stroke-opacity": z(g.opacity, m.opacity, 0.15 * k.opacity) }) : {})),
f.type.drawArea &&
((g = f.style.set.area = { color: p.areaColor, opacity: p.areaOpacity }),
(g.fill = p.areaFill) || (this.ctSvIs("areaShadingType", "subtle") ? (g.fill = dd(Fa.areaFill, g.color)) : (g.fill = g.color)),
!1 !== b.enabled && b.fill && (a.hover.areaColor = ia(b.fill, p.areaColor)),
!1 !== m.enabled && ((a.mute.areaOpacity = z(m.opacity, 0.15 * p.areaOpacity)), m.fill && (a.mute.areaColor = ia(b.fill, p.areaColor))),
(f.style.attr.area = fc(g))),
this
);
};
c.prototype.getPointAttr = function (a, c) {
function b(a, b, c) {
var d = {},
e = function (b, c) {
return c ? c(N(a, b)) : N(a, b);
},
f = function (a) {
Mn(d, b, a, a);
},
g = function (a, c, e) {
Vf(d, a, ia(N(b, a) || e, c));
},
h = function (b, c, d) {
t(N(a, b)) && Vf(m, c, e(b, d));
},
k = function (a) {
return a && a.pop && 2 === a.length ? Lb(a) : a;
};
g(["color"], M);
var l = d.color && ia(La.outline, k(d.color));
g(["outline", "color"], M, l);
b.fill && (d.color = ia(oc(b.fill), M));
f(["outline", "width"]);
f(["outline", "dashStyle"]);
f(["size"]);
f(["opacity"]);
N(b, ["hatch", "style"]) && (f(["hatch", "style"]), g(["hatch", "color"], M));
var m = { color: c.color ? hg(k(a.color), c.color, ["val"]) : k(a.color), opacity: e(["opacity"], c.opacity), outline: { color: e(["outline", "color"], c.outlineColor), width: e(["outline", "width"], c.outlineWidth) } };
h(["outline", "dashStyle"], ["dashStyle"], c.dashStyle);
h(["size"], ["size"], c.size);
h(["hatch", "style"], ["hatch", "style"], c.hatch);
h(["hatch", "color"], ["hatch", "color"], c.hatchColor);
return A(m, d);
}
function d(a, b, c) {
var d = N(a, ["states", b]) || {},
e = d.marker || {},
f,
g,
h;
if ((f = qd(e.outline, d.outline, c.outline))) e.outline = f;
if ((f = e.fill || d.fill)) e.fill = f;
t((g = z(e.size, d.size))) && (e.size = g);
t((h = z(e.opacity, d.opacity, c && c.opacity))) && (e.opacity = h);
a = N(a, ["marker", "states", b]) || {};
return qd(e, a) || {};
}
var g = a ? (a.currentOptions ? a.currentOptions : a) : {},
h = this.currentOptions,
k = t(g._i) ? Kl(this, g._i) : h.defaultPoint || {},
l = !a,
m = this.info.hasUniqueStyles || this.info.type.colorByPoint,
n = this.info,
p = n.style.base,
q = n.type,
r = this.ctmIsType("calendar") ? La.lightenDark : this.ctmIsType("map") ? "darkenmore" : La.outline,
u,
x = this.ctmIsType("map"),
v = {},
y = q.drawMarker || h.forceMarker || N(k, ["marker", "visible"]) || (a ? N(g, ["marker", "visible"]) : N(k, ["marker", "visible"]));
c = c || q.drawMarker;
if ((l || !m) && (u = this.info.style.defaultPoint) && (!c || u.drawMarker)) return u;
g = Hb(g, { map: void 0, attributes: void 0, mapData: void 0 });
g = qd(g, k || {});
u = g.label || {};
var w = g.marker || {},
E = g.states || {},
F = E.hover || {},
C = E.select || {},
B = E.mute || {},
H = !1 !== N(this.currentOptions, ["mouseTracking", "enabled"]),
U = !1 !== B.enabled;
H = (E = t(C.enabled) ? C.enabled : !1 !== this.currentOptions.pointSelection || (l && !m)) || (H && !1 !== F.enabled) || !0 === F.enabled;
var M = l ? g.color || p.color : this.getPointColors(g);
if ("object" === typeof M && M.color) {
var G = M.fill;
M = M.color;
}
var J = ia(r, M);
r = !1 !== (q.labelVisible || u.visible) && (!!N(u, ["text", "length"]) || Fb(u.text) || u.visible);
var K = z(g.opacity, 1) * p.opacity,
I = this.getPointHatchStyle(g);
if (!l && g && ("candlestick" === this.info.type.seriesType || "ohlc" === this.info.type.seriesType) && g.close < g.open) {
var L = (a || {}).altColor || (k || {}).altColor;
if ("ohlc" === this.info.type.seriesType) L && g.color && ((g = A({}, g)), (g.color = ia(L, g.color))), (M = J = L ? ia(L, J) : J);
else {
(L = L || p.altColor) && g.color && ((g = A({}, g)), (g.fill = ia(L, g.color)));
M = L ? ia(L, p.altColor) : p.altColor;
var O = !0;
}
}
G = { color: G ? oc(G) : M, opacity: K, hatch: { style: I }, outline: { color: J, width: 1 } };
p = b(G, g, {});
var Q = q.isAnnotation
? {
color: function (a) {
return a;
},
outline: {
color: function (a) {
return ia(La.labelContrast, a);
},
width: function (a) {
return a + 2;
},
},
}
: {
color: function (a) {
return ia(La.hover, a);
},
};
q.isMapLayer &&
q.drawLine &&
(Q.outlineWidth = function (a) {
return a + 2;
});
h = h.states || {};
L = fa(["color", "opacity"]);
if (H) {
var P = Na({}, h.hover || {}, L);
F = A(P, F);
var S = b(p, F, Q);
}
if (U) {
P = Na({}, h.mute || {}, L);
B = A(P, B);
var T = b(p, B, {
opacity: function (a) {
return 0.15 * a;
},
});
}
if (E) {
var Ba = h.select || {};
Q = Na({}, Ba, L);
C = A(Ba, C);
Ba = b(S, C, {
color: function (a) {
return ia("select", a);
},
outlineWidth: function (a) {
return a + 1;
},
});
}
r &&
((C = u.color || N(u, ["style", "color"])),
(F = this.ctSvIs("columnType", "cushion")),
(B = "map" === this.ctSv("chartType") && "marker" === this.ctSv("seriesType") && "#505050"),
(P = "center" !== u.align && "middle" !== u.verticalAlign && q.drawMarker ? M : p.color),
(u.color = C || B || ia(q.isMapLayer || q.isAnnotation ? La.labelContrast : La.label, P)),
C || F || (u.hcColor = ia(La.labelContrast, P)));
if (c || y)
(B = P = F = F = void 0),
(Q = H && d(g, "hover", h.hover || {})),
(B = E && d(g, "select", h.select || {})),
(C = U && d(g, "mute", h.mute || {})),
(G.marker = F = { color: M, size: 10, opacity: K, hatch: { style: I }, outline: { color: J, width: 1 } }),
(I = t(w.visible) ? w.visible : !0),
(p.marker = F = b(F, w, {})),
I || (F.size = 0),
H &&
((I = t(Q.visible) ? Q.visible : I),
(P = Na({}, h.hover || {}, L)),
(S.marker = P = b(F, A(P, Q), {
size: function (a) {
return 1.2 * a;
},
color: function (a) {
return ia(La.hover, a);
},
})),
I || (P.size = 0)),
E &&
((I = t(B.visible) ? B.visible : I),
(Q = Na({}, h.select || {}, L)),
(Ba.marker = B = b(P, A(Q, B), {
color: function (a) {
return ia("select", a);
},
outlineWidth: function (a) {
return a + 1;
},
})),
I || (B.size = 0),
(Ba.marker = B)),
U &&
((P = Na({}, h.mute || {}, L)),
(T.marker = b(F, A(P, C), {
opacity: function (a) {
return 0.15 * a;
},
})));
w = {};
G = c ? p.marker : p;
I = w[""] = mi(fc(G));
H && ((G = c ? S.marker : S), (w.hover = mi(fc(G))));
E && ((G = c ? Ba.marker : Ba), (w.select = mi(fc(G))));
U && ((G = c ? T.marker : T), (w.mute = mi(fc(G))));
!q.isMapLayer || q.drawLine || c || "bubble" === q.seriesType || ((w[""]["stroke-linejoin"] = "round"), (w[""].zIndex = this.zIndex), H && (w.hover.zIndex = this.zIndex + 1), E && (w.select.zIndex = 0));
"bubble" === q.seriesType && t(g.zIndex) && (w[""].zIndex = g.zIndex);
n.hasSubvalues && ((S = N(g, ["subvalue", "line"]) || {}), (G = { opacity: K, outline: { width: z(S.width, 1), color: ia(S.color || J, M), length: S.length, dashStyle: S.dashStyle } }), (v[""] = fc(G)));
this.chart.use3D ||
O ||
this.ctmIsType("venn") ||
!(x || q.drawRect || (q.isShape && !q.isPie) || this.ctmIsType("heatmap") || this.ctmIsType("calendar") || this.ctmIsType("treemap")) ||
l ||
((O = {}), (x = N(this, ["indexer", "data", "coordinates"])) && (O.pointData = x[g._i]), (I.fill && I.fill.stops) || this.attrShader(w, O));
!1 === q.drawArea && ((w[""].fill = "none"), H && (w.hover.fill = "none"), E && (w.select.fill = "none"));
if (r) {
var V = A({}, u);
V = A(V, u.line);
V = Bb(V);
}
q = { baseColor: M, pointAttr: w, svAttr: v, labelVisible: r, labelConnector: q.labelConnector, labelConnectorAttr: V, drawMarker: q.drawMarker, label: u };
l || !m ? (n.style.defaultPoint = q) : ((q.isDefault = l), this.indexer.indexKeys(["color"], {}, 0), this.indexer.setValue("color", g._i, q.baseColor));
if (y || c) q.markerSize = p.marker.size;
this.ctmIsType("gauge") && this.ctSvIs("gaugeType", "circular") && (a = (a || {}).altColor || (k || {}).altColor) && (q.pointAttr[""].altColor = ia(a, M));
return q;
};
c.prototype.attrShader = function (a, c) {
var b = c.radAngle,
d = this.ctManager,
g = this.currentOptions,
h = this.info.type.isRadarColumn,
k = d.settingVal("columnType", g) || "default";
d = "horizontal" === d.settingVal("chartType", g) || this.ctSvIs("linearGaugeType", "horizontal");
g = !1;
if (this.ctmIsType("map")) {
k = "subtle";
var l = this.chart.ctManager;
"map" === l.settingVal("seriesType") && ((l = l.settingVal("columnType")), (k = l !== k ? l : k));
}
t(b) && (d = b);
this.ctSvIs("funnelShapeType", "square") && (k = "square");
"le" === b && ((d = !0), (g = !1));
b = { horizontal: d, inverted: g, isRadial: h };
this.ctmIsType("calendar") && (b.strokeMode = "lighterOnDark");
this.ctmIsType("treemap") && "cushion" === k
? ((h = this.renderRect), (d = c.pointData.cxy), (g = c.pointData.bbox), (l = ha(h)), (c = va(l)), (g = g[2] / l[2] + g[3] / l[3]), (b.offsets = [(c[0] - d[0]) / h.width, (c[1] - d[1]) / h.height]), (b.share = g))
: h && c.pointData
? (b.lgCoords = this.pane.getShaderOptions(c.pointData.pathOptions))
: this.ctmIsType("gauge") && this.ctSvIs("gaugeType", "circular") && (k = this.ctSvIs("seriesType", "column") ? "none" : "subtle");
"roundcaps" === k && (k = "subtle");
iw(k, a, b);
};
c.prototype.getPointColor = function (a) {
a = this.getPointColors(a);
return a.fill || a.color;
};
c.prototype.getSP = function () {
var a = this.chart,
c = this.currentOptions.palette || this.chart.palette,
e;
"object" !== I(c) &&
this.ctmIsType("heatmap") &&
((c = this.indexer.calculations.z)
? ((this.chart.palette = c = Rs({}, [c.min, c.max])),
this.chart.legends().each(function (a) {
return a.updateSp();
}))
: (this.chart.palette = c = { colors: this.chart.palette }));
c.id && (e = a.getSmartPalette(c.id));
return e || a.getSmartPalette(c);
};
c.prototype.getPointColors = function (a, c) {
var b = this.info,
d = b.type,
g = b.style.base,
h = this.currentOptions;
b = b.type.colorByPoint;
var k;
c = c || d.drawMarker;
d.isTree || (k = a.color);
if (c) {
var l = a.marker || {},
m = l.color;
l = l.fill;
}
m && (m = oc(m));
if (m || k) return k ? { color: Lb(k), fill: l || m } : { color: Lb(g.color), fill: l || m };
b
? ((d = h.palette || this.chart.palette),
(h = I(d)),
"string" === h && (d = Fh(d)),
"object" === h ? (g = this.getSP().getPointColor(this, a)) : ((a = this.indexer.getValue("cpbIndex", a._i)), (g = t(a) ? d[a % d.length] : g.color)),
(g = Lb(g)))
: ((g = a.color || g.color),
d.varyPalette &&
!a.color &&
((h = a._i),
(a = ca(g)),
(g = bf(a[0], a[1], a[2])),
(k = t(h) ? Tn(1, h + 1)[h] : Vb.random()),
(h = 0.03 * k),
0.5 < k && (h = -h),
(g[2] = ua(g[2] + h * g[2], 0, 1)),
(g = bd(g[0], g[1], g[2])),
(g = ma([g[0], g[1], g[2], a[3]])),
(d.isVaryingColors = !0)));
return { color: g, fill: l };
};
c.prototype.getPointHatchStyle = function (a, c) {
c = this.info.type;
var b = this.currentOptions,
d = this.chart.currentOptions,
g = d.defaultSeries || {},
h = N(a, ["hatch", "style"]);
b = b.hatchPalette || d.hatchPalette || g.hatchPalette;
h ||
(c.colorByPoint
? ((c = I(b)), "undefined" !== c && ("boolean" === c && (b = Xi("hatch")), (a = this.indexer.getValue("cpbIndex", a._i)), t(a) ? (h = b[a % b.length]) : b && (h = b[this._i % b.length])))
: b && (h = b[this._i % b.length]));
return h;
};
c.prototype.getPointMarkerType = function (a) {
var b,
c = this.info.style.base;
(b = N(a, ["marker", "type"])) || (this.info.type.colorByPoint && !this.info.usesSmartPalette && a ? ((b = this.indexer.getValue("cpbIndex", a._i)), (b = t(b) ? b : a._i || 0), (b = Ui[b % Ui.length])) : (b = c.markerType));
return b;
};
c.prototype.getUniqueColors = function (a) {
var b = this.info,
c = b.type,
f = [];
if (b.hasUniqueStyles || c.colorByPoint) {
b = this.indexer.getKey("color");
for (var g = 0, h = b.length; g < h; g++)
if ((c = b[g])) {
if (c !== k && (f.push(c), f.length === a)) break;
var k = c;
}
} else f.push(this.info.style.base.color);
return f;
};
c.prototype.setColor = function () {
var a = this.chart,
c = this.options("palette") || a.palette;
"object" === I(c) && a.getSmartPalette(c).setPointSpValues(this);
};
c.prototype.invalidate = function () {
this.dirty = !0;
this.seriesDirty.all(!0);
delete this.info.style.defaultPoint;
return this;
};
c.prototype.refresh = function (a) {
this.dirty && (this.chartArea.invalidate(), this.chartArea.chartAreaSet.enumerateData(), this.setDataInfo(), this.chart.redraw(z(a, { animation: this.getAnimationConfig() })), this.chart.updateSideItems());
return this;
};
c.prototype.visible = function (a, c) {
var b = this.seriesDirty,
d = this.chartArea;
t(a) ? a !== this.isVisible && ((this.isVisible = a), (this.dirty = !0), b.pos(!0), b.coord(!0), d.resetTimers()) : ((this.isVisible = !this.isVisible), (this.dirty = !0), b.pos(!0), b.coord(!0), d.resetTimers());
this.dirty &&
(this.legendEntry && this.legendEntry.updateCheckbox(this.isVisible),
d.series().each(function (a) {
return a.seriesDirty.pos(!0);
}),
!1 !== c && this.chart.redraw(c || { animation: this.getAnimationConfig() }),
this.triggerUser(this.isVisible ? "show" : "hide"));
return this;
};
c.prototype.getAnimationConfig = function () {
return A({}, this.userOptions.animation || this.chart.currentOptions.animation);
};
c.prototype.select = function (a, c) {
var b;
t(a) && (b = a);
this.points().each(function (b) {
return b.select(a, c);
});
this.setState(b ? "select" : "");
};
c.prototype.removePoint = function (a, c) {
-1 < a && (this.userPoints.splice(a, 1), (this.visualizer.updateInfo = { action: "splice", at: a, count: 0, del: 1 }), this.invalidate(), !1 !== c && this.refresh());
};
c.prototype.zoomTo = function (a) {
var b = this.ctmIsType("calendar");
this._points.length && this.ctmIsType("map")
? ((b = this.chart.geoParser.getSeriesBBox(this)), 0 === b[2] && 0 === b[3] && (b = mb(b, [0.01, 0.01])), this.chart.zoom(b, a))
: b && this.chart.zoom(this.currentOptions.attributes.date, a);
};
c.prototype.remove = function (a) {
a = this.chartArea;
var b = Sf(a._series, { id: this.id });
-1 < b && (a.spliceSeries(b, 1, []), this.triggerUser("remove"));
};
c.prototype.yAt = function (a) {
return this.interpolate("x", "y", a);
};
c.prototype.interpolate = function (a, c, e) {
var b = this.indexer;
a = b.findInterpolatedInfo(a, e);
if (-1 !== a.i) return 0 < a.inter ? ((e = b.getValue(c, a.i)), (c = b.getValue(c, a.i + 1)), Y(e, c, 0, 1, a.inter)) : b.getValue(c, a.i);
};
c.prototype.getCalcCache = function () {
if (!this.calcCache) {
var a = this.indexer,
c = this.userPoints.length,
e = this.zAxis || {},
f = Math.abs,
g = Pb(a, "getKey"),
h = Pb(a, "getItem"),
k = Pb(a, "sum"),
l = Pb(a, "sumAbs"),
m = J(a.data, "ye") && !J(a.data, "y"),
n = 0 < g("xr").length,
p = 0 < g("zr").length,
q = !m,
r = !n,
u = !n,
x = m ? 2 * c : c,
v = m ? (k("ys") + k("ye")) / x : k("y") / c;
n = n ? (k("xs") + k("xe")) / x : k("x") / c;
c = p ? (k("zs") + k("ze")) / x : k("z") / c;
p = q ? "y" : "ye";
x = q ? "y" : "ys";
var y = q ? "y" : "yr",
t = r ? "x" : "xe",
w = r ? "x" : "xs",
F = q ? g("y") : Tc(g("yr")),
z = r ? g("x") : Tc(g("xr")),
B = u ? g("z") : Tc(g("zr")),
A = g("name");
q = q ? F : Tc(g("ya"));
r = r ? z : Tc(g("xa"));
g = u ? B : Tc(g("za"));
var G = h(a.min_i(x)),
M = h(a.max_i(p)),
H = h(a.min_i(w)),
K = h(a.max_i(t)),
I = h(u ? a.min_i("z") : a.min_i("zs"));
a = h(u ? a.max_i("z") : a.max_i("ze"));
this.calcCache = {
list: F,
xList: z,
zList: B,
nList: A,
max: M[p],
min: G[x],
xMax: K[t],
xMin: H[w],
zMax: a.z,
zMin: I.z,
zAbsmax: Math.max(f(a.z), f(I.z)),
nMax: M.name,
nMin: G.name,
nZMax: a.name,
nZMin: I.name,
nXMax: K.name,
nXMin: H.name,
sum: k(y),
zSum: k("z"),
xSum: k("x"),
sumAbs: l(y),
zSumAbs: l("z"),
xSumAbs: l("x"),
average: v,
zAverage: c,
xAverage: n,
range: F.length ? M[y] - G[y] : void 0,
zRange: B.length ? a.z - I.z : void 0,
yRangeSum: k(y),
yRangeSumAbs: m ? l("yr") : l("y"),
yStartSum: k("ys"),
name: this.name,
type: this.currentOptions.type,
xAxis: this.xAxis,
yAxis: this.yAxis,
zAxis: this.zAxis,
zAxisLabelText: C(e.currentOptions, "label.text"),
averList: q,
xAverList: r,
zAverList: g,
};
}
return this.calcCache;
};
c.prototype.replaceTokens = function (a, c) {
return jr(a, this, c || this.getFormatInfo());
};
c.prototype.tokenValue = function (a) {
return this.replaceTokens({ token: a });
};
c.prototype.getMapData = function () {
var a = N(this.info, ["map"]);
if ("string" === typeof a || (a && 0 < pa(a).length)) return a;
a = N(this.userOptions, ["map"]) || {};
return "string" === typeof a ? a : a && 0 < pa(a).length ? a : N(T, ["JSC", "internal", "_modules", "maps", "geo", this.userOptions.mapDataId]);
};
c.prototype.setMapData = function (a) {
Z(this.info, "map", a);
return this;
};
c.prototype.getConfig = function () {
var a = L({}, this.userOptions);
a.points = this.userPoints;
return a;
};
return c;
})(jc),
pD = (function () {
function a(a) {
this.series = a;
this.setAll(!0);
}
a.prototype.setAll = function (a) {
this.pointData(a);
this._coord = this._pos = this._points = a;
this.series._ctSvCache = null;
this.series._ctmIsTypeCache = null;
};
a.prototype.any = function () {
return this._pointData || this._pointIndex || this._points || this._pos || this._coord;
};
a.prototype.points = function (a) {
var b = this;
return b.getSet(a, b._points, function (a) {
return (b._points = a);
});
};
a.prototype.pos = function (a) {
var b = this;
return b.getSet(a, b._pos, function (a) {
return (b._pos = a);
});
};
a.prototype.coord = function (a) {
var b = this;
return b.getSet(a, b.series.visualizer.coordDirty, function (a) {
return (b.series.visualizer.coordDirty = a);
});
};
a.prototype.pointData = function (a) {
var b = this;
!0 === a
? (b.pointIndex(a),
b.series.chartArea.series().each(function (a) {
a.seriesDirty.pos(!0);
}),
b.resetCache(),
(b.series.chartArea.chartAreaSet._calcCache = void 0))
: !1 === a && b.pointIndex(a);
return b.getSet(a, b._pointData, function (a) {
return (b._pointData = a);
});
};
a.prototype.resetCache = function () {
this.series.calcCache = void 0;
};
a.prototype.pointIndex = function (a) {
var b = this;
return b.getSet(a, b._pointIndex, function (a) {
return (b._pointIndex = a);
});
};
a.prototype.all = function (a) {
this.setAll(a);
};
a.prototype.getSet = function (a, b, d) {
if (t(a)) d(a);
else return b;
};
return a;
})(),
Ym = (function (a) {
function c(b, d) {
d = a.call(this, b, d) || this;
d.items = b;
d.kindObject = c;
d.points = Xa(wb, zz(d), Az());
return d;
}
K(c, a);
c.prototype.options = function (a, c) {
var b = this.items.length ? !1 : c,
d = this.each(function (c) {
c.options(a, b);
});
!b && !1 !== c && yz(a) && this.items[0].chart.redraw(c);
return d;
};
return c;
})(wb),
qD = (function (a) {
function c(b, c) {
c = a.call(this, b.chart, c) || this;
c.marker = b;
c.fillMod = "axisMarkerY";
return c;
}
K(c, a);
c.prototype.styleIconVisual = function (a, c) {
a = a.base;
var b = this.marker.isRange(),
d = A({}, this.currentOptions),
g = d.line,
h = g.color || ia("outline", d.color || "white");
b ? (Z(d, "outline.color", h), (b = fc(d))) : (Z(d, "line.color", h), Z(d, "line.width", Math.min(4, g.width)), (b = Bb(d.line)));
a && a.attr(b);
c.isStyled = !0;
};
c.prototype.getIconPaths = function (a) {
var b = a[0],
c = a[1],
f = 0.8 * c;
return this.marker.isRange()
? { base: dc.square(0, f, a[0], a[1] - 2 * f), extra: void 0 }
: {
base: eb(
[
[0, c / 2],
[b, c / 2],
],
{ isOpen: !0 }
),
extra: void 0,
};
};
return c;
})(Mt),
au = { top: "left", middle: "center", bottom: "left", left: "top", center: "middle", right: "bottom" },
Xr = (function (a) {
function c(b, c) {
var d = a.call(this, b.chart, c, [b, c]) || this;
d.axis = b;
d.kind = "AxisMarker";
d.rootVisuals = { path: void 0, label: void 0 };
d.invalid = !1;
d._arrangeInfo = { box: void 0, visible: !0, edgeBoxes: [], labelSizes: [], possible: [], used: void 0 };
d.events = { click: new rd() };
d.isHoriz = !b.isHoriz;
d.options(c, !1);
return d;
}
K(c, a);
c.prototype.init = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
c = G(a, 2);
a = c[0];
c = c[1];
t(c.value) ? (this.defaultContextOptions = { legendEntry: { value: c.value.pop ? ("x" === a.prefix ? "%xmin - %xmax" : "%min - %max") : "%value" } }) : (this.invalid = !0);
this.axis = a;
};
c.prototype.defaultOptions = function () {
if (this.axis) {
var a = this.axis.options("defaultMarker");
return A({ color: "#a6bce3", opacity: 0.8, line: { width: 1, onTop: !1 }, labelPadding: 5, legendEntry: { color: "#3a3e4b", value: "%" } }, a || {});
}
};
c.prototype.options = function (b, c) {
var d = this.axis,
f = this.optionsGetter(b);
if ("NotGetter" !== f) return f;
t(b.low) && t(b.high) && (b.value = [b.low, b.high]);
a.prototype.options.call(this, b, c);
C(d.userOptions, "markers.length") && A(d.userOptions.markers[this.getIndexInAx()], b);
d.invalidate();
this.syncLegendEntry(b);
!1 !== c &&
(!this.chart.isRendered || !this.isRendered || this.options("label") || this.options("includeInScale") || (t(b.value) && this.legendEntry)
? (this.render(d.viewState), this.axis.chart.redraw(c))
: this.render(d.viewState));
return this;
};
c.prototype.normalizeOptions = function (b) {
b = a.prototype.normalizeOptions.call(this, b);
dp(b, "color");
dp(b, "line.color");
var c = b.value;
"object" === I(c) && t(c.low) && t(c.high) && (b.value = [c.low, c.high]);
return b;
};
c.prototype.click = function (a) {
this.trigger("click", a);
};
c.prototype.setRootVisuals = function () {
return this;
};
c.prototype.setAttribs = function () {
var a = this.currentOptions,
c = this.axis;
this.isRange() ? ((c = "x" === c.prefix ? Fa.axisMarkerX : Fa.axisMarkerY), (a = { fill: dd(c, oc(a.color, 1 - z(a.opacity, 1))) })) : (a = Bb(A({ color: a.color, opacity: a.opacity }, a.line)));
this.attribs = { path: a, label: void 0 };
return this;
};
c.prototype.render = function (a, c) {
this.setOptions().setRootVisuals().setAttribs();
var b = this.currentOptions;
a = this.axis;
var d = b.label || {},
g = this.rootVisuals,
h = this.renderer.renderer,
k = this.value();
if (0 !== k.length) {
var l = this.visualTarget();
b = C(b, "line.width");
var m = a.getCaPath(k, l, void 0, { lineWidth: k.length ? 0 : b, forMarker: 1 });
b = !g.path;
this.invalid = !a.valVisible(k);
h = g.path = g.path || this.bindEventsOn(h.path());
(h.parentNode !== l.el || Q(h.parentNode)) && h.add(l);
a = this.attrBuilder({ d: m }, this.attribs.path, c);
a["fill-rule"] = "evenodd";
b ? (a.animation = !1) : (a.reset = !0);
h.attr(a);
(g = g.label) &&
this.getText() &&
(this._arrangeInfo.visible
? (g.add(l),
(a = this.attrBuilder(qc(d), { "pointer-events": "none" }, c)),
((c = this._arrangeInfo.used) && c.box) || (c = this._arrangeInfo.possible[0]),
c &&
c.box &&
(g.rootPanel.visible(!0),
(d = c.rotation),
(l = c.textAlignment[0]),
(h = c.textAlignment[1]),
(k = 0 < d),
!k || this.axis.isHoriz || t(this.userOptions.label.rotate) || (d *= "right" === l ? 1 : -1),
(m = 0 < d),
(b = k ? (m ? c.box[2] : 0) : 0),
(m = k ? (m ? 0 : c.box[3]) : 0),
g.rootVisuals.text.attr({ xContentAlignment: k ? au[h] : l, yContentAlignment: k ? au[l] : h, opacity: 1 }),
(a.rotate = [d, 0, 0]),
(a.maxWidth = c.box[k ? 3 : 2]),
(a.offsetX = c.box[0] + b),
(a.offsetY = c.box[1] + m),
(a.zIndex = 1),
g.rootPanel.attr(a)))
: g.rootPanel.visible(!1));
this.isRendered = !0;
return this;
}
};
c.prototype.bindEventsOn = function (a) {
var b = this;
a.on("click", function (a) {
b.click(a);
});
return a;
};
c.prototype.syncLegendEntry = function (a) {
var b = this,
c = b.axis,
f = c.chartArea && b.chart.requestLegend(),
g = function (a) {
if (c.isRadial) {
var d = S(b.chart.axes().items, function (a) {
return ae(a.childAxes, c);
});
return S(f.items, function (b) {
return (b = b.target.marker) && b.axis === d && vc(b.currentOptions.value, a.value);
});
}
};
f &&
f.isVisible &&
f.allowEntries() &&
(b.legendEntry
? (a && t(a.value) && b.legendEntry.target.options({ value: a.value }), b.legendEntry.setColumns())
: !1 === C(b.currentOptions, "legendEntry.visible") || g(b.currentOptions) || ((b.legendEntry = f.addEntry(new qD(b, Ga(b.currentOptions, ["id"]))).setColumns()), (b.legendEntry.sortOrderValue = Qt[b.kind])));
};
c.prototype.resetTimers = function () {
C(this, "_arrangeInfo.used.time") && (this._arrangeInfo.used.time = 0);
};
c.prototype.visualTarget = function () {
var a = (this._visualTargets = this._visualTargets || this.axis.chartArea.getAxisMarkerVisualTargets());
return this.options("onTop") ? a.front : a.behind;
};
c.prototype.attrBuilder = function (a, c, e) {
void 0 === a && (a = {});
void 0 === c && (c = {});
void 0 === e && (e = {});
a = A({}, a, c, e);
e.animation || (a = A(a, { animation: this.chart.options("animation") }));
a.opacity = this.invalid ? 0 : 1;
return a;
};
c.prototype.getText = function () {
var a = this.axis,
c = C(this.currentOptions, "label.text");
c && -1 < c.indexOf("%") && ((c = Gg(c, this, this.chart.getFormatInfo(void 0, "major"))), (c = a.chartArea.replaceTokens(c)));
return c;
};
c.prototype.value = function () {
var a = this.axis,
c = z(this.currentOptions.value, this._value);
return a.normUserValue(c);
};
c.prototype.isRange = function () {
return void 0 !== this.value().pop;
};
c.prototype.getIndexInAx = function () {
var a = this;
return Sf(this.axis.currentOptions.markers, function (b) {
return b.id === a.id;
});
};
c.prototype.remove = function (a) {
this.destroy();
this.legendEntry && !1 !== a && (this.legendEntry.legend.chart.chartAreaSet.reflow(a), this.chart.isRendered && this.chart.renderer.refresh());
};
c.prototype.destroy = function () {
var a = this.rootVisuals;
this.axis.removeMarker(this);
a.path.destroy();
a.label && a.label.destroy();
this.legendEntry && this.legendEntry.destroy();
};
return c;
})(jc),
bu = (function () {
function a(a, b, d) {
this.axis = a;
this.valToLin = b;
this.range = qa(a.range);
this.chartArea = d;
this.inverted = a.isInverted();
this.breaks = a.breaks;
this.caRect = qa(d.contentRect);
}
a.prototype.equalsRange = function (a) {
var b = this.range,
c = a.range;
if (b.min === c.min && b.max === c.max) {
a: {
b = this.breaks;
c = a.breaks;
if (b && c) {
if (b.length === c.length) {
for (var e = 0, f = b.length; e < f; e++) {
var g = b[e],
h = c[e];
g = g[0] === h[0] && g[1] === h[1] ? !0 : void 0;
if (!g) {
b = void 0;
break a;
}
}
b = !0;
break a;
}
} else if (b === c) {
b = !0;
break a;
}
b = void 0;
}
if (b) return (!0 === this.inverted) !== (!0 === a.isInverted()) ? void 0 : !0;
}
};
a.prototype.equals = function (a) {
var b = this.caRect;
if (this.equalsRange(a) && ((a = a.chartArea.contentRect), b && a && 0 === ap(b, a))) return !0;
};
a.prototype.isValid = function () {
if (this.caRect) return !0;
};
a.prototype.rect = function () {
return (this.caRect = this.caRect || this.chartArea.contentRect);
};
return a;
})(),
rD = (function () {
function a() {
this.items = [];
}
a.prototype.get = function (a, b) {
for (var c = this.items, e = 0, f = c.length - 1, g; e <= f; ) {
g = Vb.floor((e + f) / 2);
if (a === c[g].value) return c[g];
a < c[g].value ? (f = g - 1) : (e = g + 1);
}
return b ? e || 0 : void 0;
};
a.prototype.add = function (a) {
var b = this.get(a, !0);
if ("number" === I(b)) {
var c = b;
b = { value: a, clusters: {} };
this.items.splice(c, 0, b);
}
return b;
};
a.prototype.toArray = function () {
for (var a = [], b = 0, d = this.items.length; b < d; b++) a.push(this.items[b].value);
return a;
};
a.prototype.getShortestRange = function () {
var a = void 0,
b = MA;
return 1 < this.items.length
? (w(this.items, function (c, e) {
e && ((e = c.value - a), e < b && (b = e));
a = c.value;
}),
b)
: 1;
};
a.prototype.reset = function () {
this.items = [];
};
return a;
})(),
Ur = { min: 1, curly: 3, measure: 1.5 },
hj = function (a) {
return a && "Point" === a.kind;
},
cu = (function (a) {
function c(b, c, e, f) {
e = a.call(this, b.chart, e, [b, f, e]) || this;
e.axis = b;
e._value = c;
e.type = f;
e.visuals = {};
e.tickLen = 0;
e.invalid = !1;
e.isDestroyed = !1;
e._age = 0;
e._isNew = !0;
e._metrics = void 0;
e._visible = !0;
e._isRange = t(c) && !!c.pop;
Tr(e);
return e;
}
K(c, a);
c.prototype.init = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
var e = G(a, 3);
a = e[0];
c = e[1];
e = e[2];
this.defMinorTickOptions = e.defaultMinorTick;
this.axis = a;
this.type = c;
this.defaultMutable = !1;
this._isRange = t(e.value) && !!e.value.pop;
"function" === typeof e.target && (this.target = e.target());
};
c.prototype.setType = function (a, c) {
this.type = a;
c && (this.userOptions.target = c);
this.setOptions();
Tr(this);
};
c.prototype.defaultOptions = function () {
if (this.axis) {
var a = this.axis.currentOptions;
switch (this.type) {
case "minor":
a = this.defMinorTickOptions || A({}, a.defaultTick, a.defaultMinorTick);
break;
default:
a = a.defaultTick || {};
}
return a;
}
};
c.prototype.dependentOptions = function () {
return [
{
option: ["line.color", "line.width"],
check: function (a) {
return a;
},
dependent: "line.visible",
value: !0,
},
];
};
c.prototype.px = function (a, c) {
this._px = t(a) && !Ha(a) ? a : void 0;
this._pxPrev = t(c) && !Ha(c) ? c : void 0;
return this._px;
};
c.prototype.getTickTargetPanel = function () {
var a = this.axis;
return this.currentOptions.onTop ? a.chartArea.rootVisuals.gridLinesFront : a.chartArea.rootVisuals.gridLinesBehind;
};
c.prototype.options = function (b, c) {
var d = this.optionsGetter(b);
if ("NotGetter" !== d) return d;
b && (t(b.value) && ((this._needUpdateText = this._value !== b.value), (this._value = b.value), (this._isRange = !!b.value.pop)), "function" === typeof b.target && (this.target = b.target()));
d = a.prototype.options.call(this, b, c);
Q(c) && Pa(b) && !this.chart.dirty && this.axis.options({});
return d;
};
c.prototype.setRootVisuals = function () {
var a = this.axis,
c = this.getTickTargetPanel();
a && !this.rootVisuals && (this.rootVisuals = { ticks: a.rootVisuals.tickSpacer, labels: a.rootVisuals.main, gridLines: c });
return this;
};
c.prototype.bindEvents = function () {
var a = this;
if (a.visuals) {
var c = a.hasUserEvent("click"),
e = a.visuals.labelText;
c = c ? "pointer" : "default";
e.on("vclick", function (b) {
return a.click(b);
});
e.on("mouseover", function (b) {
return a.mouseover(b);
});
e.on("mouseout", function (b) {
return a.mouseout(b);
});
e.attr({ cursor: c });
}
return a;
};
c.prototype.mouseover = function (a) {
var b = this.target,
c = this.chart.touched(),
f = "x" === this.axis.prefix;
if (!1 !== this.triggerUser("mouseOver", a) && b && hj(b)) {
var g = b.series;
Rl(this) &&
((a = this.axis.chartArea.debounce),
(b = f ? b : g),
a.clear("unmute"),
Ol(b, "", Nl(this) || (f ? "group" : "series")),
c &&
a.defer(
"unmute",
function () {
Qb(g.chart);
},
8e3
));
}
};
c.prototype.mouseout = function (a) {
var b = this.target;
if (!1 !== this.triggerUser("mouseOut", a) && b && hj(b) && Rl(this)) {
var c = b.series;
this.axis.chartArea.debounce.defer(
"unmute",
function () {
Qb(c.chart);
},
230
);
}
};
c.prototype.click = function (a) {
var b = "x" === this.axis.prefix,
c = this.target;
!1 !== this.triggerUser("click", a) &&
c &&
(hj(c) && Rl(this) && "touch" !== a.device
? ((a = c.series), this.axis.chartArea.debounce.clear("unmute"), Qb(a.chart))
: "touch" === a.device && (this.axis.chartArea.resetTimers(), hj(c) && ((a = b ? c : c.series), this.chart.highlighted === a && Qb(a.chart))));
};
c.prototype.setPos = function () {};
c.prototype.value = function () {
var a = this.axis,
c = z(this.currentOptions.value, this._value);
return a.normUserValue(c);
};
c.prototype.render = function (a, c) {
void 0 === c && (c = {});
if (this.isDestroyed) return this;
this.setOptions().setRootVisuals();
var b = this.currentOptions,
d = this.axis,
g = d.chartArea,
h = !1;
a = this.visuals;
var k = this.renderer,
l = {},
m = k.renderer,
n = this._metrics,
p = d.isRadial,
q = this._positionData,
r = this.getVisualTargets(),
u = this.value(),
x = d.currentOptions.orientation,
v = "top" === x || "right" === x || "opposite" === x;
if ("origin" === this.type) {
var y = (x = d.userOptions.originTick) && !1 === x.enabled;
h = d.linToPos(this._px);
(x || (0 !== h && 1 !== h)) && !y && (b = A({}, b, d.currentOptions.originTick));
}
this._isSquished && d.currentOptions.defaultHiddenTick && (b = A({}, b, d.currentOptions.defaultHiddenTick));
y = b.fill && "none" !== b.fill;
if (t(this._metrics.px)) {
x = d.tickVisible(u) || b.internal;
h = !a.tickLine;
if (x || !h) {
h = void 0;
h = Bb(b.line || {});
var D = h["stroke-width"] || 0;
if (!y) {
var E = (a.tickLine = a.tickLine || m.path().attr({ opacity: 0 }).add(r.line)),
F = void 0;
if (this._rngData)
if ((p = this._rngData.renderData)) l = A({ d: p.d }, p.pathOptions);
else {
l = {};
p = d._rngData.origin;
var B = d.duV("inside" === b.placement),
G = p[B.vc],
H = [];
p = function (a) {
var c = [],
d = [];
d[B.vc] = G;
d[B.hc] = a;
c.push(nd(r.tick, d, D));
Di(c, B.o, z(b.line.length, 5));
H.push(fb(c));
};
p(this._metrics.px[0]);
p(this._metrics.px[1]);
l = { d: xa(H) };
}
else (F = q.tickPoints), (q = p ? F[0] : nd(r.tick, F[0], D)), (p = p ? F[1] : nd(r.tick, F[1], D)), (l = { d: q ? fb([p, q]) : "M0 0" });
F = this.attrBuilder(l, h, c);
l = {};
E.attr(F);
}
if (c.onCa) {
h = !a.gridLine;
k = Oa(b.gridLine || {});
v = "column" === k.width;
var J = y ? !0 : !d.autoHideGrid();
(h && !tf(b.gridLine)) ||
!r.grid ||
(zc(k, k, "visible", "visible", function (a) {
return "auto" === a ? J : a;
}),
v && "category" === d.type && ((n = d.isStackedFull()), (k.width = n ? d.clusterWidth(this._value) : d.clusterWidth()), (k.caps = g.hasRoundCaps ? "round" : void 0), delete k.dashStyle),
(k = Bb(k)),
(n = u),
v && ((v = k["stroke-width"]) && (k["stroke-width"] = Math.round(v + D)), this._isRange && "category" === d.type && (n = Wf(u))),
(d = d.getCaPath(n, r.grid, void 0, { lineWidth: k["stroke-width"], multiShape: this._isRange })),
(a = a.gridLine = a.gridLine || m.path(d).attr({ opacity: 0 })),
(a.parentNode && a.parentNode === r.grid.el) || a.add(r.grid),
(h = this.attrBuilder({ zIndex: 5, d: d }, k, c)),
a.attr(h));
} else {
h = qc(b.label);
g = n.text;
Z(b, "label.text", g);
var M = this.angledAttr();
l.val = g;
l = this.attrBuilder(l, A({ autoWrap: "none" }, h), c);
t(h.opacity) && (l.opacity = h.opacity);
l = Ga(l, ["rotate", "x", "y"]);
p = M.rotate ? (M.rotate.length ? M.rotate[0] : M.rotate) : 0;
m = z(b.outline && b.outline.width, 1);
q = dr(b);
u = "inside" === C(d.currentOptions, "defaultTick.placement");
h = b.line.length;
q = b.padding - (q ? 2 * m : 0);
E = { padding: p ? 0 : q, radius: b.radius, corners: b.corners, fill: b.fill, outline: b.outline };
!p && y && (E.shape = { callout: { position: d.isHoriz ? [0.5, v !== u ? 1 : 0] : [v !== u ? 0 : 1, 0.5], size: [h, h] } });
M = A(M, Cg(E));
y && (M.zIndex = 3);
w(["animation", "margin"], function (a) {
l[a] && ((M[a] = l[a]), delete l[a]);
});
if (!a.label) {
var I = (a.label = k.box());
a.labelText = k.textStack(g).add(I);
I.add(r.label);
this.bindEvents();
if (this.chart.inited) {
var K = l.opacity,
L = l.animation;
I.renderer.isAnimationDisabled(l) ||
((M.opacity = 0),
I.await(function () {
I.el.transition({ middle: { to: { opacity: K } }, end: { opacity: K }, animation: L });
}));
}
}
M.xContentAlignment = l.xContentAlignment = this.contentAlignment();
l.width = n.textSize[0];
l.height = n.textSize[1];
a.labelText.attr(l);
k = p ? 0 : q;
!p && k && ((M.x -= k), (M.y -= k));
a.label.attr(M);
dr(b) &&
!p &&
((k = a.labelText.setPreliminarySize().getBbox()),
(n = a.label.getPaddingOffset(k.width, k.height)),
(k = n.left),
(n = n.top),
m && (n -= m * (d.isHoriz ? ((u && v) || (!u && !v) ? -1 : 1) : 0)),
(k || n) && a.label.attr({ x: M.x - k, y: M.y - n }));
}
this.visible(x, c);
}
this._isNew = !1;
}
return this;
};
c.prototype.contentAlignment = function () {
if (this._isRange && !1 === this._rngData.rotate && !1 !== this.currentOptions.enabled) return "center";
switch (this.axis.sideIndex()) {
case 0:
case 2:
return "center";
case 1:
return "left";
case 3:
return "right";
}
return null;
};
c.prototype.getVisualTargets = function () {
return this.axis.getVisualTargets(this.currentOptions, this._isRange);
};
c.prototype.angledBounds = function () {
var a,
c = this.metrics().textSize;
if ((a = this.angledAttr())) return hk([a.x, a.y, c[0], c[1]], a.rotate);
};
c.prototype.angledAttr = function () {
var a = this.axis,
c = a.currentOptions,
e = this._positionData,
f = e.textBBox,
g = va(f),
h = z(c.defaultTick.padding, 3),
k = { x: f[0], y: f[1] },
l = this.labelSize,
m = l[0];
l = l[1];
if (t(this._cxyRotate)) k.rotate = [this._cxyRotate, g[0] - f[0], g[1] - f[1]];
else if ((!this._isRange || this._isBaseRange) && a.isHoriz) {
f = a.sideIndex();
f = 0 === f || 1 === f;
g = C(c, "defaultTick.label.rotate");
c = z(g, c.autoRotate);
var n = [0, 0];
if ("angled" === a.labelMode && c) {
k.x += e.textBBox[2] / 2;
c = Yn(c);
e = Uc(0, 0, c - 90, l / 2).x;
f ? ((k.x -= e), 0 > c ? (n = [0, l]) : ((n = [m, l]), (k.x -= m)), a.isHoriz && (k.y = a.tickMetricsData.getMaxLength() - this._metrics.tickLength - h - l)) : ((k.x += e), 0 > c && ((n = [m, 0]), (k.x -= m)));
if (this._isBaseRange && a.isHoriz) {
e = "inside" === this.currentOptions.placement;
var p = ce(c) * Math.abs(Math.cos((c * Math.PI) / 180)),
q = Math.abs(Math.sin((c * Math.PI) / 180));
p *= m;
l *= q;
var r = Math.abs(this._metrics.px[1] - this._metrics.px[0]),
u = Math.max(0, Math.abs(p) + Math.abs(l) - r);
a = Q(g) ? r / a.tickMetricsData.getMaxLength() : 1;
k.x = u ? k.x - (f ? -1 : 1) * ce(c) * ((r * a) / 2 - l / 2) : k.x - ((f ? -1 : 1) * p * a) / 2;
e && (k.y -= q * (m / 2 + h + this.tickLen));
}
k.rotate = [c, n[0], n[1]];
}
}
k.rotate || (k.rotate = [0, 0, 0]);
return k;
};
c.prototype.metrics = function (a) {
void 0 === a && (a = {});
var b = this.currentOptions,
c = this.axis,
f = (this.tickLen = z(N(b, ["line", "length"]), 5)),
g = z(this.currentOptions.padding, 3),
h = (this._px = c.getCaLen(this.value()));
c = c.valToAngle(this.value());
if (!Id(b.label)) return (this.labelSize = [0, 0]), (this._metrics = { angle: c, px: h, textSize: [0, 0], tickLength: f, tickPadding: g });
var k = this.renderer,
l = this.getText(),
m,
n;
if ((n = this._metrics)) {
n = this._metrics;
var p = b.label.style;
void 0 === p && (p = {});
n = n.text === l && n.fontFamily === p.fontFamily && n.fontSize === p.fontSize && n.fontStyle === p.fontStyle && n.fontWeight === p.fontWeight;
}
n && (m = !0);
n = this._metrics || {};
m
? (this._metrics = A(n, { tickLength: f, tickPadding: g, px: h, angle: c }))
: ((b = qc(b.label)),
(k = k.textStack(l)),
k.attr(A({ autoWrap: "none" }, b)),
(m = k.composeCombinations()[0]),
(p = void 0),
!~l.indexOf(" ") ||
~l.indexOf("<br") ||
~l.indexOf("\n") ||
~l.indexOf("</") ||
"none" === b.autoWrap ||
(k.attr({ maxWidth: m.minSize.width.px - 1, autoWrap: "auto" }), (p = k.composeCombinations()[0]), (p = [p.minSize.width.px, p.minSize.height.px])),
(m = this.labelSize = [m.minSize.width.px, m.minSize.height.px]),
k.destroy(),
(this._metrics = A(n, {
tickLength: f,
textSize: m,
primTextSize: m,
altTextSize: p,
text: l,
fontFamily: b.fontFamily,
fontSize: b.fontSize,
fontStyle: b.fontStyle,
fontWeight: b.fontWeight,
tickPadding: g,
px: h,
angle: c,
})));
t(a.altTextSize) && ((f = this._metrics), (f.textSize = this.labelSize = (a.altTextSize ? f.altTextSize : f.primTextSize) || f.textSize));
return this._metrics;
};
c.prototype.getText = function () {
var a,
c = this,
e = c.currentOptions,
f = c.axis,
g = "category" === f.type,
h = c.value(),
k = C(e, "label.text"),
l = c.type + (c.isFirst ? " first" : ""),
m = f.getFormatInfo(ja(h) ? h[0] : h, l);
m = m.culture + m.fStr;
var n;
"function" === typeof e.target && (n = e.target());
var p = n || (f.chartArea.replaceTokens ? f.chartArea : f.chart);
if (!c._formattedText || m !== c._formatInfoHash || c._needUpdateText) {
k || ("minor" === c.type ? (k = C(f.currentOptions, "defaultMinorTicklabel.text")) : "major" === c.type && (k = C(f.currentOptions, "defaultTicklabel.text")));
n = I(k);
var q = f.getFormatInfo(void 0, "major");
e = function (a, b, d) {
b = t(b) && "function" === typeof b.pop && 2 === b.length ? { value: vs(b), min: b[0], max: b[1] } : { value: b, name: b };
q.isTime && d && delete q.isTime;
a = wi(a, b, q);
c._formattedText = p.replaceTokens(a);
};
k
? "function" === n
? ((k =
z(
k(
(function (a) {
return g && a.pop && 2 === a.length && 0 === a[0] % 0.5 && 0 === a[1] % 0.5 ? (1 === la(a[0], a[1]) ? na(Wf(a)) : [a + 0.5, a - 0.5]) : a;
})(h)
),
""
) + ""),
(c._formattedText = k ? wi(k, { value: h }, ((a = {}), (a[f.prefix] = f.getFormatInfo(h, l)), a)) : ""))
: "string" === n &&
((a = ae(k, "%")),
(n = ae(k, "{")),
a && g && "function" === typeof h.pop
? e(k, f.format(h, { tickType: l }, !0))
: a || n
? e(
k,
n
? h
: hb(h, function (a) {
return f.format(a, { tickType: l });
}),
!n
)
: (c._formattedText = k))
: (c._formattedText =
"category" !== f.type
? "time" === f.type && 2 === h.length
? f.format(h[0], { tickType: l })
: hb(h, function (a) {
return f.format(a, { tickType: l });
})
: f.format(h, { tickType: l }));
c._formattedText = vs(c._formattedText);
m = hb(h, function (a) {
return f.getFormatInfo(a, l);
});
h = m[0] || m;
c._formatInfoHash = h.culture + h.fStr;
}
c._needUpdateText = !1;
return c._formattedText;
};
c.prototype.invalidate = function () {
this.invalid = !0;
return this;
};
c.prototype.validate = function () {
this.invalid = !1;
};
c.prototype.attrBuilder = function (a, c, e) {
void 0 === a && (a = {});
void 0 === c && (c = {});
void 0 === e && (e = {});
a = A(c, a);
t(e.animation) ? A(a, { animation: e.animation }) : !1 === e ? (a.animation = !1) : (a = A(a, { animation: this.chart.options("animation") }));
this.invalid || (a.opacity = 1);
return a;
};
c.prototype.remove = function (a) {
this.destroy();
!1 !== a && this.axis.renderOnCa(a);
};
c.prototype.destroy = function () {
var a = this,
c = 0,
e = this.axis;
-1 < (c = e._ticks.indexOf(this)) && e._ticks.splice(c, 1);
Af(e.currentOptions.customTicks, function (b) {
return b.id === a.id;
});
Af(e.userOptions.customTicks, function (b) {
return b.id === a.id;
});
c = this.visuals;
c.gridLine && c.gridLine.destroy();
c.tickLine && c.tickLine.destroy();
c.label && c.label.destroy();
this.ciManager.remove(this);
};
c.prototype.visible = function (a, c) {
var b = this,
d = this.visuals,
g = function (a, d) {
a && a.attr(b.attrBuilder({}, { opacity: d ? 1 : 0 }, c));
},
h = function (a) {
g(d.gridLine, a);
g(d.tickLine, a);
d.label && g(d.label.el, a);
b._visible = a;
};
a !== this._visible && h(a);
};
return c;
})(jc),
ij,
sD = ["scale", "staticColumnWidth", "spacingPercentage"],
tD = ((ij = {}), (ij[1] = { line: { visible: !0 } }), (ij[0] = { line: { visible: !1 } }), ij),
uD = function (a) {
var c = {
scale: { type: "auto", defaultBreak: { type: "zigzag", line: { width: 10, color: "#d6d6d6" } } },
crosshair: { snapToData: !0, gridLine: { width: 1, dashStyle: "longdash", color: "#BDBDBD", visible: !0 }, fill: "#fff", outline: { color: "#a9a9a9" }, radius: 3, corners: "round" },
label: { align: "center", margin: 5, style: { color: "#474747", fontSize: "13px", fontWeight: "normal" } },
line: { color: "#A0A0A0", width: 1 },
defaultTick: {
gridLine: { width: 1, color: "#e6e6e6", visible: "auto" },
line: { color: "#e2e2e2", length: 5 },
label: { style: { color: "#5f5f5f", fontSize: "12px" }, margin: 5 },
fill: "none",
outline: "none",
padding: 3,
},
defaultMinorTick: { gridLine: { width: 1, color: "rgba(223,223,223,0.59)", dashStyle: "ShortDash" }, line: { color: "#e2e2e2", length: 4, width: 1 }, padding: 3, label: { style: { color: "#7b7b7b" } } },
defaultHiddenTick: { label: { opacity: 0.05 }, gridLine: { opacity: 0.2 }, line: { opacity: 0.5 } },
spacingPercentage: 0.2,
originTick: { gridLine: { color: "#f0cfcd" } },
autoRotate: -45,
};
if ("y" === a.prefix) {
var b = a.range,
d = b && b.min,
e = b && b.max;
if (t(d) && t(e)) {
var f = Math.max(Math.abs(d), Math.abs(e));
1e4 < f &&
(a.type ||
a.isLog() ||
(c.defaultTick.label.text = function (b) {
var c = a.currentOptions.formatString || "",
g = "c" === c[0];
c = c.slice(1);
var h = g ? "c" : "n";
if (b) {
var n = (e - d) / (a._ticks.length || 1);
b = G(Hs(f), 2);
var p = Math.pow(1e3, b[0]);
n = Math.log(p / n) / Math.log(10);
return "{%value/" + p + ":" + h + (c || Math.max(g ? 2 : 0, 0 < n ? Math.ceil(n) : 0)) + "}" + b[1];
}
return "{%value:" + h + (c || (g ? 2 : 0)) + "}";
}));
}
}
a.isLog() && (c.formatString = "g10");
a.isHoriz || (A(c, { alternateGridFill: "#f7f7f7" }), delete c.autoRotate);
if ("x" === a.prefix) {
var g = (b = a.range) && b.min;
b = b && b.max;
t(g) && t(b) && 1e3 <= g && 9999 >= b && (c.formatString = "d");
}
return A(c, tD[a.chart.getStyling()]);
},
du = function (a, c) {
!c && a && a.pop && ((c = a[1]), (a = a[0]));
a > c && ((c = G([c, a], 2)), (a = c[0]), (c = c[1]));
return [a, c];
},
Zm = function (a) {
return { string: "string", category: "string", number: "number", date: "time", time: "time" }[a] || a;
},
vD = function (a) {
var c = "category" === a.type,
b = !!a.syncAxis,
d = C(a.userOptions, "defaultTick.gridLine");
if ("x" === a.prefix && c) {
if (a.isHeatmap) return !0;
if (d && tf(d)) return !1;
var e = a.getSeriesColl().items,
f = $a(
B(e, function (a) {
return a.yAxis;
})
);
d = a.isRadial;
var g = (function () {
var a;
try {
for (var b = ya(f), c = b.next(); !c.done; c = b.next()) {
var d = c.value.range;
if (0 !== d.min && 0 !== d.max) return !1;
}
} catch (u) {
var e = { error: u };
} finally {
try {
c && !c.done && (a = b.return) && a.call(b);
} finally {
if (e) throw e.error;
}
}
return !0;
})(),
h = $a(
B(e, function (a) {
return a.info.type.seriesType;
})
),
k = function (a) {
return (
0 ===
ea(a, function (a) {
return "column" !== a && "area" !== a && "variwide" !== a;
}).length
);
};
e =
0 <
ea(e, function (a) {
return a.info.hasYRanges;
}).length;
var l = function () {
var b;
try {
for (var c = ya(f), d = c.next(); !d.done; d = c.next()) {
var e = d.value;
if (e) {
var g = e.getValToLin()(0);
switch (a.sideIndex()) {
case 0:
case 3:
return 0 === g;
case 1:
case 2:
return 1 === g;
}
}
}
} catch (x) {
var h = { error: x };
} finally {
try {
d && !d.done && (b = c.return) && b.call(c);
} finally {
if (h) throw h.error;
}
}
};
return (!d && g && l() && !e && k(h) && c) || (c && b);
}
},
wD = function (a) {
var c = a.chartArea;
if (c.chartAreaSet && c.axes && !a.userOptions.alternateGridFill) {
var b = c.axes({ prefix: "y" }).items.length;
c = c.chartAreaSet.freeAxes.y.id;
if (1 < b && a.id !== c) return !0;
}
},
jj = (function (a) {
function c(b, c, e) {
var d = a.call(this, b.chart || b, c, [b, e, c]) || this;
d.serList = [];
d.catList = [];
d.dataPositions = new rD();
d.clusterCounts = {};
d.originValue = void 0;
d.min = void 0;
d.max = void 0;
d.breaks = [];
d.events = { setRange: new rd() };
d.isVisible = !0;
d.type = "";
d.usedDataKeys = [];
d.noData = !0;
d.dataInfo = { precision: 0, seriesTypesUnique: [], serColl: void 0 };
d.isPrivate = !1;
d.childAxes = [];
d._ticks = [];
d._markers = [];
d.labelMode = "normal";
d.altGridFillVisuals = [];
d.attribs = {};
d.initSizeMetrics = function () {
d._sizeMetrics = { clipped: [0, 0], bbox: [0, 0, 0, 0], length: 0, size: [0, 0], labelSize: [0, 0], history: [] };
};
d.toPosition = function (a) {
var b = I(a),
c = "category" === d.type;
if ("string" === b) -1 < a.indexOf("%") && (a = d.chartArea.chartAreaSet.replaceTokens({ token: a }, d.getFormatInfo()));
else {
if (a.pop)
return (
(b = typeof a[0]),
(a = B(a, function (a) {
return d.toPosition(a);
})),
c && !d.isRadial && "string" === b && ((a = sa(a)), (a = xf(a, -0.5))),
a
);
if ("object" === b && "time" === d.type) return Nk(a, d.range ? d.range.min : d.min, d.range ? d.range.max : d.max);
if (c) return a;
}
return d._toPosition(a);
};
d.toText = function (a) {
return a;
};
d._toPosition = function (a) {
return a;
};
d._autoTimeFormats = {};
d._incompatableTypes = { stackedFull: "time" };
d.overflowSize = { tL: [0, 0], bR: [0, 0], margins: [0, 0, 0, 0] };
d._nRects = [];
d.zoomRange = [];
"chartArea" === b.kind && (b._axes.push(d), ("x" === e ? b.xAxis : b.yAxis).push(d), b.chartAreaSet._axes.push(d));
d.initSizeMetrics();
d.possibleKeys = Pz(e);
d.resetMetricsData();
d.initFP();
d.options(c, !1);
return d;
}
K(c, a);
c.prototype.getFormatInfo = function (a, c) {
var b = !!c,
d = b ? "_formatInfo" : "_formatInfoData";
if (!this[d] || t(a)) {
var g = {},
h = this.currentOptions,
k = this.dataType,
l = 0,
m = !1;
c && ((m = c.split(" ")), (c = m[0]), (m = "first" === m[1]));
g.fStr = h.formatString;
g.culture = h.cultureName || this.chart.currentOptions.defaultCultureName || "en-US";
g.fStr
? ((g.fStrStrict = !0), (g.precision = this.dataInfo.precision))
: "number" === k
? (!1 !== this.options("defaultTick.enabled") && this.tickPositions && this.tickPositions.all.length && (l = Xf(Nz(this.tickPositions.all))),
(c = void 0),
!b && t((c = this.dataInfo.precision)) && ((c = Math.min(c, 3)), (c = Math.max(c, l)), (g.fStr = "n" + c)))
: "time" === k &&
((g.fStr = t(a) ? { year: "yyyy", month: "MMM", day: "d", hour: "t", minute: "t", second: "T", millisecond: "fff" }[Mk(a)] : "d"),
(g.fStr = this._autoTimeFormats[c] || g.fStr),
"major" === c && m ? (g.fStr = this._autoTimeFormats.majorFirst) : "minor" === c && m && (g.fStr = this._autoTimeFormats.minorFirst));
g.isTime = "time" === k;
!g.fStr || (g.isTime && t(a)) || (this[d] = g);
}
return g || this[d];
};
c.prototype.format = function (a, c) {
var b = this;
c = b.getFormatInfo(a, (void 0 === c ? { tickType: null } : c).tickType);
var d = function (a) {
return t(a) && a.toFixed && -1 < a && b.catList.length > a ? b.catList[a] : "";
};
if ("category" === b.type) {
if (t(a)) {
if (a.pop && 2 === a.length && 0 === a[0] % 0.5 && 0 === a[1] % 0.5)
if (1 === la(a[0], a[1])) a = na(Wf(a));
else return (a = sa(a)), hb([a[0] + 0.5, a[1] - 0.5], d);
if ((d = d(a))) return d;
}
} else {
if ("time" === b.type) return (c = c.fStr), b.formatter("object" === typeof c ? c : void 0).formatDate(new Date(a), c);
b.isStackedFull() && (a *= 100);
}
return b.formatter().formatNumber(a, c.fStr);
};
c.prototype.formatter = function (a) {
if (a) return new Ng(this.currentOptions.cultureName || "en-US", a);
this._formatter || (this._formatter = new Ng(this.currentOptions.cultureName || "en-US", {}));
return this._formatter;
};
c.prototype.init = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
c = G(a, 2);
a = c[0];
c = c[1];
"chartArea" === a.kind && (this.chartArea = a);
this.prefix = c;
this.defaultContextOptions = C(this.chart, "typeContextOptions.axes." + c) || {};
var e = a.ctManager || a.ctm;
z(a.isHoriz, e && ("horizontal" === e.settingVal("chartType") || "horizontal" === e.settingVal("linearGaugeType"))) ? (this.isHoriz = "y" === c ? !0 : !1) : "x" === c && (this.isHoriz = !0);
this.isRadial = !1;
this.updateOptions = { animation: this.chart.options("animation") };
this.defaultMutable = !0;
};
c.prototype.initFP = function () {
var a = this;
a.ticks = Xa(
wb,
function () {
return a._ticks;
},
function () {
return 0;
},
{
push: function (b, c) {
a.userOptions.customTicks = a.userOptions.customTicks || [];
a.userOptions.customTicks.push(b);
a.setOptions();
!1 !== c && a.render(void 0, c).renderOnCa(c);
},
}
);
a.markers = Xa(
wb,
function () {
return a._markers;
},
function () {
return 0;
},
{
push: function (b, c) {
Qz(a, b, c);
!1 !== c && a.renderOnCa(c);
a.chart.chartAreaSet.reflow(c);
},
}
);
};
c.prototype.normalizeOptions = function (b) {
var c, e;
b = a.prototype.normalizeOptions.call(this, b);
"undefined" !== (e = I((c = N(b, ["scale", "range"])))) && "array" === e && ("time" === b.scale.type && (O(c[0]) && (c[0] = Gi(c[0])), O(c[1]) && (c[1] = Gi(c[1]))), Z(b, "scale.range", { min: c[0], max: c[1] }));
t(N(b, ["scale", "invert"])) && Z(b, "scale.invert", !0 === N(b, ["scale", "invert"]));
w(b.markers, zb);
b.customTicks &&
(b.customTicks = B(b.customTicks, function (a, b) {
if ("number" === typeof a) return { value: a };
a._lI = b;
return a;
}));
return b;
};
c.prototype.defaultOptions = function () {
var a = this.chart.options("defaultCultureName");
this.defaultContextOptions.cultureName = a || "en-US";
a = uD(this);
var c = this.chart.currentOptions.defaultAxis;
c && A(a, c);
return this.defaultContextOptions ? A(a, this.defaultContextOptions || {}) : a;
};
c.prototype.dependentOptions = function () {
return [
{
option: ["line.color", "line.width", "line.breaks"],
check: function (a) {
return a;
},
dependent: "line.visible",
value: !0,
},
];
};
c.prototype.options = function (a, c) {
var b = this.chart,
d = b.currentOptions.defaultAxis || {},
g = this.optionsGetter(a);
if ("NotGetter" !== g) return g;
a = A({}, a);
a = this.normalizeOptions(a);
this.invalidate();
g = (g = a.orientation) && g !== this.userOptions.orientation;
var h = pa(a);
0 < gc(h, sD).length &&
w(this.serList, function (a) {
return a.seriesDirty.all(!0);
});
A(this.userOptions, a);
this.setOptions();
t((h = this.options("visible"))) && (this.isVisible = h);
this.currentOptions.staticDraggable && (this._isDragHost = !0);
a.events && (h = a.events.setRange) && this.events.setRange.on(h);
(a.defaultTick || a.defaultMinorTick) &&
this.ticks().each(function (b) {
A(b.defMinorTickOptions, a.defaultTick, a.defaultMinorTick);
b.options({}, !1);
});
g && this.isAdded && this.resetVisuals();
g = this.rootVisuals;
(a.label || d.label) && g && g.label && g.label.options(this.currentOptions.label);
t(a.caOffset) && ((d = this.getParentPanel()), (g = this.rootPanel.parent) && g !== d && ((this.parentLayoutItem = d || this.renderer), this.rootPanel.add(d), this.applyCaOffset()));
if (!1 !== c) {
c = this.normalizeUpdateOpt({ animation: b.currentOptions.animation }, c);
this.chartArea.invalidate();
this.setRange();
b.redraw(c);
var k = !0;
}
b.triggerOptionsApplied("axis", this);
!k && this.afterUpdate(c);
return this;
};
c.prototype.getParentPanel = function (a) {
a = a || this.rootPanel.parent;
return t(this.currentOptions.caOffset) && !1 !== this.isVisible && a && a instanceof Tg ? a.parent : a;
};
c.prototype.invalidate = function () {
this._formatter = this._formatInfoData = this._formatInfo = void 0;
this.setOptions();
return this;
};
c.prototype.getRange = function () {
var a = this.range;
return { min: a.min, max: a.max, dataMin: this.min, dataMax: this.max };
};
c.prototype.getCategories = function () {
return "category" === this.type ? (this.catList ? this.catList.slice(0) : []) : void 0;
};
c.prototype.syncLegend = function () {
w(this._markers, function (a) {
a.syncLegendEntry();
});
};
c.prototype.setData = function (a) {
void 0 === a && (a = !1);
var b = this,
c = b.prefix,
f = b.chartArea,
g = b.currentOptions,
h = C(g, "scale.syncWith") || "",
k = f.isZoomLive(),
l = [],
m = 0,
n = [],
p = f.ctManager,
q = p.isType("heatmap") || p.isType("calendar");
b.isHeatmap = q;
p = b.chart.options("axisToZoom");
var r = f.getZoomAxes()[0],
u = "y" === c && r && (!p || -1 === p.indexOf("y")) && ((r && r.isZoomed) || f.axes("x").isZoomed);
b.options("type");
if (this._isDragHost) return this;
f = b.dataInfo.serColl = b.getSeriesColl(function (a) {
return a.isVisible;
});
if ("map" === b.options("type")) {
var x = !0;
f.each(function (a) {
x && "map" !== a.type && (x = !1);
});
f = b.dataInfo.serColl = f.filter(function (a) {
return "map" !== a.type;
});
if (x) return (b.mapsOnly = !0), this;
}
f.each(function (a) {
return a.seriesDirty.pointIndex() && a.setDataInfo();
});
var v = [];
if (b.applyAxisSync(h, f)) return this;
var y = b.possibleKeys.slice(0);
b.isStackedFull() && y.splice(y.indexOf("y"), 1);
f.each(function (a) {
n.push.apply(n, H(gc(a.indexer.getKeys(), y)));
});
if (!n.length)
if ((g = N(g, ["scale", "range"])) && "none" !== h) b.data = g.slice ? g.slice(0) : [g.min, g.max];
else return (b.noData = !0), this;
b.noData = !1;
b.usedDataKeys = $a(n);
var t = !0;
b.serList = f.each(function (a) {
var c = a.indexer,
d;
v.push(a.type);
if (u && a.xAxis.isZoomed) {
var e = a.xAxis.range;
e = [e.min, e.max];
if (a.info.labelTextInfo.xNotSorted) {
for (var f = c.data.x, g = c.data.y, h = (d = void 0), n = void 0, p = void 0, r = [], x = 0, y = f.length; x < y; x++) {
var D = f[x];
if (void 0 === d || (D > e[0] && D < d)) (d = D), (r[0] = x);
if (void 0 === h || (D < e[1] && D > h)) (h = D), (r[1] = x);
D < e[1] && D > e[0] && ((D = g[x]), (void 0 === n || n < D) && (n = D), (void 0 === p || p > D) && (p = D));
}
f = [p, n];
} else
(r = [c.findInterpolatedInfo("x", e[0]), c.findInterpolatedInfo("x", e[1])]),
(r = [r[0].i + 1, r[1].i]),
-1 === r[0] && -1 === r[1]
? (r = void 0)
: (-1 === r[1] ? (r = [r[0]]) : -1 === r[0] && (r[0] = 0), 2 === r.length && (r[1]++, (r[1] = ua(r[1], r[0] + 1, c.lengths.x - 1))), (f = [a.yAt(e[0]), a.yAt(e[1])]));
}
x = 0;
for (e = b.usedDataKeys.length; x < e; x++)
if (
((g = b.usedDataKeys[x]),
"svv" === g || "svxv" === g ? (d = c.dataFlat[g]) : ((d = c.getKey(g)), r && ((d = d.slice.apply(d, H(r))), "y" === g && (d.splice(0, 0, f[0]), d.push(f[1])))),
q && (d = $a(d)),
d && d.length)
) {
h = l.length;
n = 0;
for (p = d.length; n < p; n++) (y = d[n]), t && l[n + h - 1] > y && (t = !1), l.push(y);
k ? (m = b.dataInfo.precision) : (d = c.uniqTypes[g]) && -1 < d.indexOf("number") && (m = Math.max(c.countDecimals(g), m));
}
b.isHeatmap && (l = $a(l));
w = w || a.info.labelTextInfo.xNotSorted || !1 === a.info.xIsSorted || !1 === t;
}).items;
var w = "x" !== c ? !0 : w;
b.dataInfo = { precision: m, seriesTypesUnique: $a(v), serColl: f };
b.data = l;
Af(l, function (a) {
return lc(a) || Ha(a);
});
l && "object" === typeof l[0]
? ((c = B(l, function (a) {
return a.getTime();
})),
(b.dataSortedUniq = B(ad(w ? sa(c) : c), function (a) {
return new Date(a);
})))
: (b.dataSortedUniq = ad(w ? sa(l) : l));
b.invalidate();
!a && b.detectType();
return this;
};
c.prototype.applyAxisSync = function (a, c) {
var b = this;
a || (a = Mz(this, c));
if ((a = this.syncAxis = this.ciManager.exists(a))) {
this.min = a.min;
this.max = a.max;
this.range = qa(a.range);
this.type = a.type;
this.dataType = a.dataType;
this.usedDataKeys = a.usedDataKeys.slice(0);
this.catList = a.catList.slice(0);
this._toPosition = a._toPosition;
var d = C(a.currentOptions, "scale.type");
d && !C(this.userOptions, "scale.type") && ((this.currentOptions.scale = this.currentOptions.scale || {}), (this.currentOptions.scale.type = d));
"category" === a.type &&
(c.each(function (a) {
a.reIndexStringVals(b);
}),
c.items.length || ((this.dataPositions = qa(a.dataPositions)), this.resetTicksLabels()));
this.setViewState(!0);
return !0;
}
};
c.prototype.detectType = function () {
var a = this,
c = this,
e = [],
f,
g = [],
h = c.usedDataKeys;
if (c.mapsOnly) return (c.dataType = Zm("number")), this;
var k = c.getSeriesColl().items;
w(k, function (a) {
w(h, function (b) {
(f = a.indexer.uniqTypes[b]) && e.push.apply(e, H(f));
f && "string" === f[0]
? (g.push(a.indexer.getKey(b)), (a._catCache = a._catCache || []), (a._catCache[b] = a.indexer.getKey(b)))
: "category" === c.type && f && "number" === f[0] && C(a._catCache, NaN + b + ".length") && g.push(a._catCache[b].slice(0));
});
});
g = B(g, $a);
e = $a(e);
var l = e[0];
1 < e.length || (c.dataType = Zm(l));
l = C(c.userOptions, "scale.type");
l = (this.checkTypeCompatability(l, c.dataType) && l) || C(c.contextOptions(), "scale.type");
if (-1 < e.indexOf("string")) {
if ("time" === l) (c.dataType = c.type = "time"), (c._toPosition = Gi);
else if ("map" !== c.chart.ctManager.settingVal("chartType")) {
c.dataType = Zm((c.type = "category"));
l = By(g);
c.catList.length && l.length && c.catList.join("") !== l.join("") && c.resetTicksLabels();
var m = (c.catList = l);
c.childAxes &&
w(c.childAxes, function (a) {
return a.resetTicksLabels();
});
c._toPosition = function (a) {
return m.indexOf(a);
};
}
w(k, function (b) {
b.reIndexStringVals(a);
});
c.setData(!0);
} else -1 < e.indexOf("date") ? ((c.dataType = c.type = "time"), (c._toPosition = Gi)) : "time" === l && (c.dataType = c.type = "time");
c.originValue = "category" !== c.type && "time" !== c.type ? 0 : void 0;
this._duV = void 0;
return this;
};
c.prototype.checkTypeCompatability = function (a, c) {
var b = !a || !c || this._incompatableTypes[a] !== c;
!b && Ma.emit("warning", this.id, "incompatableAxisTypeOptions", { container: this.chart.getWrapper(), data: [a, c] });
return b;
};
c.prototype.getSeriesColl = function (a) {
var b = this,
c = b.parentAxis || b;
if (a) {
if ("function" === typeof a)
return b.chart.series(function (d) {
var e;
return (null === (e = d[b.prefix + "Axis"]) || void 0 === e ? void 0 : e.id) === c.id && a(d);
});
a[b.prefix + "Axis"] = { id: c.id };
return b.chart.series(a);
}
return b.chart.series(function (a) {
var d;
return (null === (d = a[b.prefix + "Axis"]) || void 0 === d ? void 0 : d.id) === c.id;
});
};
c.prototype.setRange = function (a, c) {
function b(a) {
var b = [],
c = k.markers;
a = a.getCustomTicks();
var d = [];
c && b.push.apply(b, H(c));
a && b.push.apply(b, H(a));
w(b, function (a) {
a.includeInScale && ((a = r(a.value)), a.pop ? d.push.apply(d, H(a)) : d.push(a));
});
d.length && ((b = [Math.min.apply(Math, H(d)), Math.max.apply(Math, H(d))]), (v = Math.max(v, b[1])), (x = Math.min(x, b[0])));
}
var d = this,
g = this,
h = g.syncAxis,
k = g.currentOptions,
l = g.currentOptions.scale,
m,
n = { axOptions: k, axLength: g._sizeMetrics.length },
p = g.range,
q = A({}, g.range),
r = g.toPosition;
if (g.noData || g._isDragHost || g.mapsOnly) return this;
p = function (a) {
x = g.min = a[0];
v = g.max = a[1];
};
var u = g.dataSortedUniq;
u = [u[0], u[u.length - 1]];
h ? p([h.min, h.max]) : ("time" == g.dataType ? p(B(u, g._toPosition)) : p(u), b(this));
x === v && ((x -= 0.2), (v += 0.2));
!h &&
zc(
n,
g.userOptions,
function (a, b) {
t(b.min) && (a.userMin = r(b.min) - 0.2);
t(b.max) && (a.userMax = r(b.max) + 0.2);
},
"scale.range"
);
zc(
n,
g.userOptions,
function (a, b) {
"object" == typeof b && "time" !== g.dataType && "time" !== g.type ? Ma.emit("warning", g.id, "objInterval", { data: [g.prefix], container: d.chart.getWrapper() }) : (a.userInterval = b);
},
"scale.interval"
);
g.snapToZero = !1;
l.includeOrigin ? (n.snapZero = !0) : "time" !== g.type && ((p = g.chartArea), "y" === g.prefix && (p.chartArea || p).series({ info: { type: { snapToZero: !0 } } }).items.length && (n.snapZero = !0));
g.snapToZero = n.snapZero;
!h && g.setAutoScaleBreaks();
n.breaks = h ? h.breaks : g.breaks;
!h &&
zc(
n,
g.currentOptions,
function (a, b) {
"array" === I(b) && (a.breaks = b);
},
"scale.breaks"
);
n.minInterval = C(k, "scale.minInterval");
n.userMinorInterval = l.minorInterval;
if (g.isZoomed) {
var x = g.zoomRange[0],
v = g.zoomRange[1];
n.userMin = x;
n.userMax = v;
p = g.range = Dg(x, v, 8, n);
p.min = x;
p.max = v;
} else
(h = C(g.userOptions, "scale.range.min")),
(l = C(g.userOptions, "scale.range.max")),
(p = z(h, x)),
(u = z(l, v)),
g.isStackedFull()
? ((p = g.range = Dg(x, v, 10, n)), (p.min = 0), (p.max = 1))
: "z" !== g.prefix || n.snapZero
? ((p = g.range = Dg(p, u, 8, n)), "time" === g.type && ((p.min = x), (p.max = v)))
: (p = g.range = { min: g.min, max: g.max }),
t(h) && (p.min = r(h)),
t(l) && (p.max = r(l)),
(g.unZoomedRange = { min: p.min, max: p.max });
t((m = C(k, "scale.minorInterval"))) && "number" === typeof m && (p.minorInterval = m);
t((m = C(k, "scale.interval"))) && m && "auto" !== m && (p.interval = m);
t((m = C(k, "scale.zoomLimit"))) ? (g.zoomLimit = m) : (g.zoomLimit = g.viewState ? Math.max(g.linToVal(5) - g.linToVal(0), 0.001 * (g.max - g.min)) : 0.05 * (p.max - p.min));
g.loadDPs().adjustRange().setViewState(a, c);
(q.min === p.min && q.max === p.max) ||
g.getSeriesColl({ isVisible: !0 }).each(function (a) {
return a.seriesDirty.pos(!0);
});
return this;
};
c.prototype.removeMarker = function (a) {
var b = this;
a = this._markers.indexOf(a);
Af(this.currentOptions.markers, function (a) {
return a.id === b.id;
});
this._markers.splice(a, 1);
};
c.prototype.adjustRange = function () {
var a = this,
c = a.snapToZero,
e = a.min,
f = a.max,
g = a.isHoriz !== a.chartArea.isHoriz && "x" === a.prefix,
h = 0.5,
k = function (b) {
return N(a.userOptions, ["scale", "range", b]);
},
l = k("min"),
m = k("max"),
n = k("padding");
if (!a.syncAxis && !a.isZoomed) {
k = a.range;
if (a.isHeatmap) (g = 0.5), "category" !== a.type && (g = a.shortestValDistance / 2), (k.min = t(l) ? a.normUserValue(l) : e - g), (k.max = t(m) ? a.normUserValue(m) : f + g);
else if (t(n))
(g = 0),
nb(n) ? (g = la(f, e) * n) : "time" === a.type && n.unit && (g = Nh(n).unitRange),
(e = [e - g, f + g]),
c && (e = [Math.min(e[0], 0), Math.max(e[1], 0)]),
(k.min = t(l) ? a.normUserValue(l) : e[0]),
(k.max = t(m) ? a.normUserValue(m) : e[1]);
else {
c = a.getSeriesColl(function (a) {
return a.isVisible;
});
var p = c.filter(function (a) {
return a.info && a.info.type.drawRect;
});
c = c.filter(function (a) {
return a.info && "bubble" === a.info.type.seriesType;
});
n = 0 < p.items.length;
var q = 0 < c.items.length;
if (n || q) h += a.options("spacingPercentage") / 2.2;
if ("category" === a.type) (k.min = t(l) ? l : e - h), (k.max = t(m) ? m : f + h);
else {
if (g) {
var r = void 0,
u = [],
x = 0;
p.each(function (a, b) {
a.indexer.calculations.x && (u.push(a.indexer.min("x"), a.indexer.max("x")), (x = Math.max(x, a.indexer.data.x.length)));
});
var v = u[0] === e && u[1] === f;
if (p.items.length && u.length) {
var y = a.getShortestDistPerc();
r = [Math.min.apply(Math, H(u)), Math.max.apply(Math, H(u))];
y = (la(f, e) || 0) / Math.max(x - 1, 1);
y *= h;
v ? (0 === y && (y = h), (k.min = r[0] - y), (k.max = r[1] + y)) : ((k.min = Math.min(r[0] - y, k.min)), (k.max = Math.max(r[1] + y, k.max)));
y = !0;
}
u = [];
x = 0;
c.each(function (a, b) {
a.indexer.calculations.x && (u.push(a.indexer.min("x"), a.indexer.max("x")), (x = Math.max(x, a.indexer.data.x.length)));
});
h = 0.1;
p = u[0] === e && u[1] === f;
c.items.length &&
u.length &&
((r = [Math.min.apply(Math, H(u)), Math.max.apply(Math, H(u))]),
(h *= r[1] - r[0]),
p ? ((k.min = r[0] - h), (k.max = r[1] + h)) : ((k.min = Math.min(r[0] - h, k.min)), (k.max = Math.max(r[1] + h, k.max))),
(y = !0));
}
k.min = t(l) ? a.normUserValue(l) : k.min;
k.max = t(m) ? a.normUserValue(m) : k.max;
y || "category" === a.type || (!g && "time" !== a.type) || ((g = n ? 0.05 : q ? 0.1 : 0.02), (g *= la(k.max, k.min)), t(l) || (k.min = e - g), t(m) || (k.max = f + g));
}
}
a.unZoomedRange = { min: k.min, max: k.max };
}
return this;
};
c.prototype.setAutoScaleBreaks = function () {
this.autoScaleBreaks();
return this;
};
c.prototype.autoScaleBreaks = function () {
function a(a) {
for (var b = [], c = 0, d = a.length; c < d; c++) c && b.push([a[c - 1], a[c], a[c] - a[c - 1]]);
return b;
}
function c(a, b) {
function c(a, b) {
return a[2] - b[2];
}
function d(a, b) {
return b[2] - a[2];
}
a.sort(b ? c : d);
}
function e(a, b) {
function c(a, b) {
return a[0] - b[0];
}
function d(a, b) {
return b[0] - a[0];
}
void 0 === b && (b = !0);
a.sort(b ? c : d);
}
function f(a) {
for (var b = [], c = 0, d = a.length; c < d; c++) b.push(a[c][0]), b.push(a[c][1]);
return [Math.min.apply(null, b), Math.max.apply(null, b)];
}
var g = this.dataSortedUniq,
h = [this.min, this.max],
k = this.max - this.min,
l = 0,
m = 0,
n = 100,
p = [],
q = C(this.userOptions, "scale.breaks.limit"),
r = C(this.userOptions, "scale.breaks"),
u = [];
if (q) {
if ((r = C(this.currentOptions, "markers"))) {
k = 0;
for (var x = r.length; k < x; k++) {
var v = r[k],
t = void 0;
"array" === I(v.value) && 1 < v.value.length ? ((t = this.toPosition(v.value[1])), g.push(t)) : (t = this.toPosition(v.value));
(Kb(h, t) || v.includeInScale) && g.push(t);
}
g.sort(function (a, b) {
return a < b ? -1 : a > b ? 1 : 0;
});
k = (g[g.length - 1] > this.max ? g[g.length - 1] : this.max) - (g[0] < this.min ? g[0] : this.min);
}
h = a(g);
c(h, !0);
for (r = 0; r < h.length; r++) (x = h[r][2]), (g = (x / k) * 100), x < 0.08 * k && (g < n && (n = g), l++, (m += x));
m /= l;
if (0 < l) {
g = 0.08 / (n / 100);
g = (k / g) * (g - 1);
v = 3 > l ? 35 : 10 > l ? 30 : 15 > l ? 25 : 20 > l ? 20 : 15;
if (7 > n && 1 <= l) {
r = 0;
for (l = h.length; r < l; r++) (t = h[r]), (x = t[2]), x > 10 * m && (x / k) * 100 > v && p.push(t);
c(p, !1);
m = [];
l = 0;
for (h = p.length; l < h; l++)
if (l < q) m.push(p[l]);
else break;
p = m;
q = l = 0;
for (m = p.length; q < m; q++) (h = p[q]), l < g ? (l += h[2]) : (p.splice(q--, 1), (m = p.length));
if (p.length)
for (q = f(p), q = q[1] - q[0], q = k - (q - -(0.2 * (k - q))), g = l = void 0, g = 8 < (k / q) * n ? (l = 0.4 * q) : (l = 0.2 * q), 1 < p.length && (l = g = 2 * l), q = 0, m = p.length; q < m; q++)
(n = p[q]),
"time" === this.type &&
((k = function (a) {
return a instanceof Date ? a.getTime() : a;
}),
(n[0] = k(n[0])),
(n[1] = k(n[1]))),
n[0] + g > n[1] - l ? ((k = 0.2 * n[2]), (n[0] += k), (n[1] -= k)) : ((n[0] += g), (n[1] -= l)),
u.push(n);
}
e(u);
this.breaks = u;
} else this.breaks = [];
} else r && (this.breaks = Wr(this, r));
};
c.prototype.loadDPs = function () {
var a = this,
c = this,
e = c.chartArea;
if ("chartArea" !== e.kind || !e.isZoomLive()) {
var f = this.dataPositions;
f.reset();
var g = function (a) {
return a;
};
w(this.serList, function (b) {
if (b.isVisible) {
var d = b.indexer.getKey(a.prefix);
d = d.length ? d : c.data.slice(0);
var e = b.indexer.uniqTypes[a.prefix];
e &&
"date" === e[0] &&
(g = function (a) {
return a.getTime();
});
e = 0;
for (var h = d.length; e < h; e++) {
var n = f.add(g(d[e])),
p = b.info.type;
p.clusters && (n.clusters[p.seriesType] = (n.clusters[p.seriesType] || 0) + 1);
}
}
});
this.loadDPs_shortestDistance();
}
return this;
};
c.prototype.normUserValue = function (a) {
var b = this.toPosition(a);
this.isRadial || "category" !== this.type || "string" !== typeof a || (b = [b - 0.5, b + 0.5]);
return b;
};
c.prototype.getShortestDistPerc = function () {
return this.syncAxis ? this.syncAxis.getShortestDistPerc() : t(this.shortestValDistance) ? this.shortestValDistance / (this.range.max - this.range.min) : 1;
};
c.prototype.setTickPositions = function () {
var a = this,
c = a.currentOptions,
e = c.scale || {},
f = !1 !== C(c, "defaultTick.enabled"),
g = !1 !== C(c, "defaultMinorTick.enabled"),
h = a.range,
k = [];
c = [];
var l,
m = e.interval,
n = e.minorInterval,
p = a.getPointTicks(),
q = a.getCustomTicks();
a.pointTicks = {
values: p.map(function (a) {
return a.value;
}),
configs: p.map(function (a) {
return a.config;
}),
points: p.map(function (a) {
return a.point;
}),
};
var r = e.type && 0 === e.type.toLowerCase().indexOf("log"),
u = e.logBase || 10;
(m && "auto" !== m) || (m = void 0);
var x = function (b) {
var c = [];
w(b, function (b) {
a.valVisible(b) && c.push(b);
});
return c;
};
if (r && !t(m))
(f = function (b, c, d, e) {
void 0 === e && (e = 100);
var f = 0,
m = g && "auto" === n;
m && (l = l || []);
for (
var p = function () {
v = parseFloat(Math.pow(u, b).toFixed(7)) * (d ? -1 : 1);
a.valVisible(v) && k.push(v);
b += c;
if (m) {
var g = v,
n = parseFloat(Math.pow(u, b).toFixed(7));
ob(10, function (b) {
b && (-1 === k.indexOf(g) && Math.abs(g) < Math.abs(n) && a.valVisible(g) && l.push(g), (g += v));
});
}
q = f++ > e || v > h.max || v < h.min;
};
!q;
)
p();
if (g && "auto" === n)
for (b = h.log[0]; !q; ) {
-1 === k.indexOf(v) && a.valVisible(v) && l.push(v);
var q = !0;
}
}),
0 === h.min
? (f(Math.ceil(h.log[1]), -1, !1, 3), (h.logMin = Math.log(k[k.length - 1]) / Math.log(u)), a.valVisible(0) && k.push(0))
: 0 === h.max
? (a.valVisible(0) && k.push(0), f(Math.ceil(h.log[0]), -1, !0, 3), (h.logMax = Math.log(Math.abs(k[k.length - 1])) / Math.log(u)))
: 0 < h.min
? f(Math.floor(h.log[0]), 1, !1)
: 0 > h.max
? f(Math.floor(h.log[1]), 1, !0)
: (-1 < h.min && (f(Math.ceil(h.log[0]), -1, !0, 1), (h.logMin = Math.log(Math.abs(k[k.length - 1])) / Math.log(u))),
1 > h.max && (f(Math.ceil(h.log[1]), -1, !1, 1), (h.logMax = Math.log(k[k.length - 1]) / Math.log(u))),
-1 >= h.min && f(h.logMax || 0, 1, !0),
a.valVisible(0) && k.push(0),
1 <= h.max && f(h.logMin || 0, 1, !1)),
(h.logRange = k.length - 1);
else if ("category" === a.type)
f &&
((k = x(a.dataPositions.toArray())),
a.isRadial ||
(k = k.map(function (a) {
return [a - 0.5, a + 0.5];
})));
else if ("time" === a.type) !f || m || n || e.minInterval ? (f && (k = a._getTimeTickPositions()), g && t(n) && (l = a._getTimeTickPositions(!0))) : ((f = a._getTimeTickPositionsAuto()), (k = f.major), (l = f.minor));
else {
e = m || h.interval;
m = Xf([h.min, h.max, e]);
if (f) {
var v = na(Vb.floor(h.min / e) * e, m);
f = 1;
for (r = v; v <= h.max; ) a.valVisible(v) && k.push(v), (v = na(r + e * f++, m));
}
if (g && t(h.minorInterval))
for (m = Xf([h.min, h.max, h.minorInterval]), v = na(Vb.floor(h.min / h.minorInterval) * h.minorInterval, m), l = [], f = 0, r = v; v <= h.max; )
-1 === k.indexOf(v) && a.valVisible(v) && l.push(v), (v = na(r + h.minorInterval * f++, m));
}
a.invalidate();
if (q) {
var y = [],
D = [];
f = 0;
for (e = q.length; f < e; f++)
if (((m = q[f]), "time" !== a.type || "object" !== typeof m.value || m.value.pop))
t(m.value) &&
((x = r = a.toPosition(m.value)),
a.isRadial || "category" !== a.type || ("string" === typeof m.value && (r = [r - 0.5, r + 0.5]), 2 === r.length && (x = xf(r, 0.1))),
a.valVisible(x) && (y.push(r), k.push(r)));
else for (r = Nk(m.value.pattern || m.value, a.min, a.max), x = 0; x < r.length; x++) (r[x].v = m.value), a.valVisible(r[x]) && (y.push(r[x]), k.push(r[x]));
!D.length && (D = void 0);
}
if (p && p.length)
for (f = 0, e = p.length; f < e; f++) {
m = p[f];
r = a.toPosition(m.value);
if (!a.isRadial && "category" === a.type) {
r = [r - 0.5, r + 0.5];
var E = !0;
}
a.valVisible(r) && (y.push(r), k.push(r));
}
a.tickPositions = ad(E ? k : sa(k));
c.push.apply(c, H(k));
y && ((a.tickPositions.custom = y), c.push.apply(c, H(y)));
D && ((a.tickPositions.cpPositions = D), c.push.apply(c, H(D)));
l && ((a.tickPositions.minor = l), c.push.apply(c, H(l)));
E = a.tickPositions.length === p.length && E;
a.tickPositions.all = ad(E ? c : sa(c));
return this;
};
c.prototype._getTimeTickPositions = function (a) {
var b = this.range,
c = this.options("scale." + (a ? "minorInterval" : "interval"));
(c && "auto" !== c) || (c = void 0);
var f = Nh(c || b.interval);
!c && 10 < b.range / (f.unitRange * f.count) && (f = Nh(b.range));
b.timeInterval = f;
a = Mh(f, void 0, new Date(Math.round(b.min)), new Date(Math.round(b.max)));
!c && 20 < a[0].length && ((f.multiplier = Math.floor(a[0].length / 10)), (a = Mh(f, void 0, new Date(Math.round(b.min)), new Date(Math.round(b.max)))));
this._autoTimeResult = b = { intervals: a, pair: { major: { unit: f.unit, multiplier: f.count }, minor: { unit: f.unit, multiplier: f.count } }, sigUnits: gp(a) };
this._autoTimeFormats = fp(b);
return a[0];
};
c.prototype._getTimeTickPositionsAuto = function () {
var a = this.range;
a = [new Date(Math.round(a.min)), new Date(Math.round(a.max))];
a = xw(a[0], a[1], 10, this.chartArea.isDragging && this._autoTimeResult);
var c = a.intervals;
this._autoTimeResult = a;
this._autoTimeFormats = fp(a);
return { major: c[0], minor: c[1] };
};
c.prototype.loadDPs_shortestDistance = function () {
var a = this.range;
this.shortestValDistance = this.dataPositions.getShortestRange();
this.shortestPercDistance = this.shortestValDistance / (a.max - a.min);
return this;
};
c.prototype.isLog = function () {
return Tl(this, function (a) {
return 0 === a.toLowerCase().indexOf("log");
});
};
c.prototype.isStacked = function () {
return Tl(this, function (a) {
return -1 < a.indexOf("stacked");
});
};
c.prototype.isStackedFull = function () {
return Tl(this, function (a) {
return "stackedfull" === a.toLowerCase();
});
};
c.prototype.getValToLin = function () {
return this.viewState ? this.viewState.valToLin : void 0;
};
c.prototype._getValToLin = function () {
var a = this,
c = a.range,
e = a.breaks,
f = a.isInverted(),
g = f ? [0, 1] : [1, 0];
if (e.length) {
f = a._openRanges();
var h = f.ranges,
k = f.sum;
return function (a) {
var b;
if ((b = ag(h, a))) return Y(g[0], g[1], 0, k, a - b[0] + b[2]);
if ((b = ag(e, a))) if ((b = ag(h, b[0]))) return Y(g[0], g[1], 0, k, b[2] + b[1] - b[0]);
return Y(g[0], g[1], c.min, c.max, a);
};
}
var l = a.userOptions.scale || {};
if (a.isLog()) {
var m = l.logBase || 10,
n = function (a) {
return 0 === a ? a : Math.log(Math.abs(a)) / Math.log(m);
},
p = function (a) {
var b = 0 > c.min * c.max;
if (b && -1 < c.min) var d = c.logMin - c.log[0] - 1;
else (d = 0 === c.min ? c.logMin - 1 : c.log[0]), b && (1 > c.max && (d -= c.log[1]), (d += 1));
if (b && 1 > c.max) var e = c.logMax - c.log[1] - 1;
else (e = 0 === c.max ? c.logMax - 1 : c.log[1]), b && (-1 < c.min && (e -= c.log[0]), (e += 1));
var f = c.logRange;
if (0 === a) return 0 <= c.min ? 0 : 0 >= c.max ? 1 : b && -1 > c.min && 1 > c.max ? 1 - Math.abs(e / f) : Math.abs(d / f);
if (0 > a) return b && (-1 < c.min || 1 > c.max) ? (c.log[0] - n(a)) / f : b ? (d - n(a) - 1) / f : (d - n(a)) / f;
if (0 < a) return b && (1 > c.max || -1 < c.min) ? 1 - (c.log[1] - n(a)) / f : b ? (Math.abs(d) + n(a) + 1) / f : (n(a) - d) / f;
};
return f
? function (a) {
return p(a);
}
: function (a) {
return 1 - p(a);
};
}
var q = a.fitRange,
r = c.min,
u = c.max,
x = function (a) {
return Y(g[0], g[1], r, u, q ? ua(a, r, u) : a);
};
return a.isStackedFull() && "category" === a.type
? function (b) {
var c = a._stackTranslators;
c = c ? c.forward(b) : b;
return x(t(c) ? c : b);
}
: x;
};
c.prototype._openRanges = function (a) {
var b = this.range,
c = this.isInverted(),
f = b.min,
g = b.max,
h = this.breaks;
b = [];
var k = 0,
l = 0;
h.length
? ((b = B(cg(h, [f, g]), function (a) {
var b = [a[0], a[1], l];
l += a[1] - a[0];
return b;
})),
(k = eo(b)))
: (b.push([f, g, 0]), (k = g - f));
if (a) {
var m = [];
for (a = 0; a < b.length; a++) (f = b[a]), (g = h = f[2] / k), (h = h + (f[1] - f[0]) / k + (a === b.length - 1 ? 0 : -1e-14)), m.push([c ? g : 1 - h, c ? h : 1 - g, { valRange: f }]);
}
return { ranges: b, sum: k, posRanges: m };
};
c.prototype.linToVal = function (a, c) {
return this.posToVal(this.linToPos(a), c);
};
c.prototype.posToVal = function (a, c) {
var b = this.range;
if (Sl(b)) {
var d = b.min,
g = b.max,
h = this.isInverted(),
k = [0, 1],
l = this._isDragHost ? [d, g] : h ? [d, g] : [g, d],
m = this._openRanges(!0),
n = function (a) {
return Y(l[0], l[1], k[0], k[1], a);
};
d = function (a) {
var b = ag(m.posRanges, a);
if (!b) return n(a);
var c = G(b[2].valRange, 2),
d = c[0];
c = c[1];
d = h ? [d, c] : [c, d];
return Y(d[0], d[1], b[0], b[1], a);
};
d = this.breaks.length ? d : n;
this.isLog()
? ((d = this.options("scale.logBase") || 10), (g = b.log[0]), (a = (h ? a : 1 - a) * (b.log[1] - g) + g), (b = Math.pow(d, Math.abs(a))), b < d && (b = (d * (b - 1)) / (d - 1)), (d = ce(a) * b))
: this.isStackedFull() && "category" === this.type
? ((b = this._stackTranslators), (d = d(a)), (d = b ? b.backward(d) : d))
: (d = d(a));
d = c ? ua(d, Math.min.apply(Math, H(l)), Math.max.apply(Math, H(l))) : d;
}
return d;
};
c.prototype.linToPos = function (a) {
return Y(0, 1, 0, this._sizeMetrics.length, a);
};
c.prototype.valToAngle = function (a, c) {};
c.prototype.isInBreak = function (a) {
return !!ag(this.breaks, a);
};
c.prototype.valVisible = function (a, c) {
var b = this.range,
d = [b.min, b.max];
c = t(c) ? c : !!a.pop;
var g = "category" === this.type && c ? 0.5 : 0;
return a.pop ? (this.valVisible(a[0], c) || this.valVisible(a[1], c) ? !0 : (a = Ue(d, [a[0] + g, a[1] - g])) && a.length) : a - g >= b.min && a + g <= b.max && !this.isInBreak(a);
};
c.prototype.tickVisible = function (a) {
var b = !!a.pop;
if (this.valVisible(a)) return (b = -1 < xe(this.tickPositions.all, a)) && "category" === this.type && 2 === a.length ? this.valVisible(xf(a, 0.1)) : b;
if (this.hasCalPatBreaks) {
var c = this.range;
c = [c.min, c.max];
return b ? Kb(c, a[0]) && Kb(c, a[1]) : Kb(c, a);
}
};
c.prototype.isInverted = function () {
var a = z((this.currentOptions.scale || {}).invert, !1);
("x" !== this.prefix && "sp" !== this.prefix) || this.isHoriz || !this.type || !this.type.match("category|string|time") || (a = !a);
if ("x" === this.prefix || "z" === this.prefix || "sp" === this.prefix) a = !a;
this.chartArea && this.chartArea.isHoriz && ("x" === this.prefix || "y" === this.prefix || "sp" === this.prefix) && (a = !a);
"sp" === this.prefix && (a = !a);
this.isRadial && "x" === this.prefix && !this.isHoriz && (a = !a);
return a;
};
c.prototype.clusterWidth = function (a) {
return t(a) ? this.clusterWidthByValue(a) : z(this.options("staticColumnWidth"), this.getShortestDistPerc() * this._sizeMetrics.length * (1 - this.options("spacingPercentage")));
};
c.prototype.clusterWidthByValue = function (a) {
var b = this.getValToLin(),
c = this.shortestValDistance / 2;
return this._sizeMetrics.length * (b(a + c) - b(a - c));
};
c.prototype.duV = function (a) {
void 0 === a && (a = !1);
var b;
if (!(b = this._duV)) {
b = void 0;
void 0 === b && (b = !1);
var c = this.isInverted(),
f = this.sideIndex(),
g = [-1, 0],
h = [0, -1],
k = [1, 0],
l = [0, 1],
m = [c ? 1 : -1, 0],
n = [c ? -1 : 1, 0],
p = [0, c ? 1 : -1];
c = [0, c ? -1 : 1];
f = [
{ f: m, b: n, o: h, i: l, vc: 1, hc: 0 },
{ f: p, b: c, o: k, i: g, vc: 0, hc: 1 },
{ f: m, b: n, o: l, i: h, vc: 1, hc: 0 },
{ f: p, b: c, o: g, i: k, vc: 0, hc: 1 },
][b ? (f + 2) % 4 : f];
f.inside = b;
b = yi(f);
}
this._duV = b;
b = this._duV();
a && ((b.o[0] *= -1), (b.o[1] *= -1), (b.i[0] *= -1), (b.i[1] *= -1), (b.inside = a));
return b;
};
c.prototype.measure = function (a) {
var b = this.chartArea,
c = this.viewState,
f = this.rootVisuals,
g = this.sideIndex();
this._isZoomLive = b.isZoomLive && b.isZoomLive();
C(this.currentOptions, "label.text");
if (c && !1 !== this.isVisible) {
var h = f.label.rootPanel.calculateMargin();
if (a && (a.pop && (a = this.viewState.caRect = { x: 0, y: 0, width: a[0], height: a[1] }), a)) {
c = this.measure_ticks(this.chartArea.isRendering);
var k = (this.tickBounds = c.slice(0));
this.isHoriz ? (k[1] += 2 === g ? a.height : -k[3]) : (k[0] += 1 === g ? a.width : -k[2]);
"caPaneLinear" === b.kind && b.hasRoundCaps && "x" === this.prefix && ((b = this.clusterWidth() / 2), (g = ha(a)), (g = Bl(g, this.isHoriz ? [-b, 0] : [0, -b])), (this.tickBounds = Ea([g, k])));
if (!c) return l;
var l = sh(c, ha(a));
b = this._sizeMetrics.clipped;
g = [0, 0];
var m = [0, 0];
this.isHoriz
? ((k = this._sizeMetrics.clipped = [a.width, c[3]]), (this._sizeMetrics.length = a.width), (g[0] = Math.abs(Math.min(0, c[0]))), (m[0] = c[2] + c[0] - a.width))
: ((k = this._sizeMetrics.clipped = [c[2], a.height]), (this._sizeMetrics.length = a.height), (g[1] = Math.abs(Math.min(0, c[1]))), (m[1] = c[3] + c[1] - a.height));
if ("hidden" === this.options("overflow") || this.chartArea.isDragging) (g = [0, 0]), (m = [0, 0]);
this.overflowSize = { tL: g, bR: m };
!b.length || (b[0] === k[0] && b[1] === k[1]) || this.rootVisuals.main.attr(this.isHoriz ? { height: k[1], width: "*" } : { width: k[0], height: "*" });
a = f.label.getSize({ width: this._sizeMetrics.length - h.horizontal.px });
this._sizeMetrics.labelSize = a;
this.isHoriz ? (f.labelContainer.attr({ height: a[1] }), this.rootPanel.attr({ width: 0 })) : f.labelContainer.attr({ width: a[1] });
this.rootPanel.setPreliminarySize(!0);
f = this.rootPanel.getBbox();
0 === f.width && ("sp" !== this.prefix && (f = Gc(l)), this.isHoriz && (f.height += a[1] || 0));
this.isHoriz ? this.rootVisuals.labelContainer.attr({ height: a[1] }) : this.rootVisuals.labelContainer.attr({ width: a[1] });
this._sizeMetrics.bbox = c;
this._sizeMetrics.size = [f.width, f.height];
this.setViewState(!0);
this.setViewStateSize();
l = this._sizeMetrics.history;
a = this._sizeMetrics.clipped;
2 === l.length && (this._sizeMetrics.history = [l[1]]);
this._sizeMetrics.history.push([Math.round(a[0]), Math.round(a[1])]);
c[2] = f.width;
c[3] = f.height;
return [0, 0, f.width, f.height];
}
} else if (!1 === this.isVisible) return (this._sizeMetrics.length = this.isHoriz ? a[0] : a[1]), [0, 0, 0, 0];
return l;
};
c.prototype.requireReflow = function () {
var a = this.currentOptions.defaultTick;
if (a) {
var c = a.label;
if ("inside" === a.placement || (c && "inside" === c.placement)) return !1;
}
a = this._sizeMetrics.history;
return 2 === a.length && ((this.isHoriz && a[0][1] !== a[1][1]) || (!this.isHoriz && a[0][0] !== a[1][0]));
};
c.prototype.resetMetricsData = function () {
var a = {
maxTextSize: [0, 0],
maxLength: 0,
maxRadiusLen: 0,
maxLengthRange: 0,
getMaxLength: function () {
return a.overlapRange ? Math.max(a.maxLength, a.maxLengthRange) : a.maxLength + a.maxLengthRange;
},
};
this.tickMetricsData = a;
};
c.prototype.measure_ticks = function (a) {
function b() {
var a = [],
b = C(g.currentOptions, "defaultTick.label.rotate") || 0;
if (g.isHoriz && (b || g.currentOptions.autoRotate))
return (
w(E, function (b) {
if (!b.invalid) {
var c = b.angledBounds();
Id(b.currentOptions.label) && a.push(c);
b.metrics().rotated = c;
}
}),
Ea(a)
);
}
function c(a) {
var b = (g._rngData = Sr(g, a));
a = Ea(
B(a, function (a) {
return a._positionData.bbox;
})
);
a[1] = 0;
a[b.duV.vc + 2] = b.depth;
return a;
}
var f = this;
void 0 === a && (a = !1);
var g = this,
h = g.viewState,
k = [],
l = [],
m = [],
n = [],
p = [],
q = [],
r = g.isHoriz ? 1 : 0,
u = g.isHoriz
? function (a, b, c) {
return (b && a.rotated ? a.rotated[3] : (c && a.altTextSize ? a.altTextSize : a.textSize)[1]) + a.tickLength + a.tickPadding || 0;
}
: function (a, b, c) {
return (b && a.rotated ? a.rotated[2] : (c && a.altTextSize ? a.altTextSize : a.textSize)[0]) + a.tickLength + a.tickPadding || 0;
},
x = C(g.currentOptions, "defaultTick"),
v = "inside" === x.placement;
x = C(x, "label.rotate") || 0;
x = g.isHoriz && 0 !== x;
var y,
D = [],
E = [],
z = [],
A = function () {
y = Ei(g);
D = y.rngTicks;
E = y.valArrange;
z = y.rngArrange;
};
if (h && !1 !== g.isVisible) {
g.setTicks(h).setAttribs();
A();
g._rngData = Oz(g, D);
A();
var G = 0;
w(E, function (a) {
if (a.invalid) wf(f, a);
else {
var b = a.metrics();
Id(a.currentOptions.label) && "inside" !== a.currentOptions.placement && (m.push(b.textSize[0]), n.push(b.textSize[1]), (G += b.primTextSize[1]), p.push(u(b)), q.push(u(b, !1, !0)), l.push(b));
}
});
A = m.length ? [Math.max.apply(Math, H(m)), Math.max.apply(Math, H(n))] : [0, 0];
var J = p.length ? Math.max.apply(Math, H(p)) : 0,
I = q.length ? Math.max.apply(Math, H(q)) : 0;
g.tickMetricsData.maxTextSize = A;
g.tickMetricsData.maxLength = J;
g.tickMetricsData.maxLengthAlt = I;
g.tickMetricsData.maxRadiusLen = 0;
A = [];
var M = void 0,
K = !1;
J = Q(C(g.currentOptions, "defaultTick.label.rotate")) && Q(g.userOptions.autoRotate) && "angled" !== g.labelMode;
h = !g.isHoriz && h.axisSize && h.axisSize[1] > 2 * G;
I = [];
for (var L = 0, O = E.length; L < O; L++) {
var P = E[L];
if (!P.invalid) {
var S = wf(this, P, { altTextSize: !1 }),
T = S.textBBox;
M = M && zd(M, T);
var V = h && 10 < T[2] / T[3],
X = M && g.isHoriz,
Y = !1 !== N(P.currentOptions, ["label", "autoWrap"]) && P._formattedText && !P._formattedText.match(/<br\s*\/?>/);
if (J && Y && P._metrics.altTextSize && (X || V)) {
if (
!K &&
M &&
((K = E[L - 1]),
(S = wf(this, K, { altTextSize: !0 })),
(M = S.textBBox),
(I[I.length - 1] = S.textLength),
Id(K.currentOptions.label) && g.tickVisible(K.value()) && ((k[k.length - 1] = K._bbox), (A[A.length - 1] = M)),
!zd(M, T))
) {
M = T;
K = !1;
continue;
}
S = wf(this, P, { altTextSize: !0 });
T = S.textBBox;
K = !0;
} else K = !1;
I.push(S.textLength);
Id(P.currentOptions.label) && g.tickVisible(P.value()) && (k.push(P._bbox), A.push(T));
M = T;
}
}
I.length && (g.tickMetricsData.maxLength = Math.max.apply(Math, H(I)));
if (x || (g.isHoriz && qo(A)) || (a && "angled" === g.labelMode)) {
g.labelMode = "angled";
var W = b() || W;
} else g.labelMode = "normal";
"angled" === g.labelMode &&
((p = []),
w(l, function (a) {
p.push(u(a, !0));
}),
(g.tickMetricsData.maxLength = Math.max.apply(Math, H(p))),
(k = []),
w(E, function (a) {
a.invalid || (wf(f, a, { tickPointsOnly: !0 }), Id(a.currentOptions.label) && k.push(a._bbox));
}));
W = Ea(k) || [0, 0, 0, 0];
a = ea(z, function (a) {
return a._rngData.visible;
});
a.length &&
((a = c(a)), (x = 0 === y.fullRangesLevel), (W[r + 2] = v ? 0 : x ? Math.max(a[r + 2], W[r + 2]) : a[r + 2] + W[r + 2]), (g.tickMetricsData.maxLengthRange = v ? 0 : a[r + 2]), (g.tickMetricsData.overlapRange = x));
}
r = g.currentOptions.caOffset;
t(r) && (g.isHoriz ? (W[3] = Math.max(0, W[3] + r)) : (W[2] = Math.max(0, W[2] + r)));
return W || [0, 0, 0, 0];
};
c.prototype.sideIndex = function () {
var a = this.currentOptions.orientation;
a = "right" === a || "top" === a || "opposite" === a;
return this.isHoriz ? (a ? 0 : 2) : a ? 1 : 3;
};
c.prototype.sideDepth = function () {
var a = this._sizeMetrics.size;
return this.isHoriz ? a[1] : a[0];
};
c.prototype.autoHideGrid = function () {
t(this._autoHideGrid) || (this._autoHideGrid = vD(this));
return this._autoHideGrid;
};
c.prototype.render = function (a, c) {
void 0 === c && (c = this.updateOptions);
var b,
d = this.viewState,
g = this.viewStatePrev;
if ((b = this.syncAxis)) (d = this.viewState = qa(b.viewState)), (g = this.viewStatePrev = qa(b.viewStatePrev));
if (d) {
var h = A({}, c);
h.isTransitioning = this.isTransitioning;
if (!1 !== this.isVisible && this.isAdded) {
a = a || this.chartArea.renderRect;
var k = this.isTransitioning ? [g, d] : d;
if ((d.caRect = a))
this.measure(a),
(this._autoHideGrid = void 0),
Fz(this),
Gz(this),
this.render_rngLines(a, h),
w(this._ticks, function (a) {
return a.render(k, h);
}),
this.garbageCollection(),
this.render_line(a, c),
this.render_alignLabel();
} else !1 === this.isVisible && this.isAdded && this.resetVisuals();
!c.invalidate && this.validate();
}
return this;
};
c.prototype.garbageCollection = function () {
w(this._ticks.slice(0), function (a) {
a && 6 < a._age && a.destroy();
});
};
c.prototype.render_alignLabel = function () {
var a = this.currentOptions.label,
c = this.sideIndex(),
e = this._sizeMetrics.labelSize;
this.isHoriz ||
((a.rotation = 0 === c || 1 === c ? 90 : -90), (c = va([0, 0, e[1], e[0]])), this.rootVisuals.labelContainer.attr({ offsetX: c[0] - e[0] / 2, offsetY: c[1] - e[1] / 2, rotate: [a.rotation, e[0] / 2, e[1] / 2] }));
};
c.prototype.renderOnCa = function (a, c) {
void 0 === c && (c = this.updateOptions);
var b = this.viewState,
d = this.viewStatePrev;
(a = a || this.chartArea.renderRect) && this.isVisible && b && ((b.caRect = a), (a = this.isTransitioning ? [d, b] : b), this.renderGridLines(a, c), this.render_markers(a, c), this.validate());
};
c.prototype.renderGridLines = function (a, c) {
w(this._ticks, function (b) {
return b.render(a, A({ onCa: !0 }, c));
});
this.render_altGrid(a, c);
};
c.prototype.getGridLinesTarget = function () {
var a = C(this.currentOptions, "defaultTick.gridLine.onTop"),
c = this.chartArea.rootVisuals;
return a ? c.gridLinesFront : c.gridLinesBehind;
};
c.prototype.render_altGrid = function (a, c) {
void 0 === a && (a = this.chartArea);
void 0 === c && (c = {});
var b = this;
a = Qr("time" === b.type ? b.tickPositions.all : b.tickPositions);
var d = b.renderer.renderer,
g = b.attribs.altGrid,
h = b.viewState,
k = b.viewStatePrev,
l = b.altGridFillVisuals,
m,
n,
p = b.getGridLinesTarget(),
q = function () {
return w(l, function (a) {
return (a.invalid = !0);
});
},
r = function (a) {
return S(l, function (b) {
return b.value[0] === a[0] && b.value[1] === a[1];
});
},
u = function (a) {
a.visual.attr(A({ opacity: 0, d: b.getCaPath(a.value, p, h) }, c));
},
x = k && !1 !== c;
if (g && "none" !== g.fill && !wD(b)) {
q();
for (var v = 0, t = a.length; v < t - 1; v += 2) {
var D = [a[v], a[v + 1]];
if ((m = b.getCaPath(D, p, h)))
(q = r(D))
? ((q.invalid = !1), q.visual.attr(A({ d: m, opacity: 1 }, c)))
: (x && (n = b.getCaPath(D, p, k)),
(q = { value: D, visual: d.path(A({ d: n || m, opacity: 0, animation: !1, zIndex: 4 }, Ga(g, ["animation"]))).add(p), invalid: !1 }),
l.push(q),
(D = A({ d: m, opacity: 1, "fill-rule": "evenodd" }, g, c)),
x || (D.animation = !1),
q.visual.attr(D));
}
w(ea(l, { invalid: !0 }), u);
}
};
c.prototype.init_markers = function () {
var a = this.currentOptions.markers || [];
if (((a && a.length) || this._markers.length) && !this._markers.length)
for (var c = 0, e = a.length; c < e; c++) {
var f = a[c];
if (f.value && f.value.pattern) {
var g = Wr(this, [f.value.pattern]);
f.value = B(g, function (a) {
return a.slice(0, 2);
});
}
this._markers.push(new Xr(this, f));
}
};
c.prototype.render_markers = function (a, c) {
void 0 === c && (c = {});
var b = this;
a = !b.isRadial;
var d = b.currentOptions.markers || [];
b.init_markers();
if ((d && d.length) || b._markers.length)
a && Iz(b._markers),
w(b._markers, function (a) {
a.render(b.viewState, c);
});
};
c.prototype.render_line = function (a, c) {
var b = this;
c = b.rootVisuals.line;
var d = b.currentOptions,
g = d.line,
h = b.userOptions.line,
k = b.chart.options("defaultAxis.line");
g.visible = g.visible || (h ? tf(h) : !1) || (k ? tf(k) : !1);
h = Bb(g);
h.d = this.getLinePath(a);
var l = b.options("line.breaks");
if (l) {
k = function (a) {
var b = 0;
return Aa(a).translate(function (a) {
var c = 1e-4 * b++;
return [a[0] + c, a[1] + c];
});
};
var m = 0;
h.d = Aa(h.d).translate(function (a) {
var b = 1e-4 * m++;
return [a[0] + b, a[1] + b];
});
b.isRadial ? (a = Aa(h.d).length()) : ((a = b.getLinePathPoints(a)), (a = mc(a[0], a[1])));
a = b.ticksToDashAttr(a, d.line.width, l);
L(h, a);
h["stroke-linecap"] = "round";
a = g.color;
if (-1 < a.toLowerCase().indexOf("smartpalette")) {
a = a.split(/:/gi);
if ((a = b.chart.getSmartPalette(1 < a.length ? a[1] : b.chart.palette)))
(a = a.getTraditionalStops(!1, [b.range.min, b.range.max])),
b.isInverted() ||
((a = B(a, function (a) {
return [1 - a[0], a[1], a[2]];
})),
(a = sa(a, function (a) {
return a[0];
}))),
(h.stroke = oc({ stops: a, angle: b.isHoriz ? 0 : 90 })),
(h.d = k(h.d));
h["stroke-opacity"] = 1;
}
} else if (g.caps && ((k = b.originValue), h.caps)) {
g = void 0;
g = { eachShape: !0, size: "300%" };
t(this.originValue) && (g.start = { overflow: !0 });
h.caps = qd(h.caps, g);
var n = b.duV();
a = b.getLinePathPoints(a);
var p = a[0][n.vc];
g = function (a) {
var c = [];
c[n.vc] = p;
c[n.hc] = b.getCaLen(a);
return c;
};
t(k) && b.valVisible(k)
? ((k = g(k)), (g = fb([k, a[0]]).join(" ")), (g += fb([k, a[1]]).join(" ")), (h.d = g))
: t(k) && ((k = [b.range.min, b.range.max]), 0 >= k[1] && k.reverse(), (g = fb(k.map(g))), (h.d = g), (h.caps.start = { type: "none" }));
}
c.attr(h);
};
c.prototype.render_rngLines = function (a, c) {
a = { width: 1, color: "#4c4c4c", dashStyle: "dash", opacity: 0.2 };
c = this.renderer;
var b = this.rootVisuals.mainRng,
d = C(this._rngData, "connectorLines"),
g = this.rootVisuals.rngConnectors,
h = [];
if (d && d.length) {
var k = Bb(a);
w(d, function (a) {
fb(a, h);
});
k.d = xa(h);
}
k ? (g ? g.attr(k) : (g = this.rootVisuals.rngConnectors = c.renderer.path().attr(k).add(b))) : g && g.attr({ opacity: 0 });
};
c.prototype.setRootVisuals = function () {
var a = this.renderer;
if (!this.rootVisuals && !1 !== this.options("visible")) {
var c = a.panel({ cssClass: "labelContainer" }),
e = a.panel("stack:" + (this.isHoriz ? "y" : "x")),
f = a.panel(),
g = a.renderer.path().add(f),
h = a.panel({ zIndex: 2 }).add(f);
a = new Fi(this.chart, this.currentOptions.label).add(c);
var k = this.duV();
0 > k.o[k.vc] ? (c.add(e), f.add(e)) : (f.add(e), c.add(e));
this.rootVisuals = { stack: e, main: f, label: a, labelContainer: c, line: g, mainRng: h };
this.applyCaOffset();
this.rootPanel && e.add(this.rootPanel);
this.rootPanel = e;
}
return this;
};
c.prototype.applyCaOffset = function () {
var a = this.currentOptions,
c = t(a.anchorWidth) ? a.anchorWidth : z(C((this.chartArea || this.chart.chartAreas(0)).currentOptions, "outline.width"), 1) / 2,
e = this.duV(),
f = e.o,
g = e.hc;
e = e.i.slice(0);
e[g] = 1;
c = we([0, 0], e, c);
a = we(c, f, a.caOffset || 0);
this.rootVisuals.stack.attr({ offsetX: a[0], offsetY: a[1] });
};
c.prototype.setAttribs = function () {
var a = this.isHoriz,
c = this.currentOptions.alternateGridFill,
e = I(c);
a = this.isRadial ? Fa.altGridFillRad : a ? Fa.altGridFillX : Fa.altGridFillY;
var f = { fill: c || "none" };
c && "none" !== c ? ("object" !== e ? (f = { fill: dd(a, c) }) : ni(f, c)) : (f = { fill: "none" });
this.attribs.altGrid = f;
return this;
};
c.prototype.setViewState = function (a, c) {
var b = this.viewState,
d;
(d = this.syncAxis)
? ((this.viewState = qa(d.viewState)), (this.viewStatePrev = qa(d.viewStatePrev)))
: b && b.equalsRange(this)
? (this.posDirty = !1)
: (b && (this.isTransitioning = !0),
(this.viewStatePrev = b),
(this.coordinatesDirty = this.posDirty = !0),
(this.viewState = new bu(this, this._getValToLin(), this.chartArea)),
!a && this.viewState.isValid() && this.render(null, c),
this.trigger("setRange", this.viewState.range));
return this;
};
c.prototype.setViewStateSize = function () {
var a;
if ((a = this.viewState)) (a.axisSize = this._sizeMetrics.clipped.slice(0)), (a.axisBBox = this._sizeMetrics.bbox.slice(0));
return this;
};
c.prototype.validate = function () {
this.isTransitioning = this.coordinatesDirty = this.posDirty = !1;
return this;
};
c.prototype.getCaPath = function (a, c, e, f) {
var b = this;
void 0 === e && (e = this.viewState);
void 0 === f && (f = 1);
var d = t(a.pop),
k = !1,
l = a;
if (!d || (t(a[0]) && !t(a[0].pop))) l = [a];
if ("object" === typeof f) {
var m = f;
f = z(m.lineWidth, 1);
k = m.multiShape;
}
var n = "";
w(k && d ? a : l, function (a) {
a = b.getCaPoints(a, c, e, f);
n += fb(a).join(" ") + (k || (!d && !b.isRadial) ? "" : "Z");
});
return n;
};
c.prototype.getCaPoints = function (a, c, e, f) {
void 0 === e && (e = this.viewState);
void 0 === f && (f = 1);
a = this.toPosition(a);
var b = !1;
if ("object" === typeof f) {
var d = f;
f = z(d.lineWidth, 1);
b = d.posOnly;
}
var k = function (a) {
return Math.max(-1e6, Math.min(1e6, e.valToLin(a)));
},
l = e.caRect || e.chartArea.contentRect || e.chartArea.innerRect,
m = e.chartArea,
n = this.isHoriz,
p = t(a.pop),
q = m.rootVisuals.gridLinesBehind;
d = function (a) {
a = k(a);
a = n ? a * l.width : a * l.height;
a = n
? [
[a, l.y],
[a, l.y + l.height],
]
: [
[l.x, a],
[l.x + l.width, a],
];
return (2 === a.length ? zr : ue)(c || q, a, f);
};
if (this.isRadial) {
var r = ha(l),
u = r[2],
x = r[3],
v = r[1],
y = r[0];
r = m.getRadarType();
var w = function (a) {
return b ? [a[0], a[1]] : [y + a[0] * u, v + a[1] * x];
},
E = this.interpolationAxis;
if (this.isHoriz) {
var F = m.projection.val2linxy,
A = function (a, b) {
return w(F(a, b));
};
"polar" === r
? (d = function (a) {
a = k(a);
return [A(a, 0), A(a, 1)];
})
: p ||
((A = m.projection.webVal2linxy),
(d = function (a) {
a = k(a);
return [A(a, 0), A(a, 1)];
}));
} else if (!this.isHoriz) {
var C = m.projection.val2linxy,
G = E.getTicksPos();
d = function (a) {
var b = k(a);
return B(G, function (a) {
return w(C(a, b));
});
};
}
}
p ? ((m = d(a[0])), m.push.apply(m, H(d(a[1]).reverse()))) : (m = d(a));
return m;
};
c.prototype.ticksToDashAttr = function (a, c, e) {
void 0 === c && (c = 1);
e = e || {};
id(e, { gap: 0.01, cap: !0, invert: !1 });
var b = this,
d = e.custom,
h = [],
k = 0,
l = {},
m = b.getTicksPos();
d
? ((m = d),
1 < Math.max.apply(Math, H(d)) &&
(m = B(d, function (a) {
return b.viewState.valToLin(a);
})))
: (m = d || b.getTicksPos());
c = (2 * ((a * e.gap) / 2 + (e.cap ? c / 2 : 0))) / a;
m[0] > m[m.length - 1] &&
(m = B(m, function (a) {
return 1 - a;
}));
m = Zj(m, [0, 1], c);
var n = cg(m, [0, 1]);
w(n, function (b, c) {
var d = c === n.length - 1,
e = d ? void 0 : n[c + 1],
f = b[1] - b[0];
0 === c && 0 < b[0] && (k = b[0] * a);
h.push(f * a);
e && h.push((e[0] - b[1]) * a);
d && 1 > b[1] && h.push((1 - b[1]) * a + 2);
});
e.invert && h.unshift(0);
l["stroke-dasharray"] = h.join(",");
k && (l["stroke-dashoffset"] = -k);
return l;
};
c.prototype.getCaLen = function (a, c) {
void 0 === c && (c = this.viewState);
var b = c.caRect || c.chartArea.contentRect,
d = this.isHoriz,
g = c.valToLin;
return hb(a, function (a) {
a = g(a);
return d ? a * b.width : a * b.height;
});
};
c.prototype.getLinePath = function (a) {
var b = this.currentOptions,
c = G(this.getLinePathPoints(a), 2),
f = c[0];
c = c[1];
b = Bb(b.line);
return this.breakLine(a, [f, c], b["stroke-width"]);
};
c.prototype.getLinePathPoints = function (a) {
a = "inside" === C(this.currentOptions, "defaultTick.placement");
var b = this.range,
c = a ? 0 : this.tickMetricsData.getMaxLength();
a = this.getCaLen(b.min);
b = this.getCaLen(b.max);
switch (this.sideIndex()) {
case 0:
var f = [b, c],
g = [a, c];
break;
case 1:
c = [0, b];
g = [0, a];
f = c;
break;
case 2:
c = [b, 0];
g = [a, 0];
f = c;
break;
case 3:
(f = [c, b]), (g = [c, a]);
}
return [g, f];
};
c.prototype.breakLine = function (a, c, e, f) {
var b = this,
d = b.currentOptions,
k = b.rootVisuals.main,
l = [],
m = c[0][0],
n = c[0][1],
p = b.isInverted();
c = (C(d, "scale.defaultBreak.type") || "").toLowerCase();
c = "gap" === c || "zigzag" === c ? C(d, "scale.defaultBreak.line.width") / 2 : 0;
var q = a.y,
r = a.x,
u = a.x + a.width,
x = a.y + a.height;
a = b._openRanges();
var v = function (a) {
return b.isHoriz ? [a, n] : [m, a];
},
y = function (a, c) {
var f = "";
c = p ? -c : c;
b.isHoriz && (c = -c);
for (var g = 0, h = a.length; g < h; g++) {
var m = a[g],
n = b.getCaLen(m[0]),
y = b.getCaLen(m[1]),
w = (t(d.anchorWidth) ? d.anchorWidth : z((b.chartArea || b.chart.chartAreas(0)).options("outline.width"), 1)) / 2,
E = v(n > y ? n + w : n - w),
D = v(y > n ? y + w : y - w),
A = v(n),
B = v(y);
B = [A, B];
b.isHoriz ? (B.push([A[0], q]), B.push([A[0], x])) : (B.push([u, A[1]]), B.push([r, A[1]]));
A = rb(Ua(B), -0.5);
l.push(A);
1 < a.length && g < a.length - 1 && (D = v(b.getCaLen(m[1]) + (y > n ? w - c : c - w)));
g && (E = v(b.getCaLen(m[0]) + (n > y ? w - c : c - w)));
k && ((m = zr(k, [E, D], e, w || void 0)), (E = m[0]), (D = m[1]));
f += xa(fb([E, D]));
}
return f;
};
b._nRects = l;
return f ? y(bg(a.ranges, f), c) : y(a.ranges, c);
};
c.prototype.getBreakRects = function () {
return this._nRects.slice(0);
};
c.prototype.resetTimers = function () {
w(this._markers, function (a) {
return a.resetTimers();
});
};
c.prototype.getPointTicks = function () {
var a = this,
c = a.dataInfo.serColl,
e = a.prefix,
f = e + "AxisTick",
g = "category" === a.type && "x" === e,
h = a._isZoomLive,
k = !!a.syncAxis,
l = a.usedDataKeys;
c && !c.items.length && a.syncAxis && (c = a.syncAxis.dataInfo.serColl);
if (!h) {
var m = [],
n = [],
p = function (a) {
var b = a && a.series[("x" === e ? "y" : "x") + "Axis"];
if (b) return b.getValToLin()("x" === e ? a.y : a.x);
},
q = function (b, c, d, f, h) {
f = g ? z(f.name, f.x) : a.isStacked() && h.hasKey(e + "s") ? [h.getValue(e + "s", c), h.getValue(e + "e", c)] : z(f[e], h.getValue(e, c), h.getValue(l[0], c));
f = a.normUserValue(f);
d = {
point: function () {
b._points.length || b.setPoints();
return b._points[c];
},
config: d,
value: f,
};
if ((h = S(m, { value: f }))) {
var k = h.point(),
q = d.point();
if (k !== q)
switch (((k = p(k)), (q = p(q)), a.sideIndex())) {
case 0:
case 3:
var r = k > q;
break;
case 1:
case 2:
r = k < q;
}
else r = !0;
}
h ? r && (pb(m, h), m.push(d)) : (m.push(d), n.push(f));
},
r = function (b, c) {
var d = a.id && a.id === b.axisId;
c = c[a.prefix + "Axis"].id === a.id;
return k ? d || c : !b.axisId || d;
};
c &&
c.each(function (a) {
var b = function (a) {
return a && a[f];
},
c = a.indexer,
d = a.currentOptions,
e = c.data[f] && 0 < c.data[f].length,
g = a.userPoints,
h = g.length,
k = b(d.defaultPoint),
l = b(d.firstPoint) || b(d.lastPoint),
m = function (a) {
return a;
};
if (k) {
var n = yi(k);
m = function (a) {
return A(n(), a);
};
}
if (k) {
if (r(k, a)) for (e = 0; e < h; e++) (k = c.getValue(f, e)), q(a, e, m(k || {}), g[e], c);
} else if (e) {
var p = c.data[f],
u = c.indexes[f];
for (e = 0; e < (u ? u.length : 0); e++) {
var x = u[e];
(k = p[x]) && r(k, a) && q(a, x, m(k), g[x], c);
}
}
l && ((l = b(d.firstPoint)) && r(l, a) && null !== g[0].y && q(a, 0, l, g[0], c), (b = b(d.lastPoint)) && r(b, a) && null !== g[h - 1].y && q(a, h - 1, b, g[h - 1], c));
});
var u = [];
n.length &&
((n = $a(n)),
w(n, function (a) {
return u.push(S(m, { value: a }));
}),
(u.positions = n));
a._getPointTicks = u;
}
return a._getPointTicks;
};
c.prototype.getCustomTicks = function () {
if (!this._isZoomLive) {
var a = this.currentOptions,
c = this.userOptions,
e = B(a.customTicks || [], function (b) {
var c = A({}, a.defaultTick);
return A(c, b);
});
if (t(this.originValue) && c.originTick && !1 !== C(a, "defaultTick.enabled") && !1 !== C(a, "originTick.enabled")) {
var f = A({}, a.defaultTick);
f = A(f, c.originTick);
f.value = this.originValue;
e.push(f);
}
this._getCustomTicks = e;
}
return this._getCustomTicks;
};
c.prototype.setTicks = function (a) {
var b = this,
c = b.currentOptions,
f = b._isZoomLive,
g = b.isLog(),
h = function (a, b) {
return Y(a, a + b, 0, 1, m.valToLin(a));
},
k = function (a, c) {
a = a.rect();
return b.isHoriz ? h(a.x, a.width) : h(a.y, a.height);
};
a = G(a.pop ? a : [void 0, a], 2);
var l = a[0],
m = a[1];
m.rect();
if (m.isValid()) {
var n = void 0;
a = void 0;
b.setTickPositions().invalidateTicks();
var p = A(g ? { label: { visible: !1 } } : {}, c.defaultTick, c.defaultMinorTick);
c = a = "inside" !== p.placement || b.isRadial || "category" === b.type ? 0 : 1;
for (var q = b.tickPositions.all.length - a; c < q; c++) {
n = b.tickPositions.all[c];
var r = b.findTickInfo(n);
(a = b.findTick(n, g ? r.type : void 0))
? (a.type !== r.type && (a.options(r.config, !1), (a._needUpdateText = !0)), !f && a.setType(r.type))
: ((r.config.defaultMinorTick = p), b._ticks.push((a = new cu(this, n, r.config, r.type))));
a.validate();
}
c = 0;
for (q = b._ticks.length; c < q; c++) (a = b._ticks[c]), b.isTransitioning && !a.invalid ? a.px(k(l || b.viewStatePrev), k(m, a.value())) : a.px(k(m, a.value()));
b._ticks = sa(b._ticks, function (a) {
return z(a._value[0], a._value);
});
b._ticks = sa(b._ticks, function (a) {
return a._isRange && "custom" === a.type ? 2 : 1;
});
g = !1;
c = f = 0;
for (q = b._ticks.length; c < q; c++) (a = b._ticks[c]), (k = b.tickVisible(a.value())) && f++, !g && k ? (g = a.isFirst = !0) : (a.isFirst = !1);
100 < f &&
((g = "category" === b.type), (k = !!N(b.currentOptions, ["scale", "interval"])) || g) &&
((f = { data: [b.prefix, f], container: this.chart.getWrapper() }), k && !g ? Ma.emit("tip", b.id, "time" === b.type ? "manyTicksTime" : "manyTicks", f) : g && Ma.emit("tip", b.id, "manyTicksCat", f));
}
return this;
};
c.prototype.resetTicksLabels = function () {
w(this._ticks, function (a) {
delete a._formattedText;
});
};
c.prototype.invalidateTicks = function () {
for (var a = this._ticks, c = 0, e = a.length; c < e; c++) a[c].invalidate();
return this;
};
c.prototype.findTick = function (a, c) {
for (var b = 0, d = this._ticks.length; b < d; b++) {
var g = this._ticks[b],
h = g.value(),
k = a;
if ((h.pop ? h[0] === k[0] && h[1] === k[1] : h === k) && (c ? g.type === c : 1)) return g;
}
};
c.prototype.findTickInfo = function (a) {
var b = this,
c = {};
if (t(a.v)) {
var f = "custom",
g = b.getCustomTicks();
c = S(g, { value: a.v });
c = A({}, c);
delete c.value;
} else {
var h = b.tickPositions,
k = h.minor || [],
l = h.custom || [],
m = b.originValue;
g = xe(b.pointTicks.values || [], a);
if (-1 < g) {
f = "custom";
c = b.pointTicks;
var n = c.points[g];
c = c.configs[g];
c.target = function () {
return n && n();
};
} else
-1 < xe(l, a)
? ((f = "custom"),
(g = b.getCustomTicks()),
(c = S(g, function (c) {
c = c.value;
var d = b.toPosition(c);
"category" === b.type && "string" === typeof c && (d = [d - 0.5, d + 0.5]);
return d.pop ? Qe(d, a) : d === a;
})),
(c = A({}, c)))
: t(m) && a === m
? (f = "origin")
: -1 < xe(h, a)
? (f = "major")
: -1 < xe(k, a) && (f = "minor");
}
return { type: f, config: c };
};
c.prototype.getTicksPos = function (a) {
void 0 === a && (a = this.viewState);
!this.tickPositions && this.setTickPositions();
return hb(this.tickPositions.all, function (b) {
return a.valToLin(b);
});
};
c.prototype.add = function (a) {
this.isAdded || ((this.isAdded = !0), !1 !== this.isVisible && ((this.parentLayoutItem = (a = this.getParentPanel(a)) || this.renderer), this.rootPanel.add(a)));
return this;
};
c.prototype.crosshairXy = function (a, c, e) {
var b = this.prefix,
d = this.isHoriz ? 0 : 1;
a = a["x" === b ? d : "y" === b ? d : -1];
e = this.crossLinToVal(a, e);
t(a) && this.crosshair(c ? A({ value: e }, c) : { value: e });
return e;
};
c.prototype.crossLinToVal = function (a, c) {
var b = this.syncAxis || this,
d = this.options("crosshair");
a = this.linToVal(a);
return d.snapToData || ("x" === this.prefix && !1 !== d.snapToData) || c ? NA(b.dataPositions.toArray(), a) : a;
};
c.prototype.crosshair = function (a) {
var b = this;
clearTimeout(b.crossTimeout);
if (b.isVisible && !b.isRadial && !b.childAxes.length) {
var c = (b.crossTicks = b.crossTicks || []),
f = function (a) {
wf(b, a);
a.render(b.viewState, { onCa: !0, animation: !1 });
a.render(b.viewState, { onCa: !1, animation: !1 });
},
g = b.options("crosshair");
if (t(a) && !0 === g.enabled) {
if (((a = a.pop ? a : [a]), t(a[0])))
var h = a.map(function (a, b) {
return A({ key: b }, g, a);
}),
k = !0;
} else h = [];
Ub(
h,
c,
function (a) {
a = new cu(b, a.value, A({ internal: !0 }, a), "custom");
b.crossTicks.push(a);
f(a);
},
function (a, b) {
b.options(a, !1);
f(b);
},
function (a) {
pb(b.crossTicks, a);
a.remove();
},
function (a) {
return a.key;
},
function (a) {
return a.currentOptions.key;
}
);
b.rootPanel.refresh();
k &&
(b.crossTimeout = setTimeout(function () {
b.crosshair();
b.chart.series().each(function (a) {
return a.visualizer.hideHalo();
});
}, 8e3));
return a && 1 === a.length ? a[0] : a;
}
};
c.prototype.setDataRange = function (a) {
this.min = a[0];
this.max = a[1];
a = this.range = { min: a[0], max: a[1] };
this.unZoomedRange = Oa(a);
this._isMapHost = !0;
};
c.prototype.setMapRange = function (a, c) {
this.min = Math.min(a[0], c[0]);
this.max = Math.max(a[1], c[1]);
this.range = { min: c[0], max: c[1] };
this.unZoomedRange = { min: this.min, max: this.max };
this.zoomLimit = Math.max(a[1], c[1]) - Math.min(a[0], c[0]);
this.zoomRange = this.zoomRange || [Math.min(a[0], c[0]), Math.max(a[1], c[1])];
this._isMapHost = !0;
};
c.prototype.setStaticRange = function (a, c) {
this._isDragHost = !0;
this.min = a[0];
this.max = a[1];
this.range = { min: c[0], max: c[1] };
this.zoomLimit = this._sizeMetrics.length = c[1] - c[0];
this.zoomRange = this.zoomRange.length ? this.zoomRange : c;
this.linToVal = function (a) {
return a;
};
};
c.prototype.zoom = function (a, c, e) {
var b = !1;
b = !this.isZoomed;
var d = this._isDragHost ? [this.min, this.max] : this.unZoomedRange,
h = this._isDragHost ? this.zoomRange : [this.range.min, this.range.max];
d = d || { min: this.min, max: this.max };
var k = 1 < la(d.min, d.max) ? 2 : 5,
l = function (a, b) {
return 0 === ts(a[0], b[0], k) && 0 === ts(a[1], b[1], k);
};
t(a) || t(c)
? this.canZoom(a, c) &&
((c = G(du(a, c), 2)),
(a = c[0]),
(c = c[1]),
(this._formatInfo = void 0),
a !== c &&
((this.zoomRange = [a, c]),
(this.isZoomed = !0),
this._isDragHost || (b && (this.unZoomedRange = { min: this.range.min, max: this.range.max }), (d = this.unZoomedRange), (this.isZoomed = !l([a, c], [d.min, d.max]))),
"map" === this.options("type") ? ((this.range.min = a), (this.range.max = c)) : this._isDragHost || this.setRange(!1, e),
(b = !0)))
: ((this.isDragging = this.isZoomed = !1), (this.zoomRange = []), (this.isZoomed = !1), this.setRange(!0, e));
b = !l(this.isZoomed ? this.zoomRange : [this.range.min, this.range.max], h);
!this._isDragHost &&
w(this.serList, function (a) {
return a.seriesDirty.pos(!0);
});
!1 !== e && this.chart.redraw(e);
a = this.chartArea;
b && a.zoomUpdated();
return b;
};
c.prototype.drag = function (a) {
var b = this.zoomRange.slice(0),
c = this.unZoomedRange ? this.unZoomedRange : this;
c = [c.min, c.max];
this.isDragging = !0;
b[0] + a < c[0] && (a = c[0] - b[0]);
b[1] + a > c[1] && (a = c[1] - b[1]);
b[0] += a;
b[1] += a;
if (a) return this._isDragHost ? (this.zoomRange = b) : this.zoom(b[0], b[1], !1), !0;
};
c.prototype.canDrag = function () {
if (this._isDragHost) {
var a = this.zoomRange.slice(0),
c = this.unZoomedRange ? this.unZoomedRange : this;
return la(a[0], a[1]) < la(c.min, c.max);
}
return this.isZoomed;
};
c.prototype.canZoom = function (a, c) {
c = G(du(a, c), 2);
a = c[0];
c = c[1];
if (this._isMapHost || (this._isDragHost && (this.min !== this.range.min || this.max !== this.range.max))) return !0;
if (a !== c) {
var b = this.zoomLimit;
"object" === I(this.zoomLimit) && "time" === this.type && (b = lg(this.zoomLimit));
if (la(c, a) > b) return !0;
}
};
c.prototype.destroyVisuals = function () {
w(this.rootVisuals, function (a) {
return a && a.destroy();
});
w(this._ticks.slice(0), function (a) {
return a && a.destroy();
});
this._ticks = [];
this.rootPanel.destroy();
this.rootVisuals = this.rootPanel = void 0;
};
c.prototype.destroy = function () {
a.prototype.destroy.call(this);
var b = this.chartArea._axes.indexOf(this);
-1 < b && this.chartArea._axes.splice(b, 1);
};
c.prototype.resetVisuals = function () {
this.isAdded = !1;
this._duV = void 0;
this.destroyVisuals();
this.setRootVisuals();
this.initSizeMetrics();
this.chartArea.rootPanel.refresh();
};
c.prototype.getVisualTargets = function (a, c) {
void 0 === a && (a = {});
void 0 === c && (c = !1);
var b = this.rootVisuals,
d = this.chartArea.rootVisuals,
g = d.axisFront,
h = d.axisBehind,
k = d.axisBehindAll,
l = z(a.onTop, this.options("onTop")),
m = z(C(a, "label.onTop"), l);
a = z(C(a, "gridLine.onTop"), l) ? d.gridLinesFront : d.gridLinesBehind;
d = b = c = c ? b.mainRng : b.main;
g && h && ((c = l ? g : h), (b = m ? g : h), (d = m ? g : k));
return { tick: c, label: b, line: d, grid: a };
};
return c;
})(jc),
Kf = (function (a) {
function c(b, d) {
d = a.call(this, b, d) || this;
d.items = b;
d.kindObject = c;
d.markers = Xa(wb, Sz(d), xc);
d.ticks = Xa(wb, Rz(d), xc);
return d;
}
K(c, a);
return c;
})(wb),
xD = (function (a) {
function c(b, c) {
b = a.call(this, b, c, "sp") || this;
b.possibleKeys = ["spValue"];
b.initFP();
b.options(c, !1);
return b;
}
K(c, a);
c.prototype.init = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
this.prefix = G(a, 3)[1];
this.defaultContextOptions = {};
this.updateOptions = { animation: this.chart.options("animation") };
};
c.prototype.defaultOptions = function () {
return A(a.prototype.defaultOptions.call(this), { crosshair: { enabled: !0 } });
};
c.prototype.renderGridLines = function (a, c) {};
return c;
})(jj),
gu = (function (a) {
function c(b, c, e) {
var d = a.call(this, b.chart, e) || this;
d.parent = b;
d.palette = c;
d._axes = [];
d.isHoriz = z(e.isHoriz, "horizontal" === b.layoutDirection);
b = A({ orientation: d.isHoriz ? "bottom" : "right", anchorWidth: 0 }, C(c.currentOptions, "colorBar.axis"));
b = d.axis = new xD(d, b);
d._axes.push(b);
d.initFP();
b.chartArea = d;
b.setRootVisuals();
b.isHoriz = d.isHoriz;
d.collisionManager = new Tm(d);
return d;
}
K(c, a);
c.prototype.getAxisMarkerVisualTargets = function () {
var a = this.rootVisuals;
return { behind: a.axisMarkersFront, front: a.axisMarkersFront };
};
c.prototype.requestLegend = function (a) {
return null;
};
c.prototype.initFP = function () {
var a = this;
this.axes = Xa(
Kf,
function () {
return a._axes;
},
function (a) {}
);
};
c.prototype.getBarSize = function (a) {
var b = this.palette.options("colorBar") || {},
c;
b = this.isHoriz ? (this.swatchSize = [z(b.length, eu), z(b.width, fu)]) : (this.swatchSize = [z(b.width, fu), z(b.length, eu)]);
if ((a = this.updateChartBox(a))) {
var f = [0, 0];
if ((c = this.overflows)) f = [c[1] + c[3], c[0] + c[2]];
this.swatchSize = [Math.min(b[0], a[2] - f[0]), Math.min(b[1], a[3] - f[1])];
}
return this.swatchSize;
};
c.prototype.updateChartBox = function (a) {
a && t(a[2]) && t(a[3]) && (this.chartBox = rb(a, 10));
return this.chartBox;
};
c.prototype.pointOver = function (a) {
var b = this.axis,
c = this.palette,
f = c.getPointValue(a.currentOptions, a.series);
null === f || Ha(f) || ((c = c.getValueColor(f)), b.crosshair(Sm({ point: a, yVal: f, color: c })));
};
c.prototype.pointOut = function () {
this.axis.crosshair();
};
c.prototype.getUserWH = function () {
var a = this.isHoriz,
c = this.palette.options("colorBar") || {};
return [a ? c.length : c.width, a ? c.width : c.length];
};
c.prototype.measure = function (a, c) {
var b = this.axis;
this.setRootVisuals();
var d = this.palette.axisConfig,
g = this.getBarSize(a);
this.axisSize = void 0;
if (d) {
b.range = d;
b.fitRange = !0;
b.setViewState();
this.axisSize = b.measure(g);
d = this.updateOverflows();
var h = this.getBarSize(a);
if (h[0] !== g[0] || h[1] !== g[1]) (g = h), (this.axisSize = b.measure(g));
g = this.size = this.isHoriz ? [g[0] + d[0], g[1] + this.axisSize[3] + d[1]] : [g[0] + this.axisSize[2] + d[0], g[1] + d[1]];
b = g[0] > a[2];
g = g[1] > a[3];
if (b || g) if (((d = this.getUserWH()), (!c && b && !t(d[0])) || (g && !t(d[1])))) return this.measure(a, !0);
}
return this.size;
};
c.prototype.renderAxis = function () {
var a = this.contentRect;
this.axis.render(a).renderOnCa(a);
};
c.prototype.patchAxis = function () {
var a = this,
c = a.rootVisuals,
e = a.axis;
e.isAdded ||
((c = [c.topAxes, c.rightAxes, c.bottomAxes, c.leftAxes][a.axis.sideIndex()]),
e.isVisible &&
e.rootPanel &&
(e.add(c),
c.on("pixelCorrection", function () {
a.renderAxis();
}),
e.rootPanel.isPatched ||
e.rootPanel.await(function () {
return a.renderAxis();
})));
};
c.prototype.render = function (a) {
var b = this.rootVisuals;
a = this.getBarSize(a);
this.rootPanel.attr({ width: this.size[0], height: this.size[1] });
this.contentRect = { x: 0, y: 0, width: a[0], height: a[1] };
this.patchAxis();
var c = this.axis.options("scale.invert");
c = { stops: this.palette.getTraditionalStops(null, !0), angle: this.isHoriz ? (c ? 180 : 0) : c ? 90 : -90 };
c = oc(c);
b.colorContent.attr({ fill: c, width: a[0], height: a[1] });
return this;
};
c.prototype.updateOverflows = function () {
var a = Br(this);
this.overflows = a.slice(0);
return [a[1] + a[3], a[0] + a[2]];
};
c.prototype.setRootVisuals = function () {
var a = this.renderer;
if (!this.rootVisuals) {
var c = (this.rootVisuals = Hl(a).build({ outline: { width: 0 }, axis: { offset: 0.5 }, content: { holder: { stretch: !1 } }, axisMarkers: !0, overflow: !0 }));
c.colorContent = a.rect().add(c.dataContent);
this.rootPanel = c.mainStacks;
}
return this;
};
c.prototype.destroy = function () {
a.prototype.destroy.call(this);
this.axis.destroy();
};
return c;
})(jc),
fu = 25,
eu = 300,
ye = function (a) {
return a && "Series" === a.kind;
},
ze = function (a) {
return a && "Point" === a.kind;
},
yD = (function (a) {
function c(b, c, e) {
var d = a.call(this, b.chart, C(c.currentOptions, "legendEntry") || {}, [b, c]) || this;
d.legend = b;
d.target = c;
d.sortOrderValue = e;
d.rowVisuals = [];
d.textVisualsRef = [];
d.state = "";
d.icons = {};
d.legend = b;
d.bindEvents();
d.optionsApplied();
return d;
}
K(c, a);
c.prototype.init = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
a = G(a, 2);
c = a[1];
this.legend = a[0];
this.target = c;
};
c.prototype.defaultOptions = function () {
return A(A({ set: 0, checkbox: { color: "#555555", size: 12 } }, this.legend.currentOptions.defaultEntry), this.target.currentOptions.legendEntry);
};
c.prototype.options = function (b, c) {
var d = this.optionsGetter(b);
if ("NotGetter" !== d) return d;
var f = z(C(b, "checkbox.checked"), C(b, "checkbox_checked")),
g = t(f),
h = C(this.currentOptions, "checkbox.checked");
d = t(h) && !t(C(this.userOptions, "checkbox.checked")) && !g;
this.isCustom && !this.legend._isSyncing && this.chart.isRendered && this._onUserOptions && this._onUserOptions(b);
var k = a.prototype.options.call(this, b, c);
d ? Z(this.currentOptions, "checkbox.checked", h) : g && this.chart.isRendered && !1 !== c && (this.updateCheckbox(f), this.checkbox && this.checkbox.refresh());
"EntryWrapper" === this.target.kind && (this.target.options({ legendEntry: b }, c), (this.legend.isDirty = !0), !1 !== c && this.chart.chartAreaSet.reflow(void 0, !1, !0));
this.optionsApplied();
this.afterUpdate(c);
return k;
};
c.prototype.optionsApplied = function () {
this.userOptions.checkbox && delete this.userOptions.checkbox.checked;
this.chart.triggerOptionsApplied("legendEntry", this);
};
c.prototype.render = function (a) {
this.updateStyles(!0);
return this;
};
c.prototype.zoomTo = function () {
this.target && this.target.zoomTo && this.target.zoomTo();
return this;
};
c.prototype.refreshOptions = function (a) {
var b = this.target.options("legendEntry");
b && this.options(b, a);
};
c.prototype.getBounds = function (b) {
var c = this;
if (b) return a.prototype.getBounds.call(this, b);
var e = [];
w(this.rowVisuals, function (a) {
e.push(c.getBounds(a));
});
return Ea(e);
};
c.prototype.updateTrackerPosition = function () {
var a = this.getBounds();
a && this.trackerElement.attr(Gc(rb(a, -2)));
};
c.prototype.updateCheckbox = function (a) {
if (this.checkbox) {
var b = this.target,
c = this.checkbox.attrs.name;
a = "" + Yr(b) + (z(a, Zr(b)) ? "" : "-blank");
a !== c && this.checkbox.attr({ name: a });
}
return this;
};
c.prototype.setRootVisuals = function () {
return this;
};
c.prototype.bindEvents = function () {
var a = this,
c = a.chart,
e = a.target,
f;
if (!a.trackerElement) {
var g = "pointer",
h = a.hasUserEvent("click");
(f = a.options("cursor")) ? (g = f) : ze(e) ? e.series.options("pointSelection") || h || e.series.chartArea.canZoom() || (g = "default") : ye(e) || h ? "EntryWrapper" !== e.kind || h || (g = "default") : (g = "default");
e = a.options("initialCursor");
!c.isRendered && e && (g = e);
c = a.trackerElement = a.trackerElement || a.renderer.renderer.rect().attr({ cursor: g, fill: "rgba(255,255,255,0)", zIndex: 1 }).add(c.rootVisuals.front);
c.on("mouseover", function (b) {
return a.mouseover(b);
});
c.on("mouseout", function (b) {
return a.mouseout(b);
});
c.on("vclick", function (b) {
return a.click(b);
});
}
};
c.prototype.mouseover = function (a) {
var b = this,
c = b.legend,
f = b.target,
g = ye(f),
h = ze(f),
k = h || g,
l = b.chart.ctManager,
m = l.isType("map"),
n = l.isType("calendar");
l = "select" === f._state;
c = c.chart.chartAreas(0);
var p = c.debounce;
a = "touchend" === a.type;
m = Ul(b) && !m && !n;
n = function () {
p.defer(
"mute",
function () {
Ol(f, "", Nl(b));
},
36
);
};
c.resetTimers();
if (!1 !== b.triggerUser("mouseOver", f)) {
if (f.mouseOver) {
if (k && m)
if ((!l && f.setState(""), a && b.chart.highlighted === f)) p.run("unmute") || Qb(b.chart);
else {
n();
var q = !0;
}
} else if (g && m)
if (f.isVisible) n(), (q = !0);
else var r = !0;
else m && !h && (r = !0), !l && f.setState("hover");
b.setState("hover");
r
? q &&
b.chart.touched() &&
p.defer(
"unmute",
function () {
Qb(f.chart);
},
2e3
)
: p.clear("unmute");
}
};
c.prototype.mouseout = function (a) {
var b = this.target,
c = ye(b),
f = ze(b);
a = "select" === b._state || "select" === b.state;
!1 !== this.triggerUser("mouseOut", b) &&
((c || f) &&
Ul(this) &&
((c = (f ? b.series.chartArea : b.chartArea).debounce),
c.clear("mute"),
c.defer(
"unmute",
function () {
Qb(b.chart);
},
230
)),
b.setState && !a && b.setState(""),
this.updateStyles());
};
c.prototype.click = function (a) {
var b = this,
c = b.target,
f = "touchend" === a.type,
g = ze(c),
h = (g ? c.series.chartArea : c.chartArea) || b.chart.chartAreaSet.items[0],
k,
l = ye(c) || g;
f && h && h.debounce.clear("touchTimeout");
var m = function (a) {
return Z(b.currentOptions, "checkbox.checked", a);
};
if (b.checkbox && !l) {
var n = m(!C(b.currentOptions, "checkbox.checked"));
b._onUserOptions = function (a) {
a = z(C(a, "checkbox.checked"), C(a, "checkbox_checked"));
t(a) && (k = !0);
};
}
if (!1 !== c.triggerUser("legendEntryClick") && !1 !== b.triggerUser("click", c)) {
if (l) {
l = b.chart.ctManager;
n = l.isType("map");
l = l.isType("calendar");
m = ye(c);
var p = c.isVisible,
q = b.chart.options("axisToZoom");
q = q && "none" !== q;
Ul(b) &&
(f && g && !b.checkbox
? (b.mouseover(a),
h.debounce.defer(
"touchTimeout",
function () {
h.clickOff();
},
8e3
))
: !1 !== p && Qb(c.chart));
c.visible && !l && !n && m && c.visible();
c.zoomTo && (q || l) && c.zoomTo();
this.chart.resetTimers();
} else b.checkbox && (b.updateCheckbox(n), b.checkbox.refresh(), m(n));
b.checkbox && c.click && c.click({ eventArgs: a, accumulate: !!b.checkbox });
} else b._onUserOptions && !k && m(!C(b.currentOptions, "checkbox.checked"));
b._onUserOptions = void 0;
a.preventDefault();
};
c.prototype.updateStyles = function (a) {
var b = this.target,
c = this.chart.ctManager;
c.isType("map");
var f = C(this.currentOptions, "checkbox.checked");
c = c.isType("calendar");
f = t(f) || (this.checkbox && c);
this.targetVisible = z(b.isVisible, !0);
-1 < this.legend.getTemplateColumns().indexOf("%icon") && this.styleIconVisual();
f && this.updateCheckbox(z(C(this.currentOptions, "checkbox.checked"), this.targetVisible));
!1 === this.targetVisible ? this.setState("hidden", a) : this.setState("", a);
};
c.prototype.setColumns = function () {
var a = this,
c = this,
e = c.currentOptions,
f = c.legend,
g = e.set,
h = f.getTemplateColumns(g),
k = c.target;
c.refreshOptions(!1);
var l = C(c.userOptions, "checkbox.enabled");
C(f.currentOptions, "defaultEntry.checkbox.enabled");
var m = f.checkboxManual ? l : Tz(k) ? !1 !== l : l;
if (f.isVisible) {
var n = qc(e);
delete n.val;
n.autoWrap = "none";
var p = f.getColumnAlignments(g);
c.rowVisuals = B(h, function (b, d) {
var f = b.toLowerCase(),
g;
if ("%checkbox" === f)
(g = c.rowVisuals[d]) ||
(m
? ((d = A({ fill: e.checkbox.color }, e.checkbox, { name: "" + Yr(k) + (Zr(k) ? "" : "-blank") })),
(g = b = c.renderer.panel({ yAlignment: "center" })),
(c.checkbox = c.renderer.icon(d)),
c.checkbox.add(b),
(d = C(e, "checkbox.checked")),
t(d) && c.updateCheckbox(d))
: (g = c.renderer.panel({})));
else if ("%icon" === f)
if ((g = c.rowVisuals[d])) (c.iconVisual = g = a.getIconVisual()), (g = g.root);
else {
c.iconVisual = g = a.getIconVisual();
c.rootVisuals = { icon: g };
var h = g.base,
l = g.extra;
g.root.attr({ width: a._iconSize ? c._iconSize[0] : e.iconWidth, height: a._iconSize ? c._iconSize[1] : 10, xAlignment: "center", yAlignment: "middle" });
g = g.root;
g.on("pixelCorrection", function () {
var a = z(C(h, "data.attrs.stroke-width"), 1);
a = nd(g, [0, 0], a);
h && h.attr({ translate: a });
l && l.attr({ translate: a });
});
}
else
"%name" === f ? (b = c.options("name")) : "%value" === f && (b = c.options("value")),
"function" === typeof b && (b = b(k)),
c.options("attributes") && (b = Gg({ attr: b }, c, A({ mode: "AttrOnly" }, c.chart.getFormatInfo()))),
(b = k.replaceTokens(b)),
(f = A({ xAlignment: p[d], yAlignment: "middle" }, n)),
(g = c.rowVisuals[d]) ? (f.val = b) : ((g = c.renderer.textStack(b)), c.textVisualsRef.push(g)),
(!1 === k.isVisible && k.chart.isRendered) || g.attr(f);
(!1 === k.isVisible && k.chart.isRendered) || c.refreshOptions(!1);
return g;
});
}
return this;
};
c.prototype.getIconVisual = function () {
var a = this.currentOptions,
c = this.target,
e = a.iconWidth,
f = a.icon,
g = I(f);
c = c.getIconVisual([this._iconSize ? this._iconSize[0] : e, this._iconSize ? this._iconSize[1] : 10], c, this);
this._iconSize = null;
if (f) {
var h = c.base || c.extra;
h && ((e = "object" === g ? ("none" === f.name ? 10 : z(f.size, f.width, e)) : "string" === g && "none" === f ? 10 : e), (a = Ld(a.icon, 0, 0, e, e))) && (h.attr({ d: a }), (this._iconSize = [e, e]));
}
return c;
};
c.prototype.styleIconVisual = function () {
var a = this.currentOptions,
c = this.getIconVisual();
this.target.styleIconVisual(c, this);
c = this.getIconVisual();
if ((a = a.icon)) if ((c = c.base || c.extra)) (a = fc(a)), c.attr(a);
};
c.prototype.setState = function (a, c) {
if (a !== this.state || c) {
var b = A({}, this.currentOptions);
"normal" !== a && (c = this.options("states." + a)) && A(b, c);
var d = qc(b);
delete d.val;
d.autoWrap = "none";
c = this.legend.rootPanel;
b = c.getBbox();
w(this.textVisualsRef, function (a) {
a.attr(d);
a.isPatched && a.patch();
});
var g = c.setPreliminarySize(!0).getBbox();
(g.width === b.width && g.height === b.height) || c.refresh();
this.state = a;
}
};
c.prototype.remove = function (a) {
var b = this.legend;
this.destroy();
b.syncCustomEntries();
b.isDirty = !0;
!1 !== a && b.chart.chartAreaSet.reflow(!1, !1, !0);
};
c.prototype.hideTracker = function () {
this.trackerElement && this.trackerElement.hide(!0);
};
c.prototype.destroy = function () {
var a = this.legend,
c,
e = pb(this.legend.items, this);
if ((c = S(a._userEntries, { id: this.id }))) pb(a._userEntries, c), pb(a.userOptions.customEntries, c), pb(a.currentOptions.customEntries, c);
-1 < e && (this.legend.isDirty = !0);
this.textVisualsRef = [];
w(this.rowVisuals, function (a) {
return a.destroy();
});
this.trackerElement && this.trackerElement.destroy();
};
return c;
})(jc),
hu = [120, 70],
zD = (function (a) {
function c() {
var b = (null !== a && a.apply(this, arguments)) || this;
b.isDirty = !0;
b.fillShading = "box";
b.items = [];
b.spItems = [];
b.spMode = "none";
b._aligmentsCache = [];
b._customEntries = [];
return b;
}
K(c, a);
c.prototype.init = function (a) {
this.alignTo = a;
this.kind = "Legend";
this.updateSp();
this.initFP();
};
c.prototype.initFP = function () {
var a = this;
a.entries = Xa(
wb,
function () {
return a.items;
},
function () {
return 0;
},
{
push: function (b, c) {
a._userEntries = a._userEntries || [];
a._userEntries.push(b);
a.syncCustomEntries();
a.isDirty = !0;
!1 !== c && a.chart.chartAreaSet.reflow(void 0, !1, !0);
},
}
);
};
c.prototype.options = function (b, c) {
var d = this.optionsGetter(b);
if ("NotGetter" !== d) return d;
this.isDirty = !0;
a.prototype.options.call(this, b, !1);
!1 !== c && this.chart.chartAreaSet.reflow(void 0, !1, !0);
this.afterUpdate(c);
return this;
};
c.prototype.updateSp = function () {
var a = this.chart,
c,
e = a.palette && !1 !== C(a.palette, "colorBar.visible");
(a = this.smartPalette = "object" === I((c = a.palette)) && e ? a.getSmartPalette(c) : void 0) ? (this.spMode = a.mode) : !1 === e && (this.spMode = "colorBar");
this.colorBar && ("colorBar" !== this.spMode ? (this.colorBar.destroy(), (this.colorBar = void 0)) : this.smartPalette.destroyEntries());
return this;
};
c.prototype.allowEntries = function () {
this.chart.ctManager.isType("calendar");
return !0;
};
c.prototype.setOptions = function () {
a.prototype.setOptions.call(this);
this.isVisible = !1 !== this.currentOptions.visible;
this.setLayoutDirection();
this.updateSp();
var b = (this._userEntries = this.currentOptions.customEntries || []);
w(b, zb);
return this;
};
c.prototype.defaultOptions = function () {
var a = this.chart;
a = a ? a.boxDefaults() : Cf();
var c = a.label.style;
return {
position: "right top",
fill: a.fill,
layout: "auto",
radius: a.radius,
boxPointerEvents: !1,
boxVisible: a.boxVisible,
corners: ["cut", "square", "cut", "square"],
outline: a.outline,
title: { label: { style: { fontSize: "13px" } } },
defaultEntry: { name: "%name", value: "%value", iconWidth: 20, style: { color: c.color, fontSize: "11px" }, states: { hidden: { style: { color: "#707070" } } } },
headerStyle: { color: c.color, fontSize: "12px", fontWeight: "normal" },
horizontalSpacing: 3,
margin: !1 === a.boxVisible ? 0 : 7,
template: "%value %icon %name",
name: "%name",
value: "%value",
shadow: z(a.shadow, !0),
sortOrder: 0,
};
};
c.prototype.normalizeOptions = function (b, c) {
b = a.prototype.normalizeOptions.call(this, b, c);
t(b.width) && !t(b.maxWidth) && (b.maxWidth = b.width);
return b;
};
c.prototype.contextOptions = function () {
return A({}, this.defaultContextOptions || {}, C(this.chart, "typeContextOptions.legend") || {});
};
c.prototype.dependentOptions = function () {
return [
{
option: "fill",
check: function (a) {
return a;
},
dependent: "margin",
value: 7,
},
];
};
c.prototype.defaultEntryOptions = function () {};
c.prototype.pointOver = function (a) {
this.colorBar && this.colorBar.pointOver(a);
};
c.prototype.pointOut = function () {
this.colorBar && this.colorBar.pointOut();
};
c.prototype.setRootVisuals = function () {
var a = this.currentOptions,
c = this.rootVisuals,
e = this.rootPanel;
c ||
((c = this.rootVisuals = { title: void 0, stack: void 0, background: void 0, grid: void 0 }),
(e = this.rootPanel = e || this.renderer.box()),
(e = c.stack = c.stack || this.renderer.panel({ type: "stack:y" }).add(e)),
(c.title = c.title || new Fi(this.chart, { text: "", margin: 3 }).add(e)),
(c.grid = c.grid || this.renderer.panel({ type: "grid", xAlignment: "center", cellSpacing: z(a.cellSpacing, 5) }).add(e)),
c.gridSp ||
((c.gridSpDivider = this.renderer
.textStack("<hr>")
.attr({ xAlignment: "center", width: "100%", fontSize: 5, padding: [0, 5], suspend: !0 })
.visible(!1)
.add(e)),
(c.gridSp = this.renderer.panel({ type: "grid", xAlignment: "center", cellSpacing: z(a.cellSpacing, 5) }).add(e))));
return this;
};
c.prototype.setAttribs = function () {
var a = this.currentOptions,
c = a.margin;
"position" === wr(a.position) && c && "number" === typeof c && (a.margin = this.getAdjustedMarginVal(c));
a = Cg(a, this.fillShading);
delete a.width;
this.attribs = { bg: a };
return this;
};
c.prototype.getAdjustedMarginVal = function (a) {
var b = [0, 0, 0, 0];
b[{ t: 2, r: 3, b: 0, l: 1 }[ur(this.options("position"))]] = a;
return b;
};
c.prototype.measure = function (a) {
this.render(t(a) ? Gc(a) : this.chart.renderer.rootBox);
this.isMeasured = !0;
return this.getLegendBoxWithMargins();
};
c.prototype.render = function (a) {
var b = this,
c = b.currentOptions,
f = "vertical" !== b.layoutDirection,
g = b.rootPanel,
h = b.rootVisuals,
k = a ? ha(a) : void 0;
if (a) {
a = qa(a);
var l = !0;
} else a = {};
b.updateSp();
if (!l) return this;
if (b.isDirty || a)
if (b.isVisible) {
g.visible(!0);
b.setTargetItems();
b.sortByInternalSortValue();
var m = "colorBar" === b.spMode && b.smartPalette,
n = 0 < b.entries().items.length,
p = m && n,
q = n && "ranges" === b.spMode;
h.grid.attr({ width: null, height: null });
b.setAttribs();
n = b.attribs;
var r = A({}, b.options("title.label"));
C(r, "text.length") && (r.text = b.chart.replaceTokens(r.text));
var u = void 0;
(u = C(r, "align")) && h.title.rootPanel.attr({ xAlignment: u });
h.title.options(r);
r = qa(a);
p && l && ((k = io(k, [0, -hu[f ? 1 : 0], 0, 0])), (r = Gc(k)));
var t = function (a, b) {
void 0 === b && (b = h.grid);
a.borders.length && b.attr({ borders: a.borders });
b.val(a.rows);
};
if (l && q) {
f = h.gridSp.getBboxArray();
l = h.gridSpDivider.getBboxArray();
f = [0, 0, 0, f[3] + h.title.getSize()[1] + l[3]];
a = jo(k, f);
h.gridSpDivider.suspend = !0;
f = b.getItemSets();
k = b.getItemBoxSets(a, f);
a = yv(k, { limitBox: a });
var v = [h.grid, h.gridSp],
y = 0,
z = a.ids;
w(f, function (a, c) {
a && t(b.getSetRows(a, z[Math.min(c, z.length - 1)]), v[c]);
a && y++;
});
h.gridSpDivider.visible(1 < y);
b.updateStyles();
} else {
b.allowEntries() && t(b.getRows());
k = void 0;
p = m ? r : b.chart.renderer.rootBox;
if (b.allowEntries() && l && ((k = Math.ceil(b.getApproximiteSplitFactor(p))), 1 < k)) for (t(b.getRows(k)); 1 < b.getApproximiteSplitFactor(p) && k < b.items.length; ) t(b.getRows(++k));
b.updateStyles();
m &&
l &&
(h.gridSpDivider.visible(0 < h.grid.childElements.length).setPreliminarySize(!0),
(k = h.grid.getBboxArray()),
(l = h.gridSpDivider.getBboxArray()),
(a = jo(ha(a), [0, 0, 0, k[3] + h.title.getSize()[1] + l[3]])),
(l = void 0),
!f && k[2] > 1.5 * a[3] && k[2] > hu[0] ? ((a = [0, 0, k[2], a[3]]), (l = !0)) : 140 < a[3] && (a[3] *= 0.8),
h.gridSp.val([[b.getSwatch(a, l)]]));
}
h.grid.attr({ width: c.width, height: c.height });
g.attr(n.bg);
b.isDirty = !1;
} else g.isPatched && (g.attr({ width: null, height: null }), g.visible(!1), g.refresh());
b.chart.triggerOptionsApplied("legend", b);
return this;
};
c.prototype.invalidate = function () {
this.isDirty = !0;
return this;
};
c.prototype.updateStyles = function () {
this.isVisible &&
w(this.items, function (a) {
a.updateStyles();
});
return this;
};
c.prototype.getApproximiteSplitFactor = function (a) {
var b = this.rootVisuals,
c = this.currentOptions;
this.rootPanel.update();
var f = b.gridSp.getBbox(),
g = b.gridSpDivider.getBbox();
b = b.stack.getBbox();
b.height -= f.height + g.height;
f = this.curRect = b;
a = "vertical" === this.layoutDirection ? f.height / (a.height || f.height) : f.width / (a.width || f.width);
a = Pj(a, 2);
1 >= a && (c = z(c.maxWidth, c.width)) && (a = f.width / c);
return a;
};
c.prototype.getRows = function (a) {
void 0 === a && (a = 1);
return this.getSetRows(this.getVisibleItems(), a);
};
c.prototype.getSetRows = function (a, c) {
void 0 === c && (c = 1);
var b = this,
d = [],
g = b.renderer,
h = b.currentOptions,
k = [],
l = [],
m = a.length && a[0].set,
n = function (a, b) {
return w(a, function (a) {
k.push(a);
l.push(b);
});
},
p = function (a, c) {
a ? (a.setColumns ? ((c = a.setColumns().rowVisuals), n(c, a.currentOptions.lineAbove ? [!0, !1, !1, !1] : null)) : n(a, null)) : n(b.getBlankEntry(m), null);
},
q = function () {
k.push(g.panel({ width: h.horizontalSpacing }));
l.push(null);
},
r = function (a) {
if (u && a) {
for (var c = 0; c < a; c++) p(b.getHeaderEntry()), c !== a - 1 && q();
d.push(k);
k = [];
}
},
u = void 0 !== b.getHeaderEntry(m),
t = Math.ceil(a.length / c);
c = [];
for (var v = 0, y = 0, z = a.length; y < z; y += t) {
var A = a.slice(y, y + t);
c.push(A);
v = Math.max(v, A.length);
}
if ("vertical" === b.layoutDirection)
for (r(c.length), a = 0; a < v; a++) {
k = [];
r = 0;
for (t = c.length; r < t; r++) p(c[r][a]), r !== t - 1 && q();
d.push(k);
}
else
for (r(v), r = 0, t = c.length; r < t; r++) {
k = [];
for (a = 0; a < v; a++) p(c[r][a]), a !== v - 1 && q();
d.push(k);
}
return { rows: d, borders: l };
};
c.prototype.setLayoutDirection = function () {
var a = this.currentOptions,
c = a.layout;
c = c || "auto";
var e = { t: "horizontal", r: "vertical", b: "horizontal", l: "vertical" };
a = ur(a.position) || "r";
this.layoutDirection = ("auto" === c ? e[a[0]] : c) || "vertical";
};
c.prototype.getSwatch = function (a, c) {
this.setLayoutDirection();
var b = this.smartPalette;
this.colorBar && b.id !== this.colorBar.palette.id
? (this.colorBar.destroy(), (c = this.colorBar = new gu(this, b, { maxWidth: 400, maxHeight: 400, isHoriz: c })))
: (c = this.colorBar = this.colorBar || new gu(this, b, { maxWidth: 400, maxHeight: 400, isHoriz: c }));
c.measure(a) && c.render();
!this.allowEntries() &&
w(this.getVisibleItems(), function (a) {
a.hideTracker();
});
return c.rootPanel;
};
c.prototype.setTargetItems = function () {
var a = this.chart;
this.smartPalette && (this._targetItems = "ranges" === this.spMode ? this.smartPalette.syncLegendEntries(this) : void 0);
a.calIndexer && a.calIndexer.syncLegendEntries(this);
this.syncCustomEntries();
};
c.prototype.getVisibleItems = function () {
var a = z(this._targetItems, []).slice(0);
this.allowEntries() && a.push.apply(a, H(this.items));
a = $a(a);
return ea(a, function (a) {
if (!1 !== a.options("visible")) return a;
});
};
c.prototype.getItemSets = function () {
var a = this.getVisibleItems(),
c = [];
w(a, function (a) {
var b = z(a.currentOptions.set, 0);
c[b] ? c[b].push(a) : (c[b] = [a]);
});
return c;
};
c.prototype.getItemBoxSets = function (a, c) {
var b = this,
d = b.rootPanel,
g = b.rootVisuals,
h = "vertical" !== b.layoutDirection;
c = c || b.getItemSets();
var k = [],
l = [g.grid, g.gridSp];
w(c, function (c, e) {
if (c) {
e = l[e];
if (c) {
for (var f = [], g = Bv(c.length), m = void 0, n = 0, t = g.length; n < t; n++) {
var v = g[n],
w = b.getSetRows(c, g[n]);
w.borders.length && e.attr({ borders: w.borders });
e.val(w.rows);
d.update();
w = e.getBboxArray();
if (h)
if (w[2] < a[2]) {
w.id = v;
f.push(w);
break;
} else (m = w.slice(0)), (m.id = v);
else {
if (w[2] > a[2]) {
m = w.slice(0);
m.id = v;
break;
}
w[3] < a[3] ? ((w.id = v), f.push(w)) : ((m = w.slice(0)), (m.id = v));
}
}
!f.length && m.length && f.push(m);
c = f;
} else c = void 0;
c.length && k.push(c);
}
});
return k;
};
c.prototype.getBlankEntry = function (a) {
var b = [],
c = this.renderer;
a = this.getTemplateColumns(a).length;
for (var f = 0; f < a; f++) b.push(c.panel());
return b;
};
c.prototype.getColumnAlignments = function (a) {
void 0 === a && (a = 0);
var b = this,
c = !b.chart.chartAreaSet.series().length;
if (b._aligmentsCache[a]) return b._aligmentsCache[a];
var f = b.getTemplateColumns(a),
g =
(function () {
return S(b.items, function (a) {
return !a.isCustom;
});
})() ||
b.items[1] ||
b.items[0];
if (!g) return [];
var h = g.target,
k = function (a, c) {
var d = a.replace(",", ".");
a = parseFloat(d);
if (!a && 0 !== a) return !1;
a = a.toString();
if (a === d) return !0;
d = d.length - a.length;
for (var e = 1; e < b.items.length; e++) {
var f = b.items[e].target.replaceTokens(c);
a = parseFloat(f);
if (!a && 0 !== a) return !1;
a = a.toString();
if (f.length - a.length !== d) return !1;
}
return !0;
};
f = B(f, function (a, b) {
if ("%icon" === a) return "center";
var d;
c ? (b = d = Gg({ attr: a }, g, g.chart.getFormatInfo())) : ((b = h.replaceTokens(a)), (d = h.replaceTokens({ token: a })));
var e = I(d);
"object" === e && ((e = "string"), (d = d.token || d));
"INVALID TOKEN" === d ? (e = "number") : "string" === e && k(b, a) && (e = "number");
return "string" === e ? "left" : "right";
});
return (b._aligmentsCache[a] = f);
};
c.prototype.getTemplateColumns = function (a) {
var b = this.currentOptions.template,
c = !!b.pop,
f = t(a),
g = !0 === C(this.userOptions, "defaultEntry.checkbox.enabled");
b = Vl(c ? b[f ? a : 0] : b, !1);
c = this.userOptions.template;
!a || (c && "%icon %name" !== c) || "ranges" !== this.spMode || (b = Vl("%icon %value", !1));
S(b, function (a) {
return "%checkbox" === a.trim().toLowerCase();
}) ||
(this.items.filter(function (a) {
return !0 === a.userOptions.checkbox || C(a.userOptions, "checkbox.enabled");
}).length
? (b.unshift("%checkbox"), (this.checkboxManual = !0))
: (a = this.userOptions.customEntries) &&
a.filter(function (a) {
return !0 === a.checkbox || C(a, "checkbox.enabled");
}).length &&
(b.unshift("%checkbox"), (this.checkboxManual = !0)),
!ae(b, "%checkbox") && g && b.unshift("%checkbox"));
g && this.checkboxManual && (this.checkboxManual = !1);
return b;
};
c.prototype.getHeaderEntry = function (a) {
var b = this,
c = b.currentOptions,
f = Vl(c.header, !1);
if (f) {
var g = b.getTemplateColumns(a);
a = g.length;
var h = qc({ style: c.headerStyle });
f && f.length && f.length !== g.length && ((c = g.indexOf("%checkbox")), -1 < c && f.splice(c, 0, ""));
S(b.items, function (a) {
return !a.isCustom;
});
var k = b.getColumnAlignments();
c = [];
if (f.length === a)
return (c = B(f, function (a, c) {
-1 < a.indexOf("%") && (a = b.chart.replaceTokens(a));
a = b.renderer.textStack().val(a);
a.attr(A({ xAlignment: k[c] || "left", yAlignment: "bottom" }, h));
return a;
}));
}
};
c.prototype.getLegendBoxWithMargins = function () {
var a = this.rootPanel;
1 < a.combinations.length ? this.rootPanel.refresh(!0) : this.rootPanel.setPreliminarySize(!0);
return a.getGlobalBboxArray(!0);
};
c.prototype.positionUpdated = function (a) {
w(this.items, function (a, b) {
a.updateTrackerPosition();
});
};
c.prototype.addEntry = function (a, c, e) {
void 0 === c && (c = 0);
var b;
a.legend = this;
e && (!t((b = e.replaceIndex)) || 0 > b) && (b = this.items.indexOf(e));
a = new yD(this, a, c);
-1 < b ? (this.items.splice(b + 1, 0, a), (e.replaceIndex = b + 1)) : this.items.push(a);
this.sortByInternalSortValue();
this.isDirty = !0;
return a;
};
c.prototype.syncCustomEntries = function () {
var a = this,
c = Qt.custom;
a._isSyncing = !0;
Ub(
a._userEntries,
a._customEntries,
function (b) {
var d = a.addEntry(new Qm(a.chart, { legendEntry: b }));
t(C(b, "checkbox.checked")) && delete b.checkbox.checked;
d.isCustom = !0;
d.sortOrderValue = c++;
return d;
},
function (a, b) {
return b.options(a, !1);
}
);
w(a._customEntries, function (a) {
return a.setColumns();
});
a._isSyncing = !1;
};
c.prototype.sortByInternalSortValue = function () {
this.items.sort(function (a, c) {
a = z(a.currentOptions.sortOrder, a.sortOrderValue);
c = z(c.currentOptions.sortOrder, c.sortOrderValue);
return a < c ? -1 : a > c ? 1 : 0;
});
this.options("reversed") && this.items.reverse();
};
c.prototype.add = function (a) {
this.render();
this.rootPanel && this.rootPanel.add(a);
return this;
};
return c;
})(jc),
Vz = {
zigzag: as,
gap: function (a, c, b, d) {
var e = c / 2,
f = "c" === a || "l" === a,
g = "m" === a || "t" === a;
f = G(d([b[0] + (f ? e : 0), b[1] + (g ? e : 0), b[2] - (f || "r" === a ? ("c" === a ? c : e) : 0), b[3] - (g || "b" === a ? ("m" === a ? c : e) : 0)]), 4);
b = f[0];
d = f[1];
e = f[2];
g = f[3];
f = { clipPath: Yh(b, d, e, g) };
if ("r" !== a && "b" !== a) {
var h = d + 0.5,
k = b + 0.5;
a =
"t" === a || "m" === a
? [
[
[b, h],
[b + e, h],
],
[
[b, h - c],
[b + e, h - c],
],
]
: [
[
[k, d],
[k, d + g],
],
[
[k - c, d],
[k - c, d + g],
],
];
f.outlinePath = fb(a[0]).concat(fb(a[1]));
}
return f;
},
line: function (a, c, b, d) {
if ("r" === a || "b" === a) return null;
var e = c / 2,
f = "c" === a || "l" === a;
a = "m" === a || "t" === a;
c = d([b[0] - (f ? e : 0), b[1] - (a ? e : 0), f ? c : b[2], a ? c : b[3]]);
return { path: Yh(c[0], c[1], c[2], c[3]) };
},
hidden: function () {
return null;
},
},
Xz = function (a, c, b) {
var d = c.id,
e = function (a) {
return a.crosshair(b);
};
a.axes()
.filter({ userOptions: { scale: { syncWith: d } } })
.each(e);
e(c);
},
Yz = function (a) {
var c = [];
w(a, function (a) {
a.yVal.pop
? w(a.yVal, function (b) {
c.push(Sm(A({}, a, { yVal: b })));
})
: c.push(Sm(a));
});
return c;
},
iu = ["column", "area", "candlestick", "ohlc", "variwide"],
kj = ["column", "candlestick", "ohlc", "variwide"],
ju = (function (a) {
function c(b, c) {
var d = a.call(this, b.chart, c, [b.chart, c]) || this;
d.chartAreaSet = b;
d.kind = "chartArea";
d._series = [];
d.yAxis = [];
d.xAxis = [];
d.zAxis = [];
d._axes = [];
d.axConfList = {};
d.renderedRect = Gk();
d.preRenderedRect = Gk();
d.isDirtyPreRender = !0;
d.isRendering = !1;
d.renderRect = { x: 0, y: 0, width: 0, height: 0, borderWidth: 0 };
d.projection = {
lin2valxy: function (a, b) {
return [a, b];
},
val2linxy: function (a, b) {
return [a, b];
},
};
d._awaitRenderCallbacks = [];
d.maxSeriesZIndex = 0;
d.events = { contentBox: new rd(), click: new rd() };
d.isZoomedDragArea = !1;
d.zoomAxes = [];
d.computeVals2 = function (a, b) {
var c = a.slice(0, 2);
d.isHoriz && c.reverse();
var e = [];
w(d.zoomAxes, function (a, d) {
return (e[d] = a ? a.linToVal(c[d], b) : void 0);
});
return d.projection.lin2valxy(e[0], e[1]);
};
d.computeValsTouch = function (a, b) {
return B(a, function (a) {
return d.computeVals2(a, b);
});
};
d._lastPointers = [];
d.mouseMove = Ni(function (a) {
var b = function () {
var a = e.getCursor();
return !a || "crosshair" === a || "move" === a;
},
c = a.pointers || [[a.x, a.y]],
e = d.chart,
f = "touch" === a.device,
g;
if (2 === c.length && d.isPinchZooming) d.pinch(a);
else if (1 === c.length) {
c = c[0];
var h = void 0;
if (d.isZooming) return (d.zoomEndVals = h = d.computeVals2(c, !0)), d.moveZoom(d, h), !0;
if (d.isDragging) return d.drag(d.computeVals2(c));
var r = d.renderer.renderer.isAnimating() && !d._ignoreAnimation;
h = d.isType("map");
if (!r && (g = d.renderBySortedSeriesRev)) {
r = void 0;
if (d.crosshair(c, a)) d.debounce.run("unmute");
else for (var u = 0, t = g.length; u < t && !(r = g[u].mouseMove(a, c)); u++);
d.crossPDD().length && a.eventArgs.cancelable && a.eventArgs.preventDefault();
f &&
(r
? (d.debounce.defer(
"touchTimeout",
function () {
d.clickOff();
},
8e3
),
(d._hoveredItem = d.chart.hoveredPoint))
: (d._hoveredItem = void 0));
!r &&
b() &&
d._axisToZoom &&
(h || d._isStaticDragArea
? (d.isZoomed || d.isZoomedDragArea) && e.setCursor("move")
: d.isZoomed && !h
? d.isInDragArea(c[1])
? e.setCursor("move")
: h || e.setCursor("crosshair")
: e.setCursor("crosshair"));
return r || !0;
}
}
}, 13);
d.docMM = void 0;
d.docVUp = void 0;
b.items.push(d);
var f = (d.readyDefer = new $A()),
g = f.hold("caConst");
d.initFP();
d.chart = b.chart;
d.collisionManager = new Tm(d);
d.legend = d.chart.legends(0);
d.legend.alignTo = d.legend.alignTo || d;
d.prepAxisConfigs();
f.release(g);
d._firstOpCall = !0;
d.options(c, !1);
d.tooltip = new oD(d);
return d;
}
K(c, a);
c.prototype.init = function (a) {
this._renderDataCallMonitor = new aB();
this.ctManager = Ht();
this.ctManager.init(a.userOptions);
this.debounce = new Ae();
};
c.prototype.initFP = function () {
var a = this;
this.axes = Xa(
Kf,
function () {
return a._axes;
},
function (a) {}
);
this.series = Xa(
Ym,
function () {
return a._series;
},
function (a) {}
);
};
c.prototype.defaultOptions = function () {
var a = this.chart,
c = a.boxDefaults(this.userOptions.boxVisible ? 1 : void 0),
e = qe(c.fill, "white", 30),
f = C(a.typeContextOptions, "chartArea");
c = { fill: e, outline: c.outline, boxVisible: c.boxVisible, shadow: c.shadow };
f && A(c, f);
a.chartAreaSet.hasScaleBreaks && (c.boxVisible = !0);
return c;
};
c.prototype.normalizeOptions = function (b) {
b = a.prototype.normalizeOptions.call(this, b, "series");
Gh(b, "xAxis");
Gh(b, "yAxis");
cp(b, "orientation");
qw(b);
return b;
};
c.prototype.options = function (b, c) {
var d = this.optionsGetter(b);
if ("NotGetter" !== d) return d;
(d = b.series) && !this._firstOpCall && (delete this.userOptions.series, delete this.currentOptions.series);
!this._firstOpCall && a.prototype.options.call(this, b, c);
this.isHoriz = this.ctManager.isHoriz();
d && this.setSeries(c);
this.applyOptions();
!1 !== c && this.chartAreaSet.tryReflow();
this._firstOpCall = !1;
return this;
};
c.prototype.applyOptions = function () {
var a = this.options(),
c;
if (this.rootVisuals.caBackground) {
var e = Bg(a, void 0, Fa.chartArea);
this.rootVisuals.caBackground.attr(e.fill);
}
e = a.height;
var f = a.width;
if (e || f) {
var g = {};
f && (g.width = f);
e && (g.height = e);
this.rootPanel.attr(g);
}
(c = a.title) && this.rootVisuals.titleBox.options(c);
(this._isStaticDragArea = this.isType("organization"))
? (this._axisToZoom = "xy")
: ((this._axisToZoom = this.chart.currentOptions.axisToZoom || this.currentOptions.axisToZoom), "none" === this._axisToZoom && (this._axisToZoom = ""));
this.chart.triggerOptionsApplied("chartArea", this);
return this;
};
c.prototype.canZoom = function () {
return !!this._axisToZoom;
};
c.prototype.setSeries = function (a) {
var b = this;
b.log("setSeries()");
var c = b.processSeriesConfigs(),
f = function (a, b) {
return a.currentOptions ? a.currentOptions.id || a.currentOptions.name || b : a.id || a.name || b;
};
Ub(
c,
b._series,
function (a) {
b.addSeries(a);
},
function (b, c) {
return c.options(b, a || !1);
},
function () {},
f,
f
);
b.triggerUser("setSeries", b);
b.updateMapData(a);
return this;
};
c.prototype.processSeriesConfigs = function () {
var a = this.options(),
c = this.ctManager;
a = a.series || [];
if (c.shouldDataMerge() && a.length && 1 < a.length) {
var e = c.dataMergeType(a);
c = c.shouldDataMerge(a);
c.length &&
(a = B(c, function (a) {
return Dz(a, "collect" === e);
}));
}
return a;
};
c.prototype.spliceSeries = function (a, c, e, f) {
var b = this,
d = this.readyDefer,
k = this._series,
l = d.hold("spliceSer"),
m = k.slice(0, a),
n = k.slice(a, a + c);
a = k.slice(a + c, k.length);
c = 0;
for (k = n.length; c < k; c++) n[c].destroy();
e = B(e, function (a) {
return new Xm(b).options(a, f || !1);
});
m.push.apply(m, H(e));
m.push.apply(m, H(a));
this._series = m;
this.updateMapData(f);
this.triggerUser("addSeries");
d.release(l);
};
c.prototype.updateMapData = function (a) {
var b = this;
b.isType("map") &&
b.triggerUser("updateMapData", [
b,
function () {
return b.chart.redraw(a);
},
]);
};
c.prototype.addSeries = function (a, c) {
this.isDirtyPreRender = !0;
var b,
d = this.readyDefer,
g = d.hold("addSer");
this._series.push((b = new Xm(this)));
b.options(a, c || !1);
this.isType("map");
d.release(g);
this.triggerUser("addSeries");
return b;
};
c.prototype.preRender = function () {
var a = this;
if (a.isDirtyPreRender) {
var c = !a.renderedRect.width;
a.setAxes();
var e = function (b) {
b = a.axes(b).items.sort(function (a, b) {
a = a.options("scale.syncWith");
b = b.options("scale.syncWith");
return (a && b) || a === b ? 0 : a ? 1 : -1;
});
for (var c = 0; c < b.length; c++) {
var d = b[c];
d.setData().setRange(!0);
d.init_markers();
}
};
e(function (a) {
return "x" === a.prefix;
});
a.dataLayout_clustersAndStacks();
a.series().each(function (a) {
return a.setColor();
});
e(function (a) {
return "x" !== a.prefix;
});
a.isMultiType() && ((a.panes = a.panes || (Rm ? new Rm(a) : null)), a.panes.setPanes());
a.preRenderedRect = a.contentRect;
a.isDirtyPreRender = !1;
c && a.triggerUser("firstPreRender", a);
}
};
c.prototype.setAxes = function () {
var a = this,
c = this,
e = (N(c.chart.currentOptions, ["defaultAxis", "scale"]) || {}).syncWith,
f = c.chartAreaSet.allAxes;
c.series().each(function (a) {
a.setAxes();
});
w(["x", "y", "z"], function (b) {
if (1 < f[b].length)
for (var d = 0, g = f[b].length; d < g; d++)
if (d) {
var l = f[b][d],
m = !1,
n = l.scale || {},
p = !!n.range;
p && Sl(n.range);
var q = n.syncWith || e,
r = N(c._series[0], ["visualizer", "kind"]) || "";
"none" === q ||
c.ciManager.exists(l.id) ||
r.match(/^map|^annotation|^funnel|^venn|^pie/) ||
(l.scale
? p && !Sl(n.range) && (m = !0)
: l.defaultTick
? t(l.defaultTick.enabled) || Ma.emit("tip", l.id, "multiAxDTE", { data: [l.id, b], container: c.chart.getWrapper() })
: (l = A({ defaultTick: { enabled: !1 } }, l)),
m || new jj(a, l, b));
}
});
c.setZoomAxes();
c.triggerUser("setAxes", c);
};
c.prototype.isType = function (a) {
return this.ctManager.isType(a);
};
c.prototype.isMultiType = function () {
return this.isType("radar") || this.isType("gauge");
};
c.prototype.requestAxis = function (a, c, e, f) {
var b,
d = this.chart.chartItemManager;
if (e) {
if ((b = d.exists(e))) return b;
a = this.getAxConfig(e) || {};
} else a = this.chartAreaSet.freeAxes[c];
((e = z(e, a ? a.id : void 0)) && (b = d.exists(a.id))) || ((b = A({}, a)), e && (b.id = e), (b = new jj(this, f ? A(b, f) : b, c)));
return b;
};
c.prototype.getAxConfig = function (a) {
if (a)
for (var b = this.axConfList, c = pa(b), f = this.chartAreaSet.currentOptions.rootAx, g, h = 0, k = c.length; h < k; h++) {
var l = c[h];
if ((g = S(b[l], { id: a })) || (g = S(f[l + "Axis"], { id: a }))) return g;
}
};
c.prototype.prepAxisConfigs = function () {
var a = this,
c,
e;
w(["x", "y", "z"], function (b) {
e = b + "Axis";
c = a.currentOptions[e] || [];
c.push(a.chartAreaSet.freeAxes[b]);
w(c, zb);
a.axConfList[b] = c;
});
return a;
};
c.prototype.populateAxisPanels = function () {
function a(a) {
return function (b) {
b.isVisible && b.rootPanel && !b.isAdded && b.add(a);
};
}
if (!this.isMultiType()) {
var c = this.rootVisuals,
e = this.readyDefer,
f = Rr(this.axes()),
g = [this.rootRect.width, this.rootRect.height],
h,
k = [c.topAxes, c.rightAxes, c.bottomAxes, c.leftAxes];
c = function (a) {
return !a.isHoriz;
};
var l = function (a) {
return a.isHoriz;
},
m = e.hold("axM");
ob(4, function (b) {
w(f[b], a(k[b]));
});
this.axes(c).each(function (a) {
a.resetMetricsData();
if ((h = a.measure(g))) g[0] -= h[2];
});
this.axes(l).each(function (a) {
a.resetMetricsData();
if ((h = a.measure(g))) g[1] -= h[3];
});
var n = function (a) {
return a.measure(g);
};
this.axes(c).each(n);
this.axes(l).each(n);
e.release(m);
}
return this;
};
c.prototype.measureAxes = function () {
this.populateAxisPanels();
Ar(this);
};
c.prototype.measureAxes_resetOverflows = function () {
var a = this.rootVisuals;
a.leftOverflow.attr({ width: 0 });
a.topOverflow.attr({ height: 0 });
a.rightOverflow.attr({ width: 0 });
a.bottomOverflow.attr({ height: 0 });
this.overflows = [0, 0, 0, 0];
};
c.prototype.tryRenderData = function (a) {
var b = this.rootVisuals.content.getGlobalBbox();
if (!b.width || !b.height) return !1;
var c = this.contentRect;
if (c && c.width === b.width && c.height === b.height) return !1;
c = this.contentRect = b;
c.x = 0;
c.y = 0;
this.renderData(a);
return !0;
};
c.prototype.renderData = function (a) {
var b = this,
c = b.chart,
f = b.rootVisuals;
b.log("renderData");
b.isRendering = !0;
var g = b.readyDefer,
h = b.contentRect;
if (!g.isReady())
return (
g.onReady(b.id + "renderD", function () {
b.isType("map") && b.chartAreaSet.reflow();
b.renderData(a || b._updateOptions || void 0);
}),
b
);
var k = b._renderDataCallMonitor;
if (!(10 < k.callCount)) {
k.open();
b._updateOptions = void 0;
h || (h = b.contentRect = Gc([0, 0, 800, 500]));
var l = !1;
if (h) {
l = b.chart.disableAnimation(a);
b.triggerUser("preRenderData", [b, !b.renderedRect.width]);
if (b._cancelBubble) {
k.close();
b._cancelBubble = 0 < k.callCount;
return;
}
b.trigger("contentBox", f.content.getGlobalBbox());
Yy(b);
g = b.currentOptions.outline.width;
var m = (b.renderRect = Ik(h, g / 2)),
n = { x: 0, y: 0, width: m.width, height: m.height };
g = { x: 0, y: 0, width: h.width - 2 * g, height: h.height - 2 * g, borderWidth: g };
var p = f.titleBox.currentOptions;
m = p.position && "full" !== p.position ? p.position : "left";
p = Bg(p);
f.titleBox.alignTo(f.content, m, m, [0, p.stroke["stroke-width"]]);
var q = [],
r;
c.flowEvents.beforeRenderSeries.trigger([
b,
h,
g,
a,
q,
function () {
return (r = !0);
},
]);
r ||
((f = b
.series(function (a) {
return a.chartArea.id === b.id && !1 === a.info.type.isShape && void 0 === a.pane;
})
.sortBy("zIndex")),
f.each(function (b) {
return q.push(function () {
return b.render(n, a);
});
}),
f.each(function (b) {
return q.push(function () {
return b.renderLabels(n, a);
});
}));
Uv(
function (a) {
return c.ensureLoadingApplied(a);
},
q,
function () {
c.flowEvents.nextRenderSeries.trigger([
b,
h,
n,
a,
function () {
return (r = !0);
},
]);
b.renderedRect = h;
b.isMultiType() ||
b.axes().each(function (b) {
b.render(n, A({ invalidate: !0 }, a));
b.renderOnCa(n, a);
});
b.render_caClip();
l && b.chart.enableAnimation();
b.rootPanel.refresh();
b.legend.updateStyles();
b.renderBySortedSeriesRev = b
.series(function (a) {
return a.chartArea.id === b.id;
})
.sortBy("zIndex")
.items.slice(0);
b.renderBySortedSeriesRev.reverse();
b._chartFirstTimeRendered || ((b._chartFirstTimeRendered = !0), b.triggerUser("chartAreaRenderDataFirstTime", b));
var d = b._awaitRenderCallbacks.slice();
b._awaitRenderCallbacks = [];
b.isRendering = !1;
b.isRendered = !0;
w(d, function (a) {
return a();
});
b._cancelBubble = 1 < k.callCount;
k.close();
}
);
}
return this;
}
};
c.prototype.getContentGlobalBbox = function () {
return this.rootVisuals.content.getGlobalBboxArray();
};
c.prototype.awaitRender = function (a) {
this._awaitRenderCallbacks.push(a);
};
c.prototype.render_caClip = function () {
var a = this,
c = a.rootVisuals,
e = a.currentOptions,
f = a.rootVisuals.content,
g = a.axes(),
h = rb(ha(a.renderRect), -1),
k = e.outline.width || 0;
g = $r(f, g, k);
h = g.clipPath || Cc(ha(md(f, Gc(h), k)));
k = Bg(e);
k = A({ d: h }, Ga(k.stroke, "fill"));
var l = { shadow: a.currentOptions.shadow };
!1 !== e.clipContent && (l.clipPath = h);
f.attr(l);
if (g.outlines) {
var m = [];
c.outlinePaths &&
w(c.outlinePaths, function (a) {
return a.destroy();
});
w(g.outlines, function (b) {
m.push(a.renderer.renderer.path({ fill: "none", stroke: b.stroke, d: b.path, zIndex: gb.breakPath }).add(f));
});
c.outlinePaths = m;
}
if (g.paths) {
var n = [];
c.breakPaths &&
w(c.breakPaths, function (a) {
return a.destroy();
});
w(g.paths, function (b) {
n.push(a.renderer.renderer.path({ fill: b.color, stroke: "none", d: b.path, zIndex: gb.breakPath }).add(f));
});
c.breakPaths = n;
}
k["stroke-width"] || (k.stroke = "none");
c.contentStroke.attr(k);
};
c.prototype.setRootVisuals = function () {
var a = this.renderer;
if (!this.rootVisuals) {
var c = this.currentOptions.outline.width;
this.rootPanel = (this.rootVisuals = Hl(a).build({
axis: {},
axisMarkers: !0,
annotationLayer: !0,
contentOverlay: !0,
background: !0,
gridLines: !0,
overflow: !0,
outline: { width: c },
title: { holder: this },
content: { stroke: { width: 1 } },
})).mainStacks;
this.bindRootEvents();
}
return this;
};
c.prototype.getAxisMarkerVisualTargets = function () {
var a = this.rootVisuals;
return { behind: a.axisMarkersBehind, front: a.axisMarkersFront };
};
c.prototype.invalidate = function () {
this.isDirtyPreRender = !0;
this.series().each(function (a) {
a.seriesDirty.pos(!0);
a.seriesDirty.coord(!0);
});
this.legend.invalidate();
this.chartAreaSet.invalidateCache();
return this;
};
c.prototype.dataLayout_clustersAndStacks = function () {
var a = this,
c = [],
e = [],
f = {},
g = function () {
w(kj, function (a, b) {
f[a] = 0;
});
},
h = 0;
w(this.xAxis, function (b) {
var d = a.series({ isVisible: !0 });
g();
d.items.reverse();
var k = $a(
d.items.map(function (a) {
return a.type;
})
);
d.each(function (g) {
var l = -1 < iu.indexOf(g.type);
e = [];
l || (g.zIndex = h += 8);
g = gc(iu, k);
w(g, function (g) {
d.filter(function (a) {
return a.isVisible && a.type === g && a.xAxis.id === b.id;
})
.reverse()
.each(function (k) {
if (-1 === c.indexOf(k.id)) {
if (k.yAxis.isStacked()) {
var l = d.filter({ yAxis: { id: k.yAxis.id }, xAxis: { id: b.id }, isVisible: !0, type: g }).each(function (a) {
-1 < kj.indexOf(g) && (a.clusterIndex = f[g]);
a.isStacked = !0;
c.push(a.id);
}).items;
h = Bz(l, b, h);
-1 < kj.indexOf(g) && (f[g]++, e.push(g));
} else -1 < kj.indexOf(g) && ((k.clusterIndex = f[g]), e.push(g), k.info.type.clusters && f[g]++), (k.zIndex = h += 8), c.push(k.id);
k.xAxis.isStackedFull() && "category" === k.xAxis.type && ((k = a.yAxis[0].isStacked()), (l = d.filter({ isVisible: !0, type: g }).items), Cz(l, b, k));
}
});
});
e.length &&
((e = $a(e)),
w(e, function (a) {
b.clusterCounts[a] = f[a] || 1;
}));
});
});
this.maxSeriesZIndex = h;
this.dataLayoutExperiment();
};
c.prototype.dataLayoutExperiment = function () {
var a = this._series.slice(0),
c = [],
e = function (a) {
return a.pop ? w(a, e) : c.push(a.id);
},
f = 0,
g = function (a) {
a.zIndex = f += 8;
},
h = function (a) {
var b = a.type,
c = a.info.type.snapToZero,
d = a.info.type.clusters;
c && a.yAxis.isStacked() && (b += a.yAxis.id);
d && (b += a.xAxis.id);
c || d || (b += a.id);
return b;
},
k = function (b) {
return ea(a, function (a) {
return h(a) === b;
});
};
c = [];
w(a, function (a) {
-1 < c.indexOf(a.id) || ((a = h(a)), (a = k(a)), 1 === a.length ? g(a[0]) : w(a, g), e(a));
});
this.maxSeriesZIndex = f;
};
c.prototype.resetTimers = function () {
w(this._axes, function (a) {
return a.resetTimers();
});
this.chart.hideTooltip();
this.crosshair();
};
c.prototype.ignoreAnimationFor = function (a) {
var b = this;
a
? ((b._ignoreAnimation = !0),
b.debounce.defer(
"ignoreAnim",
function () {
b._ignoreAnimation = !1;
},
a
))
: b._ignoreAnimation && (b.debounce.clear("ignoreAnim"), (b._ignoreAnimation = !1));
};
c.prototype.isZoomLive = function () {
return this.isPinchZooming || this.isDragging || this.isMapZooming;
};
c.prototype.setZoomAxes = function () {
var a = this,
c = a.isType("map");
a.axes().each(function (b) {
if (b.isVisible || b._isDragHost || c) a.zoomAxes["x" === b.prefix ? 0 : "y" === b.prefix ? 1 : 2] = b;
});
return a;
};
c.prototype.getZoomAxes = function () {
this.zoomAxes.length || this.setZoomAxes();
return this.zoomAxes;
};
c.prototype.keyup = function (a) {
"Escape" === a.eventArgs.key && this.cancelAll();
};
c.prototype.clickData = function (a) {
var b = this,
c = { yAxis: [], xAxis: [] };
if (!t(a.x)) {
var f = b.rootVisuals.content.toRelativeXY(a.eventArgs);
a.x = f[0];
a.y = f[1];
}
var g = [];
b.axes().each(function (d) {
if ((d.isVisible && !d.noData) || b.isType("map")) "x" === d.prefix ? c.xAxis.push({ value: (g[0] = d.linToVal(a.x)) }) : "y" === d.prefix && c.yAxis.push({ value: (g[1] = d.linToVal(a.y)) });
});
c.xAxis = B(c.xAxis, function (a) {
return { value: b.projection.lin2valxy(a.value, g[1])[0] };
});
c.yAxis = B(c.yAxis, function (a) {
return { value: b.projection.lin2valxy(g[0], a.value)[1] };
});
return c;
};
c.prototype.click = function (a) {
this.debounce.clear("clickoff");
this.cancelAll();
clearTimeout(this.zoomStartIntervalId);
var b = a.pointers || [[a.x, a.y]];
if (1 === b.length) {
b = { yAxis: [], xAxis: [], event: a.eventArgs };
var c = !1,
f = "touch" === a.device;
if (!this.isZooming && !this.isDragging) {
var g = this.chart.highlighted,
h = void 0;
f && ((h = this._hoveredItem), this.mouseMove(a), this.mouseUp(a));
for (
var k = ea(this._series, function (a) {
return a.isVisible;
}),
l = 0,
m = k.length;
l < m;
l++
)
if (k[l].mouseClick(a)) {
c = !0;
break;
}
f && (h && h === this._hoveredItem ? this.clickOff(a) : c ? (f = this.chart.hoveredPoint) && g && Qb(this.chart, f) : Qb(this.chart));
}
this.hasAnyNamedEvent("click") && (L(b, this.clickData(a)), c || (this.trigger("click", b), this.triggerUser("click", b)));
} else 2 === b.length ? this.zoom("-100%") : 3 === b.length && this.zoom("initial");
};
c.prototype.clickOff = function (a, c) {
function b() {
var a = d.chart,
b;
d.cancelAll();
d.crosshair();
d.chart.hideTooltip();
d.legend.pointOut();
(b = a.hoveredPoint) && "hover" === b._state && b.mouseOut();
d.debounce.has("unmue") ? d.debounce.run("unmute") : Qb(d.chart);
d._hoveredItem = void 0;
}
var d = this;
c ? b() : d.debounce.defer("clickoff", b, 30);
};
c.prototype.dblclick = function (a) {
this.cancelAll();
a = a.pointers || [[a.x, a.y]];
1 === a.length && this.zoom({ level: "+100%", at: this.computeVals2(a[0]) });
};
c.prototype.mouseDown = function (a) {
var b = this,
c = b.chart,
f = b.getZoomAxes(),
g = a.device,
h = a.pointers || [[a.x, a.y]],
k = b.computeValsTouch(h),
l = h.length,
m = h[0];
b._lastPointers.length !== h.length && (clearTimeout(b.zoomStartIntervalId), b.cancelAll());
b.zoomEndVals = void 0;
var n = [],
p = b._axisToZoom;
n = k[0];
!p && b._isStaticDragArea && (b._axisToZoom = p = "xy");
var q = function () {
b.isPinchZooming = p;
b.pinchStartTouches = h;
b.zoomStartRanges = B(f, function (a) {
return [a.range.min, a.range.max];
});
b.renderer.attr("disableAnimation", !0);
};
(function () {
if (b.isType("map")) return b.isZoomed || 2 === l ? !0 : !1;
if (b._isStaticDragArea || (b.isZoomed && b.isInDragArea(m[1]))) {
var a = !1;
b.axes().each(function (b) {
b.canDrag() && (a = !0);
});
return a;
}
return !!p;
})() &&
((b.zoomStartIntervalId = setTimeout(function () {
b.attachDoc();
if (1 === l)
if (b.isType("map") || b._isStaticDragArea || (b.isZoomed && b.isInDragArea(m[1])) || ("touch" === g && b.isZoomed)) {
var a;
if ((a = p)) (b.isDragging = a), (b.dragPrevVals = n), b.renderer.attr("disableAnimation", !0), (b._prevCursor = c.getCursor()), !b._prevCursor && b.isZoomed && c.setCursor("move");
} else {
if ((!b.isZoomed && "touch" === g) || "touch" !== g) if ((a = p)) (b.isZooming = a), (b.zoomStartVals = n), b.renderer.attr("disableAnimation", !0);
}
else 2 === l && q();
b.isDragging || b.isZooming || b.chart.setCursor();
b.mouseLeft = !1;
b.chart.resetTimers();
}, 10)),
a.eventArgs.cancelable && a.eventArgs.preventDefault());
b._lastPointers = h;
};
c.prototype.mouseUp = function (a) {
clearTimeout(this.zoomStartIntervalId);
this.isDragging && this.mouseLeft && this.chart.setCursor();
this.endDrag().endZoom();
this.isPinchZooming = !1;
this._lastPointers = a.pointers || [];
};
c.prototype.isInDragArea = function (a) {
var b = this.isHoriz ? 0 : 1;
return (b = this.zoomAxes[b] || this._axes[b]) && 0.5 < b.linToPos(a);
};
c.prototype.mouseOut = function (a) {
a = a.eventArgs;
for (var b = 0, c = this._series.length; b < c; b++) this._series[b].mouseOut(a);
a = this.chart.getCursor();
("crosshair" !== a && "move" !== a) || this.isDragging || this.chart.setCursor();
this.isDragging && (this.mouseLeft = !0);
this.crosshair();
};
c.prototype.wheelHandler = function (a) {
var b = [a.x, a.y],
c = a.eventArgs;
this._axisToZoom &&
(this.setZoomAxes(),
this._isStaticDragArea
? ((this.isDragging = this._axisToZoom),
(this.dragPrevVals = this.computeVals2(b)),
(b = this.computeVals2([b[0] - 0.5 * c.deltaX, b[1] - 0.5 * c.deltaY])),
this.drag(b) && a.eventArgs.preventDefault(),
this.endDrag())
: c.altKey && ((b = this.computeVals2(b)), this.zoom({ at: b, level: (0 > c.deltaY ? "+" : "-") + Math.abs(0.5 * c.deltaY) }), this.resetTimers(), a.eventArgs.preventDefault()));
};
c.prototype.pinch = function (a) {
var b = this,
c = b.isType("map");
a = a.pointers;
var f = b.getZoomAxes(),
g = (b.isType("map") && "xy") || b.chart.currentOptions.axisToZoom,
h = function () {
return c
? zs(b.zoomBBox || b.zoomBBoxSet)
: B(f, function (a) {
return [a.range.min, a.range.max];
});
};
b.isPinchZooming
? (b.pinchZoom(b.computeValsTouch(b.pinchStartTouches), b.computeValsTouch(a)), (b.pinchStartTouches = a), (b.zoomStartRanges = h()))
: (b.cancelAll(), g && "none" !== g && ((b.isPinchZooming = g), (b.pinchStartTouches = a), (b.zoomStartRanges = h()), b.renderer.attr("disableAnimation", !0)));
};
c.prototype.resetZoom = function () {
clearInterval(this.zoomStartIntervalId);
var a = (this.isDragging = this.isZooming = !1);
this.isZoomed = !1;
this.isType("map")
? this.chart.zoom("initial")
: (w(this.zoomAxes, function (b) {
b && ((a = !0), b.zoom(void 0, void 0, !1));
}),
this.series().each(function (a) {
a.seriesDirty.pos(!0);
a.seriesDirty.coord(!0);
}),
this.renderData());
this.chart.setCursor();
a && this.chart.redraw();
return this;
};
c.prototype.cancelAll = function () {
this.endDrag();
this.isZooming = !1;
this.zoomVisual && this.zoomVisual.attr({ display: "none" });
this.isPinchZooming = !1;
return this;
};
c.prototype.endDrag = function () {
this.isDragging &&
((this.isDragging = !1),
this.series().each(function (a) {
a.setCoordinates(void 0, { forceCoordinates: !0 });
}),
this.renderer.attr("disableAnimation", !1),
!this._prevCursor && this.chart.setCursor(),
(this._prevCursor = null));
return this;
};
c.prototype.endZoom = function () {
var a = this;
clearInterval(a.zoomStartIntervalId);
a.renderer.attr("disableAnimation", !1);
if (a.isZooming && a.zoomEndVals) {
var c = {},
e = !1,
f = [],
g = function (b, d) {
if (-1 < a.isZooming.indexOf(b)) (b = c[b + "Axis"] = [a.zoomStartVals[d], a.zoomEndVals[d]]), (f[d] = b);
else if ((b = a.zoomAxes[d])) (b = b.range), (f[d] = [b.min, b.max]);
};
a.isZoomingReflow = !0;
g("x", 0);
g("y", 1);
g = (function (a) {
var b = a[0];
a = a[1];
return Ua([
[b ? b[0] : 0, a ? a[0] : 0],
[b ? b[1] : 0, a ? a[1] : 0],
]);
})(f);
!1 !== a.triggerUser("selection", c) &&
(a.zoom(g),
(a.isZoomingReflow = !1),
(e = !!S(a.zoomAxes, function (a) {
return a && a.isZoomed;
})) && a.triggerUser("selection", c));
a.cancelAll();
a.isZoomed = e;
} else a.isZooming = !1;
a.detachDoc();
return a;
};
c.prototype.pinchZoom = function (a, c) {
var b = this.isPinchZooming,
d = this.zoomStartRanges,
g = th(Ua(a), [1, 1]),
h = th(Ua(c), [1, 1]);
c = va(g);
a = va(h);
var k = h[2] / g[2] || 1;
g = h[3] / g[3] || 1;
if (b) {
if (-1 < b.indexOf("x")) {
var l = d[0],
m = l[1] - l[0];
k = m / k;
h = (a[0] - l[0]) / m;
l = (l[1] - a[0]) / m;
h = c[0] - k * h;
l = c[0] + k * l;
k = [h, l];
} else k = d[0];
-1 < b.indexOf("y") ? ((d = d[1]), (l = d[1] - d[0]), (b = l / g), (h = (a[1] - d[0]) / l), (l = (d[1] - a[1]) / l), (h = c[1] - b * h), (l = c[1] + b * l), (c = [h, l])) : (c = d[1]);
c = Ua([
[k[0], c[0]],
[k[1], c[1]],
]);
this.triggerUser("cazoom", [this, c]);
this.zoom(c);
}
};
c.prototype.drag = function (a) {
var b = this.isDragging,
c = [0, 0];
if (b) {
var f = O(b);
f && -1 < b.indexOf("x") && (c[0] = this.dragPrevVals[0] - a[0]);
f && -1 < b.indexOf("y") && (c[1] = this.dragPrevVals[1] - a[1]);
this._isStaticDragArea && (this.dragPrevVals = a);
this.isType("map") ? (this.triggerUser("pan", [this, c]), this.chart.redraw({ animation: !1 })) : this.zoom(c);
}
return !1;
};
c.prototype.moveZoom = function (a, c) {
if (a.isZooming) {
var b = {},
d = a.isHoriz ? "y" : "x",
g = "x" === d ? 0 : 1,
h = a.isHoriz ? "x" : "y",
k = "x" === h ? 0 : 1,
l = a.rootVisuals.content.getGlobalBbox(),
m = (a.zoomVisual = a.zoomVisual || a.renderer.renderer.path({ d: "M0 0" }).add(a.rootVisuals.front)),
n = [0 + l.x, 0 + l.y, a.contentRect.width, a.contentRect.height];
if (-1 < a.isZooming.indexOf(d)) {
var p = a.zoomAxes[g].getCaLen(c[g]),
q = a.zoomAxes[g].getCaLen(a.zoomStartVals[g]);
p = ua(p, 0, a.contentRect.width);
q = ua(q, 0, a.contentRect.width);
n[0] = p + l.x;
n[2] = q - p;
b[d + "Axis"] = [a.zoomStartVals[g], c[g]];
}
-1 < a.isZooming.indexOf(h) && ((d = a.zoomAxes[k].getCaLen(c[k])), (g = a.zoomAxes[k].getCaLen(a.zoomStartVals[k])), (n[1] = d + l.y), (n[3] = g - d), (b[h + "Axis"] = [a.zoomStartVals[k], c[k]]));
c = Cc(n);
m.attr({ d: c, fill: "rgba(0,0,200,.2)", display: "block", "pointer-events": "none" });
a.triggerUser("selecting", b);
}
};
c.prototype.zoomUpdated = function (a) {
var b = this,
c = this,
f = c._axisToZoom;
if (c._isStaticDragArea) var g = !1;
else t(a) ? (g = a) : c.isType("map") ? (g = !!fo(c.zoomBBox || c.zoomBBoxSet, c.zoomBBoxInitial, 3)) : c._isStaticDragArea || ((g = c.getZoomAxes()), (g = !!S(g, { isZoomed: !0 })));
c.isZoomed = g;
a = c.chart.toolbar();
f && a && a.zoomInOut(g);
if (!this._eventWaitingId) {
var h = c.isDragging ? "scrolled" : "zoomed";
this._eventWaitingId = setInterval(function () {
(b.renderer.renderer.isAnimating() && !b._ignoreAnimation) ||
c.isDragging ||
(clearTimeout(b._eventWaitingId),
(b._eventWaitingId = void 0),
b.triggerUser(
h,
b.axes().map(function (a) {
return a.range;
})
));
}, 100);
}
};
c.prototype.bindRootEvents = function () {
this.bindEvents();
};
c.prototype.bindEvents = function () {
var a = this;
if (!a._evBound) {
var c = a.rootVisuals.content;
c.on("touchmove", function (b) {
(a.isZooming || a.isDragging || a.isPinchZooming) && b.eventArgs.cancelable && b.eventArgs.preventDefault();
});
var e;
c.on("mouseover", function (b) {
e || (a.triggerUser("mouseOver", b), (e = !0));
});
c.on("mouseout", function (b) {
a.evInsideCA(b) || (a.mouseMove.cancel(), a.mouseOut(b), a.triggerUser("mouseOut", b), (e = !1));
});
c.on("vmove", function (b) {
return !a.docMM && a.mouseMove(b);
});
c.on("vclick", function (b) {
a.click(b);
b.eventArgs.preventDefault();
});
c.on("vdown", function (b) {
return a.mouseDown(b);
});
c.on("wheel", function (b) {
return a.wheelHandler(b);
});
a._docElement || (a._docElement = a.chart.renderer.renderer.documentElement);
a._docElement.on("keyup", function (b) {
return a.keyup({ eventArgs: b });
});
a._docElement.on("vclick", function (b) {
return !a.evInsideChart(b) && a.clickOff({ eventArgs: b });
});
a._evBound = !0;
}
};
c.prototype.attachDoc = function () {
var a = this,
c = a._docElement;
if (!a.docMM || !a.docVUp) {
var e = a.rootVisuals.content;
a.docMM = e.externalOn(c, "vmove", function (b) {
return a.docVMoveHandler(b);
});
a.docVUp = e.externalOn(c, "vup", function (b) {
return a.mouseUp(b);
});
}
};
c.prototype.detachDoc = function () {
this.docMM && this.docMM.un();
this.docVUp && this.docVUp.un();
this.docMM = this.docVUp = null;
};
c.prototype.docVMoveHandler = function (a) {
this.mouseMove(a) && a.eventArgs.preventDefault();
};
c.prototype.evInsideCA = function (a) {
var b;
if ((b = C(this.rootPanel, "el")) && a.composedPath) return -1 < (a.composedPath && a.composedPath()).indexOf(b);
if ((b = this.contentRect)) return (b = rb(ha(b), 0)), Ad(b, [a.x, a.y]);
};
c.prototype.evInsideChart = function (a) {
var b = C(this.chart.rootPanel, "el.parentNode.el");
return b && a.composedPath ? -1 < a.composedPath().indexOf(b) : this.evInsideCA(a);
};
c.prototype.crosshair = function (a, c, e) {
var b = !a && !c;
b && this.tooltip && this.tooltip.hideTooltip();
if (-1 !== ["vertical", "horizontal"].indexOf(this.ctManager.settingVal("chartType")))
return b
? (this.series().each(function (a) {
return a.hideHalo();
}),
Zz(this))
: Wz(this, a, c, e);
};
c.prototype.crossPDD = function () {
var a = this.isHoriz,
c,
e;
this.axes().each(function (a) {
var b = a.prefix;
if (C(a.currentOptions, "crosshair.enabled") && ((c = c || "x" === b), (e = e || "y" === b), c && e)) return !1;
});
return a ? (e ? "X" : "") + (c ? "Y" : "") : (c ? "X" : "") + (e ? "Y" : "");
};
c.prototype.zoom = function (a, c) {
(a = this.zoomConfToBox(a)) && this.setZoomBox(a, c);
return this.getZoomBoxes().zoom;
};
c.prototype.zoomConfToBox = function (a) {
var b = this.isType("map"),
c = I(a),
f = this._isStaticDragArea,
g = b && this.chart.options("mapping.zoomLimit"),
h = this.getZoomAxes();
b = this.getZoomBoxes();
var k = b.full,
l = b.zoom,
m = function (a) {
var b;
if ("string" === typeof a) {
if ("initial" === a) return 1;
var c = "+" === a[0] ? 1 : "-" === a[0] ? -1 : 0;
(b = a.replace(/^\D+/g, "")).length && (b = parseFloat(b) / 100);
0 === c ? (c = b) : ((a = k[2] / l[2]), (c = a + a * b * c));
} else c = a;
return ua(c, 1, g || 99999);
};
b = function (a) {
return B(a, function (a, b) {
return h[b].posToVal(a);
});
};
var n = function (a, b) {
b = b ? b.slice(0) : va(l);
b.push(a);
return q(b);
},
p = function (a, b) {
b = m(b);
var c = f ? l[2] : ua(k[2] / b, 1, k[2]);
b = f ? l[3] : ua(k[3] / b, 1, k[3]);
var d = la(a[0], l[0]) / l[2],
e = la(a[0], xs(l)) / l[2],
g = la(a[1], l[1]) / l[3],
h = la(a[1], ys(l)) / l[3];
return Zc(Ze([a[0] - c * d, a[1] - b * g, a[0] + c * e, a[1] + b * h]), k);
},
q = function (a) {
var b = m(a[2]),
c = f ? l[2] : ua(k[2] / b, 1, k[2]);
b = f ? l[3] : ua(k[3] / b, 1, k[3]);
return Zc(mb(a, [c, b]), k);
},
r = function (a) {
a = a.slice(0);
a[2] = "+0";
return q(a);
};
if ("number" === c) var u = n(a);
else
"string" === c
? (u = n(m(a)))
: 4 === a.length
? (u = a)
: 3 === a.length
? (u = q(a))
: 2 === a.length
? (u = Zc(Xc(l, a), k))
: (t(a.at) && t(a.level) && (u = p(a.at, a.level)), t(a.offset) && (u = Zc(Xc(l, a.offset), k)), t(a.pos) ? (u = r(b(a.pos))) : t(a.center) && (u = r(a.center)));
return (u = sh(u, k));
};
c.prototype.getZoomBoxes = function () {
var a = this.isType("map"),
c = this.getZoomAxes(),
e = function (a) {
var b = a[0];
a = a[1];
return Ua([
[b ? b.min : 0, a ? a.min : 0],
[b ? b.max : 0, a ? a.max : 0],
]);
},
f = a
? this.zoomBBoxMax
: e(
B(c, function (a) {
return a && a.unZoomedRange ? a.unZoomedRange : a;
})
);
a = a
? this.zoomBBox || this.zoomBBoxSet
: e(
B(c, function (a) {
a && (a.zoomRange.length ? ((a = a.zoomRange), (a = a.pop ? { min: a[0], max: a[1] } : a)) : (a = a.range));
return a;
})
);
return { full: f, zoom: a };
};
c.prototype.setZoomBox = function (a, c) {
var b = this._isStaticDragArea,
d = this.getZoomAxes(),
g = this.isType("map"),
h = !1,
k = this.chart.currentOptions.axisToZoom || this._axisToZoom,
l = !1,
m = zs(a),
n = function (a, b) {
k && -1 < k.indexOf(a) && ((a = "x" === a ? 0 : 1), (h = d[a].zoom(b[0], b[1], !1) || h), (l = l || d[a].isZoomed));
},
p = this.isDragging;
this.isZoomingReflow = !0;
b && (this.isDragging = !0);
g ? ((this.zoomBBox = a), (h = !0)) : (n("x", m[0]), n("y", m[1]));
!1 !== c && h && this.chart.redraw(A({ forceCoordinates: !0 }, c));
b && (this.isDragging = p);
this.isZoomingReflow = !1;
this.isZoomed = l;
this.zoomUpdated();
};
c.prototype.add = function (a) {
var b = this.readyDefer,
c = b.hold("addCA");
this.setRootVisuals();
this.rootPanel.add(a);
b.release(c);
return this;
};
c.prototype.replaceTokens = function (a, c) {
c || (c = this._series && this._series.length ? this.series(0).getFormatInfo() : this.chart.getFormatInfo());
return vi(a, this.chartAreaSet, c);
};
c.prototype.tokenValue = function (a) {
return this.replaceTokens({ token: a });
};
c.prototype.log = function (a) {};
return c;
})(jc),
AD = (function () {
function a(a) {
var b = this;
this.chart = a;
this.items = [];
this.indexer = new Fl();
this.freeAxes = {};
this.allAxes = {};
this._axes = [];
this.enumerationData = { sI: 0, cpbOffset: 0 };
this._reflowsCount = 0;
this.id = de(5);
this.axes = function () {
return new Kf(b._axes);
};
}
a.prototype.init = function () {
var a = $z(this.chart.currentOptions);
if (this.userOptions) {
A(this.userOptions.rootAx, a.rootAx);
this.userOptions.rootItems = a.rootItems;
for (var b = 0, d = a.length; b < d; b++) this.userOptions[b] ? A(this.userOptions[b], a[b]) : (this.userOptions[b] = a[b]);
} else this.userOptions = a;
this.setRootVisuals().setOptions().setObjects(this.currentOptions).enumerateData();
w(this.series(), function (a) {
return a.seriesDirty.resetCache();
});
this._calcCache = void 0;
return this;
};
a.prototype.setOptions = function () {
var a = (this.currentOptions = this.userOptions = this.normalizeOptions(this.userOptions)),
b = function (b) {
return a.rootAx[b + "Axis"];
};
this.freeAxes = { x: b("x")[0], y: b("y")[0], z: b("z")[0] };
this.allAxes = { x: b("x"), y: b("y"), z: b("z") };
b = function (a) {
return a.scale && a.scale.breaks;
};
this.hasScaleBreaks = b(this.freeAxes.x) || b(this.freeAxes.y) || b(this.freeAxes.x);
return this;
};
a.prototype.normalizeOptions = function (a) {
a = Sa(a, "series", !0);
var b = ["xAxis", "yAxis", "zAxis"];
w(b, function (b) {
return Gh(a.rootAx, b);
});
w(b, function (b) {
return a.rootAx[b] && w(a.rootAx[b], zb);
});
return a;
};
a.prototype.enumerateData = function () {
var a = this;
this.enumerationData = { sI: 0, cpbOffset: 0 };
w(this.series(), function (b) {
a.enumerateSeries(b);
});
return this;
};
a.prototype.enumerateSeries = function (a) {
var b = this.enumerationData,
c = b.sI;
b = b.cpbOffset;
a._i = c++;
a.info.type.colorByPoint && ((a.cpbIndexOffset = b), (b += a.info.type.colorByPoint ? a.userPoints.length : 1));
this.enumerationData = { sI: c, cpbOffset: b };
};
a.prototype.setObjects = function (a) {
var b = this,
c = b.rootVisuals.stack;
b.log("setObjects()");
Ub(
a,
b.items,
function (a, d) {
new ju(b, a).add(c);
},
function (a, b) {
return b.options(a);
}
);
return b;
};
a.prototype.series = function () {
var a = [];
w(this.items, function (b) {
return a.push.apply(a, H(b._series));
});
return a;
};
a.prototype.add = function (a) {
var b = this.visualWrapper;
(b = this.visualWrapper) ? (b.setRootVisuals(), this.setRootVisuals(), this.rootVisuals.stack.add(b.rootPanel)) : this.setRootVisuals();
w(this.items, function (a) {});
this.rootPanel.add(a);
return this;
};
a.prototype.setRootVisuals = function () {
var a = this.chart.renderer,
b = this.rootVisuals,
d = (this.rootPanel = this.rootPanel || a.panel({ width: "*", height: "*" }));
b || (b = this.rootVisuals = { stack: void 0 });
b.stack = b.stack || a.panel("stack").attr({ orientation: "y" }).add(d);
return this;
};
a.prototype.replaceTokens = function (a, b) {
return vi(a, this, b || this.getFormatInfo());
};
a.prototype.getFormatInfo = function () {
return this.chart.series(0).getFormatInfo();
};
a.prototype.getCalcCache = function () {
var a;
(a = this._calcCache) || (a = this._calcCache = Cy(this));
return a;
};
a.prototype.invalidateCache = function () {
this._calcCache = void 0;
this.chart.series().each(function (a) {
a.calcCache = void 0;
});
};
a.prototype.invalidate = function () {
this.each(function (a) {
return a.invalidate();
});
};
a.prototype.each = function (a) {
w(this.items, a);
};
a.prototype.log = function (a) {};
a.prototype.tryReflow = function (a) {
return this.reflow(a, !1, !1, !0);
};
a.prototype.reflow = function (a, b, d, e) {
var c = this;
if (c._reflowStarted) (c._needRenderData = c._needRenderData || b), (c._needLayoutRefresh = c._needLayoutRefresh || d);
else if (((c._reflowStarted = !0), (c._needRenderData = c._needLayoutRefresh = !1), (e && !c.needReflow()) || 9 < c._reflowsCount)) (c._reflowsCount = 0), (c._reflowStarted = !1);
else {
var g,
h = c.items,
k = [],
l = {};
e = function (a) {
return w(h, m[a]);
};
var m = {
beforeMeasure: function (d) {
var e = d.readyDefer,
f = e.hold("rootSetSize");
k.push(function () {
return e.release(f);
});
d.rootRect = d.rootVisuals.grid.getBbox();
b && (d.isDirtyPreRender = !0) && (d._cancelBubble = !1);
d._updateOptions = a || d._updateOptions;
d.preRender();
g = g || (!d.isZoomingReflow && (d.isDragging || d.isZooming));
l[d.id] = { renderDataResult: !1 };
c.invalidateCache();
},
startMeasure: function (a) {
var b = a.rootVisuals;
b.titleBox.applyOptions();
b.titleBoxPanel.attr({ width: null });
a.measureAxes_resetOverflows();
},
measureAxes: function (a) {
return !a.isMultiType() && a.measureAxes();
},
applyOverflows: function (a) {
return !a.isMultiType() && Il(a, a.overflows);
},
endMeasure: function (a) {
var b = a.rootVisuals;
a.rootRect = b.grid.getBbox();
a = b.content.getGlobalBbox().width;
b.titleBoxPanel.attr({ width: a });
b.titleBox.rootPanel.attr({ maxWidth: a });
},
tryRenderData: function (b) {
l[b.id].renderDataResult = b.tryRenderData(a);
},
renderData: function (e) {
var f = l[e.id].renderDataResult;
!f && (f = b && e.renderData(a));
!f && d && c.rootPanel.refresh();
},
};
e("beforeMeasure");
if (!g || d) {
e("startMeasure");
c.chart.refreshAnnotations();
c.axes().each(function (a) {
return a.syncLegend();
});
e("measureAxes");
if (1 < h.length) {
var n = [0, 0, 0, 0],
p,
q;
w(h, function (a) {
p = a.axSizes;
ob(4, function (a) {
return (n[a] = Math.max(n[a], p[a]));
});
});
var r = n[3],
t = n[1];
w(h, function (a) {
q = a.overflows.slice(0);
p = a.axSizes;
q[1] = Math.max(q[1], t - p[1]);
q[3] = Math.max(q[3], r - p[3]);
Il(a, q);
});
} else e("applyOverflows");
var x = (c.measureResult = Oy(c));
c.rootPanel.attr({ margin: x.casMargin });
c.rootPanel.refresh(!0);
e("endMeasure");
Qy(c, a);
e("tryRenderData");
}
e("renderData");
w(k, function (a) {
return a();
});
c._reflowStarted = !1;
c._reflowsCount++;
c.reflow(a, c._needRenderData, c._needLayoutRefresh, !c._needRenderData && !c._needLayoutRefresh);
}
};
a.prototype.chartItems = function () {
var a = this.chart,
b = a.toolbar();
a = a.legends().items.concat(a.annotations().items);
b && (a = a.concat(b.children()));
return a;
};
a.prototype.needReflow = function () {
var a;
w(this.items, function (b) {
if (!a) {
var c = b.rootVisuals.grid.getBbox(),
e = b.rootRect;
b.axes().each(function (b) {
b.requireReflow() && (a = !0);
});
!c.width || !c.height || (e && na(e.width, 4) === na(c.width, 4) && na(e.height, 4) === na(c.height, 4))
? c.width || c.height || Ma.emit("warning", b.id, "cantGetSize", { container: b.chart.getWrapper() })
: (a = !0);
}
});
return a;
};
return a;
})(),
BD = (function (a) {
function c(b, d) {
d = a.call(this, b, d) || this;
d.items = b;
d.kindObject = c;
d.points = Xa(
wb,
wo(d, function (a) {
return a.series().points().items;
}),
mk(d, function () {
throw "Not implemented. ";
})
);
d.series = Xa(
Ym,
wo(d, function (a) {
return a.series().items;
}),
mk(d, function () {
throw "Not implemented. ";
})
);
return d;
}
K(c, a);
return c;
})(wb),
CD = (function (a) {
function c(b, d) {
d = a.call(this, b, d) || this;
d.items = b;
d.kindObject = c;
d.entries = Xa(
wb,
aA(d),
mk(d, function () {})
);
return d;
}
K(c, a);
return c;
})(wb),
Yl = {
"modules/debug": {
checker: function (a) {
return !0 === a.debug;
},
},
"modules/types": {
checker: function (a, c, b, d) {
if (a.navigator || J(b, "types") || (d && ds(d))) return !0;
if ((c = a.series) && c.length) for (b = 0; b < c.length; b++) if (d && ds(d, c[b])) return !0;
d = Hb(a, { series: void 0, targetElement: void 0 });
a = a.series && a.series[0];
d.series = a && (a.map ? {} : { name: a.name, points: a.points ? [a.points[0]] : [] });
return nr.test(JSON.stringify(d)) ? !0 : !1;
},
},
"modules/toolbar": {
checker: function (a, c) {
void 0 === c && (c = !1);
if (!c) return !1;
if (a.navigator || ((c = a.axisToZoom) && "none" !== c) || a.export || (t(a.toolbar) && !1 !== a.toolbar.visible)) return !0;
for (var b in a) if (Hg(b, "toolbar") && !1 !== a.toolbar_visible && !1 !== a["toolbar.visible"]) return !0;
return !1;
},
},
"modules/maps": {
checker: function (a) {
return a.type && Hg(a.type, "map");
},
},
"modules/accessibility": {
checker: function (a) {
return a.tabIndex || a.description;
},
},
"https://code.jscharting.com/polyfill/intl": {
checker: function (a) {
return !T.Intl;
},
},
"modules/datagrid": {
checker: function (a) {
return (a.grid && !1 !== a.grid.enabled) || (a.grid_enabled && !1 !== a.grid_enabled);
},
},
},
fA = fa("pie organization gauge radar treemap funnel cone pyramid heatmap calendar venn".split(" ")),
Hi = [],
sc = {},
Zl = {
animation: function (a, c) {
c.renderer.attr({ transition: { animation: a } });
},
box: function (a, c, b) {
a = Cg(a);
a.fill && c._loader && c._loader.options({ fill: a.fill });
b.boxAttr = a;
a.padding && c.isRendered && (b.needRedraw = !0);
},
loading: function (a, c) {
c._loader && c._loader.options(a);
},
width: function (a, c, b) {
c.isRendered && Z(b.layoutAttr, "width", a);
},
height: function (a, c, b) {
c.isRendered && Z(b.layoutAttr, "height", a);
},
targetElement: function (a, c, b) {
c.isRendered && (O(a) && (a = ba.getElementById(a)), Z(b.layoutAttr, "container", a));
},
annotations: function (a, c, b) {
c.isRendered && (c.annotations(a), (b.needRedraw = !0));
},
defaultAnnotation: function (a, c) {
c.isRendered && c.annotations().options({});
},
defaultBox: function (a, c, b) {
c.isRendered && (c.annotations().options({}), (b.needRefresh = !0));
},
defaultSeries: function (a, c, b) {
c.isRendered &&
(c.series().each(function (a) {
return a.seriesDirty.all(!0);
}),
c.series().options({}, !1),
(b.needRedraw = !0));
},
defaultCultureName: function (a, c, b) {
c.isRendered &&
(c.axes().each(function (a) {
return a.invalidate().options({}, !1);
}),
c.chartAreaSet.invalidate(),
(b.needRedraw = !0));
},
palette: function (a, c) {
c.palette = wy("palette", a);
c.series().each(function (a) {
return a.seriesDirty.all(!0);
});
c.dirty = !0;
c._spDirty = !0;
},
title: function (a, c) {
c.isRendered && (c.chartAreas(0).options({ title: a }), a.position && (c.dirty = !0));
},
type: function (a, c, b) {
c.isRendered &&
(c.ctManager.init(c.currentOptions),
w(c.chartAreaSet.items, function (a) {
a.ctManager.init(c.currentOptions);
}),
c.series().each(function (a) {
return a.seriesDirty.all(!0);
}),
(b.needRedraw = !0),
c.calIndexer ? (c.calIndexer.options({}), (b.updateCalendar = !0)) : (c.typeContextOptions = c.typeContextOptions || {}));
c.ctManager.hasSetting("behavior", "noLegend") && ((c.typeContextOptions || (c.typeContextOptions = {})).legend = { visible: !1 });
},
mapping: function (a, c) {
c.isRendered &&
(J(a, "base") || J(a, "referenceLayers") || J(a, "projection")
? c.chartAreas(0).triggerUser("updateMapData", [c.chartAreas(0), !1])
: J(a, "projection") && a.projection !== c.currentOptions.projection && c.chartAreas(0).triggerUser("updateMapData", [c.chartAreas(0), !1]),
(c.dirty = !0));
},
axisToZoom: function (a, c) {
("" === a || "none" === a) && (a = (a = c.toolbar()) && a.items ? a.items("zoom") : void 0) && a.options({ visible: !1 });
},
series: function (a, c, b) {
c.isRendered && c.calIndexer ? ((c.userOptions.series = a), (b.updateCalendar = !0), (b.needRedraw = !0)) : c.isRendered && (c.chartAreas(0).options({ series: a }, !1), (b.needRedraw = !0));
},
defaultTooltip: function (a, c, b) {
c.isRendered &&
(c.chartAreas().each(function (b) {
return b.tooltip.options(a);
}),
c.series().each(function (b) {
return b.tooltip.options(a);
}));
},
defaultAxis: function (a, c, b) {
c.isRendered && (c.axes().options({}, !1), (b.needRefresh = !0));
},
xAxis: function (a, c, b) {
!a.pop && c.isRendered && (c.axes("x").options(a, !1), (b.needRefresh = !0));
},
yAxis: function (a, c, b) {
!a.pop && c.isRendered && (c.axes("y").options(a, !1), (b.needRefresh = !0));
},
},
$l = {},
fs,
ku = function () {
return { fontFamily: "tahoma, geneva, sans-serif", fontSize: "12px", fontWeight: "normal", fontStyle: "normal", "user-select": "none", transition: { animation: { duration: 330, easing: "ease-in-out-circ" } } };
},
DD = function (a) {
var c = { defaultAnnotation: Pm(a), animation: ku().transition.animation, languageStrings: lA, debug: !0 };
a.ctManager.isType("map") && L(c, { legend: { template: "%icon %name" }, axisToZoom: "xy" });
return c;
},
$m = {},
lu,
lj = (function () {
function a(c, b) {
void 0 === c && (c = {});
this.kind = "Chart";
this.cpbIndex = 0;
this.isRtlCulture = !1;
this.flowEvents = {
optionsApplied: new sd(),
beforeSetUserOptions: new sd(),
beforeApplyLayout: new sd(),
beforeSnapshot: new sd(),
afterSnapshot: new sd(),
beforeOptionsNormalization: new sd(),
beforeDefaultsApply: new sd(),
beforeRenderSeries: new sd(),
nextRenderSeries: new sd(),
};
var d = this;
if (!(d instanceof a)) return new a(c, b);
d.rootVisuals = { box: void 0, front: void 0, tooltip: void 0 };
d.internal = {
ctManager: d.ctManager,
mappingInfo: { contextMaps: "", dataMaps: [], allMaps: [], loadedCallStack: [], regionList: [], mapsLoading: !1, internalMapsUsed: !1, customMapsUsed: !1, projection: "mercator", mapsLoadingList: [] },
};
d._annotations = [];
d._legends = [];
d._highlights = [];
d.palette = Fh(0);
d.use3D = !1;
d.internalConfigs = { chartAreas: [] };
d.ctManager = Ht();
d.mapsLoaded = !1;
d.action = new ED();
d.dirty = !0;
var e = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments),
f = B(e, I);
"string" === f[0] || Fv(e[0]) ? ((c = e[1] || {}), (c.targetElement = e[0]), (b = e[2])) : "object" === f[0] && ((c = e[0]), (b = e[1]));
var g = Ii(c),
h = function () {
d.triggerUser("load");
d.checkGridOption();
d.dirty = !1;
d.loading(!1);
d.inited = !0;
b && b.call(d, d);
};
d.id = g.id || de(5);
d.isColorized = !0;
d.initRenderer(g);
d.renderer.refresh();
d.currentOptions = g;
d.ctManager.init(g);
(g && !1 === g.loading) || d.loading(!0);
dg = g.baseUrl;
cs(
d,
g,
function () {
d.init(g, h);
},
!0
);
}
a.prototype.toGrid = function (a, b) {
var c = this,
e = Ii(b),
f = (this._grid = sc.chartToGrid && sc.chartToGrid(this, a, e));
if (f)
return (
(f.then = function (a) {
return a && a(f);
}),
f
);
var g = { grid_enabled: !0 };
e && ((g.baseUrl = e.baseUrl), (g.notificationContainer = e.notificationContainer));
return gf(function (b, d) {
Xl("modules/datagrid", g, function () {
c._grid = sc.chartToGrid && sc.chartToGrid(c, a, e);
b(c._grid);
});
});
};
a.prototype.checkGridOption = function () {
var a = this,
b = a.currentOptions.grid,
d = a.currentOptions.targetElement;
b &&
(!0 === b.enabled
? a._grid
? (a._grid.setDataFromChart(!1), a._grid.options(b))
: a.toGrid(d, L({ className: "dataTable", exportFile: !0 }, b)).then(function (b) {
a._gridSwitch = sc.createGridSwitch && sc.createGridSwitch(a, d, b);
})
: !1 === b.enabled && (a._grid && a._grid.destroy(), a._gridSwitch && a._gridSwitch.destroy(), delete a._grid, delete a._gridSwitch),
a.triggerOptionsApplied("grid", a));
};
a.prototype.init = function (a, b) {
var c = this,
e = c.options("navigator.enabled");
a = c.userOptions = yf(a);
if (!c.renderer.renderer.isRootDestroyed()) {
c.chartItemManager = new OC(this);
c.initFP();
Da($m, function (a) {
return $m[a](c);
});
if (!c.ctManager.isType("calendar") && c.data && !c.userOptions.series) {
var f = mp(c.data.val);
c.userOptions.series = [
{
points: B(f, function (a) {
return { x: a[0], y: a[1], z: a[2] };
}),
},
];
}
c.seriesCount = a.series ? a.series.length : 0;
c.isRtlCulture = Is(a.defaultCultureName);
c.setRootVisuals();
c.disableAnimation(!1);
c.flowEvents.beforeSetUserOptions.trigger({ type: "chart", owner: c });
c.options(c.userOptions);
var g = c.chartAreaSet.add();
c.drawAnnotations();
c.flowEvents.beforeApplyLayout.trigger({ type: "chart", owner: c });
c.rootPanel.refresh(!0);
g.tryReflow();
c._lastRefreshedRect = c.renderer.getRootBox();
c.rootPanel.on("finalSize", function (a) {
var b = c._lastRefreshedRect;
(b && b.width === a.width && b.height === a.height) || ((c._lastRefreshedRect = a), g.tryReflow());
});
c.enableAnimation();
var h = [],
k = function () {
c.isRendered = !0;
h.length || b.call(c, c);
};
w(c.chartAreaSet.items, function (a) {
!a.isRendered &&
a.isRendering &&
(h.push(a.id),
e && (a.navHold = a.readyDefer.hold("Navigator")),
a.awaitRender(function () {
h.splice(h.indexOf(a.id), 1);
k();
}));
});
k();
}
};
a.prototype.exportImage = function (a, b) {
void 0 === a && (a = {});
this.renderer.attr("disableAnimation", !0);
this.flowEvents.beforeSnapshot.trigger({ type: "chart", owner: this });
this.triggerUser("beforeExport");
this.rootPanel.refresh();
this.chartAreaSet.items.forEach(function (a) {
return a.clickOff(null, !0);
});
b && this.options(b);
b = a.imageType || a.type;
b = { png: "image/png", jpg: "image/jpeg", pdf: "application/pdf", svg: "image/svg+xml" }[b.toLowerCase()] || b;
var c = a.server || "https://export.jscharting.com/download",
e = this.getSVG(),
f = a.title || this.options("title_label_text"),
g = a.author,
h = a.subject,
k = a.keywords,
l = a.comment,
m = a.rating;
this.submitForm(e.svgString, b, c, a.width, e.width, e.height, gs(), f, g, h, k, l, m);
this.flowEvents.afterSnapshot.trigger({ type: "chart", owner: this });
this.triggerUser("afterExport");
this.rootPanel.refresh();
this.renderer.attr("disableAnimation", !1);
};
a.prototype.print = function () {
var a = this,
b = a.getWrapper(),
d = b.style,
e = a.renderer,
f = T,
g = f.document.documentElement,
h = g.style;
a.chartAreaSet.items.forEach(function (a) {
return a.clickOff(null, !0);
});
h.visibility = "hidden";
var k = L({}, d),
l = e.attr("width"),
m = e.attr("height"),
n = function (a) {
a = a.getBoundingClientRect();
return { top: a.top + (f.pageYOffset || g.scrollTop), left: a.left + (f.pageXOffset || g.scrollLeft) };
};
n = (b = (function (a) {
for (var b = (a = a.parentNode) && a.style && a.style.position, c = ["absolute", "relative", "fixed"]; a && (!b || !~c.indexOf(b)); ) b = (a = a.parentNode) && a.style && a.style.position;
return a;
})(b))
? n(b)
: { left: 0, top: 0 };
A(d, { visibility: "visible", position: "absolute", top: -n.top, left: -n.left });
e.attr("disableAnimation", !0);
e.attr("width", "21cm");
e.attr("height", e.rootBox.height || "100%");
a.flowEvents.beforeSnapshot.trigger({ type: "chart", owner: a });
a.triggerUser("beforeExport");
e.refresh();
setTimeout(function () {
f.focus();
f.print();
setTimeout(
function () {
A(d, { visibility: k.visibility, position: k.position, top: k.top, left: k.left });
e.attr("width", l);
e.attr("height", m);
a.flowEvents.afterSnapshot.trigger({ type: "chart", owner: a });
a.triggerUser("afterExport");
e.refresh();
e.attr("disableAnimation", !1);
h.visibility = "visible";
},
RA ? 3e3 : 1
);
}, 1);
};
a.prototype.submitForm = function (a, b, d, e, f, g, h, k, l, m, n, p, q) {
var c = ba.createElement("form");
c.action = d;
c.method = "POST";
this.createFormInput(c, "svg", a);
this.createFormInput(c, "type", b);
this.createFormInput(c, "width", e);
this.createFormInput(c, "actualWidth", f);
this.createFormInput(c, "actualHeight", g);
this.createFormInput(c, "version", h);
this.createFormInput(c, "title", k);
this.createFormInput(c, "author", l);
this.createFormInput(c, "subject", m);
this.createFormInput(c, "keywords", n);
this.createFormInput(c, "comment", p);
this.createFormInput(c, "rating", q);
ba.body.appendChild(c);
c.submit();
//ba.body.removeChild(c);
};
a.prototype.createFormInput = function (a, b, d) {
if (d) {
var c = ba.createElement("input");
c.value = encodeURIComponent(d);
c.name = b;
a.appendChild(c);
return c;
}
};
a.prototype.toolbar = function () {
return this._toolbar;
};
a.prototype.initFP = function () {
var a = this;
a.series = Xa(
Ym,
function () {
return a.chartAreaSet.series();
},
function (b) {
w(b, zb);
a.userOptions.series = b;
var c = a.chartAreas(0).readyDefer,
e = c.hold("splS");
a.chartAreas(0).spliceSeries(0, a.chartAreas(0).series().items.length, b, !1);
a.redraw({ animation: a.currentOptions.animation });
c.release(e);
},
{
push: function (b, c) {
var d = a.chartAreas(0);
b = d.addSeries(b, !1);
d.triggerUser("updateMapData", [d, b]);
!1 !== c && a.redraw(c);
a.action.log("data");
},
splice: function (b, c, e, f) {
a.chartAreas(0).spliceSeries(b, c, ja(e) ? e : [e], !1);
!1 !== f && a.redraw(f);
a.action.log("data");
},
}
);
a.annotations = Xa(
wb,
function () {
return a._annotations;
},
function (b) {
w(b, zb);
Z(a.userOptions, "annotations", b);
a.drawAnnotations();
a.chartAreaSet.reflow(null, !1, !0);
},
{
push: function (b, c) {
zb(b);
a.userOptions.annotations = a.userOptions.annotations || [];
a.userOptions.annotations.push(b);
a.drawAnnotations();
Pa(c) && (c = Sa(c));
a.chartAreaSet.reflow(c, !1, !0);
},
splice: function (b, c, e, f) {
var d;
w(e, zb);
a.userOptions.annotations = a.userOptions.annotations || [];
(d = a.userOptions.annotations).splice.apply(d, H([b, c], e));
a.drawAnnotations();
Pa(f) && (f = Sa(f));
a.chartAreaSet.reflow(f, !1, !0);
},
}
);
a.chartAreas = Xa(
BD,
function () {
return a.chartAreaSet.items;
},
function (a) {}
);
a.xAxis = Xa(
Kf,
function () {
a.chartAreaSet.axes({ prefix: "x" });
},
function (b) {
a.currentOptions.xAxis = b;
}
);
a.axes = Xa(
Kf,
function () {
return a.chartAreaSet.axes().items;
},
function (a) {}
);
a.legends = Xa(
CD,
function () {
return a._legends;
},
function (a) {},
{ push: function (a, c) {}, splice: function (a, c, e, f) {} }
);
};
a.prototype.options = function (a, b) {
var c = this,
e = I(a);
if ("undefined" === e) return c.currentOptions;
if ("string" === e) return C(c.currentOptions, a);
var f = c.inited && !c.isRendered && c.loading(!0);
c.ctManager.init(c.currentOptions);
c.initApi();
c.isRendered && (a = Sa(a, "series,targetElement"));
a = iA(c, a, b);
a = c.setUserOptions(a);
c.optionsNormalized = !0;
cs(c, a, function () {
hA(c, a, b);
a.series && !c.isRendered ? c.initControls() : c.dirty && !1 !== b && (c.setCursor(), c.chartAreaSet.invalidate(), c.redraw());
c.inited && a.grid && c.checkGridOption();
c.triggerOptionsApplied("chart", c);
f && c.loading(!1);
});
b &&
b.then &&
Ce.await(function () {
b.then && (b.then.call(c), delete b.then);
});
return c;
};
a.prototype.triggerOptionsApplied = function (a, b) {
this.flowEvents.optionsApplied.trigger({ type: a, owner: b });
};
a.prototype.replaceTokens = function (a, b) {
return this.chartAreaSet.series().length ? vi(a, this.chartAreaSet, this.getFormatInfo()) : a;
};
a.prototype.tokenValue = function (a) {
return this.replaceTokens({ token: a });
};
a.prototype.getFormatInfo = function () {
return this.chartAreaSet.series().length ? this.series(0).getFormatInfo() : { x: {}, y: {}, z: {} };
};
a.prototype.getSVG = function () {
var a = this.getWrapper().getElementsByTagName("svg")[0],
b = a.getBoundingClientRect(),
d = a.outerHTML;
d || ((d = new XMLSerializer().serializeToString(a)), (d = d.replace('xmlns="http://www.w3.org/2000/svg"', "")), (d = d.replace('xmlns:NS1=""', "")), (d = d.replace('NS1:xmlns:xlink="http://www.w3.org/1999/xlink"', "")));
return { svgString: d, width: b.width, height: b.height };
};
a.prototype.zoom = function (a, b) {
return this.chartAreas(0).zoom(a || 1, b);
};
a.prototype.setUserOptions = function (a) {
var b = a.series,
c = a.data;
delete a.series;
delete a.data;
var e = this.normalizeOptions(a);
this.userOptions = A(this.userOptions, e);
var f = DD(this);
this.flowEvents.beforeDefaultsApply.trigger({ type: "chart", owner: this, options: f });
f = A(f, this.userOptions);
w(["defaultBox", "defaultAxis"], function (a) {
f[a] && (f[a] = Nm(f[a]));
});
this.currentOptions = A(this.currentOptions, this.contextOptions(), f);
b && (e.series = this.currentOptions.series = b);
c && (e.data = this.currentOptions.data = c);
a.defaultCultureName && (this.isRtlCulture = Is(a.defaultCultureName));
return e;
};
a.prototype.contextOptions = function () {
return C(this, "typeContextOptions.chart") || {};
};
a.prototype.normalizeOptions = function (a) {
var b = a.annotations;
b && w(b, zb);
a.defaultPoint && Z(a, "defaultSeries.defaultPoint", A(C(a, "defaultSeries.defaultPoint") || {}, a.defaultPoint || {}));
(b = a.hatchPalette) && !0 === b && (a.hatchPalette = mu("hatch"));
a.export && Vf(a, ["toolbar", "items", "export", "visible"], !0);
this.flowEvents.beforeOptionsNormalization.trigger({ type: "chart", owner: this, options: a });
return a;
};
a.prototype.initApi = function () {
var a = this.userOptions,
b = this.internal,
d = a.template;
delete a.template;
b.spv = Z;
a = Sa(a, "data,series,targetElement");
a.series = a.series || [];
d && ((d = Sa(d)), (a = qd(a, d)));
this.currentOptions = A({}, a);
};
a.prototype.initControls = function () {
this.drawLegends();
this.chartAreaSet.init();
};
a.prototype.initRenderer = function (a) {
var b = a.targetElement,
c = O(b) ? ba.getElementById(b) : b;
c || (O(b) && Ma.emit("error", this.id, "targetElIdNotFound", { data: [b] }));
(this.renderer = new Al({ container: c, width: this.getSizeOrMin(a.width, 25), height: this.getSizeOrMin(a.height, 25), defaultWidth: 640, defaultHeight: 350, pixelCorrection: a.pixelCorrection })).attr(ku());
};
a.prototype.getSizeOrMin = function (a, b) {
var c = 0;
"number" === typeof a ? (c = a) : "string" === typeof a && -1 === a.indexOf("%") && (c = parseInt(a));
return c ? Math.max(c, b) : a;
};
a.prototype.setRootVisuals = function () {
var a = this,
b = a.renderer,
d = { width: "*", height: "*" },
e = a.rootPanel;
e ||
(a.isRtlCulture && ((d.direction = "rtl"), (d["text-anchor"] = "end")),
(e = a.rootPanel = b.panel(d)),
e.on("touchstart", function (b) {
return a.touched(!0);
}));
d = a.rootVisuals = a.rootVisuals || { box: void 0, front: void 0, uiItemsFront: void 0, itemsBox: void 0 };
var f = (d.box = d.box || b.box({ width: "*", height: "*", stroke: "none", fill: "#FFFFFF", margin: 3 }).add(e));
d.uiItemsFront = d.uiItemsFront || b.panel({ width: "*", height: "*" }).add(e);
d.front = d.front || b.panel({ width: "*", height: "*" }).add(e);
a.isColorized &&
!a.chartAreaSet &&
(a.renderer.getRootBox(),
(e = b.box({ xAlignment: "left", yAlignment: "bottom", cursor: "pointer", borderWidth: 0, height: 17, fill: "transparent", margin: [0, 0, 4, 4] }).add(e)),
a.renderer.renderer
.element("title")
.attr({ text: "Chart created using ".concat("JSCharting") })
.add(e),
b
.svgContainer(
'<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="8.4" x2="8.4" y1="16.327" y2="1.765"><stop offset="0" stop-color="#4a4949"/><stop offset="1" stop-color="#666565"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#0d48a1"/><stop offset="1" stop-color="#20ade2"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="24.226" x2="24.226" xlink:href="#b" y1="16.343" y2="4.618"/><filter id="d" width="120%" height="120%" x="-10%" y="-10%"><feColorMatrix type="saturate" values="0"></feColorMatrix></filter><g opacity=0.4 filter="url(#d)" id=\'brandingLogo\'><rect x=0 y=0 width=31 height=16.4 fill="rgba(255,255,255,0)"/><path d="m4.7 12.9s.1.9-.9.9c-1.2 0-1.9-1.3-1.9-1.3l-1.9 1.8s1.7 2 3.9 2c2.4 0 3.5-1.6 3.5-2.6v-11.6h-2.7zm6.7-6.9c-.7-.7.9-3 3.2-.2l1.9-1.8s-1.7-2.2-4-2.2c-2.8 0-4.8 3.2-3.4 5 1.8 2.4 5.1 4.2 5.1 5.4 0 .7-.4 1.5-1.4 1.5-2.1 0-2.5-1.8-2.5-1.8l-2.3 1.4s1.5 3 4.3 3c2.7 0 4.5-1.3 4.5-4.3-.1-2.2-4.2-4.7-5.4-6z" fill="#FF5353"/><path d="m23.7 0c-2.3-.1-5.1 2.1-5.1 2.1l5.3 5.2-.2-7.3z" fill="#1faae0"/><path d="m25.1 1-.3 7.2 3-6.4c.1 0-.9-.6-2.7-.8z" fill="#0e4da4"/><path d="m28.8 2.7-1.2 2.2s1.7 1.1 1.7 1.3l1.7-1.7s-1.6-1.7-2.2-1.8z" fill="#1d9fd9"/><path d="m23.3 13.6c-5.2-2-2.5-7.5-2.5-7.5l-1.8-1.5c-3.4 4.5-.7 10.4 3.3 11.4 6 1.5 8.7-2.4 8.7-2.4l-1.7-1.7c-2 1.7-4.1 2.5-6 1.7z" fill="url(#c)"/></g>'
)
.add(e),
e.on("click", function (a) {
ba.location.href = "https://jscharting.com";
}),
a.renderer.renderer.cssText(
"#brandingLogo:hover{\n\t\t\t\topacity:1;\n\t\t\t\tfilter:none;\n\t\t\t} #brandingLogo {\n\t\t\t\t-webkit-transition: opacity 1s ease;\n\t\t\t\t-moz-transition: opacity 1s ease;\n\t\t\t\t-o-transition: opacity 1s ease;\n\t\t\t\ttransition: opacity 1s ease;\n\t\t\t}"
));
a.chartAreaSet = a.chartAreaSet || new AD(this).add(f);
d.itemsBox = d.itemsBox || b.panel({ width: "*", height: "*" }).add(f);
};
a.prototype.boxDefaults = function (a) {
var b = Sa(this.userOptions.defaultBox);
a = Cf(z(a, this.getStyling()));
b && (b.fill || (b.outline && 0 !== b.outline.width)) && (a.boxVisible = !0);
return b ? A(a, b) : a;
};
a.prototype.getStyling = function () {
var a = this.currentOptions,
b = Sa(this.userOptions.defaultBox);
return z(a.legacyStyling, b && b.boxVisible) ? 1 : 0;
};
a.prototype.touched = function (a) {
if (t(a)) lu = !0;
else return lu;
};
a.prototype.setCursor = function (a) {
this.renderer.renderer.setCursor(a);
};
a.prototype.getCursor = function () {
return this.renderer.renderer.getCursor();
};
a.prototype.getWrapper = function () {
return C(this, "renderer.renderer.wrapper.el");
};
a.prototype.resetTimers = function () {
this.chartAreas().each(function (a) {
return a.resetTimers();
});
};
a.prototype.redraw = function (a) {
var b = this;
if (!1 === b.dirty) {
var c = b.renderer.getRootBox(),
e = b.renderer.renderer.isDefaultSizeSet();
if (!c.height || !c.width || e) {
b.renderer.refreshRootBox();
b.renderer.refresh();
b.renderer.renderer.rootResize();
e
? setTimeout(function () {
return b.renderer.renderer.resubscribeResize();
}, 1e3)
: b.renderer.renderer.resubscribeResize();
return;
}
}
a = Sa(a);
c = b.disableAnimation(a);
b.tooltipRef && b.tooltipRef.hide();
b.series().each(function (a) {
return a.visualizer.hideHalo();
});
b.chartAreaSet.enumerateData();
b.chartAreaSet.reflow(a, !0);
b.triggerUser("redraw");
c && b.enableAnimation();
b.dirty = !1;
a &&
a.then &&
Ce.await(function () {
a.then && (a.then.call(b), delete a.then);
});
};
a.prototype.updateSideItems = function (a) {
this._grid && this._grid.setDataFromChart(a);
};
a.prototype.disableAnimation = function (a) {
var b = this.renderer;
(a = t(a) && (!1 === a || !1 === a.animation) && b.disableAnimation()) && b.attr("disableAnimation", !0);
return a;
};
a.prototype.enableAnimation = function () {
this.renderer.attr("disableAnimation", !1);
};
a.prototype.hideTooltip = function () {
var a = this.tooltipRef;
a && a.isVisible && a.hideActiveTooltip(this);
};
a.prototype.zoomInOut = function (a) {};
a.prototype.refreshAnnotations = function () {
this.annotations().each(function (a) {
var b = a.options("label_text");
b && -1 < b.indexOf("%") && a.applyOptions();
});
};
a.prototype.drawAnnotations = function (a) {
var b = this;
(a = b.userOptions.annotations) &&
Ub(
a,
b._annotations,
function (a) {
a = new ej(b, a);
a.add(b.rootVisuals.itemsBox);
return a;
},
function (a, b) {
return b.options(a);
}
);
};
a.prototype.requestLegend = function (a) {
return this._legends[0];
};
a.prototype.drawLegends = function (a) {
var b = this;
a = b.options("legend") || {};
var c = b.rootVisuals.itemsBox;
Ub(
[a],
b._legends,
function (a) {
return new zD(b, a).add(c);
},
function (a, b) {
return b.options(a);
}
);
};
a.prototype.triggerUser = function (a, b) {
var c = this.currentOptions.events;
c = (a = c && mh(c, a)) && c[a];
if (Fb(c)) return c.call(this, b);
};
a.prototype.loading = function (a, b) {
return (this._loader = this._loader || new XC(this.renderer, L({ fill: this.currentOptions.box ? this.currentOptions.box.fill : "#fff" }, this.currentOptions.loading || {}))).loading(a, b);
};
a.prototype.ensureLoadingApplied = function (a) {
this._loader ? this._loader.ensureAnimationApplied(a) : a();
};
a.prototype.destroy = function () {
this._selDeBouncer && this._selDeBouncer.clearAll();
this.chartAreaSet &&
w(this.chartAreaSet.items, function (a) {
return a.debounce.clearAll();
});
this._loader && this._loader.destroy();
this.renderer.destroy();
};
a.prototype.dispose = function () {
this.destroy();
};
a.prototype.getSmartPalette = function (a) {
var b = this.chartItemManager,
c,
e,
f = I(a);
if ("string" === f) return b.exists(a);
var g = b.getSPItems(),
h = 1 === g.length && (a.colors || a.ranges || a.stops) ? !1 : !0;
this._spDirty &&
!h &&
(w(b.getSPItems(), function (a) {
return b.destroyItem(a.id);
}),
(g = b.getSPItems()));
if (h && 1 === g.length) {
g[0].setOptions(a);
var k = g[0];
} else (c = a.id) && (e = b.exists(c)) ? (e.setOptions(a), (k = e)) : "object" === f && (k = new Nt(this, a));
this._spDirty = !1;
return k;
};
a.prototype._pointSelection = function () {
var a = this;
(a._selDeBouncer = a._selDeBouncer || new Ae()).defer(
"pSel",
function () {
var b = a._sMaxList && a._sMaxList.length ? a._sMaxList.slice(0) : a.series().points({ selected: !0 }).items;
a.triggerUser("pointSelectionChanged", b);
},
30
);
};
a.prototype._seriesSelection = function () {
var a = this;
(a._selDeBouncer = a._selDeBouncer || new Ae()).defer(
"pSel",
function () {
var b = a.series(function (a) {
return a.options("selected");
}).items;
a.triggerUser("seriesSelectionChanged", b);
},
30
);
};
return a;
})(),
ED = (function () {
function a() {
this._log = [];
}
a.prototype.log = function (a) {
this._log.push((this._last = a));
};
a.prototype.last = function () {
return this._last;
};
a.prototype.clear = function () {
this._log = [];
};
return a;
})(),
nu = [];
(function (a, c) {
T.JSC = A(T.JSC, { Chart: c });
jA(T.jQuery, a, c);
})(nu, lj);
var mu = Xi,
FD = B,
GD = A,
HD = Wl,
mj = function (a, c, b) {
return Pk(b ? a.map(Sk(b)) : a, c);
};
nk(
{
"system/default/area":
"M 23 0 A 12 12 0 0 0 11 12 A 12 12 0 0 0 23 24 A 12 12 0 0 0 35 12 A 12 12 0 0 0 23 0 z M 48 0 L 35.785156 6.1074219 A 14.10924 14.10924 0 0 1 37.109375 12.033203 A 14.10924 14.10924 0 0 1 30.458984 24 L 48 24 L 48 0 z M 10.583984 18.708984 L 0 24 L 15.556641 24 A 14.10924 14.10924 0 0 1 10.583984 18.708984 z ",
"system/default/areaSolo": "M 0,24 48,0 48,24 Z",
"system/default/checkbox-blank": "M38 10v28H10V10h28m0-4H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V10c0-2.21-1.79-4-4-4z",
"system/default/checkbox": "M38 6H10c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V10c0-2.21-1.79-4-4-4zM20 34L10 24l2.83-2.83L20 28.34l15.17-15.17L38 16 20 34z",
"system/default/circle": "M0,12a12,12 0 1,0 24,0a12,12 0 1,0 -24,0",
"system/default/diamond": "M12 .001l12 12-12 12-12-12 12-12z",
"system/default/line":
"M 46.076172 -0.001953125 L 34.929688 4.7050781 A 14.000001 14 0 0 1 36.732422 9.3027344 L 47.996094 4.546875 L 46.076172 -0.001953125 z M 23 0 A 12 12 0 0 0 11 12 A 12 12 0 0 0 23 24 A 12 12 0 0 0 35 12 A 12 12 0 0 0 23 0 z M 9.453125 15.460938 L 0 19.451172 L 1.9199219 24 L 11.488281 19.960938 A 14.000001 14 0 0 1 9.453125 15.460938 z",
"system/default/lineSolo": "M 46.076172,-0.00195313 0,19.451172 1.9199219,24 47.996094,4.546875 46.076172,-0.00195313 Z",
"system/default/radio-button-blank": "M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z",
"system/default/radio-button":
"M24 14c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0-10C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z",
"system/default/square": "M18 24H6c-3.3 0-6-2.7-6-6V6c0-3.3 2.7-6 6-6h12c3.3 0 6 2.7 6 6v12c0 3.3-2.7 6-6 6z",
"system/default/triangle": "M24 22h-24l12-20z",
"system/default/triangleDown": "M12 21l-12-18h24z",
"system/default/warning":
"M18.9 18.3l-9-16c0-.1-.1-.1-.2-.2-.2-.2-.5-.1-.6.2l-9 16c-.1 0-.1.1-.1.2 0 .3.2.5.5.5h18c.1 0 .2 0 .2-.1.3-.1.4-.4.2-.6zM10 16.5c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-1c0-.3.2-.5.5-.5s.5.2.5.5v1zm0-3c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5s.5.2.5.5v5z",
},
!1
);
Z(T, "JSC.internal.registerIcons", nk);
Z(T, "JSC.internal.setPathVal", Z);
["log", "warning", "error"].forEach(function (a) {
Z(T, "JSC.internal." + a, function (c, b) {
Ma.emit(a, null, c, { container: b });
});
});
var Je = C(T, "JSC.internal"),
od,
ID = Object.freeze({ SELECT_STATE: "select", NORMAL_STATE: "", zIndexReference: gb, boxDefaults: Cf }),
JD = Object.freeze({
def: t,
has: J,
noop: xc,
removeArrItem: pb,
evalPath: C,
epa: N,
contains: ae,
getValType: I,
isNull: an,
mergeCollections: Ub,
extend: L,
extendCopy: W,
copy: Oa,
extendScoped: Na,
extendScopedNegate: Sc,
extendCopyScopedNegate: be,
plainArray: fa,
arraySum: Kj,
last: P,
pick: z,
isString: O,
isObject: Pa,
isUndefined: Q,
keys: pa,
eachKey: Da,
detect: yc,
setPathVal: Z,
applySetting: zc,
findInArrSimple: nh,
throttle: Ni,
parseMargin: Ac,
mapDeep: hb,
expandOptionsProperties: Sa,
isNaN: Ha,
filter: ea,
find: S,
defaults: id,
defaultsDeep: qd,
clone: qa,
cloneDeep: yf,
merge: A,
each: w,
map: B,
reduce: jm,
uniq: $a,
sortedUniq: ad,
toString: oh,
sortBy: sa,
remove: Af,
join: pc,
slice: yg,
times: ob,
omit: Ga,
isArray: ja,
isFunction: Fb,
isNumber: nb,
isEmpty: ub,
startsWith: Hg,
max: oa,
sum: Ta,
clamp: ua,
Memoize: Rb,
}),
KD = Object.freeze({
boxPoints: ie,
rightX: xs,
bottomY: ys,
compareBoxes: fo,
pad: rb,
setSize: Ye,
bboxUnion: Ea,
intersect: ho,
bboxFromPoints: Ua,
center: va,
clip: sh,
fitInTarget: function (a, c) {
var b = G(a, 4);
a = b[2];
var d = b[3];
b = G(c, 4);
c = b[2];
b = b[3];
a = d / a;
d = a * b;
var e = c / a;
d > c ? (d = a * e) : e > b && (e = d / a);
return [e, d];
},
ltrbMargins: function (a, c, b) {
a = Yb(a);
c = Yb(c);
var d = function (a) {
return 0 < a ? a : 0;
},
e = [];
e[0] = a[0] - c[0];
e[1] = a[1] - c[1];
e[2] = c[2] - a[2];
e[3] = c[3] - a[3];
return b ? B(e, d) : e;
},
fromRect: ha,
fromCenter: mb,
toPath: Cc,
toLTRB: Yb,
fromLTRB: Ze,
toPoints: function (a, c) {
void 0 === c && (c = 4);
return ie(a, "tl,tr,br,bl" + (5 === c ? ",tl" : ""));
},
alignTo: lo,
offsetBetween: fk,
unsquishSnapTo: function (a, c, b) {
void 0 === b && (b = "d");
var d = { v: oo, h: no }[{ u: "v", d: "v", l: "h", r: "h" }[b]];
a = uh(a.slice(0), b);
mo(a, b);
b = Ea(a);
c = d(b, c);
var e = [c[0] - b[0], c[1] - b[1]];
w(a, function (a) {
return mm(a, e);
});
return a;
},
unsquishBoxes: mo,
unsquishBoxesCb: function (a, c, b) {
for (var d = uh(a.slice(0), c), e = [], f = 0, g = d.length; f < g; f++) {
var h = d[f];
if (f) {
var k = vh(h, e, c),
l = fk(k, h);
if (l[0] || l[1]) (h[0] = k[0]), (h[1] = k[1]), b && b(a.indexOf(h), l, h);
}
e.push(h);
}
return e;
},
snapInside: Zc,
bInsideA: $c,
pointInside: Ad,
collideAny: qo,
collideList: Yc,
rotatedAt: hk,
translate: Xc,
translateRef: mm,
bestLayout: function (a, c, b) {
for (var d = !1, e = 1, f, g, h = 0; !d; ) (f = c.width / Math.ceil(a / e)), (g = c.height / e), (f = Math.min(f, g)), f <= h ? ((d = !0), e--) : (e++, (h = f)), 100 < e && (d = !0);
a /= e;
a > parseInt(a) && (a = parseInt(a) + 1);
b || (f = (f / Math.min(c.width, c.height)) * 100);
return { cols: a, rows: e, maxSize: f };
},
}),
LD = Object.freeze({
changeBrightness: function (a, c) {
return ma(Ak(a, c));
},
brightness: function (a) {
return df(a);
},
cushionEffect: ig,
aquaEffect: jg,
roundedEffect: ef,
colorMods: La,
parseJscColor: Lb,
toHexOpacity: Dh,
parseJscFill: oc,
modifyColor: ia,
modifyFill: dd,
addOpacity: Eh,
tween: qe,
colorToPalette: Uo,
simplify: zh,
}),
MD = Object.freeze({
math: Vb,
round: na,
avg: Wf,
mapValue: Y,
arraySum: function (a) {
return Ta(a);
},
diff: la,
decimalPlaces: Yf,
}),
ND = Object.freeze({ lowerFirst: Se, getRandomString: de, shortenEllipsis: Ir }),
OD = Object.freeze({
toDegrees: Vn,
toRadians: yb,
normalizeAngle: rh,
quadrant: function (a) {
a = rh(Vn(a));
return 180 > a ? (90 <= a ? 2 : 3) : 270 <= a ? 0 : 1;
},
getPolarPoint: ee,
getPolarDegPoint: Uc,
gpdp: ra,
gpdp_text: function (a, c, b, d, e, f) {
var g = G(e, 2);
e = g[0];
g = g[1];
e += b;
g += b;
var h = function (a, b) {
void 0 === b && (b = 0);
if (0 === b) return a;
b = Math.min(Math.abs(b), 1);
return 1 === b ? 1 : cl(a, Math.max(1 - b, 0.1));
},
k = (c * Math.PI) / 180,
l = function (a) {
return 0.001 > Math.abs(a) ? 0 : a;
};
c = l(Math.cos(k));
var m = Math.cos(2 * k);
k = l(Math.sin(k));
l = Math.abs;
var n = function (a) {
return 0 < a ? 1 : 0 > a ? -1 : 0;
},
p = n(c),
q = n(k),
r = h(l(k), f[0]) * q;
h = h(l(c), f[1]) * p;
f = (((0 > m ? q : r) - 1) * e) / 2;
m = (-((0 < m ? p : h) + 1) * g) / 2;
d = (d + c * (l(m) - (0 < c ? g : 0))) / k || -e / 2;
d = Math.min(l(d), e / 2) * n(d);
0 > k ? ((d = -e - d), (f = Math.max(l(f), l(d)) * n(f))) : (f = Math.min(l(f), l(d)) * n(f));
return [a[0] + b + f, a[1] + b + m];
},
gpp: Jb,
angleOfPoints: Ia,
pointDistance: Xb,
pDist: mc,
lineIntersect: Te,
lineDistance: Wn,
pointInsidePolygon: Zf,
arcCapDegOffset: function (a, c) {
var b = a - c;
a = [ra([0, 0], 0, (a + c) / 2)];
b = ra(a[0], 108, b);
return Math.abs(yb(Ia([0, 0], b))) / 2;
},
ensureUprightText: Yn,
}),
PD = Object.freeze({ isValInsideInc: Kb, intersect: Ue, positionsToPadRanges: Zj, invert: cg }),
QD = Object.freeze({
win: T,
doc: ba,
getRootScriptPath: je,
getScript: lk,
getJson: function (a, c, b, d) {
wh(a, c, b, d, JSON.parse);
},
}),
RD = Object.freeze({ Formatter: Ng, formatString: Si }),
SD = Object.freeze({ getApiEnum: ke }),
TD = Object.freeze({
zero: Gk,
resize: Hk,
scale: Cd,
moveTL: function (a, c, b) {
"undefined" !== typeof c && ((a.width -= c - a.x), (a.x = c));
"undefined" !== typeof b && ((a.height -= b - a.y), (a.y = b));
return a;
},
padBox: Ik,
padRect: Vo,
translate: Wo,
padBoxRel: Xo,
centerRect: kg,
normalize: Yo,
toLTRB: Zo,
fromLTRB: $o,
round: function (a) {
a = Zo(a);
a = B(a, Math.round);
return $o(a);
},
fromBBox: Gc,
compare: ap,
}),
UD = Object.freeze({ registerIcons: nk }),
VD = Object.freeze({ measureText: fg }),
WD = Object.freeze({ getPalette: Xi, getPaletteConfig: Rs }),
XD = Object.freeze({
registerModule: function (a, c) {
a = ff[a] = ff[a] || {};
a.afterLoad = c;
return a.loaded ? !1 : (a.loaded = !0);
},
}),
YD = Object.freeze({ idFyObj: zb, percOrNum: db }),
ZD = Object.freeze({ toDate: X, toDateNum: ed, intervalToSpan: lg, addTimeInterval: bc, unitToFormatOptions: hf, unitListToFormatOptions: Kh, GroupingFunctions: Vs, CalendarPattern: Ok }),
$D = Object.freeze({ calculations: Pk }),
aE = Object.freeze({
fromPoints: eb,
bbox: kl,
pathIntersects: function (a, c, b) {
return Rh(a.shapes[0], c, b);
},
Path: mf,
fromString: Aa,
subPath: Ed,
shapeBbox: Mb,
visualCenterForShape: og,
shapeIntersects: Rh,
}),
bE = Object.freeze({ pointsToPath: fb, multiLineToPath: tg, flattenD: xa, arcCornerR: rp, arc: ll, arcSegment: Kc, pointsEqual: ab }),
cE = Object.freeze({ parseSize: Qa }),
dE = Object.freeze({ padMargin: Bl, lineToAttr: Bb, shapeToAttr: fc, boxToAttr: Bg, completeDependentOptions: Nm, annotationToHtmlAttr: br, labelToAttr: qc, offsetToAttr: cr, boxToLayoutBoxAttr: Cg }),
eE = Object.freeze({
fitBoxInPath: or,
fitBoxData: function (a, c) {
var b = pr(a),
d = function (a) {
return [Y(0, 1, c[0], c[0] + c[2], a[0]), Y(0, 1, c[1], c[1] + c[3], a[1])];
};
a = xi(a);
a = Mb(a);
return (b = b ? rr(b, d) : void 0) ? { scans: b, pathBBox: RC(a, d) } : void 0;
},
fitBoxInScanData: function (a, c, b, d) {
var e = b[1];
a = Ny(a, c).scans;
var f = Math.max(c[2], c[3]),
g = [],
h = c[1] + 1;
try {
for (; h + e < c[1] + c[3] - 2; ) {
var k = qr(a, h, e);
k && k[2] >= b[0] && g.push([f - Xb(va(k), d), k]);
h += 1;
}
} catch (m) {}
if (g.length) {
g.sort(function (a, b) {
return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;
}).reverse();
var l = g[0][1];
}
l && (l = mb(va(l), b));
return l;
},
}),
fE = Object.freeze({
parseObjectTokens: wi,
parseGridTokens: function (a, c, b) {
void 0 === b && (b = {});
var d = uf(a);
return d.result ? vf(a, {}, { gOptions: b, item: c, atribs: c }) : d.text;
},
}),
gE = Object.freeze({ snapToPanel: md, snapPointToPanel: nd, snapPointsToPanel: ue }),
hE = Object.freeze({ axesBySideIndex: Rr }),
Lf = Object.freeze({
__proto__: null,
jsLib: JD,
mathLib: MD,
layoutLib: cE,
rectLib: TD,
trigLib: OD,
SeriesBaseType: Ie,
SeriesTypeColumn: Vg,
minimumHittestSize: 15,
registerSeriesType: function (a, c) {
Oc[a] = c;
},
undefVal: void 0,
undef: "undefined",
bboxLib: KD,
stylingLib: dE,
polyFitLib: eE,
shapeLib: bE,
Annotation: ej,
moduleLoader: XD,
collectionPropFactory: Xa,
consts: ID,
en: { error: {} },
idleDefer: Ae,
platform: QD,
strLib: ND,
getColumnIconPathsStatic: Pl,
BaseChartItem: jc,
AxisCollectionWrapper: Kf,
AxisViewState: bu,
getShapeOptions: Gr,
Axis: jj,
panels: Hl,
dmUtils: gE,
ChartArea: ju,
CollisionManager: Tm,
getBreaksPath: $r,
zIndexReference: Pt,
registerPanes: function (a) {
Rm = a;
},
shapes: dc,
colorLib: LD,
Series: Xm,
parsePointValues: Ai,
columnPointBodyD: Ql,
getIconPathsStatic: Ci,
getShapePath: Ld,
registerTag: function (a, c) {
Im[a] = c;
},
VirtualElement: tb,
rangeLib: PD,
TextBox: Ft,
LayoutItem: Gf,
Panel: Sg,
StackPanel: Tg,
Layout: Al,
registerPanel: function (a, c) {
Mc[a] = c;
},
UpdatablesCollection: wb,
miUtils: SD,
isTouchDevice: function () {
return "ontouchstart" in T;
},
annotationDefaults: Pm,
getAlignToOffsets: mt,
iconsStore: UD,
chartOptionsAppliers: Zl,
pathLib: aE,
updateOverflows: Br,
cachedPositionInfo: Ig,
isAlignInside: Mr,
EntryWrapper: Qm,
formatting: RD,
timeLib: ZD,
chartOptionsModifiers: $l,
registerVisual: function (a, c) {
Md[a] = c;
},
generateId: Dd,
snapPixels: Ff,
textLib: VD,
palettes: WD,
chartInitializers: $m,
CompositeElement: kC,
CompositeAttrApplier: jt,
Label: Fi,
tokenLib: fE,
label: Yq,
dataUtil: $D,
registerDataGridFunction: function (a, c) {
sc[a] = c;
},
jscLabel: es,
normalizationUtils: YD,
rendererFactory: ft,
emitter: Ma,
BaseOptions: Kt,
axisUtils: hE,
hideVisual: Ra,
generateIdRandom: qp,
});
Z(Je, "_modules.types.export", Lf);
Z(Je, "_modules.maps.export", Lf);
Z(Je, "_modules.toolbar.export", Lf);
Z(Je, "_modules.accessibility.export", Lf);
Z(Je, "_modules.datagrid.export", Lf);
Z(Je, "_modules.debug.export", Lf);
aa.Chart = lj;
aa.Grid = is;
aa.Nest = HD;
aa.chart = function (a, c) {
var b = Object.create(lj.prototype);
lj.apply(b, arguments);
return b;
};
aa.colorToPalette = function (a, c, b, d) {
return Uo(a, c, b, d);
};
aa.csv2Json = function (a, c) {
return Wk(a, ",", c);
};
aa.defaults = function (a) {
if (t(a))
if (null === a) var c = {};
else (c = od ? od() : {}), A(c, a);
else return od ? od() : {};
c.baseUrl && (dg = c.baseUrl);
return (od = yi(c)) ? od() : {};
};
aa.dsv2Json = function (a, c, b) {
void 0 === b && (b = {});
return Wk(a, c, b);
};
aa.fetch = function (a, c) {
Ih || (Ih = T.fetch || vw);
return Ih(a, c);
};
aa.fontsReady = function (a) {
return Ws(a);
};
aa.formatDate = function (a, c, b) {
void 0 === c && (c = "d");
return Si(new Date(a), c, b);
};
aa.formatNumber = function (a, c, b) {
void 0 === c && (c = "n");
return Si(parseFloat(a), c, b);
};
aa.formatString = function (a, c, b) {
void 0 === b && (b = "en-US");
return Si(a, c, b);
};
aa.getPalette = mu;
aa.getVersion = gs;
aa.globalCharts = nu;
aa.internal = Je;
aa.json2Csv = function (a, c) {
return Xk(a, ",", c);
};
aa.json2Dsv = function (a, c, b) {
void 0 === b && (b = {});
return Xk(a, c, b);
};
aa.json2Tsv = function (a, c) {
return Xk(a, "\t", c);
};
aa.label = function (a, c, b) {
return es(a, c, Ii(b));
};
aa.map = FD;
aa.max = function (a, c) {
return mj(a, "max", c);
};
aa.mean = function (a, c) {
return mj(a, "average", c);
};
aa.merge = GD;
aa.min = function (a, c) {
return mj(a, "min", c);
};
aa.nest = function () {
return new Wl();
};
aa.parseCsv = function (a, c) {
void 0 === c && (c = {});
return pp(a, c);
};
aa.parsePoints = function (a, c) {
return np(a, c);
};
aa.pointsFromArray = function (a, c) {
return op(a, c);
};
aa.ready = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
return gf(function (b) {
var c = [],
e = [];
a.forEach(function (a) {
O(a) ? c.push(a) : a === ba && e.push(kA());
});
c.length && e.push(Ws(c));
e.length ? uw(e, b) : b({ ok: !0 });
});
};
aa.smartPalette = {
getPaletteCSS: function (a, c) {
return new Nt(null, a).getPaletteCSS(a, c);
},
};
aa.sortBy = function () {
for (var a = [], c = 0; c < arguments.length; c++) a[c] = arguments[c];
return sa.apply(LA, H(a));
};
aa.sourcePath = function () {
return je();
};
aa.sum = function (a, c) {
return mj(a, "sum", c);
};
aa.tsv2Json = function (a, c) {
return Wk(a, "\t", c);
};
Object.defineProperty(aa, "__esModule", { value: !0 });
});