! function (t) {
  var e = window.webpackJsonp;
  window.webpackJsonp = function (i, o, a) {
     for (var s, u, l, h = 0, c = []; h < i.length; h++) u = i[h], n[u] && c.push(n[u][0]), n[u] = 0;
     for (s in o) Object.prototype.hasOwnProperty.call(o, s) && (t[s] = o[s]);
     for (e && e(i, o, a); c.length;) c.shift()();
     if (a)
        for (h = 0; h < a.length; h++) l = r(r.s = a[h]);
     return l
  };
  var i = {},
     n = {
        a74a: 0
     };

  function r(e) {
     if (i[e]) return i[e].exports;
     var n = i[e] = {
        i: e,
        l: !1,
        exports: {}
     };
     return t[e].call(n.exports, n, n.exports, r), n.l = !0, n.exports
  }
  r.e = function (t) {
     var e = n[t];
     if (0 === e) return new Promise(function (t) {
        t()
     });
     if (e) return e[2];
     var i = new Promise(function (i, r) {
        e = n[t] = [i, r]
     });
     e[2] = i;
     var o = document.getElementsByTagName("head")[0],
        a = document.createElement("script");
     a.type = "text/javascript", a.charset = "utf-8", a.async = !0, a.timeout = 12e4, r.nc && a.setAttribute("nonce", r.nc), a.src = r.p + "deps/" + ({
        "0471": "canvg",
        "076f": "pdfmake",
        bf3e: "xlsx",
        f69a: "responsivedefaults"
     } [t] || t) + ".js";
     var s = setTimeout(u, 12e4);

     function u() {
        a.onerror = a.onload = null, clearTimeout(s);
        var e = n[t];
        0 !== e && (e && e[1](new Error("Loading chunk " + t + " failed.")), n[t] = void 0)
     }
     return a.onerror = a.onload = u, o.appendChild(a), i
  }, r.m = t, r.c = i, r.d = function (t, e, i) {
     r.o(t, e) || Object.defineProperty(t, e, {
        configurable: !1,
        enumerable: !0,
        get: i
     })
  }, r.n = function (t) {
     var e = t && t.__esModule ? function () {
        return t.default
     } : function () {
        return t
     };
     return r.d(e, "a", e), e
  }, r.o = function (t, e) {
     return Object.prototype.hasOwnProperty.call(t, e)
  }, r.p = "", r.oe = function (t) {
     throw console.error(t), t
  }, r(r.s = 0)
}({
  "+6ht": function (t, e, i) {
     var n = i("rkh7"),
        r = i("pmYy"),
        o = i("snR7"),
        a = i("T9LF").Reflect;
     t.exports = a && a.ownKeys || function (t) {
        var e = n.f(o(t)),
           i = r.f;
        return i ? e.concat(i(t)) : e
     }
  },
  "+gRV": function (t, e, i) {
     var n = i("Gb1H");
     n(n.G + n.W + n.F * !i("xSzy").ABV, {
        DataView: i("LNZc").DataView
     })
  },
  "+qIf": function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return l
     }), i.d(e, "a", function () {
        return h
     }), i.d(e, "c", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("hD5A"),
        o = i("o0Lc"),
        a = i("Qkdp"),
        s = i("Wglt"),
        u = i("wUYf"),
        l = function (t) {
           function e(e) {
              var i = e.events.on("removed", function (t) {
                 t.oldValue.dispose()
              }, void 0, !1);
              return t.call(this, function () {
                 i.dispose(), s.each(e.iterator(), function (t) {
                    t[1].dispose()
                 })
              }) || this
           }
           return n.c(e, t), e
        }(r.b),
        h = function () {
           function t() {
              this.events = new o.a, this._dictionary = {}
           }
           return t.prototype.hasKey = function (t) {
              return a.hasKey(this._dictionary, t)
           }, t.prototype.getKey = function (t) {
              return this._dictionary[t]
           }, t.prototype.insertKey = function (t, e) {
              if (a.hasKey(this._dictionary, t)) throw new Error("Key " + t + " already exists in dictionary");
              this._dictionary[t] = e, this.events.isEnabled("insertKey") && this.events.dispatchImmediately("insertKey", {
                 type: "insertKey",
                 target: this,
                 key: t,
                 newValue: e
              })
           }, t.prototype.setKey = function (t, e) {
              if (a.hasKey(this._dictionary, t)) {
                 var i = this._dictionary[t];
                 i !== e && (this._dictionary[t] = e, this.events.isEnabled("setKey") && this.events.dispatchImmediately("setKey", {
                    type: "setKey",
                    target: this,
                    key: t,
                    oldValue: i,
                    newValue: e
                 }), this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
                    type: "removed",
                    target: this,
                    oldValue: i
                 }))
              } else this._dictionary[t] = e, this.events.isEnabled("insertKey") && this.events.dispatchImmediately("insertKey", {
                 type: "insertKey",
                 target: this,
                 key: t,
                 newValue: e
              })
           }, t.prototype.updateKey = function (t, e) {
              if (!a.hasKey(this._dictionary, t)) throw new Error("Key " + t + " doesn't exist in dictionary");
              var i = this._dictionary[t],
                 n = e(i);
              i !== n && (this._dictionary[t] = n, this.events.isEnabled("setKey") && this.events.dispatchImmediately("setKey", {
                 type: "setKey",
                 target: this,
                 key: t,
                 oldValue: i,
                 newValue: n
              }), this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
                 type: "removed",
                 target: this,
                 oldValue: i
              }))
           }, t.prototype.removeKey = function (t) {
              if (a.hasKey(this._dictionary, t)) {
                 var e = this._dictionary[t];
                 delete this._dictionary[t], this.events.isEnabled("removeKey") && this.events.dispatchImmediately("removeKey", {
                    type: "removeKey",
                    target: this,
                    key: t,
                    oldValue: e
                 }), this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
                    type: "removed",
                    target: this,
                    oldValue: e
                 })
              }
           }, t.prototype.insertKeyIfEmpty = function (t, e) {
              return this.hasKey(t) || this.insertKey(t, e()), this.getKey(t)
           }, t.prototype.clear = function () {
              var t = this;
              this.events.isEnabled("removed") && a.each(this._dictionary, function (e, i) {
                 t.events.dispatchImmediately("removed", {
                    type: "removed",
                    target: t,
                    oldValue: i
                 })
              }), this._dictionary = {}, this.events.isEnabled("cleared") && this.events.dispatchImmediately("cleared", {
                 type: "cleared",
                 target: this
              })
           }, t.prototype.copyFrom = function (t) {
              var e = this;
              s.each(t.iterator(), function (t) {
                 e.setKey(t[0], t[1])
              })
           }, t.prototype.iterator = function () {
              return a.entries(this._dictionary)
           }, t.prototype[Symbol.iterator] = function () {
              var t, e, i, r;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       for (e in t = [], this._dictionary) t.push(e);
                       i = 0, n.label = 1;
                    case 1:
                       return i < t.length ? (r = t[i], a.hasKey(this._dictionary, r) ? [4, [r, this._dictionary[r]]] : [3, 3]) : [3, 4];
                    case 2:
                       n.sent(), n.label = 3;
                    case 3:
                       return i++, [3, 1];
                    case 4:
                       return [2]
                 }
              })
           }, t.prototype.each = function (t) {
              s.each(this.iterator(), function (e) {
                 var i = n.e(e, 2),
                    r = i[0],
                    o = i[1];
                 return t(r, o)
              })
           }, t.prototype.sortedIterator = function () {
              return s.sort(this.iterator(), function (t, e) {
                 return u.order(t[0], e[0])
              })
           }, t
        }(),
        c = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i.template = e, i
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "template", {
              get: function () {
                 return this._template
              },
              set: function (t) {
                 t.isTemplate = !0, this._template = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (t) {
              var e = this;
              s.each(t.iterator(), function (t) {
                 e.setKey(t[0], t[1].clone())
              })
           }, e.prototype.create = function (t) {
              var e = this;
              return this.insertKeyIfEmpty(t, function () {
                 return e.template.clone()
              })
           }, e
        }(h)
  },
  "+wz8": function (t, e, i) {
     var n = i("DvJ+"),
        r = i("T9LF").document,
        o = n(r) && n(r.createElement);
     t.exports = function (t) {
        return o ? r.createElement(t) : {}
     }
  },
  "/9XX": function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return l
     }), e.a = function (t) {
        o.push(t), c()
     }, e.c = function (t) {
        a.push(t), c()
     }, e.f = function (t) {
        s.push(t), c()
     }, e.e = function (t) {
        u.push(t)
     }, e.d = function () {
        for (var t = Date.now(), e = u.length, i = 0; i < e; ++i) u.shift()(t)
     };
     var n = i("hJ5i"),
        r = !1,
        o = [],
        a = [],
        s = [],
        u = [],
        l = "function" == typeof requestAnimationFrame ? function (t) {
           requestAnimationFrame(t)
        } : function (t) {
           setTimeout(t, 1e3 / 60)
        };

     function h() {
        for (var t = Date.now(), e = o.length, i = 0; i < e; ++i) o[i](t);
        n.shiftLeft(o, e);
        for (i = 0; i < a.length; ++i) a[i](t);
        a.length = 0;
        for (i = 0; i < s.length; ++i) s[i](t);
        s.length = 0, 0 === o.length && 0 === a.length ? r = !1 : l(h)
     }

     function c() {
        r || (r = !0, l(h))
     }
  },
  "/IEW": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = null !== t && t.apply(this, arguments) || this;
              return e._invalid = !1, e
           }
           return n.c(e, t), e.prototype.invalidate = function () {
              !1 === this._invalid && (this._invalid = !0, o.b.events.on("exitframe", this.validate, this))
           }, e.prototype.validate = function () {
              !0 === this._invalid && (this._invalid = !1, o.b.events.off("exitframe", this.validate, this))
           }, e
        }(r.b)
  },
  "/NC3": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("0v9/");
     n(n.G + n.B, {
        setImmediate: r.set,
        clearImmediate: r.clear
     })
  },
  "/Oef": function (t, e, i) {
     "use strict";
     var n = i("MfZA"),
        r = {};
     r[i("YEtG")("toStringTag")] = "z", r + "" != "[object z]" && i("wDk4")(Object.prototype, "toString", function () {
        return "[object " + n(this) + "]"
     }, !0)
  },
  "/URX": function (t, e, i) {
     var n = i("Gb1H"),
        r = Math.abs;
     n(n.S, "Math", {
        hypot: function (t, e) {
           for (var i, n, o = 0, a = 0, s = arguments.length, u = 0; a < s;) u < (i = r(arguments[a++])) ? (o = o * (n = u / i) * n + 1, u = i) : o += i > 0 ? (n = i / u) * n : i;
           return u === 1 / 0 ? 1 / 0 : u * Math.sqrt(o)
        }
     })
  },
  "/Xnt": function (t, e, i) {
     "use strict";
     var n = i("T9LF"),
        r = i("Gb1H"),
        o = i("wDk4"),
        a = i("cA+3"),
        s = i("kFp5"),
        u = i("hpnp"),
        l = i("ypVE"),
        h = i("DvJ+"),
        c = i("AEc5"),
        p = i("ID9o"),
        d = i("bPwn"),
        f = i("6/bx");
     t.exports = function (t, e, i, g, y, m) {
        var b = n[t],
           v = b,
           _ = y ? "set" : "add",
           x = v && v.prototype,
           P = {},
           w = function (t) {
              var e = x[t];
              o(x, t, "delete" == t ? function (t) {
                 return !(m && !h(t)) && e.call(this, 0 === t ? 0 : t)
              } : "has" == t ? function (t) {
                 return !(m && !h(t)) && e.call(this, 0 === t ? 0 : t)
              } : "get" == t ? function (t) {
                 return m && !h(t) ? void 0 : e.call(this, 0 === t ? 0 : t)
              } : "add" == t ? function (t) {
                 return e.call(this, 0 === t ? 0 : t), this
              } : function (t, i) {
                 return e.call(this, 0 === t ? 0 : t, i), this
              })
           };
        if ("function" == typeof v && (m || x.forEach && !c(function () {
              (new v).entries().next()
           }))) {
           var O = new v,
              S = O[_](m ? {} : -0, 1) != O,
              k = c(function () {
                 O.has(1)
              }),
              T = p(function (t) {
                 new v(t)
              }),
              C = !m && c(function () {
                 for (var t = new v, e = 5; e--;) t[_](e, e);
                 return !t.has(-0)
              });
           T || ((v = e(function (e, i) {
              l(e, v, t);
              var n = f(new b, e, v);
              return void 0 != i && u(i, y, n[_], n), n
           })).prototype = x, x.constructor = v), (k || C) && (w("delete"), w("has"), y && w("get")), (C || S) && w(_), m && x.clear && delete x.clear
        } else v = g.getConstructor(e, t, y, _), a(v.prototype, i), s.NEED = !0;
        return d(v, t), P[t] = v, r(r.G + r.W + r.F * (v != b), P), m || g.setStrong(v, t, y), v
     }
  },
  "/dMO": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("sc+R");
     n(n.P + n.F * !i("GQop")([].reduce, !0), "Array", {
        reduce: function (t) {
           return r(this, t, arguments.length, arguments[1], !1)
        }
     })
  },
  "/e9j": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("sxA1"),
        o = i("3/51"),
        a = i("aCit"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "LinearGradientModifier", e.gradient = new r.a, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.gradient = e.gradient.clone()
           }, e
        }(o.a);
     a.b.registeredClasses.LinearGradientModifier = s
  },
  0: function (t, e, i) {
     i("bcCe"), t.exports = i("Nv8/")
  },
  "0B2R": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Object", {
        setPrototypeOf: i("7GtY").set
     })
  },
  "0C8c": function (t, e) {
     var i = Math.expm1;
     t.exports = !i || i(10) > 22025.465794806718 || i(10) < 22025.465794806718 || -2e-17 != i(-2e-17) ? function (t) {
        return 0 == (t = +t) ? t : t > -1e-6 && t < 1e-6 ? t + t * t / 2 : Math.exp(t) - 1
     } : i
  },
  "0Czv": function (t, e, i) {
     "use strict";
     i("Mvcd")("sup", function (t) {
        return function () {
           return t(this, "sup", "", "")
        }
     })
  },
  "0FpR": function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.linear = function (t) {
        return +t
     }, e.quadIn = function (t) {
        return t * t
     }, e.quadOut = function (t) {
        return t * (2 - t)
     }, e.quadInOut = function (t) {
        return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2
     }, e.polyIn = r, e.polyOut = o, e.polyInOut = a, e.polyIn3 = function (t) {
        return r(t, 3)
     }, e.polyOut3 = function (t) {
        return o(t, 3)
     }, e.polyInOut3 = function (t) {
        return a(t, 3)
     }, e.expIn = function (t) {
        return Math.pow(2, 10 * t - 10)
     }, e.expOut = function (t) {
        return 1 - Math.pow(2, -10 * t)
     }, e.expInOut = function (t) {
        return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2
     }, e.sinIn = function (t) {
        return 1 - Math.cos(t * n.HALFPI)
     }, e.sinOut = function (t) {
        return Math.sin(t * n.HALFPI)
     }, e.sinInOut = function (t) {
        return (1 - Math.cos(n.PI * t)) / 2
     }, e.cubicIn = function (t) {
        return t * t * t
     }, e.cubicOut = function (t) {
        return --t * t * t + 1
     }, e.cubicInOut = function (t) {
        return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2
     }, e.circleIn = function (t) {
        return 1 - Math.sqrt(1 - t * t)
     }, e.circleOut = function (t) {
        return Math.sqrt(1 - --t * t)
     }, e.circleInOut = function (t) {
        return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2
     }, e.bounceIn = function (t) {
        return 1 - m(1 - t)
     }, e.bounceOut = m, e.bounceInOut = function (t) {
        return ((t *= 2) <= 1 ? 1 - m(1 - t) : m(t - 1) + 1) / 2
     }, e.elasticIn = function (t) {
        return b * Math.pow(2, 10 * --t) * Math.sin((_ - t) / v)
     }, e.elasticOut = function (t) {
        return 1 - b * Math.pow(2, -10 * (t = +t)) * Math.sin((t + _) / v)
     }, e.elasticInOut = function (t) {
        return ((t = 2 * t - 1) < 0 ? b * Math.pow(2, 10 * t) * Math.sin((_ - t) / v) : 2 - b * Math.pow(2, -10 * t) * Math.sin((_ + t) / v)) / 2
     };
     var n = i("Gg2j");

     function r(t, e) {
        return Math.pow(t, e)
     }

     function o(t, e) {
        return 1 - Math.pow(1 - t, e)
     }

     function a(t, e) {
        return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2
     }
     var s = 4 / 11,
        u = 6 / 11,
        l = 8 / 11,
        h = .75,
        c = 9 / 11,
        p = 10 / 11,
        d = .9375,
        f = 21 / 22,
        g = 63 / 64,
        y = 1 / s / s;

     function m(t) {
        return (t = +t) < s ? y * t * t : t < l ? y * (t -= u) * t + h : t < p ? y * (t -= c) * t + d : y * (t -= f) * t + g
     }
     var b = 1,
        v = .3 / (2 * Math.PI),
        _ = Math.asin(1 / b) * v
  },
  "0PyG": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("zhwk"),
        a = i("1yyj"),
        s = i("Mtpk"),
        u = function (t) {
           function e(e, i, n, r) {
              var o = t.call(this) || this;
              return o.animations = [], o.className = "Inertia", o.interaction = e, o.type = i, o.point = n, o.startPoint = r, o._disposers.push(new a.b(o.animations)), o
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "x", {
              get: function () {
                 return this.point.x
              },
              set: function (t) {
                 s.isNumber(t) && (this.point.x = t, this.handleMove())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "y", {
              get: function () {
                 return this.point.y
              },
              set: function (t) {
                 s.isNumber(t) && (this.point.y = t, this.handleMove())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleMove = function () {
              if (this.interaction.events.isEnabled("drag")) {
                 var t = {
                    type: "drag",
                    target: this.interaction,
                    shift: {
                       x: this.x - this.startPoint.x,
                       y: this.y - this.startPoint.y
                    },
                    startPoint: this.startPoint,
                    point: {
                       x: this.x,
                       y: this.y
                    }
                 };
                 this.interaction.events.dispatchImmediately("drag", t)
              }
           }, e.prototype.done = function () {
              this.interaction.inertias.removeKey(this.type), "move" === this.type && Object(o.b)().processDragStop(this.interaction), this.dispose()
           }, e
        }(r.a)
  },
  "0YcW": function (t, e, i) {
     "use strict";
     var n = i("cA+3"),
        r = i("kFp5").getWeak,
        o = i("snR7"),
        a = i("DvJ+"),
        s = i("ypVE"),
        u = i("hpnp"),
        l = i("dstF"),
        h = i("U3hN"),
        c = i("rFJX"),
        p = l(5),
        d = l(6),
        f = 0,
        g = function (t) {
           return t._l || (t._l = new y)
        },
        y = function () {
           this.a = []
        },
        m = function (t, e) {
           return p(t.a, function (t) {
              return t[0] === e
           })
        };
     y.prototype = {
        get: function (t) {
           var e = m(this, t);
           if (e) return e[1]
        },
        has: function (t) {
           return !!m(this, t)
        },
        set: function (t, e) {
           var i = m(this, t);
           i ? i[1] = e : this.a.push([t, e])
        },
        delete: function (t) {
           var e = d(this.a, function (e) {
              return e[0] === t
           });
           return ~e && this.a.splice(e, 1), !!~e
        }
     }, t.exports = {
        getConstructor: function (t, e, i, o) {
           var l = t(function (t, n) {
              s(t, l, e, "_i"), t._t = e, t._i = f++, t._l = void 0, void 0 != n && u(n, i, t[o], t)
           });
           return n(l.prototype, {
              delete: function (t) {
                 if (!a(t)) return !1;
                 var i = r(t);
                 return !0 === i ? g(c(this, e)).delete(t) : i && h(i, this._i) && delete i[this._i]
              },
              has: function (t) {
                 if (!a(t)) return !1;
                 var i = r(t);
                 return !0 === i ? g(c(this, e)).has(t) : i && h(i, this._i)
              }
           }), l
        },
        def: function (t, e, i) {
           var n = r(o(e), !0);
           return !0 === n ? g(t).set(e, i) : n[t._i] = i, t
        },
        ufstore: g
     }
  },
  "0Zt3": function (t, e, i) {
     var n = i("DvJ+"),
        r = i("DVYA"),
        o = i("YEtG")("match");
     t.exports = function (t) {
        var e;
        return n(t) && (void 0 !== (e = t[o]) ? !!e : "RegExp" == r(t))
     }
  },
  "0jav": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("DVYA");
     n(n.S, "Error", {
        isError: function (t) {
           return "Error" === r(t)
        }
     })
  },
  "0v9/": function (t, e, i) {
     var n, r, o, a = i("20m4"),
        s = i("yOPk"),
        u = i("Ax3V"),
        l = i("+wz8"),
        h = i("T9LF"),
        c = h.process,
        p = h.setImmediate,
        d = h.clearImmediate,
        f = h.MessageChannel,
        g = h.Dispatch,
        y = 0,
        m = {},
        b = function () {
           var t = +this;
           if (m.hasOwnProperty(t)) {
              var e = m[t];
              delete m[t], e()
           }
        },
        v = function (t) {
           b.call(t.data)
        };
     p && d || (p = function (t) {
        for (var e = [], i = 1; arguments.length > i;) e.push(arguments[i++]);
        return m[++y] = function () {
           s("function" == typeof t ? t : Function(t), e)
        }, n(y), y
     }, d = function (t) {
        delete m[t]
     }, "process" == i("DVYA")(c) ? n = function (t) {
        c.nextTick(a(b, t, 1))
     } : g && g.now ? n = function (t) {
        g.now(a(b, t, 1))
     } : f ? (o = (r = new f).port2, r.port1.onmessage = v, n = a(o.postMessage, o, 1)) : h.addEventListener && "function" == typeof postMessage && !h.importScripts ? (n = function (t) {
        h.postMessage(t + "", "*")
     }, h.addEventListener("message", v, !1)) : n = "onreadystatechange" in l("script") ? function (t) {
        u.appendChild(l("script")).onreadystatechange = function () {
           u.removeChild(this), b.call(t)
        }
     } : function (t) {
        setTimeout(a(b, t, 1), 0)
     }), t.exports = {
        set: p,
        clear: d
     }
  },
  "0yJt": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("mntN")(!0);
     n(n.P, "Array", {
        includes: function (t) {
           return r(this, t, arguments.length > 1 ? arguments[1] : void 0)
        }
     }), i("M/YL")("includes")
  },
  "17ao": function (t, e, i) {
     var n = i("T9LF").parseInt,
        r = i("nAZS").trim,
        o = i("brDO"),
        a = /^[-+]?0[xX]/;
     t.exports = 8 !== n(o + "08") || 22 !== n(o + "0x16") ? function (t, e) {
        var i = r(String(t), 3);
        return n(i, e >>> 0 || (a.test(i) ? 16 : 10))
     } : n
  },
  "1Vzv": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("17ao");
     n(n.G + n.F * (parseInt != r), {
        parseInt: r
     })
  },
  "1lef": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("kcsd"),
        o = i("FmWr"),
        a = i("0Zt3"),
        s = i("x2K9"),
        u = RegExp.prototype,
        l = function (t, e) {
           this._r = t, this._s = e
        };
     i("Cekr")(l, "RegExp String", function () {
        var t = this._r.exec(this._s);
        return {
           value: t,
           done: null === t
        }
     }), n(n.P, "String", {
        matchAll: function (t) {
           if (r(this), !a(t)) throw TypeError(t + " is not a regexp!");
           var e = String(this),
              i = "flags" in u ? String(t.flags) : s.call(t),
              n = new RegExp(t.source, ~i.indexOf("g") ? i : "g" + i);
           return n.lastIndex = o(t.lastIndex), new l(n, e)
        }
     })
  },
  "1pVS": function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return u
     }), i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("aM7D"),
        o = i("aCit"),
        a = i("Wglt"),
        s = i("Mtpk"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "MapSeriesDataItem", e.values.value = {}, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "value", {
              get: function () {
                 return this.values.value.value
              },
              set: function (t) {
                 this.setValue("value", t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateExtremes = function (t) {
              for (var e = 0; e < t.length; e++) {
                 var i = t[e].longitude,
                    n = t[e].latitude;
                 (this.west > i || !s.isNumber(this.west)) && (this.west = i), (this.east < i || !s.isNumber(this.east)) && (this.east = i), (this.north < n || !s.isNumber(this.north)) && (this.north = n), (this.south > n || !s.isNumber(this.south)) && (this.south = n)
              }
           }, Object.defineProperty(e.prototype, "zoomLevel", {
              get: function () {
                 return this.properties.zoomLevel
              },
              set: function (t) {
                 this.setProperty("zoomLevel", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "zoomGeoPoint", {
              get: function () {
                 return this.properties.zoomGeoPoint
              },
              set: function (t) {
                 this.setProperty("zoomGeoPoint", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.b),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "MapSeries", e.isMeasured = !1, e.nonScalingStroke = !0, e.dataFields.value = "value", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.createDataItem = function () {
              return new u
           }, e.prototype.validateData = function () {
              var e = this;
              t.prototype.validateData.call(this), a.each(this.dataItems.iterator(), function (t) {
                 (e.west > t.west || !s.isNumber(e.west)) && (e.west = t.west), (e.east < t.east || !s.isNumber(e.east)) && (e.east = t.east), (e.north < t.north || !s.isNumber(e.north)) && (e.north = t.north), (e.south > t.south || !s.isNumber(e.south)) && (e.south = t.south)
              }), this.chart && this.chart.updateExtremes()
           }, e.prototype.checkInclude = function (t, e, i) {
              if (t) {
                 if (0 == t.length) return !1;
                 if (-1 == t.indexOf(i)) return !1
              }
              return !(e && e.length > 0 && -1 != e.indexOf(i))
           }, Object.defineProperty(e.prototype, "useGeodata", {
              get: function () {
                 return this.getPropertyValue("useGeodata")
              },
              set: function (t) {
                 this.setPropertyValue("useGeodata", t) && this.invalidateData()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "include", {
              get: function () {
                 return this.getPropertyValue("include")
              },
              set: function (t) {
                 this.setPropertyValue("include", t) && this.processIncExc()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.processIncExc = function () {
              this.invalidateData()
           }, Object.defineProperty(e.prototype, "exclude", {
              get: function () {
                 return this.getPropertyValue("exclude")
              },
              set: function (t) {
                 this.setPropertyValue("exclude", t) && this.processIncExc()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleObjectAdded = function (t) {
              var e = t.newValue;
              e.parent = this, e.series = this
           }, Object.defineProperty(e.prototype, "geodata", {
              get: function () {
                 return this._geodata
              },
              set: function (t) {
                 t != this._geodata && (this._geodata = t, this.invalidateData(), a.each(this._dataUsers.iterator(), function (t) {
                    t.invalidateData()
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "geodataSource", {
              get: function () {
                 return this._dataSources.geodata || this.getDataSource("geodata"), this._dataSources.geodata
              },
              set: function (t) {
                 var e = this;
                 this._dataSources.geodata && this.removeDispose(this._dataSources.geodata), this._dataSources.geodata = t, this._dataSources.geodata.component = this, this.events.on("inited", function () {
                    e.loadData("geodata")
                 }, void 0, !1), this.setDataSourceEvents(t, "geodata")
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.MapSeries = l, o.b.registeredClasses.MapSeriesDataItem = u
  },
  "1qam": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("Mtpk"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "PointedShape", e.pointerBaseWidth = 15, e.pointerLength = 10, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), o.isNumber(this.pointerX) || (this.pointerX = this.pixelWidth / 2), o.isNumber(this.pointerY) || (this.pointerY = this.pixelHeight + 10)
           }, Object.defineProperty(e.prototype, "pointerBaseWidth", {
              get: function () {
                 return this.getPropertyValue("pointerBaseWidth")
              },
              set: function (t) {
                 this.setPropertyValue("pointerBaseWidth", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pointerLength", {
              get: function () {
                 return this.getPropertyValue("pointerLength")
              },
              set: function (t) {
                 this.setPropertyValue("pointerLength", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pointerX", {
              get: function () {
                 return this.getPropertyValue("pointerX")
              },
              set: function (t) {
                 this.setPropertyValue("pointerX", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pointerY", {
              get: function () {
                 return this.getPropertyValue("pointerY")
              },
              set: function (t) {
                 this.setPropertyValue("pointerY", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  "1yyj": function (t, e, i) {
     "use strict";
     e.c = function (t, e) {
        var i = !1,
           n = Date.now();
        return l.a(function r(o) {
           if (!i) {
              var a = o - n;
              a >= t ? e(1) : (l.a(r), e(a / t))
           }
        }), new a.b(function () {
           i = !0
        })
     }, i.d(e, "d", function () {
        return y
     }), i.d(e, "b", function () {
        return x
     }), i.d(e, "a", function () {
        return P
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("hpNl"),
        a = i("hD5A"),
        s = i("8ZqG"),
        u = i("tjMS"),
        l = i("/9XX"),
        h = i("0FpR"),
        c = i("hxI2"),
        p = i("Gg2j"),
        d = i("hJ5i"),
        f = i("Mtpk"),
        g = i("Rpw0");
     var y = [];

     function m(t, e, i) {
        return e + (i - e) * t
     }

     function b(t, e, i) {
        return new u.a(m(t, e.percent, i.percent))
     }

     function v(t, e, i) {
        return new s.a(c.interpolate(e.rgb, i.rgb, t))
     }

     function _(t, e) {
        return e + t.charAt(0).toUpperCase() + t.substr(1)
     }
     var x = function () {
           function t(t) {
              this._disposer = new a.b(function () {
                 for (; 0 !== t.length;) t[0].dispose()
              })
           }
           return t.prototype.isDisposed = function () {
              return this._disposer.isDisposed()
           }, t.prototype.dispose = function () {
              this._disposer.dispose()
           }, t
        }(),
        P = function (t) {
           function e(e, i, n, r) {
              var o = t.call(this) || this;
              return o.duration = 0, o.easing = h.linear, o.progress = 0, o._loop = 0, o._pause = !1, o._delayTimeout = null, o._time = 0, o._isFinished = !1, o.className = "Animation", o.object = e, o.animationOptions = d.toArray(i), o.duration = n, r && (o.easing = r), o.applyTheme(), o
           }
           return n.c(e, t), e.prototype.debug = function () {}, e.prototype.dispose = function () {
              t.prototype.dispose.call(this), this.pause()
           }, e.prototype.delay = function (t) {
              var e = this;
              if (t > 0) {
                 this.pause(), d.move(this.object.animations, this);
                 var i = setTimeout(function () {
                    e._delayTimeout = null, e.start()
                 }, t);
                 this._delayTimeout = new a.b(function () {
                    clearTimeout(i)
                 })
              }
              return this
           }, e.prototype._start = function () {
              this._isFinished = !1, this._delayTimeout && (this.removeDispose(this._delayTimeout), this._delayTimeout = null), this.stopSameAnimations(), this._pause = !1, d.move(y, this), d.move(this.object.animations, this), g.b.requestFrame()
           }, e.prototype.start = function () {
              this._start(), this._startTime = Date.now(), this._time = 0, this.staticOptions = [];
              for (var t = this.animationOptions.length - 1; t >= 0; t--) {
                 var e = this.animationOptions[t];
                 if (f.hasValue(e.from) || (e.childObject ? e.from = e.childObject[e.property] : (e.from = this.object[e.property], f.hasValue(e.from) || (e.from = o.a[e.property]))), e.from == e.to) d.remove(this.animationOptions, e);
                 else if (f.hasValue(e.from))
                    if (f.isNumber(e.to)) {
                       if (e.updateMethod = m, e.from instanceof u.a) {
                          var i = this.object[_(e.property, "pixel")];
                          isNaN(i) || (e.from = i)
                       }
                    } else if (e.to instanceof s.a) e.from ? e.updateMethod = v : (this.staticOptions.push(e), d.remove(this.animationOptions, e));
                 else if (e.to instanceof u.a) {
                    if (e.updateMethod = b, !isNaN(e.from)) {
                       i = this.object[_(e.property, "relative")];
                       isNaN(i) || (e.from = Object(u.c)(100 * i))
                    }
                 } else this.staticOptions.push(e), d.remove(this.animationOptions, e);
                 else this.staticOptions.push(e), d.remove(this.animationOptions, e)
              }
              if (this.applyStaticOptions(), this.events.isEnabled("animationstarted")) {
                 var n = {
                    type: "animationstarted",
                    target: this,
                    progress: this.progress
                 };
                 this.events.dispatchImmediately("animationstarted", n)
              }
              return this.update(), 0 === this.duration && this.end(), this
           }, e.prototype.loop = function (t) {
              return f.isNumber(t) || (t = 1 / 0), this._loop = t, this
           }, e.prototype.pause = function () {
              return this._pause = !0, this._delayTimeout && (this.removeDispose(this._delayTimeout), this._delayTimeout = null), d.remove(y, this), d.remove(this.object.animations, this), this
           }, e.prototype.resume = function () {
              return this._start(), this._startTime = Date.now() - this._time, this
           }, e.prototype.end = function () {
              if (0 == this._loop && this.pause(), this.setProgress(1), this.applyStaticOptions(), this.events.isEnabled("animationended")) {
                 var t = {
                    type: "animationended",
                    target: this,
                    progress: this.progress
                 };
                 this.events.dispatchImmediately("animationended", t)
              }
              return this._loop > 0 ? (this._loop--, this.start()) : (this.stop(), this._isFinished = !0), this
           }, e.prototype.kill = function () {
              this.pause(), this._isFinished = !0
           }, e.prototype.isFinished = function () {
              return this._isFinished
           }, e.prototype.applyStaticOptions = function () {
              var t = this;
              d.each(this.staticOptions, function (e) {
                 e.childObject ? e.childObject[e.property] = 1 == t.progress ? e.to : e.from : t.object[e.property] = 1 == t.progress ? e.to : e.from
              })
           }, e.prototype.stop = function (t) {
              if (this.pause(), !t && this.events.isEnabled("animationstopped")) {
                 var e = {
                    type: "animationstopped",
                    target: this,
                    progress: this.progress
                 };
                 this.events.dispatchImmediately("animationstopped", e)
              }
              return this
           }, e.prototype.setProgress = function (t) {
              var e = this;
              if (this._time = this.duration * t, d.each(this.animationOptions, function (i) {
                    if (i.updateMethod && f.hasValue(i.from)) {
                       var n = i.updateMethod(t, i.from, i.to);
                       i.childObject ? i.childObject[i.property] = n : e.object[i.property] = n
                    }
                 }), this.progress = t, this.events.isEnabled("animationprogress")) {
                 var i = {
                    type: "animationprogress",
                    target: this,
                    progress: this.progress
                 };
                 this.events.dispatchImmediately("animationprogress", i)
              }
              g.b.requestFrame()
           }, e.prototype.update = function () {
              if (!this._pause) {
                 var t = void 0;
                 this._time = p.fitToRange(Date.now() - this._startTime, 0, this.duration);
                 var e = this._time / this.duration;
                 t = this.easing(e), (0 == this.duration || !f.isNumber(t) || e >= 1) && (t = 1), this.setProgress(t), 1 == p.round(this._time / this.duration, 6) && this.end()
              }
              return this
           }, Object.defineProperty(e.prototype, "delayed", {
              get: function () {
                 return !!this._delayTimeout
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.stopSameAnimations = function () {
              var t = this;
              d.each(d.copy(this.object.animations), function (e) {
                 if (e !== t && !e.delayed) {
                    var i = [];
                    d.each(t.animationOptions, function (t) {
                       d.each(e.animationOptions, function (n) {
                          t.property == n.property && t.childObject == n.childObject && (i.push(n), 0 == e.animationOptions.length && e.kill())
                       })
                    }), d.each(i, function (t) {
                       d.remove(e.animationOptions, t)
                    })
                 }
              })
           }, e
        }(r.b)
  },
  "2/6D": function (t, e, i) {
     "use strict";
     var n = i("M/YL"),
        r = i("36h5"),
        o = i("9BM3"),
        a = i("EhJv");
     t.exports = i("Uobz")(Array, "Array", function (t, e) {
        this._t = a(t), this._i = 0, this._k = e
     }, function () {
        var t = this._t,
           e = this._k,
           i = this._i++;
        return !t || i >= t.length ? (this._t = void 0, r(1)) : r(0, "keys" == e ? i : "values" == e ? t[i] : [i, t[i]])
     }, "values"), o.Arguments = o.Array, n("keys"), n("values"), n("entries")
  },
  "20m4": function (t, e, i) {
     var n = i("DbOM");
     t.exports = function (t, e, i) {
        if (n(t), void 0 === e) return t;
        switch (i) {
           case 1:
              return function (i) {
                 return t.call(e, i)
              };
           case 2:
              return function (i, n) {
                 return t.call(e, i, n)
              };
           case 3:
              return function (i, n, r) {
                 return t.call(e, i, n, r)
              }
        }
        return function () {
           return t.apply(e, arguments)
        }
     }
  },
  "2Dqo": function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = i("K0ev"),
        a = n.has,
        s = n.key,
        u = function (t, e, i) {
           if (a(t, e, i)) return !0;
           var n = o(e);
           return null !== n && u(t, n, i)
        };
     n.exp({
        hasMetadata: function (t, e) {
           return u(t, r(e), arguments.length < 3 ? void 0 : s(arguments[2]))
        }
     })
  },
  "2I/e": function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return f
     }), i.d(e, "a", function () {
        return g
     });
     var n = i("m4/l"),
        r = i("VIOb"),
        o = i("vMqJ"),
        a = i("C6dT"),
        s = i("aM7D"),
        u = i("tjMS"),
        l = i("DHte"),
        h = i("aCit"),
        c = i("Wglt"),
        p = i("Mtpk"),
        d = i("hD5A"),
        f = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "SerialChartDataItem", e.applyTheme(), e
           }
           return n.c(e, t), e
        }(r.b),
        g = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "SerialChart", e.colors = new l.a;
              var i = e.chartContainer.createChild(a.a);
              i.shouldClone = !1, i.width = Object(u.c)(100), i.height = Object(u.c)(100), i.isMeasured = !1, i.layout = "none", i.zIndex = 2, e.seriesContainer = i;
              var n = e.chartContainer.createChild(a.a);
              return n.shouldClone = !1, n.width = Object(u.c)(100), n.height = Object(u.c)(100), n.isMeasured = !1, n.zIndex = 3, n.layout = "none", e.bulletsContainer = n, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.dispose = function () {
              t.prototype.dispose.call(this), this.colors && this.colors.dispose()
           }, e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), p.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Serial chart"))
           }, Object.defineProperty(e.prototype, "series", {
              get: function () {
                 var t = this;
                 return this._series || (this._series = new o.e(this.createSeries()), this._series.events.on("inserted", function (e) {
                    t.handleSeriesAdded(e)
                 }, void 0, !1), this._series.events.on("removed", function (e) {
                    var i = e.oldValue;
                    t.dataUsers.removeValue(i), t.dataUsers.each(function (t) {
                       t.invalidateDataItems()
                    }), i.autoDispose && i.dispose(), t.feedLegend()
                 }, void 0, !1), this._disposers.push(new o.c(this._series)), this._disposers.push(this._series.template)), this._series
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleSeriesAdded = function (t) {
              var e = this,
                 i = t.newValue;
              i.chart = this, i.parent = this.seriesContainer, i.bulletsContainer.parent = this.bulletsContainer, this._dataUsers.moveValue(i), i.addDisposer(new d.b(function () {
                 e.dataUsers.removeValue(i)
              })), this.feedLegend()
           }, e.prototype.feedLegend = function () {
              var t = this.legend;
              if (t) {
                 var e = [];
                 c.each(this.series.iterator(), function (t) {
                    t.hiddenInLegend || e.push(t)
                 }), t.dataFields.name = "name", t.data = e
              }
           }, e.prototype.createSeries = function () {
              return new s.a
           }, Object.defineProperty(e.prototype, "colors", {
              get: function () {
                 return this.getPropertyValue("colors")
              },
              set: function (t) {
                 this.setPropertyValue("colors", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.series.copyFrom(e.series)
           }, e
        }(r.a);
     h.b.registeredClasses.SerialChart = g
  },
  "2Nze": function (t, e, i) {
     "use strict";
     var n = i("x2K9"),
        r = RegExp.prototype.exec,
        o = String.prototype.replace,
        a = r,
        s = function () {
           var t = /a/,
              e = /b*/g;
           return r.call(t, "a"), r.call(e, "a"), 0 !== t.lastIndex || 0 !== e.lastIndex
        }(),
        u = void 0 !== /()??/.exec("")[1];
     (s || u) && (a = function (t) {
        var e, i, a, l, h = this;
        return u && (i = new RegExp("^" + h.source + "$(?!\\s)", n.call(h))), s && (e = h.lastIndex), a = r.call(h, t), s && a && (h.lastIndex = h.global ? a.index + a[0].length : e), u && a && a.length > 1 && o.call(a[0], i, function () {
           for (l = 1; l < arguments.length - 2; l++) void 0 === arguments[l] && (a[l] = void 0)
        }), a
     }), t.exports = a
  },
  "2OOH": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("snR7"),
        o = Object.isExtensible;
     n(n.S, "Reflect", {
        isExtensible: function (t) {
           return r(t), !o || o(t)
        }
     })
  },
  "2OXf": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return m
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("sxA1"),
        a = i("aCit"),
        s = i("8ZqG"),
        u = i("vMqJ"),
        l = i("tjMS"),
        h = i("pR7v"),
        c = i("k6kv"),
        p = i("OXm9"),
        d = i("Wglt"),
        f = i("Mtpk"),
        g = i("hxI2"),
        y = i("CnhP"),
        m = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "HeatLegend", e.markerContainer = e.createChild(r.a), e.markerContainer.shouldClone = !1, e.markerCount = 1;
              var i = new y.a;
              return i.minHeight = 20, i.minWidth = 20, i.interactionsEnabled = !1, i.fillOpacity = 1, i.cornerRadius(0, 0, 0, 0), e.markerContainer.minHeight = 20, e.markerContainer.minWidth = 20, e.orientation = "horizontal", e.markers = new u.e(i), e._disposers.push(new u.c(e.markers)), e._disposers.push(e.markers.template), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.getMinFromRules = function (t) {
              var e, i = this.series;
              if (i) return d.eachContinue(i.heatRules.iterator(), function (i) {
                 return i.property != t || (e = i.min, !1)
              }), e
           }, e.prototype.getMaxFromRules = function (t) {
              var e, i = this.series;
              if (i) return d.each(i.heatRules.iterator(), function (i) {
                 return i.property != t || (e = i.max, !1)
              }), e
           }, e.prototype.validate = function () {
              t.prototype.validate.call(this);
              var e = this.series,
                 i = this.minColor,
                 n = this.maxColor;
              if (f.hasValue(i) || (i = Object(s.e)(this.getMinFromRules("fill"))), f.hasValue(n) || (n = Object(s.e)(this.getMaxFromRules("fill"))), e) {
                 var r = e.fill;
                 !f.hasValue(i) && r instanceof s.a && (i = r), !f.hasValue(n) && r instanceof s.a && (n = r)
              }
              f.hasValue(n) || (n = Object(s.e)(this.getMaxFromRules("fill")));
              var a = f.toNumber(this.getMinFromRules("fillOpacity"));
              f.isNumber(a) || (a = 1);
              var u = f.toNumber(this.getMaxFromRules("fillOpacity"));
              f.isNumber(u) || (u = 1);
              var h = f.toNumber(this.getMinFromRules("strokeOpacity"));
              f.isNumber(h) || (h = 1);
              var c = f.toNumber(this.getMaxFromRules("strokeOpacity"));
              f.isNumber(c) || (c = 1);
              for (var p = Object(s.e)(this.getMinFromRules("stroke")), d = Object(s.e)(this.getMaxFromRules("stroke")), y = 0; y < this.markerCount; y++) {
                 var m = this.markers.getIndex(y);
                 if (m || ((m = this.markers.create()).parent = this.markerContainer, m.height = Object(l.c)(100), m.width = Object(l.c)(100)), 1 == this.markerCount) {
                    var b = new o.a;
                    if (b.addColor(i, a), b.addColor(n, u), "vertical" == this.orientation && (b.rotation = -90), m.fill = b, f.hasValue(p) && f.hasValue(d)) {
                       var v = new o.a;
                       v.addColor(p, h), v.addColor(d, c), "vertical" == this.orientation && (v.rotation = -90), m.stroke = v
                    }
                 } else {
                    var _ = new s.a(g.interpolate(i.rgb, n.rgb, y / this.markerCount));
                    m.fill = _;
                    var x = a + (u - a) * y / this.markerCount;
                    if (m.fillOpacity = x, f.hasValue(p) && f.hasValue(d)) {
                       var P = new s.a(g.interpolate(p.rgb, d.rgb, y / this.markerCount));
                       m.stroke = P;
                       var w = h + (c - h) * y / this.markerCount;
                       m.strokeOpacity = w
                    }
                 }
              }
              var O = this.valueAxis.renderer;
              this.markerCount > 1 && ("horizontal" == this.orientation ? O.minGridDistance = this.measuredWidth / this.markerCount : O.minGridDistance = this.measuredHeight / this.markerCount), this.valueAxis.invalidate();
              y = this.markerCount;
              for (var S = this.markers.length; y < S; y++) this.markers.getIndex(y).parent = void 0
           }, Object.defineProperty(e.prototype, "minColor", {
              get: function () {
                 return this.getPropertyValue("minColor")
              },
              set: function (t) {
                 t instanceof s.a || (t = Object(s.e)(t)), this.setColorProperty("minColor", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxColor", {
              get: function () {
                 return this.getPropertyValue("maxColor")
              },
              set: function (t) {
                 f.isObject(t) || (t = Object(s.e)(t)), this.setColorProperty("maxColor", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "markerCount", {
              get: function () {
                 return this.getPropertyValue("markerCount")
              },
              set: function (t) {
                 this.setPropertyValue("markerCount", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minValue", {
              get: function () {
                 return this.getPropertyValue("minValue")
              },
              set: function (t) {
                 this.setPropertyValue("minValue", t), this.valueAxis.min = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxValue", {
              get: function () {
                 return this.getPropertyValue("maxValue")
              },
              set: function (t) {
                 this.setPropertyValue("maxValue", t), this.valueAxis.max = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "orientation", {
              get: function () {
                 return this.getPropertyValue("orientation")
              },
              set: function (t) {
                 this.setPropertyValue("orientation", t, !0);
                 var e = this.markerContainer,
                    i = this.valueAxis;
                 "horizontal" == t ? (f.hasValue(this.width) || (this.width = 200), this.height = void 0, i.width = Object(l.c)(100), i.height = void 0, i.tooltip.pointerOrientation = "vertical", this.layout = "vertical", e.width = Object(l.c)(100), e.height = void 0, i.renderer instanceof c.a || (i.renderer = new c.a)) : (f.hasValue(this.height) || (this.height = 200), this.width = void 0, this.layout = "horizontal", e.width = void 0, e.height = Object(l.c)(100), i.height = Object(l.c)(100), i.width = void 0, i.tooltip.pointerOrientation = "horizontal", i.renderer instanceof p.a || (i.renderer = new p.a), i.renderer.inside = !0, i.renderer.labels.template.inside = !0);
                 var n = i.renderer;
                 n.grid.template.disabled = !0, n.axisFills.template.disabled = !0, n.baseGrid.disabled = !0, n.labels.template.padding(2, 3, 2, 3), n.minHeight = void 0, n.minWidth = void 0, this.markerContainer.layout = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "valueAxis", {
              get: function () {
                 return this._valueAxis || (this.valueAxis = this.createChild(h.a), this.valueAxis.shouldClone = !1), this._valueAxis
              },
              set: function (t) {
                 this._valueAxis = t, t.parent = this, t.strictMinMax = !0, this.orientation = this.orientation
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "series", {
              get: function () {
                 return this._series
              },
              set: function (t) {
                 var e = this;
                 this._series = t;
                 var i = "value";
                 try {
                    var n = t.heatRules.getIndex(0).dataField;
                    n && (i = n)
                 } catch (t) {}
                 this.updateMinMax(t.dataItem.values[i].low, t.dataItem.values[i].high), t.dataItem.events.on("calculatedvaluechanged", function (n) {
                    e.updateMinMax(t.dataItem.values[i].low, t.dataItem.values[i].high)
                 }, void 0, !1), t.heatRules.events.on("inserted", this.invalidate, this, !1), t.heatRules.events.on("removed", this.invalidate, this, !1)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateMinMax = function (t, e) {
              var i = this.valueAxis;
              f.isNumber(this.minValue) || (i.min = t, i.invalidate()), f.isNumber(this.maxValue) || (i.max = e, i.invalidate())
           }, e.prototype.processConfig = function (e) {
              if (e && f.hasValue(e.series) && f.isString(e.series) && f.isString(e.series))
                 if (this.map.hasKey(e.series)) e.series = this.map.getKey(e.series);
                 else {
                    var i = e.series,
                       n = this.map.events.on("insertKey", function (t) {
                          t.key == i && (this.series = t.newValue, n.dispose())
                       }, this);
                    this._disposers.push(n), delete e.series
                 } t.prototype.processConfig.call(this, e)
           }, e
        }(r.a);
     a.b.registeredClasses.HeatLegend = m
  },
  "2i0j": function (t, e, i) {
     "use strict";
     var n = i("MfZA"),
        r = RegExp.prototype.exec;
     t.exports = function (t, e) {
        var i = t.exec;
        if ("function" == typeof i) {
           var o = i.call(t, e);
           if ("object" != typeof o) throw new TypeError("RegExp exec method returned something other than an Object or null");
           return o
        }
        if ("RegExp" !== n(t)) throw new TypeError("RegExp#exec called on incompatible receiver");
        return r.call(t, e)
     }
  },
  "3/+B": function (t, e, i) {
     "use strict";
     t.exports = i("pb4Y") || !i("AEc5")(function () {
        var t = Math.random();
        __defineSetter__.call(null, t, function () {}), delete i("T9LF")[t]
     })
  },
  "3/51": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("DA7/"),
        o = i("aCit"),
        a = i("Gg2j"),
        s = i("Mtpk"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.lightnesses = [], e.brightnesses = [], e.opacities = [], e.offsets = [], e.className = "GradientModifier", e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "lightnesses", {
              get: function () {
                 return this._lightnesses
              },
              set: function (t) {
                 this._lightnesses = t, this._brightnesses = []
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "brightnesses", {
              get: function () {
                 return this._brightnesses
              },
              set: function (t) {
                 this._brightnesses = t, this._lightnesses = []
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "opacities", {
              get: function () {
                 return this._opacities
              },
              set: function (t) {
                 this._opacities = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "offsets", {
              get: function () {
                 return this._offsets
              },
              set: function (t) {
                 this._offsets = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.modify = function (t) {
              this.gradient.clear();
              var e = 0;
              this.opacities && (e = a.max(e, this.opacities.length)), this.lightnesses && (e = a.max(e, this.lightnesses.length)), this.brightnesses && (e = a.max(e, this.brightnesses.length));
              for (var i, n, r = 1, o = 0; o < e; o++) {
                 var u = t;
                 this.opacities && s.isNumber(this.opacities[o]) && (r = this.opacities[o]), this.lightnesses && s.isNumber(this.lightnesses[o]) && (i = this.lightnesses[o], n = void 0), this.brightnesses && s.isNumber(this.brightnesses[o]) && (n = this.brightnesses[o], i = void 0), s.isNumber(n) ? u = t.brighten(this.brightnesses[o]) : s.isNumber(i) && (u = t.lighten(this.lightnesses[o]));
                 var l = this.offsets[o];
                 this.gradient.addColor(u, r, l)
              }
              return this.gradient
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this._offsets = e.offsets, this._brightnesses = e.brightnesses, this._lightnesses = e.lightnesses, this._opacities = e.opacities
           }, e
        }(r.a);
     o.b.registeredClasses.GradientModifier = u
  },
  "31Mu": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("9i/o");
     n(n.P + n.F * (Date.prototype.toISOString !== r), "Date", {
        toISOString: r
     })
  },
  "36h5": function (t, e) {
     t.exports = function (t, e) {
        return {
           value: e,
           done: !!t
        }
     }
  },
  "3BzE": function (t, e, i) {
     var n = i("ODWe"),
        r = i("heQh");
     t.exports = Object.keys || function (t) {
        return n(t, r)
     }
  },
  "3Cxr": function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.order = function (t, e) {
        return t === e ? 0 : t < e ? -1 : 1
     }
  },
  "3X+j": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        RAD_PER_DEG: 180 / Math.PI
     })
  },
  "3fx7": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("AEc5"),
        o = i("GIxq"),
        a = 1..toPrecision;
     n(n.P + n.F * (r(function () {
        return "1" !== a.call(1, void 0)
     }) || !r(function () {
        a.call({})
     })), "Number", {
        toPrecision: function (t) {
           var e = o(this, "Number#toPrecision: incorrect invocation!");
           return void 0 === t ? a.call(e) : a.call(e, t)
        }
     })
  },
  "3mH9": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("DbOM"),
        o = i("20m4"),
        a = i("hpnp");
     t.exports = function (t) {
        n(n.S, t, {
           from: function (t) {
              var e, i, n, s, u = arguments[1];
              return r(this), (e = void 0 !== u) && r(u), void 0 == t ? new this : (i = [], e ? (n = 0, s = o(u, arguments[2], 2), a(t, !1, function (t) {
                 i.push(s(t, n++))
              })) : a(t, !1, i.push, i), new this(i))
           }
        })
     }
  },
  "3xrs": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(4);
     n(n.P + n.F * !i("GQop")([].every, !0), "Array", {
        every: function (t) {
           return r(this, t, arguments[1])
        }
     })
  },
  "4BRe": function (t, e) {
     var i = Math.ceil,
        n = Math.floor;
     t.exports = function (t) {
        return isNaN(t = +t) ? 0 : (t > 0 ? n : i)(t)
     }
  },
  "4DCw": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("mIpt"),
        o = i("Mtpk"),
        a = i("hJ5i"),
        s = [",", ";", "\t"],
        u = function (t) {
           function e() {
              var e = null !== t && t.apply(this, arguments) || this;
              return e.contentType = "text/csv", e.options = {
                 delimiter: "",
                 reverse: !1,
                 skipRows: 0,
                 skipEmpty: !0,
                 useColumnNames: !1
              }, e
           }
           return n.c(e, t), e.isCSV = function (t) {
              return !!e.getDelimiterFromData(t)
           }, e.getDelimiterFromData = function (t) {
              var e, i = t.split("\n"),
                 n = i.length;
              return a.each(s, function (t) {
                 for (var r = 0, o = 0, a = 0; a < n; ++a) {
                    if (!((r = i[a].split(t).length) > 1)) {
                       o = 0;
                       break
                    }
                    if (0 === o) o = r;
                    else if (r != o) {
                       o = 0;
                       break
                    }
                 }
                 o && (e = t)
              }), e
           }, e.prototype.parse = function (t) {
              this.options.delimiter || (this.options.delimiter = e.getDelimiterFromData(t));
              var i, n, r, a = this.CSVToArray(t, this.options.delimiter),
                 s = o.hasValue(this.options.emptyAs),
                 u = this.parsableNumbers,
                 l = this.parsableDates,
                 h = [],
                 c = [];
              if (this.options.useColumnNames) {
                 c = a.shift();
                 for (var p = 0; p < c.length; p++) "" === (i = o.hasValue(c[p]) ? c[p].replace(/^\s+|\s+$/gm, "") : "") && (i = "col" + p), c[p] = i;
                 0 < this.options.skipRows && this.options.skipRows--
              }
              for (n = 0; n < this.options.skipRows; n++) a.shift();
              for (; r = this.options.reverse ? a.pop() : a.shift();)
                 if (!this.options.skipEmpty || 1 !== r.length || "" !== r[0]) {
                    var d = {};
                    for (n = 0; n < r.length; n++) d[i = void 0 === c[n] ? "col" + n : c[n]] = "" === r[n] ? this.options.emptyAs : r[n], s && (d[i] = this.maybeToEmpty(d[i])), u && (d[i] = this.maybeToNumber(i, d[i])), l && (d[i] = this.maybeToDate(i, d[i]));
                    h.push(d)
                 } return h
           }, e.prototype.CSVToArray = function (t, e) {
              e = e || ",";
              for (var i = new RegExp("(\\" + e + '|\\r?\\n|\\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"\\' + e + "\\r\\n]*))", "gi"), n = [
                    []
                 ], r = null; r = i.exec(t);) {
                 var o = r[1];
                 o.length && o !== e && n.push([]);
                 var a = void 0;
                 a = r[2] ? r[2].replace(new RegExp('""', "g"), '"') : r[3], n[n.length - 1].push(a)
              }
              return n
           }, e
        }(r.a)
  },
  "4McO": function (t, e, i) {
     "use strict";
     var n = i("0Zt3"),
        r = i("snR7"),
        o = i("QXbb"),
        a = i("YxCF"),
        s = i("FmWr"),
        u = i("2i0j"),
        l = i("2Nze"),
        h = Math.min,
        c = [].push,
        p = !! function () {
           try {
              return new RegExp("x", "y")
           } catch (t) {}
        }();
     i("7V6K")("split", 2, function (t, e, i, d) {
        var f;
        return f = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function (t, e) {
           var r = String(this);
           if (void 0 === t && 0 === e) return [];
           if (!n(t)) return i.call(r, t, e);
           for (var o, a, s, u = [], h = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), p = 0, d = void 0 === e ? 4294967295 : e >>> 0, f = new RegExp(t.source, h + "g");
              (o = l.call(f, r)) && !((a = f.lastIndex) > p && (u.push(r.slice(p, o.index)), o.length > 1 && o.index < r.length && c.apply(u, o.slice(1)), s = o[0].length, p = a, u.length >= d));) f.lastIndex === o.index && f.lastIndex++;
           return p === r.length ? !s && f.test("") || u.push("") : u.push(r.slice(p)), u.length > d ? u.slice(0, d) : u
        } : "0".split(void 0, 0).length ? function (t, e) {
           return void 0 === t && 0 === e ? [] : i.call(this, t, e)
        } : i, [function (i, n) {
           var r = t(this),
              o = void 0 == i ? void 0 : i[e];
           return void 0 !== o ? o.call(i, r, n) : f.call(String(r), i, n)
        }, function (t, e) {
           var n = d(f, t, this, e, f !== i);
           if (n.done) return n.value;
           var l = r(t),
              c = String(this),
              g = o(l, RegExp),
              y = l.unicode,
              m = (l.ignoreCase ? "i" : "") + (l.multiline ? "m" : "") + (l.unicode ? "u" : "") + (p ? "y" : "g"),
              b = new g(p ? l : "^(?:" + l.source + ")", m),
              v = void 0 === e ? 4294967295 : e >>> 0;
           if (0 === v) return [];
           if (0 === c.length) return null === u(b, c) ? [c] : [];
           for (var _ = 0, x = 0, P = []; x < c.length;) {
              b.lastIndex = p ? x : 0;
              var w, O = u(b, p ? c : c.slice(x));
              if (null === O || (w = h(s(b.lastIndex + (p ? 0 : x)), c.length)) === _) x = a(c, x, y);
              else {
                 if (P.push(c.slice(_, x)), P.length === v) return P;
                 for (var S = 1; S <= O.length - 1; S++)
                    if (P.push(O[S]), P.length === v) return P;
                 x = _ = w
              }
           }
           return P.push(c.slice(_)), P
        }]
     })
  },
  "5+SK": function (t, e, i) {
     var n = i("snR7"),
        r = i("p3CN"),
        o = i("heQh"),
        a = i("VYrJ")("IE_PROTO"),
        s = function () {},
        u = function () {
           var t, e = i("+wz8")("iframe"),
              n = o.length;
           for (e.style.display = "none", i("Ax3V").appendChild(e), e.src = "javascript:", (t = e.contentWindow.document).open(), t.write("<script>document.F=Object<\/script>"), t.close(), u = t.F; n--;) delete u.prototype[o[n]];
           return u()
        };
     t.exports = Object.create || function (t, e) {
        var i;
        return null !== t ? (s.prototype = n(t), i = new s, s.prototype = null, i[a] = t) : i = u(), void 0 === e ? i : r(i, e)
     }
  },
  "57Qg": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("sxbc");
     n(n.S, "Math", {
        cbrt: function (t) {
           return r(t = +t) * Math.pow(Math.abs(t), 1 / 3)
        }
     })
  },
  "58Sn": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     }), i.d(e, "e", function () {
        return c
     }), i.d(e, "d", function () {
        return p
     }), e.g = function (t, e, i, n) {
        return t.addEventListener(e, i, n || !1), new o.b(function () {
           t.removeEventListener(e, i, n || !1)
        })
     }, e.m = function (t) {
        if (l.isString(t)) {
           var e = document.getElementById(t);
           if (null == e && (e = document.getElementsByClassName(t)[0]), e instanceof HTMLElement) return e
        } else if (t instanceof HTMLElement) return t
     }, e.f = function (t, e) {
        if (t.classList) t.classList.add(e);
        else {
           var i = t.getAttribute("class");
           i ? t.setAttribute("class", i.split(" ").filter(function (t) {
              return t !== e
           }).join(" ") + " " + e) : t.setAttribute("class", e)
        }
     }, e.q = function (t, e) {
        if (t.classList) t.classList.remove(e);
        else {
           var i = t.getAttribute("class");
           i && t.setAttribute("class", i.split(" ").filter(function (t) {
              return t !== e
           }).join(" "))
        }
     }, e.r = function (t, e, i) {
        t.style[e] = i
     }, e.h = function () {
        var t = document.createElement("input");
        t.style.position = "fixed", t.style.top = "0px", t.style.left = "-10000px", document.body.appendChild(t), t.focus(), t.blur(), document.body.removeChild(t)
     }, e.l = function (t) {
        if (t instanceof HTMLElement) t.focus();
        else {
           var e = document.createElement("input"),
              i = document.createElementNS(h, "foreignObject");
           i.appendChild(e), t.appendChild(i), e.focus(), e.disabled = !0, i.remove()
        }
     }, e.o = function (t) {
        if (t.outerHTML) return t.outerHTML;
        var e = document.createElement("div"),
           i = t.cloneNode(!0);
        e.appendChild(i);
        var n = e.innerHTML;
        return n
     }, e.n = function (t) {
        return t instanceof Object && t && 1 === t.nodeType
     }, e.i = function (t, e) {
        return t !== e && (t.contains ? t.contains(e) : !t.compareDocumentPosition || !!(16 & t.compareDocumentPosition(e)))
     }, e.j = function (t, e) {
        u.each(t.attributes, function (t) {
           null != t.value && e.setAttribute(t.name, t.value)
        })
     }, e.k = function (t) {
        Object(a.c)(function () {
           try {
              var e = t.getBoundingClientRect(),
                 i = e.left - Math.round(e.left),
                 n = e.top - Math.round(e.top);
              0 !== i && Object(a.f)(function () {
                 t.style.left = i + "px"
              }), 0 !== n && Object(a.f)(function () {
                 t.style.top = n + "px"
              })
           } catch (t) {}
        })
     }, i.d(e, "c", function () {
        return f
     }), i.d(e, "b", function () {
        return y
     }), e.p = function (t) {
        if ("loading" !== document.readyState) t();
        else {
           var e = function () {
              "loading" !== document.readyState && (document.removeEventListener("readystatechange", e), t())
           };
           document.addEventListener("readystatechange", e)
        }
     };
     var n, r = i("m4/l"),
        o = i("hD5A"),
        a = i("/9XX"),
        s = i("Qkdp"),
        u = i("hJ5i"),
        l = i("Mtpk"),
        h = "http://www.w3.org/2000/svg",
        c = "http://www.w3.org/2000/xmlns/",
        p = "http://www.w3.org/1999/xlink";

     function d() {
        if (!l.hasValue(n)) {
           var t = document.createElement("style");
           t.type = "text/css", document.head.appendChild(t), n = t.sheet
        }
        return n
     }
     var f = function (t) {
           function e(e, i) {
              var n = t.call(this, function () {
                 var t = d(),
                    e = u.indexOf(t.cssRules, n._rule);
                 if (-1 === e) throw new Error("Could not dispose StyleRule");
                 t.deleteRule(e)
              }) || this;
              return n._rule = function (t) {
                 var e = d(),
                    i = e.cssRules.length;
                 return e.insertRule(t + "{}", i), e.cssRules[i]
              }(e), s.each(i, function (t, e) {
                 n.setStyle(t, e)
              }), n
           }
           return r.c(e, t), Object.defineProperty(e.prototype, "selector", {
              get: function () {
                 return this._rule.selectorText
              },
              set: function (t) {
                 this._rule.selectorText = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype._setVendorPrefixName = function (t, e) {
              var i = this._rule.style;
              i.setProperty("-webkit-" + t, e, ""), i.setProperty("-moz-" + t, e, ""), i.setProperty("-ms-" + t, e, ""), i.setProperty("-o-" + t, e, ""), i.setProperty(t, e, "")
           }, e.prototype.setStyle = function (t, e) {
              "transition" === t ? this._setVendorPrefixName(t, e) : this._rule.style.setProperty(t, e, "")
           }, e
        }(o.b),
        g = 0,
        y = function (t) {
           function e(e, i) {
              var n = this,
                 r = l.hasValue(i) ? i : "__style_" + ++g + "__";
              return (n = t.call(this, "." + r, e) || this)._className = r, n
           }
           return r.c(e, t), Object.defineProperty(e.prototype, "className", {
              get: function () {
                 return this._className
              },
              set: function (t) {
                 this._className = t, this.selector = "." + t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.toString = function () {
              return this._className
           }, e
        }(f)
  },
  "5BRL": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("EhJv"),
        o = [].join;
     n(n.P + n.F * (i("sHIJ") != Object || !i("GQop")(o)), "Array", {
        join: function (t) {
           return o.call(r(this), void 0 === t ? "," : t)
        }
     })
  },
  "5LIN": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("AzI1"),
        o = Math.sqrt,
        a = Math.acosh;
     n(n.S + n.F * !(a && 710 == Math.floor(a(Number.MAX_VALUE)) && a(1 / 0) == 1 / 0), "Math", {
        acosh: function (t) {
           return (t = +t) < 1 ? NaN : t > 94906265.62425156 ? Math.log(t) + Math.LN2 : r(t - 1 + o(t - 1) * o(t + 1))
        }
     })
  },
  "5Les": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Number", {
        isInteger: i("hcxM")
     })
  },
  "5lay": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("G5U1"),
        o = i("AEc5");
     t.exports = function (t, e) {
        var i = (r.Object || {})[t] || Object[t],
           a = {};
        a[t] = e(i), n(n.S + n.F * o(function () {
           i(1)
        }), "Object", a)
     }
  },
  "6+x4": function (t, e, i) {
     "use strict";
     var n = i("Gb1H");
     t.exports = function (t) {
        n(n.S, t, {
           of: function () {
              for (var t = arguments.length, e = new Array(t); t--;) e[t] = arguments[t];
              return new this(e)
           }
        })
     }
  },
  "6/bx": function (t, e, i) {
     var n = i("DvJ+"),
        r = i("7GtY").set;
     t.exports = function (t, e, i) {
        var o, a = e.constructor;
        return a !== i && "function" == typeof a && (o = a.prototype) !== i.prototype && n(o) && r && r(t, o), t
     }
  },
  "68eo": function (t, e, i) {
     i("3mH9")("WeakSet")
  },
  "6MWL": function (t, e, i) {
     var n = i("dLrC"),
        r = i("Gb1H"),
        o = i("OB1/")("metadata"),
        a = o.store || (o.store = new(i("BYDm"))),
        s = function (t, e, i) {
           var r = a.get(t);
           if (!r) {
              if (!i) return;
              a.set(t, r = new n)
           }
           var o = r.get(e);
           if (!o) {
              if (!i) return;
              r.set(e, o = new n)
           }
           return o
        };
     t.exports = {
        store: a,
        map: s,
        has: function (t, e, i) {
           var n = s(e, i, !1);
           return void 0 !== n && n.has(t)
        },
        get: function (t, e, i) {
           var n = s(e, i, !1);
           return void 0 === n ? void 0 : n.get(t)
        },
        set: function (t, e, i, n) {
           s(i, n, !0).set(t, e)
        },
        keys: function (t, e) {
           var i = s(t, e, !1),
              n = [];
           return i && i.forEach(function (t, e) {
              n.push(e)
           }), n
        },
        key: function (t) {
           return void 0 === t || "symbol" == typeof t ? t : String(t)
        },
        exp: function (t) {
           r(r.S, "Reflect", t)
        }
     }
  },
  "6PqY": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("5+SK"),
        o = i("DbOM"),
        a = i("snR7"),
        s = i("DvJ+"),
        u = i("AEc5"),
        l = i("lLkc"),
        h = (i("T9LF").Reflect || {}).construct,
        c = u(function () {
           function t() {}
           return !(h(function () {}, [], t) instanceof t)
        }),
        p = !u(function () {
           h(function () {})
        });
     n(n.S + n.F * (c || p), "Reflect", {
        construct: function (t, e) {
           o(t), a(e);
           var i = arguments.length < 3 ? t : o(arguments[2]);
           if (p && !c) return h(t, e, i);
           if (t == i) {
              switch (e.length) {
                 case 0:
                    return new t;
                 case 1:
                    return new t(e[0]);
                 case 2:
                    return new t(e[0], e[1]);
                 case 3:
                    return new t(e[0], e[1], e[2]);
                 case 4:
                    return new t(e[0], e[1], e[2], e[3])
              }
              var n = [null];
              return n.push.apply(n, e), new(l.apply(t, n))
           }
           var u = i.prototype,
              d = r(s(u) ? u : Object.prototype),
              f = Function.apply.call(t, d, e);
           return s(f) ? f : d
        }
     })
  },
  "6l3Y": function (t, e, i) {
     var n = i("Gb1H");
     n(n.P + n.R, "Map", {
        toJSON: i("dJEq")("Map")
     })
  },
  "6mHT": function (t, e, i) {
     for (var n = i("2/6D"), r = i("3BzE"), o = i("wDk4"), a = i("T9LF"), s = i("Vng0"), u = i("9BM3"), l = i("YEtG"), h = l("iterator"), c = l("toStringTag"), p = u.Array, d = {
           CSSRuleList: !0,
           CSSStyleDeclaration: !1,
           CSSValueList: !1,
           ClientRectList: !1,
           DOMRectList: !1,
           DOMStringList: !1,
           DOMTokenList: !0,
           DataTransferItemList: !1,
           FileList: !1,
           HTMLAllCollection: !1,
           HTMLCollection: !1,
           HTMLFormElement: !1,
           HTMLSelectElement: !1,
           MediaList: !0,
           MimeTypeArray: !1,
           NamedNodeMap: !1,
           NodeList: !0,
           PaintRequestList: !1,
           Plugin: !1,
           PluginArray: !1,
           SVGLengthList: !1,
           SVGNumberList: !1,
           SVGPathSegList: !1,
           SVGPointList: !1,
           SVGStringList: !1,
           SVGTransformList: !1,
           SourceBufferList: !1,
           StyleSheetList: !0,
           TextTrackCueList: !1,
           TextTrackList: !1,
           TouchList: !1
        }, f = r(d), g = 0; g < f.length; g++) {
        var y, m = f[g],
           b = d[m],
           v = a[m],
           _ = v && v.prototype;
        if (_ && (_[h] || s(_, h, p), _[c] || s(_, c, m), u[m] = p, b))
           for (y in n) _[y] || o(_, y, n[y], !0)
     }
  },
  "6w17": function (t, e, i) {
     "use strict";
     var n = i("DbOM");
     t.exports.f = function (t) {
        return new function (t) {
           var e, i;
           this.promise = new t(function (t, n) {
              if (void 0 !== e || void 0 !== i) throw TypeError("Bad Promise constructor");
              e = t, i = n
           }), this.resolve = n(e), this.reject = n(i)
        }(t)
     }
  },
  "73ri": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("vMqJ"),
        a = i("x79X"),
        s = i("aCit"),
        u = i("Wglt"),
        l = i("hJ5i"),
        h = i("Mtpk"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._rules = new o.b, e._defaultRules = new o.b, e._appliedRules = {}, e._useDefault = !0, e.adapter = new a.a(e), e._enabled = !1, e._noStates = [], e.className = "Responsive", e.rules.events.on("inserted", e.checkRules, !0), e.rules.events.on("removed", e.checkRules, !0), e._disposers.push(e.rules.events), e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "component", {
              get: function () {
                 return this._component
              },
              set: function (t) {
                 t != this._component && (this._sizeEventDisposer && this.removeDispose(this._sizeEventDisposer), this._component = t, this._sizeEventDisposer = h.getValue(this.component).events.on("sizechanged", this.checkRules, this), this._disposers.push(this._sizeEventDisposer), this.enabled = !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "enabled", {
              get: function () {
                 return this.adapter.apply("enabled", this._enabled)
              },
              set: function (t) {
                 this._enabled != t && (this._enabled = t, this.applyRules())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "useDefault", {
              get: function () {
                 return this.adapter.apply("useDefault", this._useDefault)
              },
              set: function (t) {
                 this._useDefault != t && (this._useDefault = !0, this.applyRules())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "rules", {
              get: function () {
                 return this.adapter.apply("rules", this._rules)
              },
              set: function (t) {
                 this._rules = t, this._enabled = !0, this.applyRules()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "defaultRules", {
              get: function () {
                 return this.adapter.apply("defaultRules", this._defaultRules)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "allRules", {
              get: function () {
                 var t = new o.b;
                 return this.useDefault && t.copyFrom(this.defaultRules), t.copyFrom(this.rules), this.adapter.apply("allRules", t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.isApplied = function (t) {
              var e = this._appliedRules[t];
              return !!h.hasValue(e) && e
           }, e.prototype.checkRules = function () {
              var t = this;
              if (this.useDefault && 0 == this.defaultRules.length) this.loadDefaultRules().then(function (e) {
                 t._defaultRules.setAll(e.default), t.checkRules()
              });
              else {
                 var e = this.allRules;
                 if (e && 0 != e.length) {
                    var i = !1,
                       n = h.getValue(this.component);
                    u.each(e.iterator(), function (e) {
                       e.id || (e.id = s.b.getUniqueId());
                       var r = e.relevant(n);
                       (r && !t.isApplied(e.id) || !r && t.isApplied(e.id)) && (i = !0), t._appliedRules[e.id] = r
                    }), i && this.applyRules()
                 }
              }
           }, e.prototype.applyRules = function (t) {
              var e = this,
                 i = h.hasValue(t) ? t : h.getValue(this.component),
                 n = !1;
              this.enabled && u.each(this.allRules.iterator(), function (t) {
                 var r = e.getState(t, i);
                 r && (n || (i.applyCurrentState(0), n = !0), e.isApplied(h.getValue(t.id)) && i.setState(r))
              }), i.children && u.each(i.children.iterator(), function (t) {
                 e.applyRules(t)
              })
           }, e.prototype.getState = function (t, e) {
              var i = "responsive-" + t.id,
                 n = e.uid + "_" + i;
              if (-1 === l.indexOf(this._noStates, n)) {
                 if (e.states.hasKey(i)) return e.states.getKey(i);
                 var r = t.state(e, i);
                 return r || this._noStates.push(n), r
              }
           }, e.prototype.getValue = function (t, e) {
              var i = t.getPropertyValue(e);
              return !h.hasValue(i) && h.hasValue(t[e]) && (i = t[e]), i
           }, e.prototype.loadDefaultRules = function () {
              return i.e("f69a").then(i.bind(null, "lG9b"))
           }, e
        }(r.b)
  },
  "7DgU": function (t, e, i) {
     i("YJIw")("Uint32", 4, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  "7GtY": function (t, e, i) {
     var n = i("DvJ+"),
        r = i("snR7"),
        o = function (t, e) {
           if (r(t), !n(e) && null !== e) throw TypeError(e + ": can't set as prototype!")
        };
     t.exports = {
        set: Object.setPrototypeOf || ("__proto__" in {} ? function (t, e, n) {
           try {
              (n = i("20m4")(Function.call, i("nHHr").f(Object.prototype, "__proto__").set, 2))(t, []), e = !(t instanceof Array)
           } catch (t) {
              e = !0
           }
           return function (t, i) {
              return o(t, i), e ? t.__proto__ = i : n(t, i), t
           }
        }({}, !1) : void 0),
        check: o
     }
  },
  "7V6K": function (t, e, i) {
     "use strict";
     i("zy/o");
     var n = i("wDk4"),
        r = i("Vng0"),
        o = i("AEc5"),
        a = i("kcsd"),
        s = i("YEtG"),
        u = i("2Nze"),
        l = s("species"),
        h = !o(function () {
           var t = /./;
           return t.exec = function () {
              var t = [];
              return t.groups = {
                 a: "7"
              }, t
           }, "7" !== "".replace(t, "$<a>")
        }),
        c = function () {
           var t = /(?:)/,
              e = t.exec;
           t.exec = function () {
              return e.apply(this, arguments)
           };
           var i = "ab".split(t);
           return 2 === i.length && "a" === i[0] && "b" === i[1]
        }();
     t.exports = function (t, e, i) {
        var p = s(t),
           d = !o(function () {
              var e = {};
              return e[p] = function () {
                 return 7
              }, 7 != "" [t](e)
           }),
           f = d ? !o(function () {
              var e = !1,
                 i = /a/;
              return i.exec = function () {
                 return e = !0, null
              }, "split" === t && (i.constructor = {}, i.constructor[l] = function () {
                 return i
              }), i[p](""), !e
           }) : void 0;
        if (!d || !f || "replace" === t && !h || "split" === t && !c) {
           var g = /./ [p],
              y = i(a, p, "" [t], function (t, e, i, n, r) {
                 return e.exec === u ? d && !r ? {
                    done: !0,
                    value: g.call(e, i, n)
                 } : {
                    done: !0,
                    value: t.call(i, e, n)
                 } : {
                    done: !1
                 }
              }),
              m = y[0],
              b = y[1];
           n(String.prototype, t, m), r(RegExp.prototype, p, 2 == e ? function (t, e) {
              return b.call(t, this, e)
           } : function (t) {
              return b.call(t, this)
           })
        }
     }
  },
  "7Va9": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("T9LF").isFinite;
     n(n.S, "Number", {
        isFinite: function (t) {
           return "number" == typeof t && r(t)
        }
     })
  },
  "7XB+": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("P/bD"),
        o = i("Tjl+"),
        a = i("MipW"),
        s = i("aCit"),
        u = i("ScGY"),
        l = i("v9UT"),
        h = i("Mtpk"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._dateFormat = "yyyy-MM-dd", e._inputDateFormat = "yyyy-MM-dd", e._utc = !1, e._firstDayOfWeek = 1, e._months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], e._monthsShort = ["Jan", "Feb", "Mar", "Apr", "May(short)", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], e._weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], e._weekdaysShort = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], e._outputFormat = "svg", e.capitalize = !0, e.className = "DateFormatter", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.format = function (t, e) {
              this.language || (this.sprite ? this.language = this.sprite.language : this.language = new r.a), void 0 !== e && "" !== e || (e = this._dateFormat), e = l.cleanFormat(e);
              var i = this.parseFormat(e),
                 n = l.anyToDate(t);
              if (!h.isNumber(n.getTime())) return this.language.translate("Invalid date");
              var o = this.applyFormat(n, i, this.language);
              return this.capitalize && (o = o.replace(/^.{1}/, o.substr(0, 1).toUpperCase())), o
           }, e.prototype.parseFormat = function (t) {
              var e = this.getCache(t);
              if (h.hasValue(e)) return e;
              for (var i = {
                    template: "",
                    parts: []
                 }, n = Object(a.b)().chunk(t, !0), r = 0; r < n.length; r++) {
                 var o = n[r];
                 if ("value" === o.type) {
                    o.text.match(/^date$/i) && (o.text = this._dateFormat);
                    var s = o.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);
                    if (s)
                       for (var l = 0; l < s.length; l++) i.parts.push(s[l]), o.text = o.text.replace(s[l], u.d)
                 }
                 i.template += o.text
              }
              return this.setCache(t, i), i
           }, e.prototype.applyFormat = function (t, e, i) {
              var n, r, o, a, s, h, c, p, d = e.template,
                 f = t.getTimezoneOffset(),
                 g = t.getTime();
              this.utc ? (n = t.getUTCFullYear(), r = t.getUTCMonth(), o = t.getUTCDay(), a = t.getUTCDate(), s = t.getUTCHours(), h = t.getUTCMinutes(), c = t.getUTCSeconds(), p = t.getUTCMilliseconds()) : (n = t.getFullYear(), r = t.getMonth(), o = t.getDay(), a = t.getDate(), s = t.getHours(), h = t.getMinutes(), c = t.getSeconds(), p = t.getMilliseconds());
              for (var y = 0, m = e.parts.length; y < m; y++) {
                 var b = "";
                 switch (e.parts[y]) {
                    case "G":
                       b = i.translate(n < 0 ? "_era_bc" : "_era_ad");
                       break;
                    case "yyyy":
                       b = Math.abs(n).toString(), n < 0 && (b += i.translate("_era_bc"));
                       break;
                    case "yyy":
                    case "yy":
                    case "y":
                       b = Math.abs(n).toString().substr(-e.parts[y].length), n < 0 && (b += i.translate("_era_bc"));
                       break;
                    case "YYYY":
                    case "YYY":
                    case "YY":
                    case "Y":
                       var v = n;
                       1 == l.getWeek(t) && o > 1 && v--, b = "YYYY" == e.parts[y] ? Math.abs(v).toString() : Math.abs(v).toString().substr(-e.parts[y].length), v < 0 && (b += i.translate("_era_bc"));
                       break;
                    case "u":
                       break;
                    case "MMMMM":
                       b = i.translate(this._months[r]).substr(0, 1);
                       break;
                    case "MMMM":
                       b = i.translate(this._months[r]);
                       break;
                    case "MMM":
                       b = i.translate(this._monthsShort[r]);
                       break;
                    case "MM":
                       b = l.padString(r + 1, 2, "0");
                       break;
                    case "M":
                       b = (r + 1).toString();
                       break;
                    case "ww":
                       b = l.padString(l.getWeek(t, this.utc), 2, "0");
                       break;
                    case "w":
                       b = l.getWeek(t, this.utc).toString();
                       break;
                    case "W":
                       b = l.getMonthWeek(t, this.utc).toString();
                       break;
                    case "dd":
                       b = l.padString(a, 2, "0");
                       break;
                    case "d":
                       b = a.toString();
                       break;
                    case "DD":
                    case "DDD":
                       b = l.padString(l.getYearDay(t, this.utc).toString(), e.parts[y].length, "0");
                       break;
                    case "D":
                       b = l.getYearDay(t, this.utc).toString();
                       break;
                    case "F":
                    case "g":
                       break;
                    case "t":
                       b = i.translateFunc("_dateOrd").call(this, a);
                       break;
                    case "E":
                       b = (o || 7).toString();
                       break;
                    case "EE":
                       b = l.padString((o || 7).toString(), 2, "0");
                       break;
                    case "EEE":
                    case "eee":
                       b = i.translate(this._weekdaysShort[o]);
                       break;
                    case "EEEE":
                    case "eeee":
                       b = i.translate(this._weekdays[o]);
                       break;
                    case "EEEEE":
                    case "eeeee":
                       b = i.translate(this._weekdays[o]).substr(0, 1);
                       break;
                    case "e":
                    case "ee":
                       b = (o - this.firstDayOfWeek + 1).toString(), "ee" == e.parts[y] && (b = l.padString(b, 2, "0"));
                       break;
                    case "a":
                       b = s >= 12 ? i.translate("PM") : i.translate("AM");
                       break;
                    case "aa":
                       b = s >= 12 ? i.translate("P.M.") : i.translate("A.M.");
                       break;
                    case "aaa":
                       b = s >= 12 ? i.translate("P") : i.translate("A");
                       break;
                    case "h":
                       b = l.get12Hours(s).toString();
                       break;
                    case "hh":
                       b = l.padString(l.get12Hours(s), 2, "0");
                       break;
                    case "H":
                       b = s.toString();
                       break;
                    case "HH":
                       b = l.padString(s, 2, "0");
                       break;
                    case "K":
                       b = l.get12Hours(s, 0).toString();
                       break;
                    case "KK":
                       b = l.padString(l.get12Hours(s, 0), 2, "0");
                       break;
                    case "k":
                       b = (s + 1).toString();
                       break;
                    case "kk":
                       b = l.padString(s + 1, 2, "0");
                       break;
                    case "m":
                       b = h.toString();
                       break;
                    case "mm":
                       b = l.padString(h, 2, "0");
                       break;
                    case "s":
                       b = c.toString();
                       break;
                    case "ss":
                       b = l.padString(c, 2, "0");
                       break;
                    case "S":
                    case "SS":
                    case "SSS":
                       b = Math.round(p / 1e3 * Math.pow(10, e.parts[y].length)).toString();
                       break;
                    case "x":
                       b = g.toString();
                       break;
                    case "n":
                    case "nn":
                    case "nnn":
                       b = l.padString(p, e.parts[y].length, "0");
                       break;
                    case "z":
                       b = l.getTimeZone(t, !1, !1, this.utc);
                       break;
                    case "zz":
                       b = l.getTimeZone(t, !0, !1, this.utc);
                       break;
                    case "zzz":
                       b = l.getTimeZone(t, !1, !0, this.utc);
                       break;
                    case "zzzz":
                       b = l.getTimeZone(t, !0, !0, this.utc);
                       break;
                    case "Z":
                    case "ZZ":
                       var _ = Math.abs(f) / 60,
                          x = Math.floor(_),
                          P = 60 * _ - 60 * x;
                       "Z" == e.parts[y] ? (b = "GMT", b += f > 0 ? "-" : "+", b += l.padString(x, 2) + ":" + l.padString(P, 2)) : (b = f > 0 ? "-" : "+", b += l.padString(x, 2) + l.padString(P, 2));
                       break;
                    case "i":
                       b = t.toISOString();
                       break;
                    case "I":
                       b = t.toUTCString()
                 }
                 d = d.replace(u.d, b)
              }
              return d
           }, e.prototype.parse = function (t, e) {
              if (h.hasValue(e) || (e = this.inputDateFormat), t instanceof Date) return t;
              if ("number" == typeof t) return new Date(t);
              "string" != typeof t && (t = t.toString()), this.language || (this.sprite ? this.language = this.sprite.language : this.language = new r.a);
              var i = new Date(1970, 0, 1, 0, 0, 0),
                 n = "";
              e = l.cleanFormat(e);
              for (var o = this.parseFormat(e), a = {
                    year: -1,
                    year3: -1,
                    year2: -1,
                    year1: -1,
                    month: -1,
                    monthShort: -1,
                    monthLong: -1,
                    weekdayShort: -1,
                    weekdayLong: -1,
                    day: -1,
                    yearDay: -1,
                    week: -1,
                    hourBase0: -1,
                    hour12Base0: -1,
                    hourBase1: -1,
                    hour12Base1: -1,
                    minute: -1,
                    second: -1,
                    millisecond: -1,
                    millisecondDigits: -1,
                    am: -1,
                    zone: -1,
                    timestamp: -1,
                    iso: -1
                 }, s = 0, u = 0, c = 0; c < o.parts.length; c++) {
                 switch (u = c + s + 1, o.parts[c]) {
                    case "yyyy":
                    case "YYYY":
                       n += "([0-9]{4,})", a.year = u;
                       break;
                    case "yyy":
                    case "YYY":
                       n += "([0-9]{3})", a.year3 = u;
                       break;
                    case "yy":
                    case "YY":
                       n += "([0-9]{2})", a.year2 = u;
                       break;
                    case "y":
                    case "Y":
                       n += "([0-9]{1})", a.year1 = u;
                       break;
                    case "MMMM":
                       n += "(" + this.getStringList(this._months).join("|") + ")", a.monthLong = u;
                       break;
                    case "MMM":
                       n += "(" + this.getStringList(this._monthsShort).join("|") + ")", a.monthShort = u;
                       break;
                    case "MM":
                    case "M":
                       n += "([0-9]{2}|[0-9]{1})", a.month = u;
                       break;
                    case "ww":
                    case "w":
                       n += "([0-9]{2}|[0-9]{1})", a.week = u;
                       break;
                    case "dd":
                    case "d":
                       n += "([0-9]{2}|[0-9]{1})", a.day = u;
                       break;
                    case "DDD":
                    case "DD":
                    case "D":
                       n += "([0-9]{3}|[0-9]{2}|[0-9]{1})", a.yearDay = u;
                       break;
                    case "dddd":
                       n += "(" + this.getStringList(this._weekdays).join("|") + ")", a.weekdayLong = u;
                       break;
                    case "ddd":
                       n += "(" + this.getStringList(this._weekdaysShort).join("|") + ")", a.weekdayShort = u;
                       break;
                    case "aaa":
                    case "aa":
                    case "a":
                       n += "(" + this.getStringList(["AM", "PM", "A.M.", "P.M.", "A", "P"]).join("|") + ")", a.am = u;
                       break;
                    case "hh":
                    case "h":
                       n += "([0-9]{2}|[0-9]{1})", a.hour12Base1 = u;
                       break;
                    case "HH":
                    case "H":
                       n += "([0-9]{2}|[0-9]{1})", a.hourBase0 = u;
                       break;
                    case "KK":
                    case "K":
                       n += "([0-9]{2}|[0-9]{1})", a.hour12Base0 = u;
                       break;
                    case "kk":
                    case "k":
                       n += "([0-9]{2}|[0-9]{1})", a.hourBase1 = u;
                       break;
                    case "mm":
                    case "m":
                       n += "([0-9]{2}|[0-9]{1})", a.minute = u;
                       break;
                    case "ss":
                    case "s":
                       n += "([0-9]{2}|[0-9]{1})", a.second = u;
                       break;
                    case "SSS":
                    case "SS":
                    case "S":
                       n += "([0-9]{3}|[0-9]{2}|[0-9]{1})", a.millisecond = u, a.millisecondDigits = o.parts[c].length;
                       break;
                    case "nnn":
                    case "nn":
                    case "n":
                       n += "([0-9]{3}|[0-9]{2}|[0-9]{1})", a.millisecond = u;
                       break;
                    case "x":
                       n += "([0-9]{1,})", a.timestamp = u;
                       break;
                    case "Z":
                       n += "GMT([-+]+[0-9]{2}:[0-9]{2})", a.zone = u;
                       break;
                    case "ZZ":
                       n += "([\\-+]+[0-9]{2}[0-9]{2})", a.zone = u;
                       break;
                    case "i":
                       n += "([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2}).([0-9]{3})([Zz]?)", a.iso = u, s += 7;
                       break;
                    case "G":
                    case "YYYY":
                    case "YYY":
                    case "YY":
                    case "Y":
                    case "MMMMM":
                    case "W":
                    case "EEEEE":
                    case "EEEE":
                    case "EEE":
                    case "EE":
                    case "E":
                    case "eeeee":
                    case "eeee":
                    case "eee":
                    case "ee":
                    case "e":
                    case "zzzz":
                    case "zzz":
                    case "zz":
                    case "z":
                    case "t":
                       s--
                 }
                 n += "[^0-9]*"
              }
              var p, d = new RegExp(n);
              if (p = t.match(d)) {
                 if (a.year > -1) {
                    var f = parseInt(p[a.year]);
                    this.utc ? i.setUTCFullYear(f) : i.setFullYear(f)
                 }
                 if (a.year3 > -1) {
                    f = parseInt(p[a.year3]);
                    f += 1e3, this.utc ? i.setUTCFullYear(f) : i.setFullYear(f)
                 }
                 if (a.year2 > -1) {
                    f = parseInt(p[a.year2]);
                    f += f > 50 ? 1e3 : 2e3, this.utc ? i.setUTCFullYear(f) : i.setFullYear(f)
                 }
                 if (a.year1 > -1) {
                    f = parseInt(p[a.year1]);
                    f = 10 * Math.floor((new Date).getFullYear() / 10) + f, this.utc ? i.setUTCFullYear(f) : i.setFullYear(f)
                 }
                 if (a.monthLong > -1) {
                    f = this.resolveMonth(p[a.monthLong]);
                    this.utc ? i.setUTCMonth(f) : i.setMonth(f)
                 }
                 if (a.monthShort > -1) {
                    f = this.resolveShortMonth(p[a.monthShort]);
                    this.utc ? i.setUTCMonth(f) : i.setMonth(f)
                 }
                 if (a.month > -1) {
                    f = parseInt(p[a.month]) - 1;
                    this.utc ? i.setUTCMonth(f) : i.setMonth(f)
                 }
                 if (a.week > -1 && -1 === a.day) {
                    f = l.getDayFromWeek(parseInt(p[a.week]), this.utc ? i.getUTCFullYear() : i.getFullYear(), 1, this.utc);
                    this.utc ? (i.setUTCMonth(0), i.setUTCDate(f)) : (i.setMonth(0), i.setDate(f))
                 }
                 if (a.day > -1) {
                    f = parseInt(p[a.day]);
                    this.utc ? i.setUTCDate(f) : i.setDate(f)
                 }
                 if (a.yearDay > -1) {
                    f = parseInt(p[a.yearDay]);
                    this.utc ? (i.setUTCMonth(0), i.setUTCDate(f)) : (i.setMonth(0), i.setDate(f))
                 }
                 if (a.hourBase0 > -1) {
                    f = parseInt(p[a.hourBase0]);
                    this.utc ? i.setUTCHours(f) : i.setHours(f)
                 }
                 if (a.hourBase1 > -1) {
                    f = parseInt(p[a.hourBase1]) - 1;
                    this.utc ? i.setUTCHours(f) : i.setHours(f)
                 }
                 if (a.hour12Base0 > -1) 11 == (f = parseInt(p[a.hour12Base0])) && (f = 0), a.am > -1 && !this.isAm(p[a.am]) && (f += 12), this.utc ? i.setUTCHours(f) : i.setHours(f);
                 if (a.hour12Base1 > -1) 12 == (f = parseInt(p[a.hour12Base1])) && (f = 0), a.am > -1 && !this.isAm(p[a.am]) && (f += 12), this.utc ? i.setUTCHours(f) : i.setHours(f);
                 if (a.minute > -1) {
                    f = parseInt(p[a.minute]);
                    this.utc ? i.setUTCMinutes(f) : i.setMinutes(f)
                 }
                 if (a.second > -1) {
                    f = parseInt(p[a.second]);
                    this.utc ? i.setUTCSeconds(f) : i.setSeconds(f)
                 }
                 if (a.millisecond > -1) {
                    f = parseInt(p[a.millisecond]);
                    2 == a.millisecondDigits ? f *= 10 : 1 == a.millisecondDigits && (f *= 100), this.utc ? i.setUTCMilliseconds(f) : i.setMilliseconds(f)
                 }
                 if (a.timestamp > -1 && i.setTime(parseInt(p[a.timestamp])), a.zone > -1) {
                    var g = p[a.zone].replace(/:/, ""),
                       y = h.getValue(g.match(/([+\-]?)([0-9]{2})([0-9]{2})/)),
                       m = y[1],
                       b = y[2],
                       v = y[3],
                       _ = 60 * parseInt(b) + parseInt(v);
                    "+" == m && (_ *= -1);
                    var x = _ - i.getTimezoneOffset();
                    0 != x && i.setMinutes(i.getMinutes() + x)
                 }
                 a.iso > -1 && ("Z" == p[a.iso + 7] || "z" == p[a.iso + 7] ? ((i = new Date).setUTCFullYear(h.toNumber(p[a.iso + 0])), i.setUTCMonth(h.toNumber(p[a.iso + 1]) - 1), i.setUTCDate(h.toNumber(p[a.iso + 2])), i.setUTCHours(h.toNumber(p[a.iso + 3])), i.setUTCMinutes(h.toNumber(p[a.iso + 4])), i.setUTCSeconds(h.toNumber(p[a.iso + 5])), i.setUTCMilliseconds(h.toNumber(p[a.iso + 6]))) : i = new Date(h.toNumber(p[a.iso + 0]), h.toNumber(p[a.iso + 1]) - 1, h.toNumber(p[a.iso + 2]), h.toNumber(p[a.iso + 3]), h.toNumber(p[a.iso + 4]), h.toNumber(p[a.iso + 5]), h.toNumber(p[a.iso + 6])))
              } else i = new Date(t);
              return i
           }, e.prototype.resolveMonth = function (t) {
              var e = this._months.indexOf(t);
              return e > -1 ? e : this.language && !this.language.isDefault() && (e = this.language.translateAll(this._months).indexOf(t)) > -1 ? e : 0
           }, e.prototype.resolveShortMonth = function (t) {
              var e = this._monthsShort.indexOf(t);
              return e > -1 ? e : this.language && !this.language.isDefault() && (e = this.language.translateAll(this._monthsShort).indexOf(t)) > -1 ? e : 0
           }, e.prototype.isAm = function (t) {
              return this.getStringList(["AM", "A.M.", "A"]).indexOf(t.toUpperCase()) > -1
           }, e.prototype.invalidateSprite = function () {
              this.sprite && this.sprite.invalidate()
           }, e.prototype.getStringList = function (t) {
              for (var e = [], i = 0; i < t.length; i++) e.push(l.escapeForRgex(t[i])), this.language && !this.language.isDefault() && e.push(l.escapeForRgex(this.language.translate(t[i])));
              return e
           }, Object.defineProperty(e.prototype, "dateFormat", {
              get: function () {
                 return this._dateFormat
              },
              set: function (t) {
                 this._dateFormat = t, this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inputDateFormat", {
              get: function () {
                 return this._inputDateFormat
              },
              set: function (t) {
                 this._inputDateFormat = t, this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "utc", {
              get: function () {
                 return this._utc
              },
              set: function (t) {
                 this._utc = t, this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "firstDayOfWeek", {
              get: function () {
                 return this._firstDayOfWeek
              },
              set: function (t) {
                 this._firstDayOfWeek = t, this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "outputFormat", {
              get: function () {
                 return this._outputFormat
              },
              set: function (t) {
                 this._outputFormat = t.toLowerCase(), this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(o.a);
     s.b.registeredClasses.DateFormatter = c
  },
  "7bL/": function (t, e) {
     var i = 0,
        n = Math.random();
     t.exports = function (t) {
        return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++i + n).toString(36))
     }
  },
  "7xho": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("vJiZ"),
        o = i("W0fk");
     n(n.P + n.F * i("AEc5")(function () {
        return null !== new Date(NaN).toJSON() || 1 !== Date.prototype.toJSON.call({
           toISOString: function () {
              return 1
           }
        })
     }), "Date", {
        toJSON: function (t) {
           var e = r(this),
              i = o(e);
           return "number" != typeof i || isFinite(i) ? e.toISOString() : null
        }
     })
  },
  "85D4": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("ohjg"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "DesaturateFilter", e.feColorMatrix = e.paper.add("feColorMatrix"), e.feColorMatrix.attr({
                 type: "saturate"
              }), e.filterPrimitives.push(e.feColorMatrix), e.width = 120, e.height = 120, e.saturation = 0, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "saturation", {
              get: function () {
                 return this.properties.saturation
              },
              set: function (t) {
                 this.properties.saturation = t, this.feColorMatrix.attr({
                    values: t.toString()
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.DesaturateFilter = a
  },
  "8EhG": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("MIZb"),
        s = i("Mtpk"),
        u = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              i.axis = e, i.element = i.paper.add("path"), i.className = "AxisFill", i.isMeasured = !1, i.location = 0;
              var n = new a.a;
              return i.fill = n.getFor("alternativeBackground"), i.fillOpacity = 0, i.applyTheme(), i
           }
           return n.c(e, t), e.prototype.setDisabled = function (e) {
              var i = t.prototype.setDisabled.call(this, e);
              return this.axis && this.axis.invalidateDataItems(), i
           }, e.prototype.draw = function () {
              t.prototype.draw.call(this), this.axis && s.isNumber(this.startPosition) && s.isNumber(this.endPosition) && (this.fillPath = this.axis.getPositionRangePath(this.startPosition, this.endPosition), this.path = this.fillPath)
           }, Object.defineProperty(e.prototype, "startPosition", {
              get: function () {
                 return this.getPropertyValue("startPosition")
              },
              set: function (t) {
                 this.setPropertyValue("startPosition", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endPosition", {
              get: function () {
                 return this.getPropertyValue("endPosition")
              },
              set: function (t) {
                 this.setPropertyValue("endPosition", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "location", {
              get: function () {
                 return this.getPropertyValue("location")
              },
              set: function (t) {
                 this.setPropertyValue("location", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.AxisFill = u
  },
  "8LiO": function (t, e, i) {
     "use strict";
     i("Mvcd")("sub", function (t) {
        return function () {
           return t(this, "sub", "", "")
        }
     })
  },
  "8LwG": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("6w17"),
        o = i("wYgt");
     n(n.S, "Promise", {
        try: function (t) {
           var e = r.f(this),
              i = o(t);
           return (i.e ? e.reject : e.resolve)(i.v), e.promise
        }
     })
  },
  "8NlW": function (t, e, i) {
     "use strict";
     i("Mvcd")("fontsize", function (t) {
        return function (e) {
           return t(this, "font", "size", e)
        }
     })
  },
  "8ZqG": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     }), e.c = s, e.d = u, e.b = l, e.e = function (t) {
        if (o.hasValue(t) && !u(t)) return l(t);
        return t
     };
     var n = i("aCit"),
        r = i("hxI2"),
        o = i("Mtpk"),
        a = function () {
           function t(t) {
              this._value = t
           }
           return Object.defineProperty(t.prototype, "rgb", {
              get: function () {
                 return this._value
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "hex", {
              get: function () {
                 return this._value ? r.rgbToHex(this._value) : "none"
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "rgba", {
              get: function () {
                 return this._value ? r.rgbToRGBA(this._value) : "none"
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "alpha", {
              get: function () {
                 return null != this._value && null != this._value.a ? this._value.a : 1
              },
              set: function (t) {
                 this._value && (this._value.a = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "lightColor", {
              get: function () {
                 return this._lightColor || (this._lightColor = new t({
                    r: 255,
                    g: 255,
                    b: 255
                 })), this._lightColor
              },
              set: function (t) {
                 this._lightColor = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "darkColor", {
              get: function () {
                 return this._darkColor || (this._darkColor = new t({
                    r: 0,
                    g: 0,
                    b: 0
                 })), this._darkColor
              },
              set: function (t) {
                 this._darkColor = t
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.toString = function () {
              return this.alpha < 1 ? this.rgba : this.hex
           }, t.prototype.lighten = function (e) {
              return new t(r.lighten(this.rgb, e))
           }, t.prototype.brighten = function (e) {
              return new t(r.brighten(this.rgb, e))
           }, t.prototype.saturate = function (e) {
              return new t(r.saturate(this.rgb, e))
           }, Object.defineProperty(t.prototype, "alternative", {
              get: function () {
                 if (null != this.rgb) return r.isLight(this.rgb) ? this.darkColor : this.lightColor;
                 throw new Error("Color does not exist")
              },
              enumerable: !0,
              configurable: !0
           }), t
        }();

     function s(t, e) {
        if (!o.hasValue(t)) return new a(void 0);
        if ("string" == typeof t) {
           var i = "_color_" + t + "_" + (e || "1"),
              s = n.b.getCache(i);
           if (s) return new a({
              r: s.r,
              g: s.g,
              b: s.b,
              a: s.a
           });
           var u = r.rgb(t, e);
           return n.b.setCache(i, u), new a(u)
        }
        return t instanceof a ? (o.hasValue(e) && (t.alpha = e), t) : new a(t)
     }

     function u(t) {
        return t instanceof a
     }

     function l(t) {
        return s(t)
     }
  },
  "8aZA": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        clamp: function (t, e, i) {
           return Math.min(i, Math.max(e, t))
        }
     })
  },
  "8oRD": function (t, e, i) {
     var n = i("DvJ+");
     i("5lay")("isExtensible", function (t) {
        return function (e) {
           return !!n(e) && (!t || t(e))
        }
     })
  },
  "8rbL": function (t, e, i) {
     var n = i("EhJv"),
        r = i("rkh7").f,
        o = {}.toString,
        a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
     t.exports.f = function (t) {
        return a && "[object Window]" == o.call(t) ? function (t) {
           try {
              return r(t)
           } catch (t) {
              return a.slice()
           }
        }(t) : r(n(t))
     }
  },
  "8tDI": function (t, e, i) {
     var n = i("Gb1H"),
        r = Math.imul;
     n(n.S + n.F * i("AEc5")(function () {
        return -5 != r(4294967295, 5) || 2 != r.length
     }), "Math", {
        imul: function (t, e) {
           var i = +t,
              n = +e,
              r = 65535 & i,
              o = 65535 & n;
           return 0 | r * o + ((65535 & i >>> 16) * o + r * (65535 & n >>> 16) << 16 >>> 0)
        }
     })
  },
  "8ujI": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(2);
     n(n.P + n.F * !i("GQop")([].filter, !0), "Array", {
        filter: function (t) {
           return r(this, t, arguments[1])
        }
     })
  },
  "9BM3": function (t, e) {
     t.exports = {}
  },
  "9MGJ": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("vJiZ"),
        o = i("DbOM"),
        a = i("hjwn");
     i("gD3S") && n(n.P + i("3/+B"), "Object", {
        __defineSetter__: function (t, e) {
           a.f(r(this), t, {
              set: o(e),
              enumerable: !0,
              configurable: !0
           })
        }
     })
  },
  "9UcF": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Object", {
        create: i("5+SK")
     })
  },
  "9i/o": function (t, e, i) {
     "use strict";
     var n = i("AEc5"),
        r = Date.prototype.getTime,
        o = Date.prototype.toISOString,
        a = function (t) {
           return t > 9 ? t : "0" + t
        };
     t.exports = n(function () {
        return "0385-07-25T07:06:39.999Z" != o.call(new Date(-5e13 - 1))
     }) || !n(function () {
        o.call(new Date(NaN))
     }) ? function () {
        if (!isFinite(r.call(this))) throw RangeError("Invalid time value");
        var t = this,
           e = t.getUTCFullYear(),
           i = t.getUTCMilliseconds(),
           n = e < 0 ? "-" : e > 9999 ? "+" : "";
        return n + ("00000" + Math.abs(e)).slice(n ? -6 : -4) + "-" + a(t.getUTCMonth() + 1) + "-" + a(t.getUTCDate()) + "T" + a(t.getUTCHours()) + ":" + a(t.getUTCMinutes()) + ":" + a(t.getUTCSeconds()) + "." + (i > 99 ? i : "0" + a(i)) + "Z"
     } : o
  },
  A6AV: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("x79X"),
        a = i("1yyj"),
        s = i("v9UT"),
        u = i("hJ5i"),
        l = i("Qkdp"),
        h = i("Mtpk"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.adapter = new o.a(e), e._disabled = !1, e.hasProperties = !1, e.values = {}, e.categories = {}, e.dates = {}, e.locations = {}, e.workingLocations = {}, e.properties = {}, e.sprites = [], e.isTemplate = !1, e._index = null, e._visible = !0, e._hidden = !1, e._ignoreMinMax = !1, e.hasChildren = {}, e.isHiding = !1, e._valueAnimations = {}, e._locationAnimations = {}, e.className = "DataItem", e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "index", {
              get: function () {
                 return this.component && null != this._index ? this._index : -1
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "animations", {
              get: function () {
                 return this._animations || (this._animations = [], this._disposers.push(new a.b(this._animations))), this._animations
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "visible", {
              get: function () {
                 return !this._hidden && this._visible
              },
              set: function (t) {
                 t && (this.hidden = !1), this._visible != t && this.setVisibility(t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hidden", {
              get: function () {
                 return this._hidden
              },
              set: function (t) {
                 this._hidden != t && (this._hidden = t, t ? this.setVisibility(!1) : this.setVisibility(!0, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "__disabled", {
              get: function () {
                 return this._disabled
              },
              set: function (t) {
                 this._disabled = t, u.each(this.sprites, function (e) {
                    e.__disabled = t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setVisibility = function (t, e) {
              if (u.each(this.sprites, function (e) {
                    t ? e.visible = e.defaultState.properties.visible : e.hiddenState ? e.visible = e.hiddenState.properties.visible : e.visible = !1
                 }), this._visible = t, this.events.isEnabled("visibilitychanged")) {
                 var i = {
                    type: "visibilitychanged",
                    target: this,
                    visible: t
                 };
                 this.events.dispatchImmediately("visibilitychanged", i)
              }
           }, e.prototype.show = function (t, e, i) {
              var n, r = this;
              if (!this.hidden) return this.setVisibility(!0, !0), this.isHiding = !1, this._hideDisposer && this.removeDispose(this._hideDisposer), i && u.each(i, function (i) {
                 n = r.setWorkingValue(i, r.values[i].value, t, e)
              }), u.each(this.sprites, function (i) {
                 var n = i.show(t);
                 null == n || n.isFinished() || (r._disposers.push(n), null != e && e > 0 && n.delay(e))
              }), n
           }, e.prototype.dispose = function () {
              t.prototype.dispose.call(this), u.each(this.sprites, function (t) {
                 t.dispose()
              }), this.sprites = []
           }, e.prototype.hide = function (t, e, i, n) {
              var r = this;
              if (this.isHiding = !0, u.each(this.sprites, function (i) {
                    var n = i.hide(t);
                    null == n || n.isFinished() || (r._disposers.push(n), null != e && e > 0 && n.delay(e))
                 }), h.isNumber(i) && n) {
                 var o;
                 if (u.each(n, function (n) {
                       var a = r.setWorkingValue(n, i, t, e);
                       a && (o = a)
                    }), o && !o.isFinished()) return this._hideDisposer = o.events.on("animationended", function () {
                    r.setVisibility(!1, !0), r.isHiding = !1
                 }), this._disposers.push(this._hideDisposer), o;
                 this.isHiding = !1, this.setVisibility(!1, !0)
              } else this.isHiding = !1, this.setVisibility(!1)
           }, e.prototype.getDuration = function (t) {
              var e = this.component;
              if (e && (h.isNumber(t) || (t = e.interpolationDuration)), null != t) return this.adapter.apply("duration", t)
           }, e.prototype.getValue = function (t, e) {
              if (t && this.component) {
                 e || (e = this.component.dataFields[t + "Show"]) || (e = "value");
                 var i = this.values[t][e];
                 return this.adapter.isEnabled("value") ? this.adapter.apply("value", {
                    value: i,
                    field: t
                 }).value : i
              }
           }, e.prototype.getWorkingValue = function (t) {
              if (t && this.component) {
                 var e = this.component.dataFields[t + "Show"];
                 return e || (e = "workingValue"), this.adapter.apply("workingValue", {
                    workingValue: this.values[t][e],
                    field: t
                 }).workingValue
              }
           }, e.prototype.setValue = function (t, e, i, n) {
              var r = this.values[t].value,
                 o = this.getDuration(i);
              if (r !== (e = h.toNumber(e))) {
                 if (this.values[t].value = e, this.events.isEnabled("valuechanged")) {
                    var a = {
                       type: "valuechanged",
                       target: this,
                       property: t
                    };
                    this.events.dispatchImmediately("valuechanged", a)
                 }
                 this.component && this.component.handleDataItemValueChange(this, t)
              }
              this.setWorkingValue(t, e, o, n)
           }, e.prototype.setCalculatedValue = function (t, e, i) {
              if (this.values[t][i] !== e && h.isNumber(e)) {
                 if (this.values[t][i] = e, this.events.isEnabled("calculatedvaluechanged")) {
                    var n = {
                       type: "calculatedvaluechanged",
                       target: this,
                       property: t
                    };
                    this.events.dispatchImmediately("calculatedvaluechanged", n)
                 }
                 this.component && this.component.handleDataItemCalculatedValueChange(this, t)
              }
           }, e.prototype.setWorkingValue = function (t, e, i, n) {
              if (h.isNumber(this.values[t].value)) {
                 var r = this.getDuration(i),
                    o = this.values[t].workingValue;
                 if (null != r && r > 0 && h.isNumber(o) && this.component) {
                    if (o != e) {
                       var a = this.animate({
                          childObject: this.values[t],
                          property: "workingValue",
                          from: o,
                          to: e,
                          dummyData: t
                       }, r, this.component.interpolationEasing);
                       return null != n && a.delay(n), a.events.on("animationstarted", this.handleInterpolationProgress, this), a.events.on("animationprogress", this.handleInterpolationProgress, this), a.events.on("animationended", this.handleInterpolationProgress, this), this._valueAnimations[t] = a, a
                    }(s = this._valueAnimations[t]) && s.stop(), this.values[t].workingValue = e
                 } else {
                    var s;
                    if ((s = this._valueAnimations[t]) && s.stop(), this.values[t].workingValue = e, this.events.isEnabled("workingvaluechanged")) {
                       var u = {
                          type: "workingvaluechanged",
                          target: this,
                          property: t
                       };
                       this.events.dispatchImmediately("workingvaluechanged", u)
                    }
                    this.component && this.component.handleDataItemWorkingValueChange(this, t)
                 }
              }
           }, e.prototype.setLocation = function (t, e, i, n) {
              if (this.locations[t] !== e) {
                 if (this.locations[t] = e, this.events.isEnabled("locationchanged")) {
                    var r = {
                       type: "locationchanged",
                       target: this,
                       property: t
                    };
                    this.events.dispatchImmediately("locationchanged", r)
                 }
                 this.component && this.component.handleDataItemValueChange(this, t), this.setWorkingLocation(t, e, i, n)
              }
           }, e.prototype.setWorkingLocation = function (t, e, i, n) {
              var r = this.getDuration(i),
                 o = this.workingLocations[t];
              if (null != r && r > 0 && h.isNumber(o) && this.component) {
                 if (o != e) {
                    var a = this.animate({
                       childObject: this.workingLocations,
                       property: t,
                       from: o,
                       to: e,
                       dummyData: t
                    }, r, this.component.interpolationEasing);
                    return null != n && a.delay(n), a.events.on("animationstarted", this.handleInterpolationProgress, this), a.events.on("animationprogress", this.handleInterpolationProgress, this), a.events.on("animationended", this.handleInterpolationProgress, this), this._locationAnimations[t] = a, a
                 }(s = this._locationAnimations[t]) && s.stop(), this.workingLocations[t] = e
              } else {
                 var s;
                 if ((s = this._locationAnimations[t]) && s.stop(), this.workingLocations[t] = e, this.events.isEnabled("workinglocationchanged")) {
                    var u = {
                       type: "workinglocationchanged",
                       target: this,
                       property: t
                    };
                    this.events.dispatchImmediately("workinglocationchanged", u)
                 }
                 this.component && this.component.handleDataItemWorkingLocationChange(this, t)
              }
           }, e.prototype.setDate = function (t, e, i) {
              !h.isDate(e) && this.component && (e = this.component.dateFormatter.parse(e)), this.dates[t] !== e && (this.dates[t] = e, this.setValue(t, e.getTime(), i))
           }, e.prototype.getDate = function (t) {
              return this.adapter.apply("date", {
                 date: this.dates[t],
                 field: t
              }).date
           }, e.prototype.setProperty = function (t, e) {
              if (this.properties[t] !== e) {
                 if (this.hasProperties = !0, this.properties[t] = e, this.events.isEnabled("propertychanged")) {
                    var i = {
                       type: "propertychanged",
                       target: this,
                       property: t,
                       value: e
                    };
                    this.events.dispatchImmediately("propertychanged", i)
                 }
                 this.component && this.component.handleDataItemPropertyChange(this, t)
              }
           }, e.prototype.setCategory = function (t, e) {
              h.isString(e) || (e = h.castString(e)), this.categories[t] !== e && (this.categories[t] = e)
           }, e.prototype.clone = function (e) {
              var i = t.prototype.clone.call(this, e);
              return this.dataContext && (i.dataContext = s.copy(this.dataContext, {})), s.copyProperties(this.locations, i.locations), s.copyProperties(this.properties, i.properties), s.copyProperties(this.categories, i.categories), s.copyProperties(this.values, i.values), s.copyProperties(this.dates, i.dates), l.each(this.values, function (t, e) {
                 i.values[t] = l.copy(e)
              }), i.adapter.copyFrom(this.adapter), i.events.copyFrom(this.events), i.component = this.component, i
           }, Object.defineProperty(e.prototype, "opacity", {
              set: function (t) {
                 u.each(this.sprites, function (e) {
                    e.opacity = t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "ignoreMinMax", {
              get: function () {
                 return this._ignoreMinMax
              },
              set: function (t) {
                 if (this._ignoreMinMax = t, this.events.isEnabled("propertychanged")) {
                    var e = {
                       type: "propertychanged",
                       target: this,
                       property: "ignoreMinMax",
                       value: t
                    };
                    this.events.dispatchImmediately("propertychanged", e)
                 }
                 this.component && this.component.handleDataItemPropertyChange(this, "ignoreMinMax")
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.animate = function (t, e, i) {
              return new a.a(this, t, e, i).start()
           }, e.prototype.handleInterpolationProgress = function (t) {
              var e = t.target.animationOptions[0];
              if (e) {
                 if (this.events.isEnabled("workingvaluechanged")) {
                    var i = {
                       type: "workingvaluechanged",
                       target: this,
                       property: e.dummyData
                    };
                    this.events.dispatchImmediately("workingvaluechanged", i)
                 }
                 this.component && this.component.handleDataItemWorkingValueChange(this, e.dummyData)
              }
           }, e.prototype.hasValue = function (t) {
              for (var e = 0, i = t.length; e < i; e++)
                 if (!h.hasValue(this.values[t[e]].value)) return !1;
              return !0
           }, Object.defineProperty(e.prototype, "depth", {
              get: function () {
                 return this.parent ? this.parent.depth + 1 : 0
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dataContext", {
              get: function () {
                 return this._dataContext
              },
              set: function (t) {
                 this._dataContext = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.addSprite = function (t) {
              t.dataItem && t.dataItem != this && u.remove(t.dataItem.sprites, t), this.visible || t.hide(0), this.isHiding && t.hide(), this.sprites.push(t), t.dataItem = this
           }, e
        }(r.b)
  },
  AAkI: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return P
     }), i.d(e, "a", function () {
        return w
     });
     var n, r = i("m4/l"),
        o = i("Y9w3"),
        a = i("C6dT"),
        s = i("A6AV"),
        u = i("Uslz"),
        l = i("p9TX"),
        h = i("cxKZ"),
        c = i("VGgz"),
        p = i("vMqJ"),
        d = i("hD5A"),
        f = i("aCit"),
        g = i("MIZb"),
        y = i("Wglt"),
        m = i("Gg2j"),
        b = i("v9UT"),
        v = i("3Cxr"),
        _ = i("hJ5i"),
        x = i("Mtpk"),
        P = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "AxisDataItem", e.applyTheme(), e
           }
           return r.c(e, t), Object.defineProperty(e.prototype, "grid", {
              get: function () {
                 if (!this._grid) {
                    var t = this.component;
                    if (t) {
                       var e, i = void 0;
                       if (this.isRange) {
                          if ((i = t.axisRanges.template.grid).disabled) return;
                          e = i.clone()
                       } else {
                          if ((i = t.renderer.grid.template).disabled) return;
                          e = t.renderer.grid.create(), this._disposers.push(new d.b(function () {
                             t.renderer.grid.removeValue(e)
                          }))
                       }
                       this.grid = e, this._disposers.push(e), e.axis = this.component
                    }
                 }
                 return this._grid
              },
              set: function (t) {
                 this._grid && this._grid != t && (_.remove(this.sprites, this._grid), this._grid.dataItem = void 0), t && (t.dataItem && t.dataItem != this && (_.remove(t.dataItem.sprites, t), t.dataItem.grid = void 0), this.addSprite(t)), this._grid = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tick", {
              get: function () {
                 if (!this._tick) {
                    var t = this.component;
                    if (t) {
                       var e, i = void 0;
                       if (this.isRange) {
                          if ((i = t.axisRanges.template.tick).disabled) return;
                          e = i.clone()
                       } else {
                          if ((i = t.renderer.ticks.template).disabled) return;
                          e = t.renderer.ticks.create(), this._disposers.push(new d.b(function () {
                             t.renderer.ticks.removeValue(e)
                          }))
                       }
                       this.tick = e, e.axis = this.component, this._disposers.push(e)
                    }
                 }
                 return this._tick
              },
              set: function (t) {
                 this._tick && this._tick != t && (_.remove(this.sprites, this._tick), this._tick.dataItem = void 0), t && (t.dataItem && t.dataItem != this && (_.remove(t.dataItem.sprites, t), t.dataItem.tick = void 0), this.addSprite(t)), this._tick = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "label", {
              get: function () {
                 if (!this._label) {
                    var t = this.component;
                    if (t) {
                       var e, i = void 0;
                       if (this.isRange) {
                          if ((i = t.axisRanges.template.label).disabled) return;
                          e = i.clone()
                       } else {
                          if ((i = t.renderer.labels.template).disabled) return;
                          e = t.renderer.labels.create(), this._disposers.push(new d.b(function () {
                             t.renderer.labels.removeValue(e)
                          }))
                       }
                       this._disposers.push(e), this.label = e, e.axis = this.component, e.virtualParent = t
                    }
                 }
                 return this._label
              },
              set: function (t) {
                 this._label && this._label != t && (_.remove(this.sprites, this._label), this._label.dataItem = void 0), t && (t.dataItem && t.dataItem != this && (_.remove(t.dataItem.sprites, t), t.dataItem.label = void 0), this.addSprite(t)), this._label = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "axisFill", {
              get: function () {
                 if (!this._axisFill) {
                    var t = this.component;
                    if (t) {
                       var e, i = void 0;
                       if (this.isRange) {
                          if (i = t.axisRanges.template.axisFill, !this.isTemplate && i.disabled) return;
                          e = i.clone()
                       } else {
                          if ((i = t.renderer.axisFills.template).disabled) return;
                          e = t.renderer.axisFills.create(), this._disposers.push(new d.b(function () {
                             t.renderer.axisFills.removeValue(e)
                          }))
                       }
                       this.axisFill = e, this._disposers.push(e)
                    }
                 }
                 return this._axisFill
              },
              set: function (t) {
                 this._axisFill && this._axisFill != t && (_.remove(this.sprites, this._axisFill), this._axisFill.dataItem = void 0), t && (t.dataItem && t.dataItem != this && (_.remove(t.dataItem.sprites, t), t.dataItem.axisFill = void 0), t.axis = this.component, this.addSprite(t)), this._axisFill = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "text", {
              get: function () {
                 return this._text
              },
              set: function (t) {
                 this._text = t, this._label && (this._label.text = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "mask", {
              get: function () {
                 return this._mask
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "contents", {
              get: function () {
                 if (!this._contents) {
                    var t = new a.a;
                    this.addSprite(t), t.isMeasured = !1, this._contents = t;
                    var e = this.component;
                    if (e) {
                       var i = e.renderer.createFill(this.component);
                       i.disabled = !1, i.axis = e, this.addSprite(i), this._mask = i, t.mask = i
                    }
                 }
                 return this._contents
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "axisBreak", {
              get: function () {
                 return this._axisBreak
              },
              set: function (t) {
                 this._axisBreak && this._axisBreak.dataItems.removeValue(this), t && t.dataItems.push(this), this._axisBreak = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.validate = function () {
              this.component && this.component.validateDataElement(this)
           }, e.prototype.appendChildren = function () {
              this.component && this.component.appendDataItem(this)
           }, e.prototype.configOrder = function (t, e) {
              return t == e ? 0 : "language" == t ? -1 : "language" == e ? 1 : "component" == t ? -1 : "component" == e ? 1 : 0
           }, e.prototype.hasProperty = function (e) {
              return "component" == e || t.prototype.hasProperty.call(this, e)
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.text = e.text
           }, e
        }(s.a);
     ! function (t) {
        t[t.Start = 0] = "Start", t[t.Middle = .5] = "Middle", t[t.End = 1] = "End"
     }(n || (n = {}));
     var w = function (t) {
        function e() {
           var e = t.call(this) || this;
           e._gridCount = 10, e._series = new p.b, e.autoDispose = !0, e.className = "Axis", e.shouldClone = !1, e.setPropertyValue("cursorTooltipEnabled", !0);
           var i = new g.a;
           e.title = new l.a, e.title.shouldClone = !1, e._disposers.push(e.title), e.setPropertyValue("startLocation", 0), e.setPropertyValue("endLocation", 1), e._dataItemsIterator = new y.ListIterator(e.dataItems, function () {
              return e.dataItems.create()
           }), e._dataItemsIterator.createNewItems = !0;
           var n = new h.a;
           e._disposers.push(n), n.label.padding(5, 10, 5, 10), n.background.pointerLength = 5, n.fitPointerToBounds = !0, n.background.filters.clear(), n.virtualParent = e;
           var r = n.background;
           return r.cornerRadius = 0, r.fill = i.getFor("alternativeBackground"), r.stroke = r.fill, r.strokeWidth = 1, r.fillOpacity = 1, n.label.fill = i.getFor("alternativeText"), e.tooltip = n, e.applyTheme(), e
        }
        return r.c(e, t), e.prototype.fillRule = function (t, e) {
           x.isNumber(e) || (e = t.index), e / 2 == Math.round(e / 2) ? (t.axisFill.__disabled = !0, t.axisFill.opacity = 0) : (t.axisFill.opacity = 1, t.axisFill.__disabled = !1)
        }, e.prototype.createDataItem = function () {
           return new P
        }, e.prototype.invalidateLayout = function () {
           t.prototype.invalidateLayout.call(this), y.each(this.series.iterator(), function (t) {
              t.invalidateLayout()
           })
        }, e.prototype.invalidateSeries = function () {
           y.each(this.series.iterator(), function (t) {
              t.invalidate()
           })
        }, e.prototype.validateDataElements = function () {
           this.ghostLabel && this.renderer.updateLabelElement(this.ghostLabel, this.start, this.end)
        }, e.prototype.updateGridCount = function () {
           this.renderer && (this._gridCount = this.axisLength / this.renderer.minGridDistance)
        }, e.prototype.validateLayout = function () {
           this.axisFullLength = this.axisLength / (this.end - this.start), t.prototype.validateLayout.call(this), this.updateGridCount(), this.renderer.updateAxisLine(), this.renderer.updateTooltip(), this.renderer.updateBaseGridElement(), this._prevLength != this.axisLength && (this.dispatchImmediately("lengthchanged"), this._prevLength = this.axisLength)
        }, e.prototype.initRenderer = function () {}, e.prototype.appendDataItem = function (t) {
           var e = this.renderer;
           t.tick && (t.tick.parent = e.gridContainer), t.label && (t.label.parent = e), t.grid && (t.grid.parent = e.gridContainer), t.axisFill && (t.axisFill.parent = e.gridContainer)
        }, e.prototype.validate = function () {
           t.prototype.validate.call(this), this.validateLayout()
        }, e.prototype.validateAxisRanges = function () {
           var t = this;
           y.each(this.axisRanges.iterator(), function (e) {
              t.appendDataItem(e), t.validateDataElement(e), e.grid && e.grid.validate(), e.tick && e.tick.validate(), e.axisFill && e.axisFill.validate(), e.label && e.label.validate()
           })
        }, e.prototype.validateBreaks = function () {
           y.each(this.axisBreaks.iterator(), function (t) {
              t.invalidate()
           })
        }, e.prototype.processBreak = function (t) {
           var e = t.newValue;
           e.parent = this.renderer.breakContainer, e.axis = this
        }, e.prototype.registerSeries = function (t) {
           var e = this;
           return this.series.moveValue(t), new d.c([new d.b(function () {
              e.series.removeValue(t)
           }), this.events.on("lengthchanged", t.invalidate, t, !1), this.events.on("startchanged", t.invalidate, t, !1), this.events.on("endchanged", t.invalidate, t, !1)])
        }, Object.defineProperty(e.prototype, "renderer", {
           get: function () {
              return this._renderer
           },
           set: function (t) {
              if (t != this._renderer) {
                 this._renderer = t, t.chart = this.chart, t.axis = this, t.parent = this, this.title.parent = this, this.initRenderer(), this._disposers.push(t.gridContainer.events.on("maxsizechanged", this.invalidate, this, !1));
                 var e = this.renderer.labels.create();
                 this._disposers.push(e), e.dataItem = this.dataItems.template.clone(), e.text = "L", e.parent = this.renderer, e.fillOpacity = 0, e.opacity = 0, e.strokeOpacity = 0, e.validate(), this.ghostLabel = e, this.events.on("beforedatavalidated", function () {
                    e.text = "L"
                 }, void 0, !1)
              }
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.positionToAngle = function (t) {
           return this.renderer.positionToAngle(t)
        }, e.prototype.pointToPosition = function (t) {
           return this.renderer.pointToPosition(t)
        }, e.prototype.getAnyRangePath = function (t, e) {
           return this.renderer.getPositionRangePath(t, e)
        }, e.prototype.anyToPosition = function (t) {
           return 0
        }, e.prototype.anyToPoint = function (t) {
           return {
              x: 0,
              y: 0,
              angle: 0
           }
        }, e.prototype.getPositionRangePath = function (t, e) {
           return this.renderer.getPositionRangePath(t, e)
        }, Object.defineProperty(e.prototype, "axisLength", {
           get: function () {
              return this.renderer.axisLength
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "cursorTooltipEnabled", {
           get: function () {
              return this.getPropertyValue("cursorTooltipEnabled")
           },
           set: function (t) {
              this.setPropertyValue("cursorTooltipEnabled", t) && t && this.renderer && this.renderer.updateTooltip()
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.showTooltipAtPosition = function (t, e) {
           var i = this._tooltip;
           e || (t = this.toAxisPosition(t));
           var n = this.renderer;
           if (i && this.dataItems.length > 0) {
              i && !i.parent && (i.parent = this.tooltipContainer);
              var r = n.tooltipLocation,
                 o = this.getCellStartPosition(t),
                 a = this.getCellEndPosition(t);
              "fixed" == this.tooltipPosition && (t = o + (a - o) * r), t = m.fitToRange(t, this.start, this.end);
              var s = n.positionToPoint(o),
                 u = n.positionToPoint(a);
              this.currentItemStartPoint = s, this.currentItemEndPoint = u, n.fullWidthTooltip && (i.width = u.x - s.x, i.height = u.y - s.y);
              var l = n.positionToPoint(t),
                 h = b.spritePointToSvg(l, this.renderer.line);
              i.text = this.getTooltipText(t), i.text && (i.pointTo(h), i.show()), this.cursorTooltipEnabled || i.hide(0)
           }
        }, e.prototype.toAxisPosition = function (t) {
           return t *= this.end - this.start, t = this.renderer.inversed ? this.end - t : this.start + t
        }, e.prototype.toGlobalPosition = function (t) {
           return this.renderer.inversed ? t = this.end - t : t -= this.start, t / (this.end - this.start)
        }, e.prototype.getTooltipText = function (t) {}, e.prototype.updateTooltip = function (t, e) {
           var i = this._tooltip;
           i && (i.pointerOrientation = t, i.setBounds(b.spriteRectToSvg(e, this.renderer.line)))
        }, e.prototype.roundPosition = function (t, e) {
           return t
        }, e.prototype.getCellStartPosition = function (t) {
           return t
        }, e.prototype.getCellEndPosition = function (t) {
           return t
        }, Object.defineProperty(e.prototype, "axisRanges", {
           get: function () {
              if (!this._axisRanges) {
                 var t = this.createDataItem();
                 t.isRange = !0, t.axisFill = this.renderer.axisFills.template.clone(), t.grid = this.renderer.grid.template.clone(), t.tick = this.renderer.ticks.template.clone(), t.label = this.renderer.labels.template.clone(), t.isTemplate = !0, t.component = this, t.axisFill.disabled = !1, t.tick.disabled = !1, t.grid.disabled = !1, t.label.disabled = !1, this._axisRanges = new p.e(t), this._axisRanges.events.on("inserted", this.processAxisRange, this, !1), this._disposers.push(new p.c(this._axisRanges)), this._disposers.push(this._axisRanges.template)
              }
              return this._axisRanges
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.processAxisRange = function (t) {
           var e = t.newValue;
           e.component = this, e.isRange = !0
        }, Object.defineProperty(e.prototype, "axisBreaks", {
           get: function () {
              return this._axisBreaks || (this._axisBreaks = new c.d(this.createAxisBreak(), function (t, e) {
                 return v.order(t.adjustedStartValue, e.adjustedStartValue)
              }), this._axisBreaks.events.on("inserted", this.processBreak, this, !1), this._disposers.push(new p.c(this._axisBreaks)), this._disposers.push(this._axisBreaks.template)), this._axisBreaks
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.createAxisBreak = function () {
           return new u.a
        }, Object.defineProperty(e.prototype, "series", {
           get: function () {
              return this._series || (this._series = new p.b), this._series
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.processSeriesDataItems = function () {}, e.prototype.processSeriesDataItem = function (t, e) {}, e.prototype.postProcessSeriesDataItems = function () {}, e.prototype.postProcessSeriesDataItem = function (t) {}, e.prototype.updateAxisBySeries = function () {}, e.prototype.hideUnusedDataItems = function () {
           var t = this,
              e = this._dataItemsIterator;
           e.createNewItems = !1, y.each(e.iterator(), function (e) {
              t.validateDataElement(e), e.__disabled = !0
           }), e.clear(), e.createNewItems = !0
        }, e.prototype.getSeriesDataItem = function (t, e, i) {}, e.prototype.getAngle = function (t, e, i, n) {}, e.prototype.getX = function (t, e, i, n) {}, e.prototype.getY = function (t, e, i, n) {}, Object.defineProperty(e.prototype, "basePoint", {
           get: function () {
              return {
                 x: 0,
                 y: 0
              }
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.dataChangeUpdate = function () {}, e.prototype.seriesDataChangeUpdate = function (t) {}, e.prototype.adjustDifference = function (t, e) {
           var i = e - t;
           if (x.isNumber(i)) return y.eachContinue(this.axisBreaks.iterator(), function (n) {
              var r = n.adjustedStartValue,
                 o = n.adjustedEndValue;
              if (x.isNumber(r) && x.isNumber(o)) {
                 if (r > e) return !1;
                 if (o >= t && x.isNumber(r) && x.isNumber(o)) {
                    var a = n.breakSize,
                       s = m.intersection({
                          start: r,
                          end: o
                       }, {
                          start: t,
                          end: e
                       });
                    s && (i -= (s.end - s.start) * (1 - a))
                 }
                 return !0
              }
           }), i
        }, e.prototype.isInBreak = function (t) {
           return y.find(this.axisBreaks.iterator(), function (e) {
              return t >= e.adjustedStartValue && t <= e.adjustedEndValue
           })
        }, e.prototype.fixAxisBreaks = function () {
           var t = this,
              e = this.axisBreaks;
           if (e.length > 0) {
              _.each(y.toArray(e.iterator()), function (e) {
                 var i = m.min(e.startValue, e.endValue),
                    n = m.max(e.startValue, e.endValue);
                 e.adjustedStartValue = i, e.adjustedEndValue = n, t.axisBreaks.update(e)
              });
              var i = e.first,
                 n = Math.min(i.startValue, i.endValue);
              y.each(this.axisBreaks.iterator(), function (t) {
                 var e = t.adjustedStartValue,
                    i = t.adjustedEndValue;
                 e < n && (e = n, i < n && (i = n)), t.adjustedStartValue = e, t.adjustedEndValue = i
              })
           }
        }, Object.defineProperty(e.prototype, "startIndex", {
           get: function () {
              return 0
           },
           set: function (t) {},
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "endIndex", {
           get: function () {
              return this.dataItems.length
           },
           set: function (t) {},
           enumerable: !0,
           configurable: !0
        }), e.prototype.getPositionLabel = function (t) {
           return Math.round(100 * t) + "%x"
        }, Object.defineProperty(e.prototype, "chart", {
           get: function () {
              return this._chart
           },
           set: function (t) {
              this._chart = t
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.createSeriesRange = function (t) {
           var e = this.axisRanges.create();
           return e.component = this, e.axisFill = this.renderer.axisFills.template.clone(), e.axisFill.disabled = !1, e.axisFill.fillOpacity = 0, e.grid = this.renderer.grid.template.clone(), e.grid.disabled = !0, e.tick = this.renderer.ticks.template.clone(), e.tick.disabled = !0, e.label = this.renderer.labels.template.clone(), e.label.disabled = !0, t.axisRanges.push(e), e
        }, e.prototype.copyFrom = function (e) {
           t.prototype.copyFrom.call(this, e), this.renderer && this.renderer.copyFrom(e.renderer), e.title && (this.title = e.title.clone())
        }, e.prototype.resetIterators = function () {
           this._dataItemsIterator.reset()
        }, e.prototype.processConfig = function (e) {
           if (e && x.hasValue(e.axisRanges) && x.isArray(e.axisRanges))
              for (var i = 0, n = e.axisRanges.length; i < n; i++) {
                 var r = e.axisRanges[i];
                 x.hasValue(r.series) && x.isString(r.series) && this.map.hasKey(r.series) && (e.axisRanges[i] = this.createSeriesRange(this.map.getKey(r.series)), delete r.series, e.axisRanges[i].config = r)
              }
           t.prototype.processConfig.call(this, e)
        }, Object.defineProperty(e.prototype, "startLocation", {
           get: function () {
              return this.getPropertyValue("startLocation")
           },
           set: function (t) {
              this.setPropertyValue("startLocation", t, !0)
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "endLocation", {
           get: function () {
              return this.getPropertyValue("endLocation")
           },
           set: function (t) {
              this.setPropertyValue("endLocation", t, !0)
           },
           enumerable: !0,
           configurable: !0
        }), e
     }(o.a);
     f.b.registeredClasses.Axis = w, f.b.registeredClasses.AxisDataItem = P
  },
  AC2I: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return g
     }), i.d(e, "a", function () {
        return y
     });
     var n = i("m4/l"),
        r = i("aM7D"),
        o = i("Vs7R"),
        a = i("p9TX"),
        s = i("qzbU"),
        u = i("vMqJ"),
        l = i("C6dT"),
        h = i("DHte"),
        c = i("aCit"),
        p = i("Wglt"),
        d = i("0FpR"),
        f = i("hD5A"),
        g = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "PercentSeriesDataItem", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.uidAttr = function () {
              return this.slice.uidAttr()
           }, e.prototype.hide = function (e, i, n, r) {
              return r || (r = ["value"]), t.prototype.hide.call(this, e, i, 0, r)
           }, e.prototype.setVisibility = function (e, i) {
              i || (e ? this.setWorkingValue("value", this.values.value.value, 0, 0) : this.setWorkingValue("value", 0, 0, 0)), t.prototype.setVisibility.call(this, e, i)
           }, e.prototype.show = function (e, i, n) {
              return n || (n = ["value"]), t.prototype.show.call(this, e, i, n)
           }, Object.defineProperty(e.prototype, "category", {
              get: function () {
                 return this.properties.category
              },
              set: function (t) {
                 this.setProperty("category", t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createLegendMarker = function (t) {
              this.component.createLegendMarker(t, this)
           }, Object.defineProperty(e.prototype, "legendDataItem", {
              get: function () {
                 return this._legendDataItem
              },
              set: function (t) {
                 this._legendDataItem = t, t.label && (t.label.dataItem = this), t.valueLabel && (t.valueLabel.dataItem = this)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tick", {
              get: function () {
                 var t = this;
                 if (!this._tick) {
                    var e = this.component.ticks.create();
                    this._tick = e, this._disposers.push(e), e.parent = this.component.ticksContainer, this._disposers.push(new f.b(function () {
                       t.component && t.component.ticks.removeValue(e)
                    })), this.addSprite(e), e.visible = this.visible
                 }
                 return this._tick
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "label", {
              get: function () {
                 var t = this;
                 if (!this._label) {
                    var e = this.component.labels.create();
                    this._label = e, this._disposers.push(e), e.parent = this.component.labelsContainer, this._disposers.push(new f.b(function () {
                       t.component && t.component.labels.removeValue(e)
                    })), this.addSprite(e), e.visible = this.visible
                 }
                 return this._label
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "slice", {
              get: function () {
                 var t = this;
                 if (!this._slice) {
                    var e = this.component,
                       i = e.slices.create();
                    this._slice = i, this._disposers.push(i), i.parent = e.slicesContainer, this._disposers.push(new f.b(function () {
                       e.slices.removeValue(i)
                    })), this.addSprite(i), i.visible = this.visible, e.itemsFocusable() ? (i.role = "menuitem", i.focusable = !0) : (i.role = "listitem", i.focusable = !1), i.focusable && (i.events.once("focus", function (n) {
                       i.readerTitle = e.populateString(e.itemReaderText, t)
                    }, void 0, !1), i.events.once("blur", function (t) {
                       i.readerTitle = ""
                    }, void 0, !1)), i.hoverable && (i.events.once("over", function (n) {
                       i.readerTitle = e.populateString(e.itemReaderText, t)
                    }, void 0, !1), i.events.once("out", function (t) {
                       i.readerTitle = ""
                    }, void 0, !1))
                 }
                 return this._slice
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hiddenInLegend", {
              get: function () {
                 return this.properties.hiddenInLegend
              },
              set: function (t) {
                 this.setProperty("hiddenInLegend", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.b),
        y = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "PercentSeries", e._addAllDataItems = !1, e.alignLabels = !1, e.colors = new h.a, e.colors.step = 1, e.isMeasured = !0, e.calculatePercent = !0;
              var i = e.createChild(l.a);
              i.shouldClone = !1, i.isMeasured = !1, e.slicesContainer = i;
              var n = e.createChild(l.a);
              n.shouldClone = !1, n.isMeasured = !1, n.layout = "none", e.ticksContainer = n;
              var r = e.createChild(l.a);
              return r.shouldClone = !1, r.isMeasured = !1, r.layout = "none", e.labelsContainer = r, e.bulletsContainer.toFront(), e.skipFocusThreshold = 50, e.defaultState.transitionEasing = d.sinOut, e.itemReaderText = "{category}: {value.percent.formatNumber('#.#')}%", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.createSlice = function () {
              return new o.a
           }, e.prototype.createTick = function () {
              return new s.a
           }, e.prototype.createLabel = function () {
              return new a.a
           }, Object.defineProperty(e.prototype, "slices", {
              get: function () {
                 if (!this._slices) {
                    var t = this.createSlice();
                    t.applyOnClones = !0, this._disposers.push(t), this.initSlice(t), this._slices = new u.e(t), this._disposers.push(new u.c(this._slices))
                 }
                 return this._slices
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "ticks", {
              get: function () {
                 if (!this._ticks) {
                    var t = this.createTick();
                    t.applyOnClones = !0, this._disposers.push(t), this.initTick(t), this._ticks = new u.e(t), this._disposers.push(new u.c(this._ticks))
                 }
                 return this._ticks
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "labels", {
              get: function () {
                 if (!this._labels) {
                    var t = this.createLabel();
                    t.applyOnClones = !0, this._disposers.push(t), this.initLabel(t), this._labels = new u.e(t), this._disposers.push(new u.c(this._labels))
                 }
                 return this._labels
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createDataItem = function () {
              return new g
           }, e.prototype.initSlice = function (t) {}, e.prototype.initLabel = function (t) {
              t.text = "{category}: {value.percent.formatNumber('#.0')}%", t.isMeasured = !1, t.padding(5, 5, 5, 5)
           }, e.prototype.initTick = function (t) {}, e.prototype.validateDataElement = function (e) {
              var i = e.slice;
              i && (void 0 == i.fill && (i.fill = this.colors.getIndex(e.index * this.colors.step)), void 0 == i.stroke && (i.stroke = this.colors.getIndex(e.index * this.colors.step))), t.prototype.validateDataElement.call(this, e)
           }, e.prototype.arrangeLabels = function (t) {
              for (var e = 0, i = t.length; e < i; e++) {
                 var n = t[e].label;
                 if (n) {
                    var r = this.getNextLabel(e + 1, t);
                    n.invalid && n.validate();
                    var o = n.pixelY + n.measuredHeight;
                    r && r.y < o && (r.y = o)
                 }
              }
           }, e.prototype.getNextLabel = function (t, e) {
              if (e.length >= t) {
                 var i = e[t];
                 if (i) return i.label ? i.label : this.getNextLabel(t + 1, e)
              }
           }, Object.defineProperty(e.prototype, "colors", {
              get: function () {
                 return this.getPropertyValue("colors")
              },
              set: function (t) {
                 this.setPropertyValue("colors", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createLegendMarker = function (t, e) {
              p.each(t.children.iterator(), function (i) {
                 var n = e.slice;
                 i.defaultState.properties.fill = n.fill, i.defaultState.properties.stroke = n.stroke, i.defaultState.properties.fillOpacity = n.fillOpacity, i.defaultState.properties.strokeOpacity = n.strokeOpacity, i.fill = n.fill, i.stroke = n.stroke, i.fillOpacity = n.fillOpacity, i.strokeOpacity = n.strokeOpacity;
                 var r = t.dataItem;
                 r.color = n.fill, r.colorOrig = n.fill, n.events.on("propertychanged", function (t) {
                    "fill" == t.property && (i.isActive || (i.fill = n.fill), i.defaultState.properties.fill = n.fill, r.color = n.fill, r.colorOrig = n.fill), "stroke" == t.property && (i.isActive || (i.stroke = n.stroke), i.defaultState.properties.stroke = n.stroke)
                 }, void 0, !1)
              })
           }, e.prototype.handleSliceScale = function (t) {
              var e = this,
                 i = t.target.dataItem;
              p.each(i.bullets.iterator(), function (t) {
                 var i = t[1];
                 e.positionBullet(i)
              })
           }, e.prototype.handleSliceMove = function (t) {}, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.slices.template.copyFrom(e.slices.template), this.labels.template.copyFrom(e.labels.template), this.ticks.template.copyFrom(e.ticks.template)
           }, Object.defineProperty(e.prototype, "alignLabels", {
              get: function () {
                 return this.getPropertyValue("alignLabels")
              },
              set: function (t) {
                 this.setPropertyValue("alignLabels", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     c.b.registeredClasses.PercentSeries = y, c.b.registeredClasses.PercentSeriesDataItem = g
  },
  AEc5: function (t, e) {
     t.exports = function (t) {
        try {
           return !!t()
        } catch (t) {
           return !0
        }
     }
  },
  AaJ4: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("8ZqG"),
        s = i("MIZb"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "Grid", e.element = e.paper.add("path"), e.location = .5, e.isMeasured = !1;
              var i = new s.a;
              return e.stroke = i.getFor("grid"), e.pixelPerfect = !0, e.strokeOpacity = .15, e.fill = Object(a.c)(), e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "location", {
              get: function () {
                 return this.getPropertyValue("location")
              },
              set: function (t) {
                 this.setPropertyValue("location", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setDisabled = function (e) {
              var i = t.prototype.setDisabled.call(this, e);
              return this.axis && this.axis.invalidateDataItems(), i
           }, e
        }(r.a);
     o.b.registeredClasses.Grid = u
  },
  AiPC: function (t, e, i) {
     i("YJIw")("Uint16", 2, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  Ax3V: function (t, e, i) {
     var n = i("T9LF").document;
     t.exports = n && n.documentElement
  },
  AzI1: function (t, e) {
     t.exports = Math.log1p || function (t) {
        return (t = +t) > -1e-8 && t < 1e-8 ? t - t * t / 2 : Math.log(1 + t)
     }
  },
  "B+tY": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Number", {
        MIN_SAFE_INTEGER: -9007199254740991
     })
  },
  B2g9: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("FUSD"),
        o = i("vSjZ");
     n(n.P + n.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(o), "String", {
        padEnd: function (t) {
           return r(this, t, arguments.length > 1 ? arguments[1] : void 0, !1)
        }
     })
  },
  BEgH: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("aGXA"),
        o = i("Vs7R"),
        a = i("aCit"),
        s = i("MIZb"),
        u = i("hGwe"),
        l = i("Mtpk"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "ZoomOutButton", e.padding(9, 9, 9, 9), e.showSystemTooltip = !0;
              var i = new s.a,
                 n = e.background;
              n.cornerRadius(20, 20, 20, 20), n.fill = i.getFor("primaryButton"), n.stroke = i.getFor("primaryButtonStroke"), n.strokeOpacity = 0, n.states.getKey("hover").properties.fill = i.getFor("primaryButtonHover"), n.states.getKey("down").properties.fill = i.getFor("primaryButtonActive");
              var r = new o.a;
              r.element = e.paper.add("path");
              var a = u.moveTo({
                 x: 0,
                 y: 0
              });
              return a += u.lineTo({
                 x: 11,
                 y: 0
              }), r.path = a, r.pixelPerfect = !0, r.padding(8, 3, 8, 3), r.stroke = i.getFor("primaryButtonText"), e.icon = r, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), l.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Zoom Out"))
           }, e
        }(r.a);
     a.b.registeredClasses.ZoomOutButton = h
  },
  BTtL: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        signbit: function (t) {
           return (t = +t) != t ? t : 0 == t ? 1 / t == 1 / 0 : t > 0
        }
     })
  },
  BYDm: function (t, e, i) {
     "use strict";
     var n, r = i("dstF")(0),
        o = i("wDk4"),
        a = i("kFp5"),
        s = i("bdjS"),
        u = i("0YcW"),
        l = i("DvJ+"),
        h = i("AEc5"),
        c = i("rFJX"),
        p = a.getWeak,
        d = Object.isExtensible,
        f = u.ufstore,
        g = {},
        y = function (t) {
           return function () {
              return t(this, arguments.length > 0 ? arguments[0] : void 0)
           }
        },
        m = {
           get: function (t) {
              if (l(t)) {
                 var e = p(t);
                 return !0 === e ? f(c(this, "WeakMap")).get(t) : e ? e[this._i] : void 0
              }
           },
           set: function (t, e) {
              return u.def(c(this, "WeakMap"), t, e)
           }
        },
        b = t.exports = i("/Xnt")("WeakMap", y, m, u, !0, !0);
     h(function () {
        return 7 != (new b).set((Object.freeze || Object)(g), 7).get(g)
     }) && (s((n = u.getConstructor(y, "WeakMap")).prototype, m), a.NEED = !0, r(["delete", "has", "get", "set"], function (t) {
        var e = b.prototype,
           i = e[t];
        o(e, t, function (e, r) {
           if (l(e) && !d(e)) {
              this._f || (this._f = new n);
              var o = this._f[t](e, r);
              return "set" == t ? this : o
           }
           return i.call(this, e, r)
        })
     }))
  },
  C2uA: function (t, e, i) {
     i("YJIw")("Int16", 2, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  C6dT: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return b
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("ux7t"),
        a = i("vMqJ"),
        s = i("hD5A"),
        u = i("+qIf"),
        l = i("GtDR"),
        h = i("tjMS"),
        c = i("aCit"),
        p = i("MIZb"),
        d = i("Wglt"),
        f = i("hJ5i"),
        g = i("Gg2j"),
        y = i("Mtpk"),
        m = i("Rpw0"),
        b = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._childrenByLayout = [], e._childrenDisposers = new u.a, e.hasFocused = !1, e.setStateOnSprites = [], e.layoutInvalid = !1, e._absoluteWidth = 0, e._absoluteHeight = 0, e._shouldBeReady = [], e.className = "Container", e._element = e.paper.addGroup("g"), e.group.add(e.element), e.setPropertyValue("pixelPerfect", !1), e.setPropertyValue("layout", "absolute"), e.setPropertyValue("fixedWidthGrid", !1), e.setPropertyValue("verticalCenter", "none"), e.setPropertyValue("horizontalCenter", "none"), e._positionPrecision = 4, e._disposers.push(new u.b(e._childrenDisposers)), e.children.events.on("inserted", e.handleChildAdded, e), e.children.events.on("removed", e.handleChildRemoved, e), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.handleChildAdded = function (t) {
              this.processChild(t.newValue)
           }, e.prototype.processChild = function (t) {
              try {
                 this._childrenDisposers.insertKey(t.uid, new s.c([t.events.on("transformed", this.handleChildTransform, this), t.events.on("zIndexChanged", this.sortAndAdd, this)]))
              } catch (t) {}
              this.element && !t.disabled && this.element.add(t.group);
              t.parent = this, t.paper = this.paper, this.dispatchImmediately("childadded", {
                 type: "childadded",
                 newValue: t
              }), this.invalidate()
           }, e.prototype.sortAndAdd = function () {
              this.sortChildren(), this.addChildren()
           }, e.prototype.handleChildRemoved = function (t) {
              var e = t.oldValue;
              (this._childrenDisposers.removeKey(e.uid), this.element) && this.element.removeElement(e.group);
              e.isMeasured && this.invalidateLayout(), this.dispatchImmediately("childremoved", {
                 type: "childremoved",
                 oldValue: e
              })
           }, e.prototype.handleChildTransform = function (t) {
              t.target.isMeasured && this.invalidateLayout()
           }, e.prototype.invalidateLayout = function () {
              this.layoutInvalid || this.disabled || this.isTemplate || "none" == this.layout || this.__disabled || (this.layoutInvalid = !0, c.b.addToInvalidLayouts(this), m.b.requestFrame())
           }, e.prototype.invalidate = function () {
              t.prototype.invalidate.call(this), this.invalidateLayout()
           }, e.prototype.deepInvalidate = function () {
              t.prototype.invalidate.call(this), f.each(this._childrenByLayout, function (t) {
                 t instanceof e ? t.deepInvalidate() : t.invalidate()
              }), this.invalidateLayout()
           }, Object.defineProperty(e.prototype, "children", {
              get: function () {
                 return this._children || (this._children = new a.b), this._children
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minWidth", {
              get: function () {
                 return this.getPropertyValue("minWidth")
              },
              set: function (t) {
                 this.setPropertyValue("minWidth", t) && this.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minHeight", {
              get: function () {
                 return this.getPropertyValue("minHeight")
              },
              set: function (t) {
                 this.setPropertyValue("minHeight", t) && this.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.removeElement = function () {}, e.prototype.sortChildren = function () {
              var t = this;
              if (this._childrenByLayout = [], "none" != this.layout && "absolute" != this.layout && this.layout) {
                 var e = [],
                    i = [];
                 d.each(this.children.iterator(), function (n) {
                    "horizontal" == t.layout || "grid" == t.layout ? y.isNumber(n.percentWidth) ? i.push(n) : e.push(n) : "vertical" == t.layout && y.isNumber(n.percentHeight) ? i.push(n) : e.push(n)
                 }), this._childrenByLayout = e.concat(i)
              } else this._childrenByLayout = this.children.values;
              this.calculateRelativeSize()
           }, e.prototype.calculateRelativeSize = function () {
              var t = this,
                 e = 0,
                 i = 0;
              f.each(this._childrenByLayout, function (t) {
                 t.isMeasured && (y.isNumber(t.percentWidth) && (e += t.percentWidth), y.isNumber(t.percentHeight) && (i += t.percentHeight))
              }), f.each(this._childrenByLayout, function (n) {
                 n.isMeasured && ("horizontal" == t.layout && (y.isNumber(n.percentWidth) && (n.relativeWidth = n.percentWidth / e), y.isNumber(n.percentHeight) && (n.relativeHeight = n.percentHeight / 100)), "vertical" == t.layout && (y.isNumber(n.percentHeight) && (n.relativeHeight = n.percentHeight / i), y.isNumber(n.percentWidth) && (n.relativeWidth = n.percentWidth / 100)), "grid" == t.layout && (y.isNumber(n.percentHeight) && (n.relativeHeight = n.percentHeight / 100), y.isNumber(n.percentWidth) && (n.relativeWidth = n.percentWidth / 100))), "absolute" != t.layout && n.isMeasured || (y.isNumber(n.percentWidth) && (n.relativeWidth = n.percentWidth / 100), y.isNumber(n.percentHeight) && (n.relativeHeight = n.percentHeight / 100))
              })
           }, e.prototype.addChildren = function () {
              if (this.element) {
                 var t = f.copy(this.children.values),
                    e = t.map(function (t, e) {
                       return {
                          idx: e,
                          data: t
                       }
                    });
                 e.sort(function (t, e) {
                    var i = t.data.zIndex || 0,
                       n = e.data.zIndex || 0;
                    return i < n ? -1 : i > n ? 1 : t.idx - e.idx
                 }), t = e.map(function (t) {
                    return t.data
                 });
                 var i = this.element,
                    n = !0;
                 if (i.node && i.node.childNodes)
                    for (var r = 0, o = i.node.childNodes.length; r < o; r++)
                       if (i.node.childNodes[r] != t[r].group.node) {
                          n = !1;
                          break
                       } n || (f.each(t, function (t) {
                    t.group && i.add(t.group)
                 }), this._background && this.group.addToBack(this._background.group), this.invalidateLayout())
              }
           }, e.prototype.createChild = function (t) {
              var e = new t;
              return e.parent = this, e
           }, e.prototype.removeChildren = function () {
              for (; this.children.length > 0;) {
                 var t = this.children.getIndex(0);
                 t.parent = void 0, this.children.removeValue(t)
              }
           }, e.prototype.disposeChildren = function () {
              for (; this.children.length > 0;) {
                 var t = this.children.getIndex(0);
                 t.dispose(), this.children.removeValue(t)
              }
           }, Object.defineProperty(e.prototype, "background", {
              get: function () {
                 return this._background || (this._background = this.createBackground(), this.processBackground()), this._background
              },
              set: function (t) {
                 this._background && this.background != t && this.removeDispose(this._background), t && (this._background = t, this._disposers.push(t), this.processBackground())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleGlobalScale = function () {
              t.prototype.handleGlobalScale.call(this), this.children.each(function (t) {
                 t.handleGlobalScale()
              })
           }, e.prototype.createBackground = function () {
              return new l.a
           }, e.prototype.processBackground = function () {
              var t = this._background;
              t && (t.isMeasured = !1, this._background.fill = (new p.a).getFor("background"), t.parent = this, t.isMeasured = !1, this.children.removeValue(t), this._disposers.push(t), this.group.addToBack(this._background.group))
           }, e.prototype.validateLayout = function () {
              var t = this;
              c.b.removeFromInvalidLayouts(this), this.layoutInvalid = !1, this._availableWidth = this.innerWidth, this._availableHeight = this.innerHeight;
              var e = 0,
                 i = 0,
                 n = !0;
              this.children && (this.sortChildren(), f.each(this._childrenByLayout, function (r) {
                 var o, a;
                 if (y.isNumber(r.relativeWidth) ? (o = g.round(t._availableWidth * r.relativeWidth, 2), "horizontal" == t.layout && (o -= r.pixelMarginRight + r.pixelMarginLeft)) : "horizontal" == t.layout && r.invalid && r.validate(), y.isNumber(r.relativeHeight) ? (a = g.round(t._availableHeight * r.relativeHeight, 2), "vertical" == t.layout && (a -= r.pixelMarginTop + r.pixelMarginBottom)) : "vertical" == t.layout && r.invalid && r.validate(), 0 == r.invalid) {
                    if (y.isNumber(r.relativeWidth) && (r.maxWidth = o), y.isNumber(r.relativeHeight) && (r.maxHeight = a), r.isMeasured) {
                       "horizontal" == t.layout && (y.isNumber(r.percentWidth) || r.measuredWidth > 0 && (t._availableWidth -= r.measuredWidth + r.pixelMarginLeft + r.pixelMarginRight)), "vertical" == t.layout && (y.isNumber(r.percentHeight) || r.measuredHeight > 0 && (t._availableHeight -= r.measuredHeight + r.pixelMarginTop + r.pixelMarginBottom));
                       var s = r.measuredWidth,
                          u = r.measuredHeight;
                       "none" != r.align && (s += r.pixelMarginLeft + r.pixelMarginRight), "none" != r.valign && (u += r.pixelMarginTop + r.pixelMarginBottom), e = Math.max(e, s), i = Math.max(i, u)
                    }
                 } else r.isMeasured && (y.isNumber(r.relativeWidth) && r.maxWidth != o && (r.maxWidth = o, n = !1), y.isNumber(r.relativeHeight) && r.maxHeight != a && (r.maxHeight = a, n = !1))
              })), this._absoluteWidth = e, this._absoluteHeight = i, n && this.arrange()
           }, e.prototype.arrange = function () {
              var t, e, i, n, r, o, a, s, u, l, c, p = this,
                 m = this.children,
                 b = 0,
                 v = 0,
                 _ = g.max(this.innerWidth, this._absoluteWidth),
                 x = g.max(this.innerHeight, this._absoluteHeight),
                 P = (this.pixelPaddingLeft, this.pixelPaddingRight, this.pixelPaddingTop, this.pixelPaddingBottom, 0),
                 w = 0,
                 O = 0,
                 S = 0,
                 k = [],
                 T = [],
                 C = this.maxWidth,
                 j = this.maxHeight,
                 I = this.minWidth,
                 V = this.minHeight,
                 M = f.copy(m.values);
              if (this.reverseOrder && M.reverse(), "grid" == this.layout) {
                 o = C, r = 1;
                 for (var D = 0, E = M.length; D < E; D++) {
                    if ((N = M[D]).isMeasured && !N.disabled && !N.__disabled) {
                       var F = N.measuredWidth;
                       F < o && (o = F), F > r && (r = F)
                    }
                 }
                 o = g.fitToRange(o, 1, C), r = g.fitToRange(r, 1, C), a = this.fixedWidthGrid ? C / r : C / o, a = g.max(1, Math.floor(a)), a = g.min(this.maxColumns, a), k = this.getColumnWidth(M, a, r)
              }
              for (D = 0, E = M.length; D < E; D++) {
                 var N;
                 if (!(N = M[D]).isMeasured || N.disabled || N.__disabled) N.validatePosition();
                 else {
                    var R = void 0,
                       L = void 0,
                       A = N.pixelMarginLeft,
                       B = N.pixelMarginRight,
                       H = N.pixelMarginTop,
                       G = N.pixelMarginBottom,
                       W = N.measuredWidth,
                       z = N.measuredHeight,
                       U = void 0,
                       Y = void 0,
                       K = void 0,
                       X = void 0;
                    switch (this.layout) {
                       case "none":
                          break;
                       case "absolute":
                          switch (N.align) {
                             case "left":
                                R = A - N.maxLeft;
                                break;
                             case "center":
                                R = (_ - W) / 2 - N.maxLeft;
                                break;
                             case "right":
                                R = _ - B - N.maxRight;
                                break;
                             default:
                                N.x instanceof h.a || (R = N.pixelX)
                          }
                          switch (N.valign) {
                             case "top":
                                L = H - N.maxTop;
                                break;
                             case "middle":
                                L = (x - z) / 2 - N.maxTop;
                                break;
                             case "bottom":
                                L = x - G - N.maxBottom;
                                break;
                             default:
                                N.y instanceof h.a || (L = N.pixelY)
                          }
                          break;
                       case "vertical":
                          switch (N.align) {
                             case "left":
                                R = A - N.maxLeft;
                                break;
                             case "center":
                                R = (_ - W) / 2 - N.maxLeft;
                                break;
                             case "right":
                                R = _ - B - N.maxRight;
                                break;
                             default:
                                R = N.pixelX
                          }
                          w = (L = w + H - N.maxTop) + N.maxBottom + G;
                          break;
                       case "horizontal":
                          switch (N.valign) {
                             case "top":
                                L = H - N.maxTop;
                                break;
                             case "middle":
                                L = (x - z) / 2 - N.maxTop;
                                break;
                             case "bottom":
                                L = x - G - N.maxBottom;
                                break;
                             default:
                                L = N.pixelY
                          }
                          P = (R = P + A - N.maxLeft) + N.maxRight + B;
                          break;
                       case "grid":
                          switch (R = P + A - N.maxLeft, N.valign) {
                             case "top":
                                L = w + H - N.maxTop;
                                break;
                             case "middle":
                                L = w + (x - z) / 2 - N.maxTop;
                                break;
                             case "bottom":
                                L = w + x - G - N.maxBottom;
                                break;
                             default:
                                L = w - N.maxTop
                          }
                          P += k[S], T[O] = g.max(T[O], z);
                          var J = k[++S];
                          if (y.isNumber(J) || (J = r), P > g.min(this.innerWidth, C) - J + 1 && S < a) {
                             a = S, P = 0, w = 0, O = 0, S = 0, k = this.getColumnWidth(M, a, r), T = [], D = -1;
                             continue
                          }
                          S >= a && (S = 0, w += T[O], O++, P = 0)
                    }
                    "none" !== this.layout && (N.moveTo({
                       x: R,
                       y: L
                    }), U = R + N.maxLeft - A, Y = R + N.maxRight + B, K = L + N.maxTop - H, X = L + N.maxBottom + G, (Y > e || !y.isNumber(e)) && (e = Y), (U < t || !y.isNumber(t)) && (t = U), (K < i || !y.isNumber(i)) && (i = K), (X > n || !y.isNumber(n)) && (n = X), (Y > u || !y.isNumber(u)) && (u = Y), (U < s || !y.isNumber(s)) && (s = U), (K < l || !y.isNumber(l)) && (l = K), (X > c || !y.isNumber(c)) && (c = c))
                 }
              }
              if ("none" == this.layout) {
                 var Z = this.bbox;
                 t = Z.x, e = Z.x + Z.width, i = Z.y, n = Z.y + Z.height
              }
              y.isNumber(t) || (t = 0, s = 0), y.isNumber(e) || (u = e = this._availableWidth), y.isNumber(i) || (i = 0, l = 0), y.isNumber(n) || (c = n = this._availableHeight), y.isNumber(l) || (l = 0), y.isNumber(c) || (c = l), y.isNumber(s) || (s = 0), y.isNumber(u) || (u = s), b = e - t, v = n - i, y.isNumber(this.relativeWidth) && (t = 0, e = b = C - this.pixelPaddingLeft - this.pixelPaddingRight), y.isNumber(this.relativeHeight) && (i = 0, n = v = j - this.pixelPaddingTop - this.pixelPaddingBottom), y.isNumber(this._pixelWidth) && (t = 0, b = this._pixelWidth), y.isNumber(I) && b < I && (t = 0, b = this.minWidth), y.isNumber(this._pixelHeight) && (i = 0, v = this._pixelHeight), y.isNumber(V) && v < V && (i = 0, v = V);
              var q = u - s,
                 Q = c - l;
              if ("none" != this.layout && (this.contentAlign || this.contentValign) && m.length > 0) {
                 var $, tt, et = b,
                    it = v;
                 et < q && (et = q), it < Q && (it = Q), "center" == this.contentAlign && ($ = (et - q) / 2), "right" == this.contentAlign && ($ = et - q), "middle" == this.contentValign && (tt = (it - Q) / 2), "bottom" == this.contentValign && (tt = it - Q), y.isNumber($) && d.each(m.iterator(), function (t) {
                    var e = t.maxLeft,
                       i = $;
                    "horizontal" == p.layout && (t.x = t.pixelX + i), "grid" == p.layout && (t.x = t.pixelX + i), "vertical" == p.layout && (i += t.pixelMarginLeft, "none" == t.align && (t.x = i - e)), "absolute" == p.layout && (i += t.pixelMarginLeft, "none" == t.align && (t.x = i - e))
                 }), y.isNumber(tt) && d.each(m.iterator(), function (t) {
                    var e = t.maxTop,
                       i = tt;
                    "horizontal" == p.layout && (i += t.pixelMarginTop, "none" == t.valign && (t.y = i - e)), "grid" == p.layout && (i += t.pixelMarginTop, t.y = i - e), "vertical" == p.layout && (t.y = t.pixelY + i), "absolute" == p.layout && (i += t.pixelMarginTop, "none" == t.valign && (t.y = i - e))
                 })
              }
              var nt = this.bbox;
              b = g.max(b, I), v = g.max(v, V), this.contentWidth = b, this.contentHeight = v, b = g.min(b, C), v = g.min(v, j), this._bbox = {
                 x: t,
                 y: i,
                 width: b,
                 height: v
              };
              var rt = this.maxLeft,
                 ot = this.maxTop,
                 at = this.maxBottom,
                 st = this.maxRight;
              if (this.measure(), (rt != this.maxLeft || st != this.maxRight || ot != this.maxTop || at != this.maxBottom) && this.events.isEnabled("transformed")) {
                 var ut = {
                    type: "transformed",
                    target: this
                 };
                 nt && (ut.dummyData = nt.width + " " + b + "  " + nt.height + " " + v), this.events.dispatchImmediately("transformed", ut)
              }
           }, e.prototype.updateCenter = function () {
              t.prototype.updateCenter.call(this), this.updateBackground()
           }, e.prototype.updateBackground = function () {
              var t = this._background;
              t && (t.x = this.maxLeft, t.y = this.maxTop, t.width = this.maxRight - this.maxLeft, t.height = this.maxBottom - this.maxTop)
           }, e.prototype.getColumnWidth = function (t, e, i) {
              var n = this,
                 r = [],
                 o = 0;
              return f.each(t, function (t) {
                 t.isMeasured && (n.fixedWidthGrid ? r[o] = i : r[o] = g.max(r[o], t.measuredWidth + t.pixelMarginRight + t.pixelMarginLeft), ++o == e && (o = 0))
              }), r
           }, Object.defineProperty(e.prototype, "layout", {
              get: function () {
                 return this.getPropertyValue("layout")
              },
              set: function (t) {
                 this.setPropertyValue("layout", t) && this.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "contentValign", {
              get: function () {
                 return this.getPropertyValue("contentValign")
              },
              set: function (t) {
                 this.setPropertyValue("contentValign", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "contentAlign", {
              get: function () {
                 return this.getPropertyValue("contentAlign")
              },
              set: function (t) {
                 this.setPropertyValue("contentAlign", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fixedWidthGrid", {
              get: function () {
                 return this.getPropertyValue("fixedWidthGrid")
              },
              set: function (t) {
                 this.setPropertyValue("fixedWidthGrid", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxColumns", {
              get: function () {
                 return this.getPropertyValue("maxColumns")
              },
              set: function (t) {
                 this.setPropertyValue("maxColumns", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "reverseOrder", {
              get: function () {
                 return this.getPropertyValue("reverseOrder")
              },
              set: function (t) {
                 this.setPropertyValue("reverseOrder", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "setStateOnChildren", {
              get: function () {
                 return this.getPropertyValue("setStateOnChildren")
              },
              set: function (t) {
                 this.setPropertyValue("setStateOnChildren", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.fitsToBounds = function (t) {
              var e = t.x,
                 i = t.y;
              return e >= -.5 && e <= this.pixelWidth + .5 && i >= -.5 && i <= this.pixelHeight + .5
           }, e.prototype.copyFrom = function (e) {
              var i = this;
              t.prototype.copyFrom.call(this, e), this.layout = e.layout, this.setStateOnChildren = e.setStateOnChildren, e._background && (this.background = e._background.clone(), this.background.copyFrom(e._background)), d.each(e.children.iterator(), function (t) {
                 t.shouldClone && (t.clone().parent = i)
              })
           }, Object.defineProperty(e.prototype, "preloader", {
              get: function () {
                 var t = this._preloader;
                 return t || (this.parent ? this.parent.preloader : void 0)
              },
              set: function (t) {
                 this._preloader && this.removeDispose(this._preloader), this._preloader = t, t && (t.parent = this.tooltipContainer, this._disposers.push(t))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setPaper = function (e) {
              var i = this,
                 n = t.prototype.setPaper.call(this, e);
              return n && (this._background && (this._background.paper = e, this._background.topParent = this.topParent), this.children.each(function (t) {
                 t.setPaper(e), t.topParent = i.topParent
              })), n
           }, e.prototype.removeFromInvalids = function () {
              t.prototype.removeFromInvalids.call(this), c.b.removeFromInvalidLayouts(this)
           }, e.prototype.setDataItem = function (e) {
              this._dataItem != e && d.each(this.children.iterator(), function (t) {
                 t.dataItem = e
              }), t.prototype.setDataItem.call(this, e)
           }, e.prototype.measureElement = function () {
              this.disabled || this.isTemplate || "none" == this.layout || this.__disabled || this.validateLayout()
           }, e.prototype.getTooltipX = function () {
              return t.prototype.getTooltipX.call(this)
           }, e.prototype.getTooltipY = function () {
              return t.prototype.getTooltipY.call(this)
           }, Object.defineProperty(e.prototype, "fontFamily", {
              get: function () {
                 return this.getPropertyValue("fontFamily")
              },
              set: function (t) {
                 this.setPropertyValue("fontFamily", t, !0) && (this.setSVGAttribute({
                    "font-family": t
                 }), this.invalidateLabels())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fontSize", {
              get: function () {
                 return this.getPropertyValue("fontSize")
              },
              set: function (t) {
                 this.setPropertyValue("fontSize", t, !0) && (this.setSVGAttribute({
                    "font-size": t
                 }), this.invalidateLabels())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.invalidateLabels = function () {
              this.children.each(function (t) {
                 t.hardInvalidate ? t.hardInvalidate() : t instanceof e && t.invalidateLabels()
              })
           }, Object.defineProperty(e.prototype, "fontWeight", {
              get: function () {
                 return this.getPropertyValue("fontWeight")
              },
              set: function (t) {
                 this.setPropertyValue("fontWeight", t), this.setSVGAttribute({
                    "font-weight": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "textDecoration", {
              get: function () {
                 return this.getPropertyValue("textDecoration")
              },
              set: function (t) {
                 this.setPropertyValue("textDecoration", t), this.setSVGAttribute({
                    "text-decoration": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.dispose = function () {
              this._background && this._background.dispose(), this._shouldBeReady = [], this.disposeChildren(), t.prototype.dispose.call(this)
           }, e.prototype.setState = function (e, i, n) {
              var r = e;
              return e instanceof o.a && (r = e.name), this.setStateOnChildren && d.each(this.children.iterator(), function (t) {
                 t.setState(r, i, n), "active" != r && (t.isActive = !1)
              }), this._background && this._background.setState(r), this.setStateOnSprites.length && f.each(this.setStateOnSprites, function (t) {
                 t.setState(r, i, n)
              }), t.prototype.setState.call(this, e, i, n)
           }, e.prototype.setActive = function (e) {
              t.prototype.setActive.call(this, e), this._background && (this._background.isActive = e)
           }, e.prototype.dispatchReady = function () {
              var e = this;
              if (!this.isReady() && !this.isDisposed()) {
                 var i = !0;
                 this.children.each(function (t) {
                    t.__disabled || t.disabled || t.isReady() || (i = !1)
                 }), f.each(this._shouldBeReady, function (t) {
                    t.__disabled || t.disabled || t.isReady() || (i = !1)
                 }), i ? t.prototype.dispatchReady.call(this) : c.b.events.once("exitframe", function () {
                    e.dispatchReady(), m.b.requestFrame()
                 }, void 0, !1)
              }
           }, e
        }(r.a);
     c.b.registeredClasses.Container = b
  },
  C84C: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("ohjg"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "LightenFilter", e.feColorMatrix = e.paper.add("feColorMatrix"), e.feColorMatrix.attr({
                 type: "matrix"
              }), e.filterPrimitives.push(e.feColorMatrix), e.lightness = 0, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "lightness", {
              get: function () {
                 return this.properties.lightness
              },
              set: function (t) {
                 this.properties.lightness = t;
                 var e = t + 1;
                 this.feColorMatrix.attr({
                    values: e + " 0 0 0 0 0 " + e + " 0 0 0 0 0 " + e + " 0 0 0 0 0 1 0"
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.LightenFilter = a
  },
  CTEm: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return p
     });
     var n = i("m4/l"),
        r = i("P/bD"),
        o = i("Tjl+"),
        a = i("MipW"),
        s = i("aCit"),
        u = i("ScGY"),
        l = i("Qkdp"),
        h = i("v9UT"),
        c = i("Mtpk"),
        p = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._negativeBase = 0, e._numberFormat = "#,###.#####", e._outputFormat = "svg", e.className = "NumberFormatter", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.dispose = function () {
              t.prototype.dispose.call(this), this.language && this.language.dispose()
           }, Object.defineProperty(e.prototype, "language", {
              get: function () {
                 return this._language || (this.sprite ? this._language = this.sprite.language : this._language = new r.a), this._language
              },
              set: function (t) {
                 this._language = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.format = function (t, e) {
              void 0 !== e && "number" !== e.toLowerCase() || (e = this._numberFormat), e = h.cleanFormat(e);
              var i, n = this.parseFormat(e, this.language),
                 r = Number(t);
              return (i = r > this._negativeBase ? n.positive : r < this._negativeBase ? n.negative : n.zero).template.split(u.d).join(this.applyFormat(r, i))
           }, e.prototype.parseFormat = function (t, e) {
              var i = this,
                 n = this.getCache(t);
              if (c.hasValue(n)) return n;
              var r = {
                    positive: {
                       thousands: {
                          active: -1,
                          passive: -1,
                          interval: -1,
                          separator: e.translateEmpty("_thousandSeparator")
                       },
                       decimals: {
                          active: -1,
                          passive: -1,
                          separator: e.translateEmpty("_decimalSeparator")
                       },
                       template: "",
                       source: "",
                       parsed: !1
                    },
                    negative: {
                       thousands: {
                          active: -1,
                          passive: -1,
                          interval: -1,
                          separator: e.translateEmpty("_thousandSeparator")
                       },
                       decimals: {
                          active: -1,
                          passive: -1,
                          separator: e.translateEmpty("_decimalSeparator")
                       },
                       template: "",
                       source: "",
                       parsed: !1
                    },
                    zero: {
                       thousands: {
                          active: -1,
                          passive: -1,
                          interval: -1,
                          separator: e.translateEmpty("_thousandSeparator")
                       },
                       decimals: {
                          active: -1,
                          passive: -1,
                          separator: e.translateEmpty("_decimalSeparator")
                       },
                       template: "",
                       source: "",
                       parsed: !1
                    }
                 },
                 o = (t = t.replace("||", u.e)).split("|");
              return r.positive.source = o[0], void 0 === o[2] ? r.zero = r.positive : r.zero.source = o[2], void 0 === o[1] ? r.negative = r.positive : r.negative.source = o[1], l.each(r, function (t, e) {
                 if (!e.parsed)
                    if (void 0 === i.getCache(e.source)) {
                       var n = e.source;
                       "number" === n.toLowerCase() && (n = i._numberFormat);
                       for (var o = Object(a.b)().chunk(n, !0), s = 0; s < o.length; s++) {
                          var l = o[s];
                          if (l.text = l.text.replace(u.e, "|"), "value" === l.type) {
                             var h = [];
                             if (h = l.text.match(/[#0.,]+[ ]?[abesABES%]?[abesABES‰]?/))
                                if (null === h || "" === h[0]) e.template += l.text;
                                else {
                                   var p = [];
                                   (p = h[0].match(/[abesABES%‰]{2}|[abesABES%‰]{1}$/)) && (e.mod = p[0].toLowerCase(), e.modSpacing = !!h[0].match(/[ ]{1}[abesABES%‰]{1}$/));
                                   var d = h[0].split(".");
                                   if ("" === d[0]);
                                   else {
                                      e.thousands.active = (d[0].match(/0/g) || []).length, e.thousands.passive = (d[0].match(/\#/g) || []).length + e.thousands.active;
                                      var f = d[0].split(",");
                                      1 === f.length || (e.thousands.interval = c.getValue(f.pop()).length, 0 === e.thousands.interval && (e.thousands.interval = -1))
                                   }
                                   void 0 === d[1] || (e.decimals.active = (d[1].match(/0/g) || []).length, e.decimals.passive = (d[1].match(/\#/g) || []).length + e.decimals.active), e.template += l.text.split(h[0]).join(u.d)
                                }
                          } else e.template += l.text
                       }
                       i.setCache(e.source, e), e.parsed = !0
                    } else r[t] = i.getCache(e.source)
              }), this.setCache(t, r), r
           }, e.prototype.applyFormat = function (t, e) {
              var i = t < 0;
              t = Math.abs(t);
              var n = "",
                 r = "",
                 o = e.mod ? e.mod.split("") : [];
              if (-1 !== o.indexOf("b")) {
                 var a = this.applyPrefix(t, this.bytePrefixes);
                 t = a[0], n = a[1], r = a[2], e.modSpacing && (r = " " + r)
              } else if (-1 !== o.indexOf("a")) {
                 var s = this.applyPrefix(t, t < 1 ? this.smallNumberPrefixes : this.bigNumberPrefixes);
                 t = s[0], n = s[1], r = s[2], e.modSpacing && (r = " " + r)
              } else -1 !== o.indexOf("%") ? (t *= 100, r = "%") : -1 !== o.indexOf("‰") && (t *= 1e3, r = "‰");
              if (-1 !== o.indexOf("e")) {
                 var u = void 0;
                 u = e.decimals.passive >= 0 ? t.toExponential(e.decimals.passive).split("e") : t.toExponential().split("e"), t = Number(u[0]), r = "e" + u[1], e.modSpacing && (r = " " + r)
              } else if (0 === e.decimals.passive) t = Math.round(t);
              else if (e.decimals.passive > 0) {
                 var l = Math.pow(10, e.decimals.passive);
                 t = Math.round(t * l) / l
              }
              var c = "",
                 p = h.numberToString(t).split("."),
                 d = p[0];
              if (d.length < e.thousands.active && (d = Array(e.thousands.active - d.length + 1).join("0") + d), e.thousands.interval > 0) {
                 for (var f = [], g = d.split("").reverse().join(""), y = 0, m = d.length; y <= m; y += e.thousands.interval) {
                    var b = g.substr(y, e.thousands.interval).split("").reverse().join("");
                    "" !== b && f.unshift(b)
                 }
                 d = f.join(e.thousands.separator)
              }
              c += d, 1 === p.length && p.push("");
              var v = p[1];
              return v.length < e.decimals.active && (v += Array(e.decimals.active - v.length + 1).join("0")), "" !== v && (c += e.decimals.separator + v), "" === c && (c = "0"), 0 !== t && i && -1 === o.indexOf("s") && (c = "-" + c), n && (c = n + c), r && (c += r), c
           }, e.prototype.applyPrefix = function (t, e) {
              for (var i = t, n = "", r = "", o = 0, a = e.length; o < a; o++) e[o].number <= t && (i = 0 === e[o].number ? 0 : t / e[o].number, n = e[o].prefix, r = e[o].suffix);
              return [i, n, r]
           }, e.prototype.invalidateSprite = function () {
              this.sprite && this.sprite.invalidate()
           }, Object.defineProperty(e.prototype, "numberFormat", {
              get: function () {
                 return this._numberFormat
              },
              set: function (t) {
                 this._numberFormat = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bigNumberPrefixes", {
              get: function () {
                 return c.hasValue(this._bigNumberPrefixes) || (this._bigNumberPrefixes = [{
                    number: 1e3,
                    suffix: this.language.translate("_big_number_suffix_3")
                 }, {
                    number: 1e6,
                    suffix: this.language.translate("_big_number_suffix_6")
                 }, {
                    number: 1e9,
                    suffix: this.language.translate("_big_number_suffix_9")
                 }, {
                    number: 1e12,
                    suffix: this.language.translate("_big_number_suffix_12")
                 }, {
                    number: 1e15,
                    suffix: this.language.translate("_big_number_suffix_15")
                 }, {
                    number: 1e18,
                    suffix: this.language.translate("_big_number_suffix_18")
                 }, {
                    number: 1e21,
                    suffix: this.language.translate("_big_number_suffix_21")
                 }, {
                    number: 1e24,
                    suffix: this.language.translate("_big_number_suffix_24")
                 }]), this._bigNumberPrefixes
              },
              set: function (t) {
                 this._bigNumberPrefixes = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "smallNumberPrefixes", {
              get: function () {
                 return c.hasValue(this._smallNumberPrefixes) || (this._smallNumberPrefixes = [{
                    number: 1e-24,
                    suffix: this.language.translate("_small_number_suffix_24")
                 }, {
                    number: 1e-21,
                    suffix: this.language.translate("_small_number_suffix_21")
                 }, {
                    number: 1e-18,
                    suffix: this.language.translate("_small_number_suffix_18")
                 }, {
                    number: 1e-15,
                    suffix: this.language.translate("_small_number_suffix_15")
                 }, {
                    number: 1e-12,
                    suffix: this.language.translate("_small_number_suffix_12")
                 }, {
                    number: 1e-9,
                    suffix: this.language.translate("_small_number_suffix_9")
                 }, {
                    number: 1e-6,
                    suffix: this.language.translate("_small_number_suffix_6")
                 }, {
                    number: .001,
                    suffix: this.language.translate("_small_number_suffix_3")
                 }]), this._smallNumberPrefixes
              },
              set: function (t) {
                 this._smallNumberPrefixes = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bytePrefixes", {
              get: function () {
                 return c.hasValue(this._bytePrefixes) || (this._bytePrefixes = [{
                    number: 0,
                    suffix: this.language.translate("_byte_suffix_B")
                 }, {
                    number: 1024,
                    suffix: this.language.translate("_byte_suffix_KB")
                 }, {
                    number: 1048576,
                    suffix: this.language.translate("_byte_suffix_MB")
                 }, {
                    number: 1073741824,
                    suffix: this.language.translate("_byte_suffix_GB")
                 }, {
                    number: 1099511627776,
                    suffix: this.language.translate("_byte_suffix_TB")
                 }, {
                    number: 0x4000000000000,
                    suffix: this.language.translate("_byte_suffix_PB")
                 }]), this._bytePrefixes
              },
              set: function (t) {
                 this._bytePrefixes = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "outputFormat", {
              get: function () {
                 return this._outputFormat
              },
              set: function (t) {
                 this._outputFormat = t.toLowerCase(), this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.escape = function (t) {
              return t.replace("||", u.e)
           }, e.prototype.unescape = function (t) {
              return t.replace(u.e, "|")
           }, e
        }(o.a);
     s.b.registeredClasses.NumberFormatter = p
  },
  Cekr: function (t, e, i) {
     "use strict";
     var n = i("5+SK"),
        r = i("Wbjh"),
        o = i("bPwn"),
        a = {};
     i("Vng0")(a, i("YEtG")("iterator"), function () {
        return this
     }), t.exports = function (t, e, i) {
        t.prototype = n(a, {
           next: r(1, i)
        }), o(t, e + " Iterator")
     }
  },
  CnhP: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("Gg2j"),
        s = i("Mtpk"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "RoundedRectangle", e.element = e.paper.add("path"), e.cornerRadius(3, 3, 3, 3), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.innerWidth,
                 i = this.innerHeight;
              if (s.isNumber(e) && s.isNumber(i)) {
                 var n = a.min(Math.abs(e / 2), Math.abs(i / 2)),
                    r = a.fitToRange(this.cornerRadiusTopLeft, 0, n),
                    o = a.fitToRange(this.cornerRadiusTopRight, 0, n),
                    u = a.fitToRange(this.cornerRadiusBottomRight, 0, n),
                    l = a.fitToRange(this.cornerRadiusBottomLeft, 0, n),
                    h = "M" + r + ",0 L" + (e - o) + ",0" + (" a" + o + "," + o + " 0 0 1 " + o + "," + o) + (" L" + e + "," + (i - u)) + (" a" + u + "," + u + " 0 0 1 -" + u + "," + u) + (" L" + l + "," + i) + (" a" + l + "," + l + " 0 0 1 -" + l + ",-" + l) + (" L0," + r) + (" a" + r + "," + r + " 0 0 1 " + r + ",-" + r) + " Z";
                 this.path = h
              }
           }, e.prototype.cornerRadius = function (t, e, i, n) {
              this.cornerRadiusTopLeft = t, this.cornerRadiusTopRight = e, this.cornerRadiusBottomLeft = i, this.cornerRadiusBottomRight = n
           }, Object.defineProperty(e.prototype, "cornerRadiusTopLeft", {
              get: function () {
                 return this.getPropertyValue("cornerRadiusTopLeft")
              },
              set: function (t) {
                 this.setPropertyValue("cornerRadiusTopLeft", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cornerRadiusTopRight", {
              get: function () {
                 return this.getPropertyValue("cornerRadiusTopRight")
              },
              set: function (t) {
                 this.setPropertyValue("cornerRadiusTopRight", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cornerRadiusBottomRight", {
              get: function () {
                 return this.getPropertyValue("cornerRadiusBottomRight")
              },
              set: function (t) {
                 this.setPropertyValue("cornerRadiusBottomRight", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cornerRadiusBottomLeft", {
              get: function () {
                 return this.getPropertyValue("cornerRadiusBottomLeft")
              },
              set: function (t) {
                 this.setPropertyValue("cornerRadiusBottomLeft", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.measureElement = function () {}, Object.defineProperty(e.prototype, "bbox", {
              get: function () {
                 return this.definedBBox ? this.definedBBox : this.isMeasured ? {
                    x: 0,
                    y: 0,
                    width: this.innerWidth,
                    height: this.innerHeight
                 } : {
                    x: 0,
                    y: 0,
                    width: 0,
                    height: 0
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.RoundedRectangle = u
  },
  CuFa: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("vMqJ"),
        a = i("P7v+"),
        s = i("aCit"),
        u = i("Wglt"),
        l = i("Mtpk"),
        h = i("tjMS"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._stops = new o.b, e.element = e.paper.addGroup("radialGradient"), e.id = "gradient-" + s.b.getUniqueId(), e.element.attr({
                 id: e.id
              }), e._disposers.push(e.element), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              var t, e = this,
                 i = this.element;
              l.isNumber(this.cx) && ((t = this.cx) instanceof h.a && (t = t.percent + "%"), i.attr({
                 cx: t
              }));
              l.isNumber(this.cy) && ((t = this.cy) instanceof h.a && (t = t.percent + "%"), i.attr({
                 cy: t
              }));
              this.fx && ((t = this.fx) instanceof h.a && (t = t.percent + "%"), i.attr({
                 fx: t
              }));
              this.fy && ((t = this.fy) instanceof h.a && (t = t.percent + "%"), i.attr({
                 fy: t
              }));
              i.removeChildNodes(), u.each(u.indexed(this._stops.iterator()), function (t) {
                 var n = t[0],
                    r = t[1],
                    o = r.offset;
                 l.isNumber(o) || (o = n / (e._stops.length - 1));
                 var a = e.paper.add("stop");
                 a.attr({
                    "stop-color": r.color
                 }), l.isNumber(r.opacity) && a.attr({
                    "stop-opacity": r.opacity
                 }), l.isNumber(o) && a.attr({
                    offset: o
                 }), i.add(a)
              })
           }, e.prototype.addColor = function (t, e, i) {
              this._stops.push({
                 color: t,
                 opacity: e,
                 offset: i
              }), this.draw()
           }, Object.defineProperty(e.prototype, "paper", {
              get: function () {
                 return this._paper ? this._paper : Object(a.b)()
              },
              set: function (t) {
                 this._paper != t && (this._paper = t, this.draw(), t.appendDef(this.element))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cx", {
              get: function () {
                 return this._cx
              },
              set: function (t) {
                 this._cx = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cy", {
              get: function () {
                 return this._cy
              },
              set: function (t) {
                 this._cy = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fx", {
              get: function () {
                 return this._fx
              },
              set: function (t) {
                 this._fx = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fy", {
              get: function () {
                 return this._fy
              },
              set: function (t) {
                 this._fy = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.stops.copyFrom(e.stops), this.cx = e.cx, this.cy = e.cy, this.fx = e.fx, this.fy = e.fy
           }, Object.defineProperty(e.prototype, "stops", {
              get: function () {
                 return this._stops
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.clear = function () {
              this._stops.clear()
           }, e
        }(r.a);
     s.b.registeredClasses.RadialGradient = c
  },
  "DA7/": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "ColorModifier", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.modify = function (t) {
              return t
           }, e
        }(r.a);
     o.b.registeredClasses.ColorModifier = a
  },
  DG6Q: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("CnhP"),
        a = i("aCit"),
        s = i("tjMS"),
        u = i("Gg2j"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Column", e.width = Object(s.c)(80), e.height = Object(s.c)(80), e.applyOnClones = !0, e.strokeOpacity = 1, e.layout = "none", e.createAssets(), e.events.on("childadded", e.handleKidAdded, e, !1), e
           }
           return n.c(e, t), e.prototype.handleKidAdded = function () {
              "none" == this.layout && (this.layout = "absolute")
           }, e.prototype.createAssets = function () {
              this.column = this.createChild(o.a), this.column.shouldClone = !1, this.column.cornerRadius(0, 0, 0, 0), this._disposers.push(this.column)
           }, e.prototype.validate = function () {
              t.prototype.validate.call(this);
              var e = this.column;
              e && (e.width = u.min(this.pixelWidth, this.maxWidth), e.height = u.min(this.pixelHeight, this.maxHeight), e.invalid && e.validate())
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.column && this.column.copyFrom(e.column)
           }, Object.defineProperty(e.prototype, "bbox", {
              get: function () {
                 return this.definedBBox ? this.definedBBox : this.column ? {
                    x: 0,
                    y: 0,
                    width: this.column.measuredWidth,
                    height: this.column.measuredHeight
                 } : {
                    x: 0,
                    y: 0,
                    width: u.min(this.pixelWidth, this.maxWidth),
                    height: u.min(this.pixelHeight, this.maxHeight)
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     a.b.registeredClasses.Column = l
  },
  DHte: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("8ZqG"),
        a = i("hxI2"),
        s = i("Mtpk"),
        u = i("v9UT"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._list = [], e._currentStep = 0, e._currentPass = 0, e.baseColor = new o.a({
                 r: 103,
                 g: 183,
                 b: 220
              }), e.stepOptions = {}, e.passOptions = {
                 brighten: -.2
              }, e.step = 1, e.minColors = 20, e.minLightness = .2, e.maxLightness = .9, e.shuffle = !1, e.wrap = !0, e.reuse = !1, e.saturation = 1, e.className = "ColorSet", e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "list", {
              get: function () {
                 return this._list || this.generate(this.minColors), this._list
              },
              set: function (t) {
                 this._list = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.next = function () {
              this.list.length <= this._currentStep && (this.reuse && 0 == this._currentPass && this._list.length && (this.minColors = this._list.length), this.generate(this.minColors));
              var t = this.list[this._currentStep];
              return this._currentStep += this.step, t.saturate(this.saturation)
           }, e.prototype.getIndex = function (t) {
              return this.list.length <= t ? (this.reuse && 0 == this._currentPass && this._list.length && (this.minColors = this._list.length), this.generate(this.minColors), this.getIndex(t)) : this.list[t].saturate(this.saturation)
           }, e.prototype.reset = function () {
              this._currentStep = 0
           }, Object.defineProperty(e.prototype, "currentStep", {
              get: function () {
                 return this._currentStep
              },
              set: function (t) {
                 this._currentStep = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.generate = function (t) {
              var e = this.currentColor,
                 i = a.rgbToHsl(s.getValue(e.rgb)),
                 n = s.hasValue(this.stepOptions.hue) ? this.stepOptions.hue : 1 / t,
                 r = {
                    brighten: 0,
                    lighten: 0,
                    hue: i.h,
                    lightness: i.l,
                    saturation: i.s
                 },
                 l = [];
              if (this.reuse)
                 for (var h = 0; h < t; h++) l.push(a.rgbToHsl(s.getValue(this._list[h].rgb)).h);
              else
                 for (h = 0; h < t; h++) {
                    var c = i.h + n * h;
                    this.wrap && c > 1 && (c -= 1), l.push(c)
                 }
              this.shuffle && l.sort(function (t, e) {
                 return Math.random() - .5
              });
              for (h = 0; h < t; h++) {
                 this.reuse ? i = a.rgbToHsl(s.getValue(this._list[h].rgb)) : i.h = l.shift(), this.applyStepOptions(i, r, h + 1, this._currentPass);
                 var p = Object(o.c)(a.hslToRgb(i)),
                    d = (this.stepOptions.brighten || 0) * (h + 1) + (this.passOptions.brighten || 0) * this._currentPass;
                 0 != d && (d = this.wrap ? u.fitNumberRelative(d, this.minLightness, this.maxLightness) : u.fitNumber(d, this.minLightness, this.maxLightness), p = p.brighten(d));
                 var f = (this.stepOptions.lighten || 0) * (h + 1) + (this.passOptions.lighten || 0) * this._currentPass;
                 0 != f && (f = this.wrap ? u.fitNumberRelative(f, this.minLightness, this.maxLightness) : u.fitNumber(f, this.minLightness, this.maxLightness), p = p.lighten(f)), this._list.push(p)
              }
              this._currentPass++
           }, Object.defineProperty(e.prototype, "currentColor", {
              get: function () {
                 return 0 == this._list.length ? this.baseColor.saturate(this.saturation) : this._list[this._list.length - 1].saturate(this.saturation)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.applyStepOptions = function (t, e, i, n) {
              t.l = e.lightness + (this.stepOptions.lightness || 0) * i + (this.passOptions.lightness || 0) * n, this.wrap ? (t.l > 1 ? t.l = t.l - Math.floor(t.l) : t.l < 0 && (t.l = -(t.l - Math.floor(t.l))), t.l = u.fitNumberRelative(t.l, this.minLightness, this.maxLightness)) : (t.l > 1 ? t.l = 1 : t.l < 0 && (t.l = 0), t.l = u.fitNumber(t.l, this.minLightness, this.maxLightness))
           }, e.prototype.processConfig = function (e) {
              if (e && s.hasValue(e.list) && s.isArray(e.list))
                 for (var i = 0, n = e.list.length; i < n; i++) e.list[i] instanceof o.a || (e.list[i] = Object(o.c)(e.list[i]));
              t.prototype.processConfig.call(this, e)
           }, e
        }(r.a)
  },
  DVYA: function (t, e) {
     var i = {}.toString;
     t.exports = function (t) {
        return i.call(t).slice(8, -1)
     }
  },
  DVvQ: function (t, e) {
     t.exports = Object.is || function (t, e) {
        return t === e ? 0 !== t || 1 / t == 1 / e : t != t && e != e
     }
  },
  DbOM: function (t, e) {
     t.exports = function (t) {
        if ("function" != typeof t) throw TypeError(t + " is not a function!");
        return t
     }
  },
  "DvJ+": function (t, e) {
     t.exports = function (t) {
        return "object" == typeof t ? null !== t : "function" == typeof t
     }
  },
  DziZ: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("tjMS"),
        a = i("aCit"),
        s = i("v9UT"),
        u = i("Mtpk"),
        l = i("hGwe"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Trapezoid", e.element = e.paper.add("path"), e.topSide = Object(o.c)(100), e.bottomSide = Object(o.c)(100), e.leftSide = Object(o.c)(100), e.rightSide = Object(o.c)(100), e.isMeasured = !1, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.pixelWidth,
                 i = this.pixelHeight,
                 n = s.relativeToValue(this.topSide, e),
                 r = s.relativeToValue(this.bottomSide, e),
                 o = s.relativeToValue(this.leftSide, i),
                 a = s.relativeToValue(this.rightSide, i),
                 h = (e - n) / 2,
                 c = (i - o) / 2,
                 p = e - (e - n) / 2,
                 d = (i - a) / 2,
                 f = e - (e - r) / 2,
                 g = i - (i - a) / 2,
                 y = (e - r) / 2,
                 m = i - (i - o) / 2,
                 b = "",
                 v = "",
                 _ = "",
                 x = "";
              if (u.hasValue(this.horizontalNeck)) {
                 var P = this.horizontalNeck.value;
                 b = l.lineTo({
                    x: e * P,
                    y: Math.max(c, d)
                 }), _ = l.lineTo({
                    x: e * P,
                    y: Math.min(g, m)
                 })
              }
              if (u.hasValue(this.verticalNeck)) {
                 var w = this.verticalNeck.value;
                 v = l.lineTo({
                    x: Math.min(p, f),
                    y: i * w
                 }), x = l.lineTo({
                    x: Math.max(h, y),
                    y: i * w
                 })
              }
              var O = l.moveTo({
                 x: h,
                 y: c
              }) + b + l.lineTo({
                 x: p,
                 y: d
              }) + v + l.lineTo({
                 x: f,
                 y: g
              }) + _ + l.lineTo({
                 x: y,
                 y: m
              }) + x;
              this.path = O
           }, Object.defineProperty(e.prototype, "topSide", {
              get: function () {
                 return this.getPropertyValue("topSide")
              },
              set: function (t) {
                 this.setPercentProperty("topSide", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bottomSide", {
              get: function () {
                 return this.getPropertyValue("bottomSide")
              },
              set: function (t) {
                 this.setPercentProperty("bottomSide", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "leftSide", {
              get: function () {
                 return this.getPropertyValue("leftSide")
              },
              set: function (t) {
                 this.setPercentProperty("leftSide", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "rightSide", {
              get: function () {
                 return this.getPropertyValue("rightSide")
              },
              set: function (t) {
                 this.setPercentProperty("rightSide", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "horizontalNeck", {
              get: function () {
                 return this.getPropertyValue("horizontalNeck")
              },
              set: function (t) {
                 this.setPropertyValue("horizontalNeck", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "verticalNeck", {
              get: function () {
                 return this.getPropertyValue("verticalNeck")
              },
              set: function (t) {
                 this.setPropertyValue("verticalNeck", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     a.b.registeredClasses.Trapezoid = h
  },
  "E+Sg": function (t, e, i) {
     var n = i("hjwn").f,
        r = Function.prototype,
        o = /^\s*function ([^ (]*)/;
     "name" in r || i("gD3S") && n(r, "name", {
        configurable: !0,
        get: function () {
           try {
              return ("" + this).match(o)[1]
           } catch (t) {
              return ""
           }
        }
     })
  },
  EEf7: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("vJiZ"),
        o = i("W0fk"),
        a = i("K0ev"),
        s = i("nHHr").f;
     i("gD3S") && n(n.P + i("3/+B"), "Object", {
        __lookupSetter__: function (t) {
           var e, i = r(this),
              n = o(t, !0);
           do {
              if (e = s(i, n)) return e.set
           } while (i = a(i))
        }
     })
  },
  EMhK: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Reflect", {
        ownKeys: i("+6ht")
     })
  },
  EOVy: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        sign: i("sxbc")
     })
  },
  EVjk: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Array", {
        isArray: i("kHwJ")
     })
  },
  EhJv: function (t, e, i) {
     var n = i("sHIJ"),
        r = i("kcsd");
     t.exports = function (t) {
        return n(r(t))
     }
  },
  EjGA: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return f
     });
     var n = i("m4/l"),
        r = i("Mpxm"),
        o = i("ZhuL"),
        a = i("4DCw"),
        s = i("Tjl+"),
        u = i("x79X"),
        l = i("P/bD"),
        h = i("7XB+"),
        c = i("aCit"),
        p = i("Mtpk"),
        d = i("Qkdp"),
        f = function (t) {
           function e(e, i) {
              var n = t.call(this) || this;
              return n.adapter = new u.a(n), n._requestOptions = {}, n._incremental = !1, n._incrementalParams = {}, n._keepCount = !1, n.showPreloader = !0, n.className = "DataSource", e && (n.url = e), i && (n.parser = "string" == typeof i ? r.b.getParserByType(i) : i), n
           }
           return n.c(e, t), e.prototype.processData = function (t, e) {
              if (this.dispatchImmediately("parsestarted"), this.parser || (this.parser = r.b.getParserByData(t, e), this.parser)) {
                 if (this.parser.options = this.adapter.apply("parserOptions", this.parser.options), this.parser.options.dateFields = this.adapter.apply("dateFields", this.parser.options.dateFields || []), this.parser.options.numberFields = this.adapter.apply("numberFields", this.parser.options.numberFields || []), this.parser.options.dateFields && !this.parser.options.dateFormatter && (this.parser.options.dateFormatter = this.dateFormatter), this.data = this.adapter.apply("parsedData", this.parser.parse(this.adapter.apply("unparsedData", t))), !p.hasValue(this.data) && this.events.isEnabled("parseerror")) {
                    var i = {
                       type: "parseerror",
                       message: this.language.translate("Error parsing file: %1", null, this.url),
                       target: this
                    };
                    this.events.dispatchImmediately("parseerror", i)
                 }
                 this.dispatchImmediately("parseended"), p.hasValue(this.data) && this.dispatchImmediately("done", {
                    data: this.data
                 }), this.lastLoad = new Date
              } else {
                 if (this.events.isEnabled("parseerror")) {
                    var n = {
                       type: "parseerror",
                       message: this.language.translate("No parser available for file: %1", null, this.url),
                       target: this
                    };
                    this.events.dispatchImmediately("parseerror", n)
                 }
                 this.dispatchImmediately("parseended")
              }
           }, Object.defineProperty(e.prototype, "url", {
              get: function () {
                 var t = this.disableCache ? this.timestampUrl(this._url) : this._url;
                 return this.incremental && this.component.data.length && (t = this.addUrlParams(t, this.incrementalParams)), this.adapter.apply("url", t)
              },
              set: function (t) {
                 this._url = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "requestOptions", {
              get: function () {
                 return this.adapter.apply("requestOptions", this._requestOptions)
              },
              set: function (t) {
                 this._requestOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "parser", {
              get: function () {
                 return this._parser || (this._parser = new o.a), this.adapter.apply("parser", this._parser)
              },
              set: function (t) {
                 this._parser = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "reloadFrequency", {
              get: function () {
                 return this.adapter.apply("reloadTimeout", this._reloadFrequency)
              },
              set: function (t) {
                 var e = this;
                 this._reloadFrequency != t && (this._reloadFrequency = t, t ? p.hasValue(this._reloadDisposer) || (this._reloadDisposer = this.events.on("ended", function (t) {
                    e._reloadTimeout = setTimeout(function () {
                       e.load()
                    }, e.reloadFrequency)
                 })) : p.hasValue(this._reloadDisposer) && (this._reloadDisposer.dispose(), this._reloadDisposer = void 0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "incremental", {
              get: function () {
                 return this.adapter.apply("incremental", this._incremental)
              },
              set: function (t) {
                 this._incremental = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "incrementalParams", {
              get: function () {
                 return this.adapter.apply("incrementalParams", this._incrementalParams)
              },
              set: function (t) {
                 this._incrementalParams = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "keepCount", {
              get: function () {
                 return this.adapter.apply("keepCount", this._keepCount)
              },
              set: function (t) {
                 this._keepCount = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "language", {
              get: function () {
                 return this._language ? this._language : this.component ? (this._language = this.component.language, this._language) : (this.language = new l.a, this.language)
              },
              set: function (t) {
                 this._language = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dateFormatter", {
              get: function () {
                 return this._dateFormatter ? this._dateFormatter : this.component ? (this._dateFormatter = this.component.dateFormatter, this._dateFormatter) : (this.dateFormatter = new h.a, this.dateFormatter)
              },
              set: function (t) {
                 this._dateFormatter = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.timestampUrl = function (t) {
              var e = {};
              return e[(new Date).getTime().toString()] = "", this.addUrlParams(t, e)
           }, e.prototype.dispose = function () {
              t.prototype.dispose.call(this), this._reloadTimeout && clearTimeout(this._reloadTimeout)
           }, e.prototype.load = function () {
              this._reloadTimeout && clearTimeout(this._reloadTimeout), r.b.load(this)
           }, e.prototype.addUrlParams = function (t, e) {
              var i = t.match(/\?/) ? "&" : "?",
                 n = [];
              return d.each(e, function (t, e) {
                 "" != e ? n.push(t + "=" + encodeURIComponent(e)) : n.push(t)
              }), n.length ? t + i + n.join("&") : t
           }, e.prototype.processConfig = function (e) {
              c.b.registeredClasses.json = o.a, c.b.registeredClasses.JSONParser = o.a, c.b.registeredClasses.csv = a.a, c.b.registeredClasses.CSVParser = a.a, t.prototype.processConfig.call(this, e)
           }, e
        }(s.b)
  },
  F2Gx: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(6),
        o = "findIndex",
        a = !0;
     o in [] && Array(1)[o](function () {
        a = !1
     }), n(n.P + n.F * a, "Array", {
        findIndex: function (t) {
           return r(this, t, arguments.length > 1 ? arguments[1] : void 0)
        }
     }), i("M/YL")(o)
  },
  FSsr: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = i("DbOM"),
        a = n.key,
        s = n.set;
     n.exp({
        metadata: function (t, e) {
           return function (i, n) {
              s(t, e, (void 0 !== n ? r : o)(i), a(n))
           }
        }
     })
  },
  FUSD: function (t, e, i) {
     var n = i("FmWr"),
        r = i("lhvN"),
        o = i("kcsd");
     t.exports = function (t, e, i, a) {
        var s = String(o(t)),
           u = s.length,
           l = void 0 === i ? " " : String(i),
           h = n(e);
        if (h <= u || "" == l) return s;
        var c = h - u,
           p = r.call(l, Math.ceil(c / l.length));
        return p.length > c && (p = p.slice(0, c)), a ? p + s : s + p
     }
  },
  FmWr: function (t, e, i) {
     var n = i("4BRe"),
        r = Math.min;
     t.exports = function (t) {
        return t > 0 ? r(n(t), 9007199254740991) : 0
     }
  },
  FzPm: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("tjMS"),
        a = i("aCit"),
        s = i("v9UT"),
        u = i("Gg2j"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Circle", e.element = e.paper.add("circle"), e.setPercentProperty("radius", Object(o.c)(100)), e.setPropertyValue("horizontalCenter", "middle"), e.setPropertyValue("verticalCenter", "middle"), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), this.element.attr({
                 r: this.pixelRadius
              })
           }, Object.defineProperty(e.prototype, "radius", {
              get: function () {
                 return this.getPropertyValue("radius")
              },
              set: function (t) {
                 this.setPercentProperty("radius", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelRadius", {
              get: function () {
                 return s.relativeToValue(this.radius, u.min(this.innerWidth / 2, this.innerHeight / 2))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.measureElement = function () {
              var t = this.pixelRadius;
              this._bbox = {
                 x: -t,
                 y: -t,
                 width: 2 * t,
                 height: 2 * t
              }
           }, e
        }(r.a);
     a.b.registeredClasses.Circle = l
  },
  G0iN: function (t, e, i) {
     var n = i("3BzE"),
        r = i("pmYy"),
        o = i("eBSV");
     t.exports = function (t) {
        var e = n(t),
           i = r.f;
        if (i)
           for (var a, s = i(t), u = o.f, l = 0; s.length > l;) u.call(t, a = s[l++]) && e.push(a);
        return e
     }
  },
  G5U1: function (t, e) {
     var i = t.exports = {
        version: "2.6.1"
     };
     "number" == typeof __e && (__e = i)
  },
  GAaQ: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return S
     });
     var n = i("m4/l"),
        r = i("qJno"),
        o = i("x79X"),
        a = i("W8Sc"),
        s = i("vMqJ"),
        u = i("+qIf"),
        l = i("7XB+"),
        h = i("akNo"),
        c = i("P/bD"),
        p = i("/IEW"),
        d = i("8ZqG"),
        f = i("aCit"),
        g = i("Q4nc"),
        y = i("58Sn"),
        m = i("Qkdp"),
        b = i("OVUc"),
        v = i("Mtpk"),
        _ = i("v9UT"),
        x = i("hJ5i"),
        P = /src: ([^;]+);/;

     function w(t, e) {
        return n.b(this, void 0, void 0, function () {
           var i, r;
           return n.d(this, function (n) {
              switch (n.label) {
                 case 0:
                    return [4, b.a(t)];
                 case 1:
                    i = n.sent(), (r = document.createElement("style")).textContent = i.response, document.head.appendChild(r), n.label = 2;
                 case 2:
                    return n.trys.push([2, , 4, 5]), [4, e(r.sheet)];
                 case 3:
                    return [2, n.sent()];
                 case 4:
                    return document.head.removeChild(r), [7];
                 case 5:
                    return [2]
              }
           })
        })
     }

     function O(t, e, i) {
        return n.b(this, void 0, void 0, function () {
           var r, o, a;
           return n.d(this, function (n) {
              switch (n.label) {
                 case 0:
                    for (r = [], o = function (n) {
                          var o = e.cssRules[n];
                          if (o.type === CSSRule.IMPORT_RULE) {
                             var a = o.href;
                             a && (a = _.joinUrl(t, a), r.push(w(a, function (t) {
                                return O(a, t, i)
                             })))
                          } else i(t, o)
                       }, a = 0; a < e.cssRules.length; a++) o(a);
                    return r.length ? [4, Promise.all(r)] : [3, 2];
                 case 1:
                    n.sent(), n.label = 2;
                 case 2:
                    return [2]
              }
           })
        })
     }
     var S = function (t) {
        function e(e) {
           var i = t.call(this) || this;
           return i.adapter = new o.a(i), i._formatOptions = new u.a, i._removedObjects = new s.b, i._hiddenObjects = [], i._filePrefix = "amCharts", i.useWebFonts = !0, i.useRetina = !0, i.timeoutDelay = 2e3, i._container = e, i.className = "Export", i._formatOptions.setKey("png", {}), i._formatOptions.setKey("jpg", {
              quality: .8
           }), i._formatOptions.setKey("gif", {}), i._formatOptions.setKey("svg", {}), i._formatOptions.setKey("pdf", {
              fontSize: 14,
              imageFormat: "png",
              addURL: !0
           }), i._formatOptions.setKey("json", {
              indent: 2,
              useLocale: !0
           }), i._formatOptions.setKey("csv", {
              addColumnNames: !0,
              emptyAs: ""
           }), i._formatOptions.setKey("xlsx", {
              addColumnNames: !0,
              useLocale: !0,
              emptyAs: ""
           }), i._formatOptions.setKey("print", {
              delay: 500,
              printMethod: "iframe"
           }), i.adapter.add("options", function (t) {
              var e = i._formatOptions.getKey(t.type);
              return t.options ? t.options = m.merge(t.options, e) : t.options = e, t
           }), i.applyTheme(), i.dispatchImmediately("inited"), i
        }
        return n.c(e, t), Object.defineProperty(e.prototype, "menu", {
           get: function () {
              return this._menu
           },
           set: function (t) {
              var e = this;
              this._menu && this.removeDispose(this._menu), this._menu = t, this._menu.container = this.container, this._menu.language = this._language, this._menu.adapter.add("branch", function (t) {
                 return t.branch.unsupported = !e.typeSupported(t.branch.type), t
              }), this._menu.events.on("hit", function (t) {
                 e.export(t.branch.type, t.branch.options), e.menu.close()
              }), this._menu.events.on("enter", function (t) {
                 e.export(t.branch.type, t.branch.options), e.menu.close()
              }), this._menu.events.on("over", function (t) {
                 e._disablePointers()
              }), this._menu.events.on("out", function (t) {
                 e._releasePointers()
              }), this.dispatchImmediately("menucreated"), this._menu.adapter.add("classPrefix", function (t) {
                 return t.classPrefix = g.a.classNamePrefix + t.classPrefix, t
              }), this._disposers.push(this._menu)
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.typeSupported = function (t) {
           var e = !0;
           return "pdf" === t ? e = this.downloadSupport() : "xlsx" === t ? e = !(!this.downloadSupport() || !this._hasData()) : ("print" != t || window.print) && (-1 === ["json", "csv"].indexOf(t) || this._hasData()) || (e = !1), this.adapter.apply("supported", {
              supported: e,
              type: t
           }).supported
        }, e.prototype._hasData = function () {
           return this.data && this.data.length
        }, e.prototype._getFunction = function (t) {
           switch (t) {
              case "png":
              case "gif":
              case "jpg":
                 return this.getImage;
              case "svg":
                 return this.getSVG;
              case "pdf":
                 return this.getPDF;
              case "xlsx":
                 return this.getExcel;
              case "csv":
                 return this.getCSV;
              case "json":
                 return this.getJSON;
              case "print":
                 return this.getPrint;
              default:
                 return this.unsupported
           }
        }, e.prototype.export = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u = this;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return this.events.isEnabled("exportstarted") && (i = {
                          type: "exportstarted",
                          target: this,
                          format: t,
                          options: e
                       }, this.events.dispatchImmediately("exportstarted", i)), "custom" == t ? (this.handleCustom(e), [2, !0]) : (this.showPreloader(), this.timeoutDelay && (this.hideTimeout(), this._timeoutTimeout = this.setTimeout(function () {
                          if (u.events.isEnabled("exporttimedout")) {
                             var i = {
                                type: "exporttimedout",
                                target: u,
                                format: t,
                                options: e
                             };
                             u.events.dispatchImmediately("exporttimedout", i)
                          }
                          u.showTimeout()
                       }, this.timeoutDelay)), this.hideNonExportableSprites(), r = this._getFunction(t), e = this.adapter.apply("options", {
                          options: e,
                          type: t
                       }).options, [4, (r = this.adapter.apply("exportFunction", {
                          func: r,
                          type: t,
                          options: e
                       }).func).call(this, t, e)]);
                    case 1:
                       return o = n.sent(), this.restoreNonExportableSprites(), o ? (this.events.isEnabled("exportfinished") && (a = {
                          type: "exportfinished",
                          target: this,
                          format: t,
                          options: e
                       }, this.events.dispatchImmediately("exportfinished", a)), this.hidePreloader(), this.hideTimeout(), "print" === t ? [2, this.print(o, e, this.adapter.apply("title", {
                          title: this.title,
                          options: e
                       }).title)] : [2, this.download(o, this.filePrefix + "." + t)]) : (this.events.isEnabled("error") && (s = {
                          type: "error",
                          target: this,
                          format: t,
                          options: e
                       }, this.events.dispatchImmediately("error", s)), [2, !1])
                 }
              })
           })
        }, e.prototype.unsupported = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              return n.d(this, function (t) {
                 return [2, ""]
              })
           })
        }, e.prototype.handleCustom = function (t) {
           v.hasValue(t.callback) && t.callback.call(this, t)
        }, e.prototype.getPrint = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              return n.d(this, function (t) {
                 return [2, this.getImage("png", e)]
              })
           })
        }, e.prototype.getFontFamilies = function () {
           return n.b(this, void 0, void 0, function () {
              var t, e, i, r, o = this;
              return n.d(this, function (a) {
                 switch (a.label) {
                    case 0:
                       return t = this.getDOMURL(), e = [], i = [], [4, function (t) {
                          return n.b(this, void 0, void 0, function () {
                             return n.d(this, function (e) {
                                switch (e.label) {
                                   case 0:
                                      return [4, Promise.all(x.map(document.styleSheets, function (e) {
                                         var i = e.href;
                                         return null == i ? O(location.href, e, t) : w(i = _.joinUrl(location.href, i), function (e) {
                                            return O(i, e, t)
                                         })
                                      }))];
                                   case 1:
                                      return e.sent(), [2]
                                }
                             })
                          })
                       }(function (r, a) {
                          if (a.type === CSSRule.FONT_FACE_RULE) {
                             var s = a.cssText,
                                u = P.exec(s);
                             if (null !== u) {
                                var l = u[1].split(/ *, */).map(function (i) {
                                   return n.b(o, void 0, void 0, function () {
                                      var o, a, s, u, l, h;
                                      return n.d(this, function (n) {
                                         switch (n.label) {
                                            case 0:
                                               return null !== (o = /^url\(["']?([^"'\)]+)["']?\)([^,]*)$/.exec(i)) ? [3, 1] : [2, i];
                                            case 1:
                                               a = o[2], s = _.joinUrl(r, o[1]), n.label = 2;
                                            case 2:
                                               return n.trys.push([2, 7, , 8]), [4, b.a(s, void 0, {
                                                  responseType: "blob"
                                               })];
                                            case 3:
                                               return u = n.sent(), null == window.navigator.msSaveOrOpenBlob ? [3, 4] : (l = t.createObjectURL(u.blob), e.push(l), [3, 6]);
                                            case 4:
                                               return [4, function (t) {
                                                  return new Promise(function (e, i) {
                                                     var n = new FileReader;
                                                     n.onload = function (t) {
                                                        e(n.result)
                                                     }, n.onerror = function (t) {
                                                        i(t)
                                                     }, n.readAsDataURL(t)
                                                  })
                                               }(u.blob)];
                                            case 5:
                                               l = n.sent(), n.label = 6;
                                            case 6:
                                               return [2, 'url("' + l + '")' + a];
                                            case 7:
                                               return h = n.sent(), console.error("Failed to load font", s, h), [2, null];
                                            case 8:
                                               return [2]
                                         }
                                      })
                                   })
                                });
                                i.push(Promise.all(l).then(function (t) {
                                   return 0 === (t = t.filter(function (t) {
                                      return null != t
                                   })).length ? "" : s.replace(P, "src: " + t.join(", ") + ";")
                                }))
                             }
                          }
                       })];
                    case 1:
                       return a.sent(), [4, Promise.all(i)];
                    case 2:
                       return r = a.sent(), [2, {
                          blobs: e,
                          cssText: r.filter(function (t) {
                             return !!t
                          }).join("\n")
                       }]
                 }
              })
           })
        }, e.prototype.getImage = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u, l, h, c, p, d, f, g, y, m, b, _;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return [4, this.simplifiedImageExport()];
                    case 1:
                       if (!n.sent()) return [3, 9];
                       i = this.backgroundColor || this.findBackgroundColor(this.sprite.dom), r = this.getDOMURL(), o = null, a = null, n.label = 2;
                    case 2:
                       return n.trys.push([2, 5, 7, 8]), s = this.sprite.pixelWidth, u = this.sprite.pixelHeight, l = this.findFont(this.sprite.dom), h = this.findFontSize(this.sprite.dom), c = this.getDisposableCanvas(), p = this.getPixelRatio(), c.style.width = s + "px", c.style.height = u + "px", c.width = s * p, c.height = u * p, d = c.getContext("2d"), 1 != p && d.setTransform(p, 0, 0, p, 0, 0), i && (d.fillStyle = i.toString(), d.fillRect(0, 0, s, u)), f = [], this.useWebFonts && f.push(this.getFontFamilies().then(function (t) {
                          return a = t.blobs, t.cssText
                       })), f.push(this.imagesToDataURI(this.sprite.dom, e)), f.push(this.prepForeignObjects(this.sprite.dom, e)), [4, Promise.all(f)];
                    case 3:
                       return g = n.sent(), y = this.normalizeSVG("<style>" + g[0] + "</style>" + this.serializeElement(this.sprite.paper.defs) + this.serializeElement(this.sprite.dom), e, s, u, l, h), m = new Blob([y], {
                          type: "image/svg+xml"
                       }), o = r.createObjectURL(m), [4, this.loadNewImage(o, s, u, "anonymous")];
                    case 4:
                       return b = n.sent(), d.drawImage(b, 0, 0), v.hasValue(e) || (e = {}), _ = c.toDataURL(this.getContentType(t), e.quality), this.disposeCanvas(c), [2, _];
                    case 5:
                       return n.sent(), [4, this.getImageAdvanced(t, e)];
                    case 6:
                       return [2, n.sent()];
                    case 7:
                       return null !== o && r.revokeObjectURL(o), null !== a && x.each(a, function (t) {
                          r.revokeObjectURL(t)
                       }), this.restoreRemovedObjects(), [7];
                    case 8:
                       return [3, 11];
                    case 9:
                       return [4, this.getImageAdvanced(t, e)];
                    case 10:
                       return [2, n.sent()];
                    case 11:
                       return [2]
                 }
              })
           })
        }, e.prototype.getImageAdvanced = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u, l, h, c, p, d;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return [4, this.imagesToDataURI(this.sprite.dom, e)];
                    case 1:
                       return n.sent(), i = this.backgroundColor || this.findBackgroundColor(this.sprite.dom), [4, this.canvg];
                    case 2:
                       return r = n.sent(), o = this.sprite.pixelWidth, a = this.sprite.pixelHeight, s = this.findFont(this.sprite.dom), u = this.findFontSize(this.sprite.dom), l = this.normalizeSVG(this.serializeElement(this.sprite.paper.defs) + this.serializeElement(this.sprite.dom), e, o, a, s, u, i), h = this.getDisposableCanvas(), c = this.getPixelRatio(), h.style.width = o * c + "px", h.style.height = a * c + "px", h.width = o * c, h.height = a * c, p = {
                          useCORS: !0
                       }, 1 != c && (p.ignoreDimensions = !0, p.scaleWidth = o * c, p.scaleHeight = a * c), r(h, l, p), v.hasValue(e) || (e = {}), d = h.toDataURL(this.getContentType(t), e.quality), this.disposeCanvas(h), [2, d]
                 }
              })
           })
        }, e.prototype.getDisposableCanvas = function () {
           var t = document.createElement("canvas");
           return t.style.position = "fixed", t.style.top = "-10000px", document.body.appendChild(t), t
        }, e.prototype.disposeCanvas = function (t) {
           document.body.removeChild(t)
        }, e.prototype.getPixelRatio = function () {
           return this.useRetina ? _.getPixelRatio() : 1
        }, e.prototype.imagesToDataURI = function (t, i) {
           return n.b(this, void 0, void 0, function () {
              var r, o, a, s, u, l;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       if (!(r = t.querySelectorAll("image")).length) return [3, 2];
                       for (o = [], a = r.length, s = 0; s < a; s++) u = r[s], -1 !== (l = u.getAttributeNS(e.XLINK, "href")).indexOf("data:image") || (-1 !== l.indexOf(".svg") ? o.push(this.svgToDataURI(u, i)) : o.push(this.imageToDataURI(u, i)));
                       return [4, Promise.all(o)];
                    case 1:
                       return n.sent(), [2];
                    case 2:
                       return [2]
                 }
              })
           })
        }, e.prototype.prepForeignObjects = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var e, i, r;
              return n.d(this, function (n) {
                 if ((e = t.querySelectorAll("foreignObject")).length)
                    for (i = e.length, r = 0; r < i; r++) this.temporarilyRemoveObject(e[r]);
                 return [2]
              })
           })
        }, e.prototype.imageToDataURI = function (t, i) {
           return n.b(this, void 0, void 0, function () {
              var r, o, a;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return n.trys.push([0, 2, , 3]), [4, this.loadNewImage(t.getAttributeNS(e.XLINK, "href"), null, null, "anonymous")];
                    case 1:
                       r = n.sent(), (o = document.createElement("canvas")).width = r.width, o.height = r.height, o.getContext("2d").drawImage(r, 0, 0);
                       try {
                          return a = o.toDataURL(), t.setAttribute("href", a), [2, a]
                       } catch (e) {
                          return !1 !== i.keepTainted && this.temporarilyRemoveObject(t), [2, void 0]
                       }
                       return [3, 3];
                    case 2:
                       return n.sent(), i && !1 === i.keepTainted || this.temporarilyRemoveObject(t), [2, void 0];
                    case 3:
                       return [2]
                 }
              })
           })
        }, e.prototype.svgToDataURI = function (t, i) {
           return n.b(this, void 0, void 0, function () {
              var r, o, a, s;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       r = t.getAttributeNS(e.XLINK, "href"), n.label = 1;
                    case 1:
                       return n.trys.push([1, 3, , 4]), [4, b.a(r)];
                    case 2:
                       return o = n.sent(), a = this.adapter.apply("charset", {
                          charset: "base64",
                          type: "svg",
                          options: i
                       }).charset, s = this.adapter.apply("svgToDataURI", {
                          data: "data:" + this.getContentType("svg") + ";" + a + "," + btoa(o.response),
                          options: i
                       }).data, t.setAttributeNS(e.XLINK, "href", s), [2, s];
                    case 3:
                       return n.sent(), i && !1 === i.keepTainted || this.temporarilyRemoveObject(t), [2, void 0];
                    case 4:
                       return [2]
                 }
              })
           })
        }, e.prototype.temporarilyRemoveObject = function (t, e) {
           var i = t.parentElement || t.parentNode;
           e || (e = this.sprite.paper.add("g").node), i.insertBefore(e, t), t.textContent, i.removeChild(t), this._removedObjects.push({
              element: t,
              placeholder: e
           })
        }, e.prototype.restoreRemovedObjects = function () {
           for (var t; t = this._removedObjects.pop();) {
              (t.placeholder.parentElement || t.placeholder.parentNode).insertBefore(t.element, t.placeholder)
           }
        }, e.prototype.simplifiedImageExport = function () {
           return n.b(this, void 0, void 0, function () {
              var t, e, i, r, o, a, s;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       if (!1 === (t = f.b.getCache("simplifiedImageExport")) || !0 === t) return [2, t];
                       n.label = 1;
                    case 1:
                       return n.trys.push([1, 3, , 4]), (e = document.createElement("canvas")).width = 1, e.height = 1, i = e.getContext("2d"), r = this.getDOMURL(), o = new Blob([this.normalizeSVG("<g></g>", {}, 1, 1)], {
                          type: "image/svg+xml"
                       }), a = r.createObjectURL(o), [4, this.loadNewImage(a, 1, 1)];
                    case 2:
                       s = n.sent(), i.drawImage(s, 0, 0), r.revokeObjectURL(a);
                       try {
                          return f.b.setCache("simplifiedImageExport", !0), [2, !0]
                       } catch (t) {
                          return f.b.setCache("simplifiedImageExport", !1), [2, !1]
                       }
                       return [3, 4];
                    case 3:
                       return n.sent(), f.b.setCache("simplifiedImageExport", !1), [2, !1];
                    case 4:
                       return [2]
                 }
              })
           })
        }, e.prototype.loadNewImage = function (t, e, i, n) {
           return new Promise(function (r, o) {
              var a;

              function s() {
                 if (n) {
                    var e = a.src;
                    a.onerror = function () {
                       o(new Error('Loading image "' + t + '" failed'))
                    }, a.removeAttribute("crossorigin"), a.src = "", a.src = e
                 } else o(new Error('Loading image "' + t + '" failed'))
              }
              a = e && i ? new Image(e, i) : new Image, n && a.setAttribute("crossOrigin", n), a.onload = function () {
                 r(a)
              }, a.onabort = s, a.onerror = s, a.src = t
           })
        }, e.prototype.getDOMURL = function () {
           return self.URL || self.webkitURL || self
        }, e.prototype.getSVG = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u;
              return n.d(this, function (n) {
                 return i = this.sprite.pixelWidth, r = this.sprite.pixelHeight, o = this.findFont(this.sprite.dom), a = this.findFontSize(this.sprite.dom), s = this.normalizeSVG(this.serializeElement(this.sprite.paper.defs) + this.serializeElement(this.sprite.dom), e, i, r, o, a), u = this.adapter.apply("charset", {
                    charset: "charset=utf-8",
                    type: "svg",
                    options: e
                 }).charset, [2, this.adapter.apply("getSVG", {
                    data: "data:" + this.getContentType(t) + ";" + u + "," + encodeURIComponent(s),
                    options: e
                 }).data]
              })
           })
        }, e.prototype.normalizeSVG = function (t, e, i, n, r, o, a) {
           var s = "";
           i && (s += 'width="' + i + 'px" '), n && (s += 'height="' + n + 'px" ');
           var u = "";
           return r && (u += "font-family: " + r.replace(/"/g, "") + ";"), o && (u += "font-size: " + o + ";"), t.match(/<svg/) ? "" !== s && (t = (t = (t = t.replace(/(<svg[^>]*)width="[^"]*"/, "$1")).replace(/(<svg[^>]*)height="[^"]*"/, "$1")).replace(/(<svg)/, "$1" + s)) : t = '<?xml version="1.0" encoding="utf-8"?><svg ' + s + ' style="' + u + '" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' + t + "</svg>", a && (t = t.replace(/(<svg[^>]*>)/, '$1<rect width="100%" height="100%" fill="' + a.rgba + '"/>')), t = this.adapter.apply("normalizeSVG", {
              data: t,
              options: e
           }).data
        }, e.prototype.serializeElement = function (t) {
           return (new XMLSerializer).serializeToString(t)
        }, e.prototype.getPDF = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var t, i, r, o, a;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return [4, this.getImage(e.imageFormat || "png", e)];
                    case 1:
                       return t = n.sent(), [4, this.pdfmake];
                    case 2:
                       return i = n.sent(), r = [30, 30, 30, 30], o = {
                          pageSize: e.pageSize || "A4",
                          pageOrientation: e.pageOrientation || "portrait",
                          pageMargins: e.pageMargins || r,
                          content: []
                       }, (a = this.adapter.apply("title", {
                          title: this.title,
                          options: e
                       }).title) && o.content.push({
                          text: a,
                          fontSize: e.fontSize,
                          bold: !0,
                          margin: [0, 0, 0, 15]
                       }), e.addURL && o.content.push({
                          text: this.language.translate("Saved from") + ": " + document.location.href,
                          fontSize: e.fontSize,
                          margin: [0, 0, 0, 15]
                       }), o.content.push({
                          image: t,
                          fit: this.getPageSizeFit(o.pageSize, o.pageMargins)
                       }), o = this.adapter.apply("pdfmakeDocument", {
                          doc: o,
                          options: e
                       }).doc, [4, new Promise(function (t, e) {
                          i.createPdf(o).getDataUrl(function (e) {
                             t(e)
                          })
                       })];
                    case 3:
                       return [2, n.sent()]
                 }
              })
           })
        }, e.prototype.getPageSizeFit = function (t, e) {
           var i = [0, 0, 0, 0];
           "number" == typeof e ? i = [e, e, e, e] : 2 == e.length ? i = [e[0], e[1], e[0], e[1]] : 4 == e.length && (i = e);
           var n = {
              "4A0": [4767.87, 6740.79],
              "2A0": [3370.39, 4767.87],
              A0: [2383.94, 3370.39],
              A1: [1683.78, 2383.94],
              A2: [1190.55, 1683.78],
              A3: [841.89, 1190.55],
              A4: [595.28, 841.89],
              A5: [419.53, 595.28],
              A6: [297.64, 419.53],
              A7: [209.76, 297.64],
              A8: [147.4, 209.76],
              A9: [104.88, 147.4],
              A10: [73.7, 104.88],
              B0: [2834.65, 4008.19],
              B1: [2004.09, 2834.65],
              B2: [1417.32, 2004.09],
              B3: [1000.63, 1417.32],
              B4: [708.66, 1000.63],
              B5: [498.9, 708.66],
              B6: [354.33, 498.9],
              B7: [249.45, 354.33],
              B8: [175.75, 249.45],
              B9: [124.72, 175.75],
              B10: [87.87, 124.72],
              C0: [2599.37, 3676.54],
              C1: [1836.85, 2599.37],
              C2: [1298.27, 1836.85],
              C3: [918.43, 1298.27],
              C4: [649.13, 918.43],
              C5: [459.21, 649.13],
              C6: [323.15, 459.21],
              C7: [229.61, 323.15],
              C8: [161.57, 229.61],
              C9: [113.39, 161.57],
              C10: [79.37, 113.39],
              RA0: [2437.8, 3458.27],
              RA1: [1729.13, 2437.8],
              RA2: [1218.9, 1729.13],
              RA3: [864.57, 1218.9],
              RA4: [609.45, 864.57],
              SRA0: [2551.18, 3628.35],
              SRA1: [1814.17, 2551.18],
              SRA2: [1275.59, 1814.17],
              SRA3: [907.09, 1275.59],
              SRA4: [637.8, 907.09],
              EXECUTIVE: [521.86, 756],
              FOLIO: [612, 936],
              LEGAL: [612, 1008],
              LETTER: [612, 792],
              TABLOID: [792, 1224]
           } [t];
           return n[0] -= i[0] + i[2], n[1] -= i[1] + i[3], n
        }, e.prototype.getExcel = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u, l, h;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return [4, this.xlsx];
                    case 1:
                       for (i = n.sent(), r = this.adapter.apply("xlsxWorkbookOptions", {
                             options: {
                                bookType: "xlsx",
                                bookSST: !1,
                                type: "base64"
                             }
                          }).options, o = this.normalizeExcelSheetName(this.adapter.apply("xlsxSheetName", {
                             name: this.title || this.language.translate("Data")
                          }).name), a = {
                             SheetNames: [o],
                             Sheets: {}
                          }, s = [], u = this.dataFields, e.addColumnNames && s.push(this.getExcelRow(u, e)), l = this.data.length, h = 0; h < l; h++) s.push(this.getExcelRow(this.data[h], e, u));
                       return a.Sheets[o] = i.utils.aoa_to_sheet(s), [2, this.adapter.apply("getExcel", {
                          data: "data:" + this.getContentType(t) + ";base64," + i.write(a, r),
                          options: e
                       }).data]
                 }
              })
           })
        }, e.prototype.normalizeExcelSheetName = function (t) {
           return t = t.replace(/([:\\\/?*\[\]]+)/g, " "), _.truncateWithEllipsis(t, 31, "...", !0)
        }, e.prototype.getExcelRow = function (t, e, i) {
           var n = this,
              r = [];
           return i || (i = t), m.each(i, function (i, o) {
              var a = n.convertEmptyValue(i, t[i], e);
              r.push(n.convertToDateOrDuration(i, a, e, !0))
           }), r
        }, e.prototype.getCSV = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u, l;
              return n.d(this, function (n) {
                 for (i = "", r = this.dataFields, o = "", a = this.data.length, s = 0; s < a; s++) u = this.getCSVRow(this.data[s], e, r), e.reverse ? i = u + o + i : i += o + u, o = "\n";
                 return e.addColumnNames && (i = this.getCSVRow(r, e) + o + i), l = this.adapter.apply("charset", {
                    charset: "charset=utf-8",
                    type: t,
                    options: e
                 }).charset, [2, this.adapter.apply("getCSV", {
                    data: "data:" + this.getContentType(t) + ";" + l + "," + encodeURIComponent(i),
                    options: e
                 }).data]
              })
           })
        }, e.prototype.getCSVRow = function (t, e, i) {
           var n = this,
              r = e.separator || ",",
              o = [];
           return i || (i = t), m.each(i, function (i, a) {
              var s = n.convertEmptyValue(i, t[i], e),
                 u = n.convertToDateOrDuration(i, s, e);
              u = (u = "" + u).replace(/"/g, '""'), (e.forceQuotes || u.search(new RegExp('"|\n|' + r, "g")) >= 0) && (u = '"' + u + '"'), o.push(u)
           }), o.join(r)
        }, e.prototype.getJSON = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o = this;
              return n.d(this, function (n) {
                 return i = JSON.stringify(this.data, function (t, i) {
                    return "object" == typeof i && m.each(i, function (t, n) {
                       i[t] = o.convertToDateOrDuration(t, n, e)
                    }), i
                 }, e.indent), r = this.adapter.apply("charset", {
                    charset: "charset=utf-8",
                    type: t,
                    options: e
                 }).charset, [2, this.adapter.apply("getJSON", {
                    data: "data:" + this.getContentType(t) + ";" + r + "," + encodeURIComponent(i),
                    options: e
                 }).data]
              })
           })
        }, e.prototype.convertToDateOrDuration = function (t, e, i, n) {
           if ("number" == typeof e)
              if (this.isDateField(t)) e = new Date(e);
              else if (this.isDurationField(t)) return this.durationFormatter.format(e, this.durationFormat);
           return e instanceof Date && (i.useTimestamps ? e = e.getTime() : i.useLocale ? n || (e = e.toLocaleString()) : e = this.dateFormatter.format(e, this.dateFormat)), e
        }, e.prototype.convertEmptyValue = function (t, e, i) {
           return v.hasValue(e) ? e : i.emptyAs
        }, e.prototype.download = function (t, e) {
           return n.b(this, void 0, void 0, function () {
              var i, r, o, a, s, u, l, h, c, p;
              return n.d(this, function (n) {
                 if (this.linkDownloadSupport() && !this.blobDownloadSupport())(i = document.createElement("a")).download = e, i.href = t, document.body.appendChild(i), i.click(), document.body.removeChild(i);
                 else if (v.hasValue(window.navigator.msSaveBlob)) {
                    if (l = t.split(";"), h = l.shift().replace(/data:/, ""), t = decodeURIComponent(l.join(";").replace(/^[^,]*,/, "")), -1 == ["image/svg+xml", "application/json", "text/csv"].indexOf(h)) try {
                       r = atob(t), t = r
                    } catch (t) {
                       return [2, !1]
                    }
                    for (o = new Array(t.length), a = 0; a < t.length; ++a) s = t.charCodeAt(a), o[a] = s;
                    u = new Blob([new Uint8Array(o)], {
                       type: h
                    }), window.navigator.msSaveBlob(u, e)
                 } else this.legacyIE() && 4 === (l = t.match(/^data:(.*);[ ]*([^,]*),(.*)$/)).length && ("base64" == l[2] ? l[1].match(/^image\//) && this.showModal('<img src="' + t + '" style="float: left; max-width: 50%; max-height: 80%; margin: 0 1em 0.5em 0; border: 1px solid #eee;" /><p>' + this.language.translate('To save the image, right-click thumbnail on the left and choose "Save picture as..."') + '</p><p style="text-align: center;"><small>' + this.language.translate("(Press ESC to close this message)") + "</small></p>", this.language.translate("Image Export Complete")) : (h = void 0, e.match(/\.svg$/) ? h = "image/svg+xml" : (h = "text/plain", e += ".txt"), (c = document.createElement("iframe")).width = "1px", c.height = "1px", c.style.display = "none", document.body.appendChild(c), (p = c.contentDocument).open(h, "replace"), p.write(decodeURIComponent(l[3])), p.close(), p.execCommand("SaveAs", !0, e), document.body.removeChild(c)));
                 return [2, !0]
              })
           })
        }, e.prototype.downloadSupport = function () {
           return this.linkDownloadSupport() || this.blobDownloadSupport()
        }, e.prototype.linkDownloadSupport = function () {
           var t = f.b.getCache("linkDownloadSupport");
           if (!1 === t || !0 === t) return t;
           var e = void 0 !== document.createElement("a").download;
           return f.b.setCache("linkDownloadSupport", e), e
        }, e.prototype.blobDownloadSupport = function () {
           return v.hasValue(window.navigator.msSaveOrOpenBlob)
        }, e.prototype.legacyIE = function () {
           var t = document.createElement("div");
           return t.innerHTML = "\x3c!--[if lt IE 10]><i></i><![endif]--\x3e", 1 == t.getElementsByTagName("i").length
        }, e.prototype.print = function (t, e, i) {
           return n.b(this, void 0, void 0, function () {
              return n.d(this, function (n) {
                 return "css" == e.printMethod ? [2, this.printViaCSS(t, e, i)] : [2, this.printViaIframe(t, e, i)]
              })
           })
        }, e.prototype.printViaCSS = function (t, e, i) {
           return n.b(this, void 0, void 0, function () {
              var r, o, a, s;
              return n.d(this, function (n) {
                 return r = document.documentElement.scrollTop || document.body.scrollTop, o = new y.c("body > *", {
                    display: "none",
                    position: "fixed",
                    visibility: "hidden",
                    opacity: "0",
                    clipPath: "polygon(0px 0px,0px 0px,0px 0px,0px 0px);"
                 }), i && document && document.title && (a = document.title, document.title = i), (s = new Image).src = t, s.style.maxWidth = "100%", s.style.display = "block", s.style.position = "relative", s.style.visibility = "visible", s.style.opacity = "1", s.style.clipPath = "none", document.body.appendChild(s), this.setTimeout(function () {
                    window.print()
                 }, 50), /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && e.delay < 1e3 ? e.delay = 1e3 : e.delay < 100 && (e.delay = 100), this.setTimeout(function () {
                    document.body.removeChild(s), o.dispose(), a && (document.title = document.title), document.documentElement.scrollTop = document.body.scrollTop = r
                 }, e.delay || 500), [2, !0]
              })
           })
        }, e.prototype.printViaIframe = function (t, e, i) {
           return n.b(this, void 0, void 0, function () {
              var r, o;
              return n.d(this, function (n) {
                 return (r = document.createElement("iframe")).style.visibility = "hidden", document.body.appendChild(r), r.contentWindow.document.open(), r.contentWindow.document.close(), (o = new Image).src = t, o.style.maxWidth = "100%", i && (r.contentWindow.document.title = i), r.contentWindow.document.body.appendChild(o), r.load = function () {
                    r.contentWindow.document.body.appendChild(o)
                 }, this.setTimeout(function () {
                    try {
                       r.contentWindow.document.execCommand("print", !1, null) || r.contentWindow.print()
                    } catch (t) {
                       r.contentWindow.print()
                    }
                 }, e.delay || 50), /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && e.delay < 1e3 ? e.delay = 1e3 : e.delay < 100 && (e.delay = 100), this.setTimeout(function () {
                    document.body.removeChild(r)
                 }, e.delay + 50 || 100), [2, !0]
              })
           })
        }, e.prototype.findBackgroundColor = function (t) {
           var e = 1,
              i = "";
           if (t.currentStyle ? i = t.currentStyle["background-color"] : window.getComputedStyle && (i = document.defaultView.getComputedStyle(t, null).getPropertyValue("background-color")), (i.match(/[^,]*,[^,]*,[^,]*,[ ]?0/) || "transparent" == i) && (e = 0), 0 == e) {
              var n = t.parentElement;
              return n ? this.findBackgroundColor(n) : Object(d.c)("#fff")
           }
           return Object(d.c)(i, e)
        }, e.prototype.findFont = function (t) {
           var e = "";
           if (t.currentStyle ? e = t.currentStyle["font-family"] : window.getComputedStyle && (e = document.defaultView.getComputedStyle(t, null).getPropertyValue("font-family")), e) return e;
           var i = t.parentElement || t.parentNode;
           return i ? this.findFont(i) : void 0
        }, e.prototype.findFontSize = function (t) {
           var e = "";
           if (t.currentStyle ? e = t.currentStyle["font-size"] : window.getComputedStyle && (e = document.defaultView.getComputedStyle(t, null).getPropertyValue("font-size")), e) return e;
           var i = t.parentElement || t.parentNode;
           return i ? this.findFont(i) : void 0
        }, Object.defineProperty(e.prototype, "container", {
           get: function () {
              return this.adapter.apply("container", {
                 container: this._container
              }).container
           },
           set: function (t) {
              this._container = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "sprite", {
           get: function () {
              return this.adapter.apply("sprite", {
                 sprite: this._sprite
              }).sprite
           },
           set: function (t) {
              this._sprite = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "data", {
           get: function () {
              return this.adapter.apply("data", {
                 data: this._data
              }).data
           },
           set: function (t) {
              this._data = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "dataFields", {
           get: function () {
              return this._dataFields || this.generateDataFields(), this.adapter.apply("dataFields", {
                 dataFields: this._dataFields
              }).dataFields
           },
           set: function (t) {
              this._dataFields = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "dateFormatter", {
           get: function () {
              return this._dateFormatter || (this._dateFormatter = new l.a), this.adapter.apply("dateFormatter", {
                 dateFormatter: this._dateFormatter
              }).dateFormatter
           },
           set: function (t) {
              this._dateFormatter = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "dateFormat", {
           get: function () {
              return this.adapter.apply("dateFormat", {
                 dateFormat: this._dateFormat
              }).dateFormat
           },
           set: function (t) {
              this._dateFormat = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "dateFields", {
           get: function () {
              return this._dateFields || (this._dateFields = new s.b), this.adapter.apply("dateFields", {
                 dateFields: this._dateFields
              }).dateFields
           },
           set: function (t) {
              this._dateFields = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "durationFormatter", {
           get: function () {
              return this._durationFormatter || (this._durationFormatter = new h.a), this.adapter.apply("durationFormatter", {
                 durationFormatter: this._durationFormatter
              }).durationFormatter
           },
           set: function (t) {
              this._durationFormatter = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "durationFormat", {
           get: function () {
              return this.adapter.apply("durationFormat", {
                 durationFormat: this._durationFormat
              }).durationFormat
           },
           set: function (t) {
              this._durationFormat = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "durationFields", {
           get: function () {
              return this._durationFields || (this._durationFields = new s.b), this.adapter.apply("durationFields", {
                 durationFields: this._durationFields
              }).durationFields
           },
           set: function (t) {
              this._durationFields = t
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.generateDataFields = function () {
           var t = this;
           this._dataFields = {}, this.data.length && x.each(this.data, function (e) {
              m.each(e, function (e, i) {
                 v.hasValue(t._dataFields[e]) || (t._dataFields[e] = t.adapter.apply("dataFieldName", {
                    name: e,
                    field: e
                 }).name)
              })
           })
        }, e.prototype.isDateField = function (t) {
           return this.adapter.apply("isDateField", {
              isDateField: this.dateFields.contains(t),
              field: t
           }).isDateField
        }, e.prototype.isDurationField = function (t) {
           return this.adapter.apply("isDurationField", {
              isDurationField: this.durationFields.contains(t),
              field: t
           }).isDurationField
        }, e.prototype.getContentType = function (t) {
           var e = "";
           switch (t) {
              case "png":
              case "gif":
                 e = "image/" + t;
                 break;
              case "jpg":
                 e = "image/jpeg";
                 break;
              case "svg":
                 e = "image/svg+xml";
                 break;
              case "csv":
                 e = "text/csv";
                 break;
              case "json":
                 e = "application/json";
                 break;
              case "pdf":
                 e = "application/pdf";
                 break;
              case "xlsx":
                 e = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
           }
           return this.adapter.apply("contentType", {
              contentType: e,
              type: t
           }).contentType
        }, Object.defineProperty(e.prototype, "filePrefix", {
           get: function () {
              return this.adapter.apply("filePrefix", {
                 filePrefix: this._filePrefix
              }).filePrefix
           },
           set: function (t) {
              this._filePrefix = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "backgroundColor", {
           get: function () {
              return this.adapter.apply("backgroundColor", {
                 backgroundColor: this._backgroundColor
              }).backgroundColor
           },
           set: function (t) {
              this._backgroundColor = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "title", {
           get: function () {
              return this.adapter.apply("title", {
                 title: this._title
              }).title
           },
           set: function (t) {
              this._title = t
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.showPreloader = function () {
           var t = this.preloader;
           t && (t.progress = .5, t.label.text = "...")
        }, e.prototype.hidePreloader = function () {
           var t = this.preloader;
           t && (t.progress = 1)
        }, Object.defineProperty(e.prototype, "preloader", {
           get: function () {
              return this._sprite && this._sprite.parent && this._sprite.parent.preloader ? this._sprite.parent.preloader : void 0
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.showTimeout = function () {
           this.showModal(this.adapter.apply("timeoutMessage", {
              message: this.language.translate("Export operation took longer than expected. Something might have gone wrong.")
           }).message)
        }, e.prototype.hideTimeout = function () {
           this._timeoutTimeout && (this.removeDispose(this._timeoutTimeout), this._timeoutTimeout = null), this.hideModal()
        }, Object.defineProperty(e.prototype, "language", {
           get: function () {
              return this._language || (this._language = new c.a), this._language
           },
           set: function (t) {
              this._language = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "modal", {
           get: function () {
              return this._modal || (this._modal = new a.a, this._modal.adapter.add("classPrefix", function (t) {
                 return t = g.a.classNamePrefix + t
              })), this._modal
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.showModal = function (t, e) {
           this.hideModal(), this.hidePreloader();
           var i = this.modal;
           i.container = this.sprite.svgContainer.SVGContainer, i.content = t, i.readerTitle = e, i.open()
        }, e.prototype.hideModal = function () {
           this._modal && this.modal.close()
        }, e.prototype._canvg = function () {
           return n.b(this, void 0, void 0, function () {
              return n.d(this, function (t) {
                 switch (t.label) {
                    case 0:
                       return [4, i.e("0471").then(i.bind(null, "pu93"))];
                    case 1:
                       return [2, t.sent()]
                 }
              })
           })
        }, Object.defineProperty(e.prototype, "canvg", {
           get: function () {
              return this._canvg()
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype._pdfmake = function () {
           return n.b(this, void 0, void 0, function () {
              var t, e, r, o;
              return n.d(this, function (n) {
                 switch (n.label) {
                    case 0:
                       return [4, Promise.all([i.e("076f").then(i.bind(null, "o2M+")), i.e("076f").then(i.bind(null, "/9Au"))])];
                    case 1:
                       return t = n.sent(), e = t[0], r = t[1], (o = window).pdfMake = o.pdfMake || {}, o.pdfMake.vfs = r.default, e.vfs = r.default, [2, e]
                 }
              })
           })
        }, Object.defineProperty(e.prototype, "pdfmake", {
           get: function () {
              return this._pdfmake()
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype._xlsx = function () {
           return n.b(this, void 0, void 0, function () {
              return n.d(this, function (t) {
                 switch (t.label) {
                    case 0:
                       return [4, i.e("bf3e").then(i.bind(null, "s5xg"))];
                    case 1:
                       return [2, t.sent()]
                 }
              })
           })
        }, Object.defineProperty(e.prototype, "xlsx", {
           get: function () {
              return this._xlsx()
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.setFormatOptions = function (t, e) {
           this._formatOptions.setKey(t, e)
        }, e.prototype.getFormatOptions = function (t) {
           return this._formatOptions.getKey(t)
        }, e.prototype._disablePointers = function () {
           v.hasValue(this._spriteInteractionsEnabled) || (this._spriteInteractionsEnabled = this.sprite.interactionsEnabled), this.sprite.interactionsEnabled = !1
        }, e.prototype._releasePointers = function () {
           v.hasValue(this._spriteInteractionsEnabled) && (this.sprite.interactionsEnabled = this._spriteInteractionsEnabled)
        }, e.prototype.hideNonExportableSprites = function () {
           var t = this,
              e = this.sprite.svgContainer;
           e && x.each(e.nonExportableSprites, function (e) {
              e.isHidden || e.isHiding || t._hiddenObjects.push(e), e.hide(0)
           })
        }, e.prototype.restoreNonExportableSprites = function () {
           x.each(this._hiddenObjects, function (t) {
              t.show(0)
           }), this._hiddenObjects = []
        }, e.prototype.processConfig = function (e) {
           f.b.registeredClasses.ExportMenu = r.a, e && v.hasValue(e.menu) && !v.hasValue(e.menu.type) && (e.menu.type = "ExportMenu"), t.prototype.processConfig.call(this, e)
        }, e.XLINK = "http://www.w3.org/1999/xlink", e
     }(p.a)
  },
  GIxq: function (t, e, i) {
     var n = i("DVYA");
     t.exports = function (t, e) {
        if ("number" != typeof t && "Number" != n(t)) throw TypeError(e);
        return +t
     }
  },
  GQop: function (t, e, i) {
     "use strict";
     var n = i("AEc5");
     t.exports = function (t, e) {
        return !!t && n(function () {
           e ? t.call(null, function () {}, 1) : t.call(null)
        })
     }
  },
  Gb1H: function (t, e, i) {
     var n = i("T9LF"),
        r = i("G5U1"),
        o = i("Vng0"),
        a = i("wDk4"),
        s = i("20m4"),
        u = function (t, e, i) {
           var l, h, c, p, d = t & u.F,
              f = t & u.G,
              g = t & u.S,
              y = t & u.P,
              m = t & u.B,
              b = f ? n : g ? n[e] || (n[e] = {}) : (n[e] || {}).prototype,
              v = f ? r : r[e] || (r[e] = {}),
              _ = v.prototype || (v.prototype = {});
           for (l in f && (i = e), i) c = ((h = !d && b && void 0 !== b[l]) ? b : i)[l], p = m && h ? s(c, n) : y && "function" == typeof c ? s(Function.call, c) : c, b && a(b, l, c, t & u.U), v[l] != c && o(v, l, p), y && _[l] != c && (_[l] = c)
        };
     n.core = r, u.F = 1, u.G = 2, u.S = 4, u.P = 8, u.B = 16, u.W = 32, u.U = 64, u.R = 128, t.exports = u
  },
  Gg2j: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), i.d(e, "PI", function () {
        return r
     }), i.d(e, "HALFPI", function () {
        return o
     }), i.d(e, "RADIANS", function () {
        return a
     }), i.d(e, "DEGREES", function () {
        return s
     }), e.toNumberRange = function (t, e, i) {
        if (n.hasValue(t)) return l(t = n.toNumber(t), e, i);
        return t
     }, e.round = u, e.ceil = function (t, e) {
        if (!n.isNumber(e) || e <= 0) return Math.ceil(t);
        var i = Math.pow(10, e);
        return Math.ceil(t * i) / i
     }, e.stretch = function (t, e, i) {
        return t * (i - e) + e
     }, e.fitToRange = l, e.sin = h, e.tan = function (t) {
        return u(Math.tan(a * t), 10)
     }, e.cos = c, e.max = p, e.min = d, e.closest = function (t, e) {
        return t.reduce(function (t, i) {
           return Math.abs(i - e) < Math.abs(t - e) ? i : t
        })
     }, e.intersect = function (t, e) {
        var i = n.getValue(t.start),
           r = n.getValue(e.start),
           o = n.getValue(t.end),
           a = n.getValue(e.end);
        return Math.max(i, r) <= Math.min(o, a)
     }, e.invertRange = function (t) {
        var e = n.getValue(t.start);
        return {
           start: 1 - n.getValue(t.end),
           end: 1 - e
        }
     }, e.intersection = function (t, e) {
        var i = n.getValue(t.start),
           r = n.getValue(e.start),
           o = n.getValue(t.end),
           a = n.getValue(e.end),
           s = Math.max(i, r),
           u = Math.min(o, a);
        return u < s ? void 0 : {
           start: s,
           end: u
        }
     }, e.getDistance = f, e.getScale = function (t, e, i, n) {
        var r = f(e, n),
           o = f(t, i);
        return Math.abs(o / r)
     }, e.getMidPoint = function (t, e, i) {
        n.isNumber(i) || (i = .5);
        return {
           x: t.x + (e.x - t.x) * i,
           y: t.y + (e.y - t.y) * i
        }
     }, e.getRotation = g, e.getAngle = y, e.getCenterShift = function (t, e, i, n, r) {
        var o = g(e, i, n, r) - 90;
        o < 0 && (o += 360);
        var a = f(e, n),
           s = Math.cos(o) / a + e.x,
           u = Math.cos(o) / a + e.y;
        return {
           x: s - t.x,
           y: u - t.y
        }
     }, e.getBBox = function (t) {
        if (t) {
           var e = t.length;
           if (0 !== e) {
              for (var i, r = void 0, o = void 0, a = void 0, s = 0; s < e; s++) {
                 var u = t[s];
                 (!n.isNumber(o) || u.x > o) && (o = u.x), (!n.isNumber(r) || u.x < r) && (r = u.x), (!n.isNumber(i) || u.y < i) && (i = u.y), (!n.isNumber(a) || u.y > a) && (a = u.y)
              }
              return {
                 x: r,
                 y: i,
                 width: o - r,
                 height: a - i
              }
           }
        }
        return {
           x: 0,
           y: 0,
           width: 0,
           height: 0
        }
     }, e.getCommonRectangle = function (t) {
        var e = t.length;
        if (0 !== e) {
           for (var i = void 0, n = void 0, r = void 0, o = void 0, a = 0; a < e; a++) {
              var s = t[a];
              i = d(s.x, i), n = d(s.y, n), r = p(s.x + s.width, r), o = p(s.y + s.height, o)
           }
           return {
              x: i,
              y: n,
              width: r - i,
              height: o - n
           }
        }
     }, e.getPointOnQuadraticCurve = function (t, e, i, n) {
        var r = (1 - n) * (1 - n) * t.x + 2 * (1 - n) * n * i.x + n * n * e.x,
           o = (1 - n) * (1 - n) * t.y + 2 * (1 - n) * n * i.y + n * n * e.y;
        return {
           x: r,
           y: o
        }
     }, e.getPointOnCubicCurve = function (t, e, i, n, r) {
        var o = {
              x: 0,
              y: 0
           },
           a = 1 - r,
           s = a * a,
           u = s * a;
        return o.x = t.x * u + 3 * i.x * s * r + 3 * n.x * a * r * r + e.x * r * r * r, o.y = t.y * u + 3 * i.y * s * r + 3 * n.y * a * r * r + e.y * r * r * r, o
     }, e.getCubicControlPointA = function (t, e, i, n, r, o) {
        return r = m(r), o = m(o), {
           x: (-t.x + e.x / r + i.x) * r,
           y: (-t.y + e.y / o + i.y) * o
        }
     }, e.getCubicControlPointB = function (t, e, i, n, r, o) {
        return r = m(r), o = m(o), {
           x: (e.x + i.x / r - n.x) * r,
           y: (e.y + i.y / o - n.y) * o
        }
     }, e.adjustTension = m, e.normalizeAngle = b, e.fitAngleToRange = function (t, e, i) {
        if (e > i) {
           var n = e;
           e = i, i = n
        }
        t = b(t);
        var r = (e - b(e)) / 360;
        t < e && (t += 360 * (r + 1));
        t > i && (t - 360 > e ? t -= 360 : t = t < e + (i - e) / 2 + 180 ? i : e);
        t < e && (t = t > e + (i - e) / 2 - 180 ? e : i);
        return t
     }, e.getArcRect = function (t, e, i) {
        var r = Number.MAX_VALUE,
           o = Number.MAX_VALUE,
           a = -Number.MAX_VALUE,
           s = -Number.MAX_VALUE,
           u = [];
        n.isNumber(i) || (i = 1);
        u.push(v(i, t)), u.push(v(i, e));
        for (var l = Math.min(90 * Math.floor(t / 90), 90 * Math.floor(e / 90)), h = Math.max(90 * Math.ceil(t / 90), 90 * Math.ceil(e / 90)), c = l; c <= h; c += 90) c >= t && c <= e && u.push(v(i, c));
        for (var p = 0; p < u.length; p++) {
           var d = u[p];
           d.x < r && (r = d.x), d.y < o && (o = d.y), d.x > a && (a = d.x), d.y > s && (s = d.y)
        }
        return {
           x: r,
           y: o,
           width: a - r,
           height: s - o
        }
     }, e.getArcPoint = v, e.isInRectangle = function (t, e) {
        if (t.x >= e.x && t.x <= e.x + e.width && t.y > e.y && t.y < e.y + e.height) return !0;
        return !1
     }, e.getLineIntersection = function (t, e, i, n) {
        var r = ((t.x * e.y - e.x * t.y) * (i.x - n.x) - (t.x - e.x) * (i.x * n.y - i.y * n.x)) / ((t.x - e.x) * (i.y - n.y) - (t.y - e.y) * (i.x - n.x)),
           o = ((t.x * e.y - e.x * t.y) * (i.y - n.y) - (t.y - e.y) * (i.x * n.y - i.y * n.x)) / ((t.x - e.x) * (i.y - n.y) - (t.y - e.y) * (i.x - n.x));
        return {
           x: r,
           y: o
        }
     };
     var n = i("Mtpk"),
        r = Math.PI,
        o = r / 2,
        a = r / 180,
        s = 180 / r;

     function u(t, e, i) {
        if (!n.isNumber(e) || e <= 0) {
           var r = Math.round(t);
           return i && r - t == .5 && r--, r
        }
        var o = Math.pow(10, e);
        return Math.round(t * o) / o
     }

     function l(t, e, i) {
        if (n.isNumber(e)) {
           if (n.isNumber(i) && i < e) {
              var r = i;
              i = e, e = r
           }
           t < e && (t = e)
        }
        return n.isNumber(i) && t > i && (t = i), t
     }

     function h(t) {
        return u(Math.sin(a * t), 10)
     }

     function c(t) {
        return u(Math.cos(a * t), 10)
     }

     function p(t, e) {
        return n.isNumber(t) ? n.isNumber(e) && e > t ? e : t : n.isNumber(e) ? e : null
     }

     function d(t, e) {
        return n.isNumber(t) ? n.isNumber(e) && e < t ? e : t : n.isNumber(e) ? e : null
     }

     function f(t, e) {
        return e || (e = {
           x: 0,
           y: 0
        }), Math.sqrt(Math.pow(Math.abs(t.x - e.x), 2) + Math.pow(Math.abs(t.y - e.y), 2))
     }

     function g(t, e, i, n) {
        var r = y(e, n) - y(t, i);
        return r < 0 && (r += 360), r
     }

     function y(t, e) {
        e || (e = {
           x: 2 * t.x,
           y: 2 * t.y
        });
        var i = e.x - t.x,
           n = e.y - t.y,
           r = Math.atan2(n, i) * s;
        return r < 0 && (r += 360), b(r)
     }

     function m(t) {
        return 1 - t + 1e-5
     }

     function b(t) {
        return 360 == t ? 360 : t % 360
     }

     function v(t, e) {
        return {
           x: t * c(e),
           y: t * h(e)
        }
     }
  },
  GqPQ: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("7GtY");
     r && n(n.S, "Reflect", {
        setPrototypeOf: function (t, e) {
           r.check(t, e);
           try {
              return r.set(t, e), !0
           } catch (t) {
              return !1
           }
        }
     })
  },
  GtDR: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("Gg2j"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Rectangle", e.element = e.paper.add("rect"), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this._positionPrecision;
              this.pixelPerfect && (e = 0);
              var i = a.round(this.innerWidth, e),
                 n = a.round(this.innerHeight, e);
              this.element.attr({
                 width: i,
                 height: n
              })
           }, e.prototype.measureElement = function () {}, Object.defineProperty(e.prototype, "bbox", {
              get: function () {
                 return this.definedBBox ? this.definedBBox : this.isMeasured ? {
                    x: 0,
                    y: 0,
                    width: this.innerWidth,
                    height: this.innerHeight
                 } : {
                    x: 0,
                    y: 0,
                    width: 0,
                    height: 0
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Rectangle = s
  },
  GuW4: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S + n.F, "Object", {
        assign: i("bdjS")
     })
  },
  Gxer: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("aZcm"),
        o = i("vJiZ"),
        a = i("FmWr"),
        s = i("4BRe"),
        u = i("L2Mu");
     n(n.P, "Array", {
        flatten: function () {
           var t = arguments[0],
              e = o(this),
              i = a(e.length),
              n = u(e, 0);
           return r(n, e, e, i, 0, void 0 === t ? 1 : s(t)), n
        }
     }), i("M/YL")("flatten")
  },
  HDh7: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return d
     }), i.d(e, "a", function () {
        return f
     });
     var n = i("hD5A"),
        r = i("UsNi"),
        o = i("W8Sc"),
        a = i("vMqJ"),
        s = i("v9UT"),
        u = i("58Sn"),
        l = i("hJ5i"),
        h = i("Mtpk"),
        c = i("NlGZ"),
        p = i.n(c),
        d = [],
        f = function () {
           function t(t) {
              var e = this;
              this._disposed = !1, this.autoResize = !0, this.nonExportableSprites = [], this._disposers = [], this.cssScale = 1, this.htmlElement = t;
              var i = function () {
                 e.measure()
              };
              this.resizeSensor = new p.a(t, i), this._disposers.push(new n.b(function () {
                 e.resizeSensor.detach(i)
              })), d.push(this);
              var r = document.createElement("div"),
                 o = r.style;
              o.width = "100%", o.height = "100%", o.position = "relative", t.appendChild(r), this.SVGContainer = r
           }
           return t.prototype.measure = function () {
              var t = s.width(this.htmlElement),
                 e = s.height(this.htmlElement),
                 i = this.container;
              i && (this.width == t && this.height == e || (this.width = t, this.height = e, t > 0 && (i.maxWidth = t), e > 0 && (i.maxHeight = e), u.k(this.SVGContainer)), i.maxWidth || (i.maxWidth = 0), i.maxHeight || (i.maxHeight = 0), this.cssScale = 1, this.checkTransform(this.htmlElement))
           }, Object.defineProperty(t.prototype, "container", {
              get: function () {
                 return this._container
              },
              set: function (t) {
                 this._container = t, this.measure()
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.isDisposed = function () {
              return this._disposed
           }, t.prototype.dispose = function () {
              this._disposed || l.remove(d, this), l.each(this._disposers, function (t) {
                 t.dispose()
              })
           }, Object.defineProperty(t.prototype, "hideOverflow", {
              set: function (t) {
                 this.SVGContainer.style.overflow = t ? "hidden" : ""
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "modal", {
              get: function () {
                 return h.hasValue(this._modal) || (this._modal = new o.a, this._modal.container = this.SVGContainer, this._disposers.push(this._modal)), this._modal
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.openModal = function (t, e) {
              this.closeModal();
              var i = this.modal;
              return i.content = t, i.readerTitle = e, i.open(), i
           }, t.prototype.closeModal = function () {
              this._modal && this.modal.close()
           }, Object.defineProperty(t.prototype, "popups", {
              get: function () {
                 if (!h.hasValue(this._popups)) {
                    var t = new r.a;
                    t.container = this.SVGContainer, this._popups = new a.e(t), this._disposers.push(new a.c(this._popups)), this._disposers.push(this._popups.template)
                 }
                 return this._popups
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.openPopup = function (t, e) {
              var i = this.popups.create();
              return i.content = t, h.hasValue(e) && (i.title = e), i.open(), i
           }, t.prototype.closeAllPopups = function () {
              this.popups.each(function (t) {
                 t.close()
              })
           }, t.prototype.checkTransform = function (t) {
              if (window.getComputedStyle) {
                 if (t && t.style) {
                    var e = window.getComputedStyle(t, null);
                    if (e) {
                       var i = e.getPropertyValue("-webkit-transform") || e.getPropertyValue("-moz-transform") || e.getPropertyValue("-ms-transform") || e.getPropertyValue("-o-transform") || e.getPropertyValue("transform");
                       if (i && "none" !== i) {
                          var n = i.split("(")[1].split(")")[0].split(","),
                             r = Number(n[0]),
                             o = Number(n[1]),
                             a = Math.sqrt(r * r + o * o);
                          isNaN(a) || (this.cssScale *= a)
                       }
                    }
                 }
                 t.parentNode && t.parentNode instanceof HTMLElement && this.checkTransform(t.parentNode)
              }
           }, t
        }()
  },
  HW78: function (t, e, i) {
     t.exports = !i("gD3S") && !i("AEc5")(function () {
        return 7 != Object.defineProperty(i("+wz8")("div"), "a", {
           get: function () {
              return 7
           }
        }).a
     })
  },
  HfWV: function (t, e, i) {
     "use strict";
     var n = i("m4/l"),
        r = i("AC2I"),
        o = i("d+vC"),
        a = i("qzbU"),
        s = i("hD5A"),
        u = i("aCit"),
        l = i("v9UT"),
        h = i("hGwe"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._label = new s.d, e._slice = new s.d, e.className = "FunnelTick", e.element = e.paper.add("path"), e._disposers.push(e._label), e._disposers.push(e._slice), e.setPropertyValue("locationX", 0), e.setPropertyValue("locationY", 0), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.slice,
                 i = e.getPoint(this.locationX, this.locationY);
              if (i) {
                 var n = this.label;
                 if ("vertical" == e.dataItem.component.orientation) {
                    var r = n.pixelX,
                       o = n.pixelY,
                       a = l.spritePointToSprite(i, e, this.parent),
                       s = l.spritePointToSprite({
                          x: r,
                          y: o
                       }, n.parent, this.parent);
                    this.path = h.moveTo(a) + h.lineTo(s)
                 } else {
                    r = n.pixelX, o = n.pixelY - n.measuredHeight, a = l.spritePointToSprite(i, e, this.parent), s = l.spritePointToSprite({
                       x: r,
                       y: o
                    }, n.parent, this.parent);
                    this.path = h.moveTo(a) + h.lineTo(s)
                 }
              }
           }, Object.defineProperty(e.prototype, "slice", {
              get: function () {
                 return this._slice.get()
              },
              set: function (t) {
                 this._slice.set(t, new s.c([t.events.on("transformed", this.invalidate, this, !1), t.events.on("validated", this.invalidate, this, !1)]))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "label", {
              get: function () {
                 return this._label.get()
              },
              set: function (t) {
                 this._label.set(t, t.events.on("transformed", this.invalidate, this, !1))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "locationX", {
              get: function () {
                 return this.getPropertyValue("locationX")
              },
              set: function (t) {
                 this.setPropertyValue("locationX", t, !1, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "locationY", {
              get: function () {
                 return this.getPropertyValue("locationY")
              },
              set: function (t) {
                 this.setPropertyValue("locationY", t, !1, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(a.a);
     u.b.registeredClasses.FunnelTick = c;
     var p = i("vMqJ"),
        d = i("Gg2j"),
        f = i("Wglt"),
        g = i("Mtpk"),
        y = i("tjMS");
     i.d(e, "b", function () {
        return m
     }), i.d(e, "a", function () {
        return b
     });
     var m = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "FunnelSeriesDataItem", e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "sliceLink", {
              get: function () {
                 var t = this;
                 if (!this._sliceLink) {
                    var e = this.component.sliceLinks.create();
                    this._sliceLink = e, this._disposers.push(e), e.parent = this.component.slicesContainer, this._disposers.push(new s.b(function () {
                       t.component && t.component.sliceLinks.removeValue(e)
                    })), this.addSprite(e), e.visible = this.visible
                 }
                 return this._sliceLink
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.b),
        b = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._nextY = 0, e.className = "FunnelSeries", e.orientation = "vertical", e.width = Object(y.c)(100), e.height = Object(y.c)(100), e.slicesContainer.width = Object(y.c)(100), e.slicesContainer.height = Object(y.c)(100), e.bottomRatio = 0, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.createSlice = function () {
              return new o.a
           }, e.prototype.createTick = function () {
              return new c
           }, e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), g.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Funnel Series"))
           }, e.prototype.createDataItem = function () {
              return new m
           }, e.prototype.initSlice = function (t) {
              t.isMeasured = !1, t.defaultState.properties.scale = 1, t.observe("scale", this.handleSliceScale, this), t.observe(["dx", "dy", "x", "y"], this.handleSliceMove, this), t.tooltipText = "{category}: {value.percent.formatNumber('#.#')}% ({value.value})", t.states.create("hover").properties.expandDistance = .2
           }, e.prototype.initLabel = function (e) {
              t.prototype.initLabel.call(this, e), e.verticalCenter = "middle", e.horizontalCenter = "middle", e.isMeasured = !0, e.padding(5, 5, 5, 5)
           }, e.prototype.validate = function () {
              t.prototype.validate.call(this), this._nextY = 0
           }, e.prototype.validateDataElements = function () {
              var e = this.slicesContainer,
                 i = this.labelsContainer,
                 n = this.labels.template;
              i.layout = "absolute", this.alignLabels ? (n.interactionsEnabled = !0, e.isMeasured = !0, i.isMeasured = !0, i.margin(10, 10, 10, 10), this.ticks.template.disabled = !1, n.horizontalCenter = "left", "horizontal" == this.orientation ? this.layout = "vertical" : this.layout = "horizontal") : (this.layout = "absolute", n.interactionsEnabled = !1, e.isMeasured = !1, i.isMeasured = !0, this.ticks.template.disabled = !0, n.horizontalCenter = "middle");
              var r = 0,
                 o = 0;
              this.dataItems.each(function (t) {
                 g.hasValue(t.value) && (o++, t.value > 0 ? r += t.getWorkingValue("value") / t.value : r += 1)
              }), this._total = 1 / o * r, this._count = o, t.prototype.validateDataElements.call(this), this.arrangeLabels()
           }, e.prototype.getNextValue = function (t) {
              var e = t.index,
                 i = t.getWorkingValue("value");
              if (e < this.dataItems.length - 1) {
                 var n = this.dataItems.getIndex(e + 1);
                 if (i = n.getWorkingValue("value"), !n.visible || n.isHiding) return this.getNextValue(n)
              }
              return i
           }, e.prototype.formDataElement = function () {}, e.prototype.validateDataElement = function (e) {
              e.values.value.percent;
              if (g.hasValue(e.value)) {
                 var i = e.slice;
                 i.orientation = this.orientation;
                 var n = e.sliceLink;
                 n.orientation = this.orientation;
                 var r = e.tick,
                    o = e.label;
                 r.slice = i, r.label = o, this.decorateSlice(e), n.fill = i.fill, e.index == this.dataItems.length - 1 && (n.disabled = !0), t.prototype.validateDataElement.call(this, e)
              }
           }, e.prototype.decorateSlice = function (t) {
              var e = t.slice,
                 i = t.sliceLink,
                 n = t.label,
                 r = t.tick,
                 o = this.slicesContainer.innerWidth,
                 a = this.slicesContainer.innerHeight,
                 s = this.getNextValue(t),
                 u = t.getWorkingValue("value"),
                 l = this.bottomRatio,
                 h = 1;
              if (t.value > 0 && (h = u / t.value), "vertical" == this.orientation) {
                 var c = i.pixelHeight * h;
                 a += c, e.topWidth = u / this.dataItem.values.value.high * o, e.bottomWidth = (u - (u - s) * l) / this.dataItem.values.value.high * o, i.topWidth = e.bottomWidth, i.bottomWidth = (u - (u - s)) / this.dataItem.values.value.high * o, e.y = this._nextY, e.height = d.max(0, a / this._count * h / this._total - c), e.x = o / 2, this.alignLabels ? n.x = 0 : n.x = e.x, n.y = e.pixelY + e.pixelHeight * r.locationY, this._nextY += e.pixelHeight + c, i.y = this._nextY - c, i.x = e.x
              } else {
                 var p = i.pixelWidth * h;
                 o += p, e.topWidth = u / this.dataItem.values.value.high * a, e.bottomWidth = (u - (u - s) * l) / this.dataItem.values.value.high * a, i.topWidth = e.bottomWidth, i.bottomWidth = (u - (u - s)) / this.dataItem.values.value.high * a, e.x = this._nextY, e.width = o / this._count * h * 1 / this._total - p, e.y = a / 2, this.alignLabels ? n.y = this.labelsContainer.measuredHeight : n.y = e.y, n.x = e.pixelX + e.pixelWidth * r.locationX, this._nextY += e.pixelWidth + p, i.x = this._nextY - p, i.y = e.y
              }
           }, e.prototype.arrangeLabels = function () {
              if (this.alignLabels) {
                 var t = this.labels.length;
                 if (t > 1) {
                    var e = this.labels.getIndex(t - 1),
                       i = e.pixelY,
                       n = e.pixelX;
                    if (this.labels.length > 1) {
                       for (var r = t - 2; r >= 0; r--) {
                          (o = this.labels.getIndex(r)).visible && (o.invalid && o.validate(), "vertical" == this.orientation ? o.pixelY + o.measuredHeight > i && (o.y = i - o.measuredHeight) : o.pixelX + o.measuredWidth > n && (o.x = n - o.measuredWidth), i = o.pixelY, n = o.pixelX)
                       }
                       i = 0, n = 0;
                       for (r = 0; r < t; r++) {
                          var o;
                          (o = this.labels.getIndex(r)).visible && (o.invalid && o.validate(), "vertical" == this.orientation ? o.pixelY < i && (o.y = i) : o.pixelX < n && (o.x = n), i += o.measuredHeight, n += o.measuredWidth)
                       }
                    }
                 }
              }
           }, e.prototype.positionBullet = function (e) {
              t.prototype.positionBullet.call(this, e);
              var i = e.dataItem.slice,
                 n = e.locationX;
              g.isNumber(n) || (n = .5);
              var r = e.locationY;
              g.isNumber(r) || (r = 1), e.x = i.measuredWidth * n, e.y = i.measuredHeight * r
           }, Object.defineProperty(e.prototype, "orientation", {
              get: function () {
                 return this.getPropertyValue("orientation")
              },
              set: function (t) {
                 this.setPropertyValue("orientation", t) && (this.invalidate(), "vertical" == t ? (this.ticks.template.locationX = 1, this.ticks.template.locationY = .5, this.labels.template.rotation = 0) : (this.ticks.template.locationX = .5, this.ticks.template.locationY = 1, this.labels.template.rotation = -90))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bottomRatio", {
              get: function () {
                 return this.getPropertyValue("bottomRatio")
              },
              set: function (t) {
                 this.setPropertyValue("bottomRatio", t) && this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "sliceLinks", {
              get: function () {
                 if (!this._sliceLinks) {
                    var t = new o.a;
                    t.applyOnClones = !0, t.fillOpacity = .5, t.expandDistance = -.3, t.hiddenState.properties.opacity = 0, this._disposers.push(t), this._sliceLinks = new p.e(t), this._disposers.push(new p.c(this._sliceLinks))
                 }
                 return this._sliceLinks
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.show = function (e) {
              var i = this,
                 n = this.startIndex,
                 r = this.endIndex,
                 o = this.defaultState.transitionDuration;
              g.isNumber(e) && (o = e);
              var a = 0;
              return f.each(f.indexed(this.dataItems.iterator()), function (t) {
                 var e = t[0],
                    s = t[1];
                 i.sequencedInterpolation && (a = i.sequencedInterpolationDelay * e + o * (e - n) / (r - n)), s.show(o, a, ["value"])
              }), t.prototype.show.call(this, e)
           }, e.prototype.hide = function (e) {
              var i = this,
                 n = ["value"],
                 r = this.startIndex,
                 o = this.endIndex,
                 a = 0,
                 s = this.hiddenState.transitionDuration;
              g.isNumber(e) && (s = e), f.each(f.indexed(this.dataItems.iterator()), function (t) {
                 var e = t[0],
                    u = t[1];
                 i.sequencedInterpolation && (a = i.sequencedInterpolationDelay * e + s * (e - r) / (o - r)), u.hide(s, a, 0, n)
              });
              var u = t.prototype.hide.call(this, e);
              return u && !u.isFinished() && u.delay(a), u
           }, e
        }(r.a);
     u.b.registeredClasses.FunnelSeries = b, u.b.registeredClasses.FunnelSeriesDataItem = m
  },
  Hg48: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return v
     }), i.d(e, "a", function () {
        return _
     });
     var n = i("m4/l"),
        r = i("VIOb"),
        o = i("vMqJ"),
        a = i("+qIf"),
        s = i("C6dT"),
        u = i("aCit"),
        l = i("eske"),
        h = i("s9al"),
        c = i("/e9j"),
        p = i("DHte"),
        d = i("8ZqG"),
        f = i("Wglt"),
        g = i("Mtpk"),
        y = i("3Cxr"),
        m = i("MlsF"),
        b = i("hD5A"),
        v = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "FlowDiagramDataItem", e.values.value = {}, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "fromName", {
              get: function () {
                 return this.properties.fromName
              },
              set: function (t) {
                 this.setProperty("fromName", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "toName", {
              get: function () {
                 return this.properties.toName
              },
              set: function (t) {
                 this.setProperty("toName", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "color", {
              get: function () {
                 return this.properties.color
              },
              set: function (t) {
                 this.setProperty("color", Object(d.e)(t))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "value", {
              get: function () {
                 return this.values.value.value
              },
              set: function (t) {
                 this.setValue("value", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "link", {
              get: function () {
                 var t = this;
                 if (!this._link) {
                    var e = this.component.links.create();
                    this._link = e, this.addSprite(e), this._disposers.push(new b.b(function () {
                       t.component && t.component.links.removeValue(e)
                    }))
                 }
                 return this._link
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.b),
        _ = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.colors = new p.a, e.className = "FlowDiagram", e.nodePadding = 20, e.sortBy = "none", e.sequencedInterpolation = !0, e.colors.step = 2, e.minNodeSize = .02;
              var i = e.chartContainer.createChild(s.a);
              i.shouldClone = !1, i.layout = "none", i.isMeasured = !1, e.linksContainer = i;
              var n = e.chartContainer.createChild(s.a);
              return n.shouldClone = !1, n.layout = "none", n.isMeasured = !1, e.nodesContainer = n, e.dataItem = e.createDataItem(), e.dataItem.component = e, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.dispose = function () {
              t.prototype.dispose.call(this), this.dataItem.dispose()
           }, e.prototype.validateData = function () {
              var e = this;
              0 == this._parseDataFrom && this.nodes.clear(), this.sortNodes(), this.colors.reset(), t.prototype.validateData.call(this);
              var i, n, r = 0,
                 o = 0;
              f.each(this.dataItems.iterator(), function (t) {
                 var a = t.fromName;
                 a && ((s = e.nodes.getKey(a)) || ((s = e.nodes.create(a)).name = a, s.chart = e, s.dataItem = t), t.fromNode = s, t.fromNode.outgoingDataItems.push(t));
                 var s, u = t.toName;
                 u && ((s = e.nodes.getKey(u)) || ((s = e.nodes.create(u)).name = u, s.chart = e, s.dataItem = t), t.toNode = s, t.toNode.incomingDataItems.push(t));
                 if (!t.fromNode) {
                    var l = new c.a;
                    l.opacities = [0, 1], t.link.strokeModifier = l
                 }
                 if (!t.toNode) {
                    var h = new c.a;
                    h.opacities = [1, 0], t.link.strokeModifier = h
                 }
                 var p = t.value;
                 g.isNumber(p) && (r += p, o++, (i > p || !g.isNumber(i)) && (i = p), (n < p || !g.isNumber(n)) && (n = p))
              });
              var a = "value";
              this.dataItem.setCalculatedValue(a, n, "high"), this.dataItem.setCalculatedValue(a, i, "low"), this.dataItem.setCalculatedValue(a, r, "sum"), this.dataItem.setCalculatedValue(a, r / o, "average"), this.dataItem.setCalculatedValue(a, o, "count"), f.each(this.nodes.iterator(), function (t) {
                 var i = t[1];
                 i.fill instanceof d.a && (i.color = i.fill), void 0 == i.color && (i.color = e.colors.next()), void 0 != i.dataItem.color && (i.color = i.dataItem.color), i.dataItem.visible || i.hide(0), e.getNodeValue(i)
              }), this.sortNodes(), this.feedLegend()
           }, e.prototype.handleDataItemWorkingValueChange = function (t, e) {
              this.invalidate()
           }, e.prototype.sortNodes = function () {
              "name" == this.sortBy ? this._sorted = this.nodes.sortedIterator() : "value" == this.sortBy ? this._sorted = f.sort(this.nodes.iterator(), function (t, e) {
                 return m.b(y.order(t[1].total, e[1].total))
              }) : this._sorted = this.nodes.iterator()
           }, e.prototype.getNodeValue = function (t) {
              var e = 0,
                 i = 0;
              f.each(t.incomingDataItems.iterator(), function (t) {
                 var i = t.getWorkingValue("value");
                 g.isNumber(i) && (e += i)
              }), f.each(t.outgoingDataItems.iterator(), function (t) {
                 var e = t.getWorkingValue("value");
                 g.isNumber(e) && (i += e)
              }), t.total = e + i, t.totalIncoming = e, t.totalOutgoing = i
           }, e.prototype.changeSorting = function () {
              this.sortNodes()
           }, e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), g.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Flow diagram"))
           }, e.prototype.createDataItem = function () {
              return new v
           }, Object.defineProperty(e.prototype, "nodePadding", {
              get: function () {
                 return this.getPropertyValue("nodePadding")
              },
              set: function (t) {
                 this.setPropertyValue("nodePadding", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "sortBy", {
              get: function () {
                 return this.getPropertyValue("sortBy")
              },
              set: function (t) {
                 this.setPropertyValue("sortBy", t), this.changeSorting()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minNodeSize", {
              get: function () {
                 return this.getPropertyValue("minNodeSize")
              },
              set: function (t) {
                 this.setPropertyValue("minNodeSize", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "nodes", {
              get: function () {
                 return this._nodes || (this._nodes = new a.c(this.createNode()), this._disposers.push(new a.b(this._nodes))), this._nodes
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createNode = function () {
              var t = new l.a;
              return this._disposers.push(t), t
           }, Object.defineProperty(e.prototype, "links", {
              get: function () {
                 return this._links || (this._links = new o.e(this.createLink()), this._disposers.push(new o.c(this._links))), this._links
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createLink = function () {
              var t = new h.a;
              return this._disposers.push(t), t
           }, e.prototype.feedLegend = function () {
              var t = this.legend;
              if (t) {
                 var e = [];
                 this.nodes.each(function (t, i) {
                    e.push(i)
                 }), t.data = e, t.dataFields.name = "name"
              }
           }, e.prototype.disposeData = function () {
              t.prototype.disposeData.call(this), this.nodes.clear()
           }, e
        }(r.a);
     u.b.registeredClasses.FlowDiagram = _
  },
  HyzE: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("aPa3");
     n(n.G + n.F * (parseFloat != r), {
        parseFloat: r
     })
  },
  ID9o: function (t, e, i) {
     var n = i("YEtG")("iterator"),
        r = !1;
     try {
        var o = [7][n]();
        o.return = function () {
           r = !0
        }, Array.from(o, function () {
           throw 2
        })
     } catch (t) {}
     t.exports = function (t, e) {
        if (!e && !r) return !1;
        var i = !1;
        try {
           var o = [7],
              a = o[n]();
           a.next = function () {
              return {
                 done: i = !0
              }
           }, o[n] = function () {
              return a
           }, t(o)
        } catch (t) {}
        return i
     }
  },
  IGCA: function (t, e, i) {
     "use strict";
     i("Mvcd")("blink", function (t) {
        return function () {
           return t(this, "blink", "", "")
        }
     })
  },
  ISWh: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return b
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("xIv9"),
        a = i("aGXA"),
        s = i("zhwk"),
        u = i("qCRI"),
        l = i("CnhP"),
        h = i("aCit"),
        c = i("WYhe"),
        p = i("MIZb"),
        d = i("tjMS"),
        f = i("Gg2j"),
        g = i("0FpR"),
        y = i("Mtpk"),
        m = i("v9UT"),
        b = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._prevStart = 0, e._prevEnd = 1, e._isBusy = !1, e._skipRangeEvents = !1, e.updateWhileMoving = !0, e.className = "Scrollbar", e.minHeight = 12, e.minWidth = 12, e.animationDuration = 0, e.animationEasing = g.cubicOut, e.margin(10, 10, 10, 10);
              var i = new p.a,
                 n = e.background;
              return n.cornerRadius(10, 10, 10, 10), n.fill = i.getFor("fill"), n.fillOpacity = .5, e.startGrip = new o.a, e.endGrip = new o.a, e.events.on("transformed", e.updateThumb, e), e.start = 0, e.end = 1, e.role = "scrollbar", e.thumb.role = "slider", e.thumb.readerLive = "polite", e.startGrip.role = "slider", e.endGrip.role = "slider", e.events.once("inited", function () {
                 e._previousStart = void 0, e.dispatchRangeChange()
              }), e.hideGrips = !1, e.orientation = "horizontal", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), "horizontal" === this.orientation ? (y.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Use TAB to select grip buttons or left and right arrows to change selection")), y.hasValue(this.thumb.readerDescription) || (this.thumb.readerDescription = this.language.translate("Use left and right arrows to move selection")), y.hasValue(this.startGrip.readerDescription) || (this.startGrip.readerDescription = this.language.translate("Use left and right arrows to move left selection")), y.hasValue(this.endGrip.readerDescription) || (this.endGrip.readerDescription = this.language.translate("Use left and right arrows to move right selection"))) : (y.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Use TAB select grip buttons or up and down arrows to change selection")), y.hasValue(this.thumb.readerDescription) || (this.thumb.readerDescription = this.language.translate("Use up and down arrows to move selection")), y.hasValue(this.startGrip.readerDescription) || (this.startGrip.readerDescription = this.language.translate("Use up and down arrows to move upper selection")), y.hasValue(this.endGrip.readerDescription) || (this.endGrip.readerDescription = this.language.translate("Use up and down arrows to move lower selection")))
           }, e.prototype.validateLayout = function () {
              this.updateSize(), t.prototype.validateLayout.call(this), this.updateExtremes()
           }, e.prototype.processBackground = function () {
              t.prototype.processBackground.call(this);
              var e = this.background;
              e.clickable = !0, e.events.on("hit", this.handleBgHit, this)
           }, e.prototype.handleBgHit = function (t) {
              this.makeBusy();
              var e = t.spritePoint;
              e = m.spritePointToSprite(e, this.background, this);
              var i = this.thumb;
              if ("horizontal" == this.orientation) {
                 var n = e.x - i.pixelWidth / 2;
                 n = f.fitToRange(n, 0, this.innerWidth - i.pixelWidth), this._thumbAnimation = i.animate({
                    property: "x",
                    to: n
                 }, this.animationDuration, this.animationEasing)
              } else {
                 var r = e.y - i.pixelHeight / 2;
                 r = f.fitToRange(r, 0, this.innerHeight - i.pixelHeight), this._thumbAnimation = i.animate({
                    property: "y",
                    to: r
                 }, this.animationDuration, this.animationEasing)
              }
              this.animationDuration > 0 ? this._thumbAnimation.events.on("animationended", this.makeUnbusy, this) : (this._thumb.validate(), this.makeUnbusy())
           }, e.prototype.makeBusy = function () {
              this._isBusy = !0, this._skipRangeEvents = !1, this._unbusyTimeout && this.removeDispose(this._unbusyTimeout), this._unbusyTimeout = void 0, this.stopAnimations()
           }, e.prototype.stopAnimations = function () {
              this._thumbAnimation && this._thumbAnimation.stop(!0), this._zoomAnimation && this._zoomAnimation.stop(!0)
           }, e.prototype.makeUnbusy = function () {
              this._unbusyTimeout = this.setTimeout(this.makeUnbusyReal.bind(this), 1.1 * this.animationDuration)
           }, e.prototype.makeUnbusyReal = function () {
              this._usingGrip = void 0, this._isBusy = !1, this.updateWhileMoving || this.dispatchRangeChange()
           }, e.prototype.dispatchRangeChange = function () {
              this._previousEnd == this.end && this._previousStart == this.start || (this._previousStart = this.start, this._previousEnd = this.end, this.dispatch("rangechanged"))
           }, e.prototype.updateThumb = function () {
              if (this.parent) {
                 var t = this.thumb,
                    e = this.start,
                    i = this.end,
                    n = this.startGrip,
                    r = this.endGrip;
                 if ("horizontal" == this.orientation) {
                    var o = this.innerWidth;
                    t.width = o * (i - e), t.maxX = o - t.pixelWidth, t.x = e * o, n.moveTo({
                       x: t.pixelX,
                       y: 0
                    }, void 0, void 0, !0), r.moveTo({
                       x: t.pixelX + t.pixelWidth,
                       y: 0
                    }, void 0, void 0, !0), n.readerTitle = this.language.translate("From %1", void 0, this.adapter.apply("positionValue", {
                       value: Math.round(100 * e) + "%",
                       position: e
                    }).value), r.readerTitle = this.language.translate("To %1", void 0, this.adapter.apply("positionValue", {
                       value: Math.round(100 * i) + "%",
                       position: i
                    }).value)
                 } else {
                    var a = this.innerHeight;
                    t.height = a * (i - e), t.maxY = a - t.pixelHeight, t.y = (1 - i) * a, n.moveTo({
                       x: 0,
                       y: t.pixelY + t.pixelHeight
                    }, void 0, void 0, !0), r.moveTo({
                       x: 0,
                       y: t.pixelY
                    }, void 0, void 0, !0), n.readerTitle = this.language.translate("To %1", void 0, this.adapter.apply("positionValue", {
                       value: Math.round(100 * (1 - e)) + "%",
                       position: 1 - e
                    }).value), r.readerTitle = this.language.translate("From %1", void 0, this.adapter.apply("positionValue", {
                       value: Math.round(100 * (1 - i)) + "%",
                       position: 1 - i
                    }).value)
                 }
                 t.readerTitle = this.language.translate("From %1 to %2", void 0, this.adapter.apply("positionValue", {
                    value: Math.round(100 * e) + "%",
                    position: e
                 }).value, this.adapter.apply("positionValue", {
                    value: Math.round(100 * i) + "%",
                    position: i
                 }).value), !this._skipRangeEvents && this.updateWhileMoving && this.dispatchRangeChange()
              }
           }, e.prototype.updateExtremes = function () {
              var t = 0,
                 e = 0,
                 i = 0,
                 n = 0;
              "horizontal" == this.orientation ? (i = this.innerWidth, e = n = this.innerHeight / 2) : (n = this.innerHeight, t = i = this.innerWidth / 2);
              var r = this.startGrip;
              r.minX = t, r.maxX = i, r.minY = e, r.maxY = n;
              var o = this.endGrip;
              o.minX = t, o.maxX = i, o.minY = e, o.maxY = n;
              var a = this.thumb;
              a.minX = t, a.maxX = i, a.minY = e, a.maxY = n
           }, e.prototype.updateSize = function () {
              var t = this.orientation,
                 e = this.startGrip;
              e && (e.orientation = t), this.endGrip && (this.endGrip.orientation = t);
              var i = this.thumb;
              i && ("horizontal" == t ? (y.isNumber(this._pixelWidth) || (this.width = Object(d.c)(100)), y.hasValue(this.percentHeight) && (this.height = this.minHeight), i.height = this.innerHeight, i.verticalCenter = "middle", i.horizontalCenter = "left") : (y.isNumber(this._pixelHeight) || (this.height = Object(d.c)(100)), y.hasValue(this.percentWidth) && (this.width = this.minWidth), i.width = this.innerWidth, i.verticalCenter = "top", i.horizontalCenter = "middle"))
           }, Object.defineProperty(e.prototype, "start", {
              get: function () {
                 return Math.min(this.getPosition(this._start), this.getPosition(this._end))
              },
              set: function (t) {
                 this._isBusy || (this.__start = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "__start", {
              get: function () {
                 return this._start
              },
              set: function (t) {
                 this._start = this.getPosition(t), this.updateThumb()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "end", {
              get: function () {
                 return Math.max(this.getPosition(this._start), this.getPosition(this._end))
              },
              set: function (t) {
                 this._isBusy || (this.__end = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "__end", {
              get: function () {
                 return this._end
              },
              set: function (t) {
                 this._end = this.getPosition(t), this.updateThumb()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "range", {
              get: function () {
                 return {
                    start: this.start,
                    end: this.end,
                    priority: this._usingGrip
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.skipRangeEvents = function () {
              this._isBusy || (this._skipRangeEvents = !0)
           }, e.prototype.fixRange = function (t) {
              t.start == f.round(this._start, 2) && t.end == f.round(this._end, 2) || (this._start = t.start, this._end = t.end, this._skipRangeEvents = !0, this.updateThumb(), this._skipRangeEvents = !1, this.thumb.validate(), this.thumb.background.validate())
           }, e.prototype.getPosition = function (t) {
              return f.fitToRange(f.round(t, 4), 0, 1)
           }, Object.defineProperty(e.prototype, "orientation", {
              get: function () {
                 return this.getPropertyValue("orientation")
              },
              set: function (t) {
                 this.setPropertyValue("orientation", t) && ("horizontal" === t ? (this.startGrip.cursorOverStyle = u.a.horizontalResize, this.endGrip.cursorOverStyle = u.a.horizontalResize) : (this.startGrip.cursorOverStyle = u.a.verticalResize, this.endGrip.cursorOverStyle = u.a.verticalResize), this.updateByOrientation(), this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateByOrientation = function () {}, Object.defineProperty(e.prototype, "startGrip", {
              get: function () {
                 return this._startGrip
              },
              set: function (t) {
                 this._startGrip && this.removeDispose(this._startGrip), this._startGrip = t, this.processGrip(t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endGrip", {
              get: function () {
                 return this._endGrip
              },
              set: function (t) {
                 this._endGrip && this.removeDispose(this._endGrip), this._endGrip = t, this.processGrip(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.processGrip = function (t) {
              t.parent = this, t.isMeasured = !1, t.focusable = !0, t.showSystemTooltip = !0, t.zIndex = 100, t.events.on("drag", this.handleGripDrag, this), t.events.on("dragstop", this.makeUnbusy, this), t.events.on("down", this.makeBusy, this), this._disposers.push(t)
           }, e.prototype.handleGripDrag = function (t) {
              this.makeBusy(), t.target === this._startGrip ? this._usingGrip = "start" : this._usingGrip = "end", "horizontal" == this.orientation ? (this._start = this.startGrip.pixelX / this.innerWidth, this._end = this.endGrip.pixelX / this.innerWidth) : (this._start = 1 - this.startGrip.pixelY / this.innerHeight, this._end = 1 - this.endGrip.pixelY / this.innerHeight), this.updateThumb()
           }, Object.defineProperty(e.prototype, "thumb", {
              get: function () {
                 if (!this._thumb) {
                    var t = new a.a;
                    t.background.cornerRadius(10, 10, 10, 10), t.padding(0, 0, 0, 0), this.thumb = t
                 }
                 return this._thumb
              },
              set: function (t) {
                 var e = this;
                 t && (this._thumb && this.removeDispose(this._thumb), this._thumb = t, t.parent = this, t.isMeasured = !1, t.inert = !0, t.draggable = !0, t.clickable = !0, t.hoverable = !0, t.focusable = !0, t.zIndex = 0, t.cursorOverStyle = u.a.grab, t.cursorDownStyle = u.a.grabbing, t.events.on("dragstart", this.makeBusy, this), t.events.on("dragstop", this.makeUnbusy, this), t.events.on("positionchanged", this.handleThumbPosition, this), t.events.on("sizechanged", this.handleThumbPosition, this), t.events.on("doublehit", this.handleDoubleClick, this), this._disposers.push(Object(s.b)().body.events.on("keyup", function (t) {
                    c.b.isKey(t.event, ["space", "enter"]) && e.thumb.isFocused && (t.event.preventDefault(), e.handleDoubleClick())
                 })), this._disposers.push(this._thumb))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleDoubleClick = function () {
              this.makeBusy();
              var t = 0,
                 e = 1;
              0 != this.start || 1 != this.end ? (this._prevStart = this.start, this._prevEnd = this.end) : (t = this._prevStart, e = this._prevEnd);
              var i = this.animate([{
                 property: "__start",
                 to: t
              }, {
                 property: "__end",
                 to: e
              }], this.animationDuration, this.animationEasing);
              i && !i.isFinished() ? (i.events.on("animationended", this.makeUnbusy, this), this._zoomAnimation = i) : this.makeUnbusy()
           }, e.prototype.handleThumbPosition = function () {
              var t = this.thumb;
              if ("horizontal" == this.orientation) {
                 var e = this.innerWidth,
                    i = t.innerWidth,
                    n = t.pixelX;
                 this._start = n / e, this._end = (n + i) / e, this.updateThumb()
              } else {
                 var r = this.innerHeight,
                    o = t.innerHeight,
                    a = t.pixelY;
                 this._start = 1 - (a + o) / r, this._end = 1 - a / r, this.updateThumb()
              }
           }, e.prototype.createBackground = function () {
              return new l.a
           }, Object.defineProperty(e.prototype, "hideGrips", {
              get: function () {
                 return this._hideGrips
              },
              set: function (t) {
                 var e = this;
                 this._hideGrips = t, this._overDisposer && this.removeDispose(this._overDisposer), this._outDisposer && this.removeDispose(this._outDisposer), t ? (this._overDisposer = this.events.on("over", function () {
                    e.startGrip.show(), e.endGrip.show()
                 }), this._outDisposer = this.events.on("out", function () {
                    e.startGrip.hide(), e.endGrip.hide()
                 }), this.startGrip.hide(), this.endGrip.hide()) : (this.startGrip.show(), this.endGrip.show())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "animationDuration", {
              get: function () {
                 return this.getPropertyValue("animationDuration")
              },
              set: function (t) {
                 this.setPropertyValue("animationDuration", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "animationEasing", {
              get: function () {
                 return this.getPropertyValue("animationEasing")
              },
              set: function (t) {
                 this.setPropertyValue("animationEasing", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     h.b.registeredClasses.Scrollbar = b
  },
  ITVZ: function (t, e, i) {
     var n = i("Gb1H"),
        r = Math.PI / 180;
     n(n.S, "Math", {
        radians: function (t) {
           return t * r
        }
     })
  },
  IYrR: function (t, e, i) {
     var n = i("YEtG")("match");
     t.exports = function (t) {
        var e = /./;
        try {
           "/./" [t](e)
        } catch (i) {
           try {
              return e[n] = !1, !"/./" [t](e)
           } catch (t) {}
        }
        return !0
     }
  },
  IcXr: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("DbOM"),
        o = i("snR7"),
        a = (i("T9LF").Reflect || {}).apply,
        s = Function.apply;
     n(n.S + n.F * !i("AEc5")(function () {
        a(function () {})
     }), "Reflect", {
        apply: function (t, e, i) {
           var n = r(t),
              u = o(i);
           return a ? a(n, e, u) : s.call(n, e, u)
        }
     })
  },
  "Ijb/": function (t, e, i) {
     var n = i("Gb1H"),
        r = i("0C8c");
     n(n.S + n.F * (r != Math.expm1), "Math", {
        expm1: r
     })
  },
  Inf5: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return p
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("Vs7R"),
        a = i("aCit"),
        s = i("Gg2j"),
        u = i("hGwe"),
        l = i("Mtpk"),
        h = i("v9UT"),
        c = i("CuFa"),
        p = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Slice", e.setPropertyValue("cornerRadius", 0), e.setPropertyValue("startAngle", 0), e.setPercentProperty("innerRadius", 0), e.setPercentProperty("radius", 0), e.setPropertyValue("arc", 0), e.setPropertyValue("shiftRadius", 0), e.strokeOpacity = 1, e.setPropertyValue("layout", "none"), e.slice = e.createChild(o.a), e.slice.isMeasured = !1, e._disposers.push(e.slice), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), this.slice.path = u.arc(this.startAngle, this.arc, this.radius, this.pixelInnerRadius, this.radiusY, this.cornerRadius, this.innerCornerRadius), this.slice.invalidate(), this.shiftRadius = this.shiftRadius, this.realFill instanceof c.a && this.updateGradient(this.realFill), this.realStroke instanceof c.a && this.updateGradient(this.realStroke)
           }, e.prototype.updateGradient = function (t) {
              t.element.attr({
                 gradientUnits: "userSpaceOnUse"
              }), t.element.attr({
                 r: this.radius
              }), t.cx = 0, t.cy = 0, t.element.attr({
                 radius: this.radius
              })
           }, Object.defineProperty(e.prototype, "bbox", {
              get: function () {
                 if (this.definedBBox) return this.definedBBox;
                 if (this.isMeasured) {
                    var t = s.getArcRect(this.startAngle, this.startAngle + this.arc, this.pixelInnerRadius),
                       e = s.getArcRect(this.startAngle, this.startAngle + this.arc, this.radius);
                    return s.getCommonRectangle([t, e])
                 }
                 return {
                    x: 0,
                    y: 0,
                    width: 0,
                    height: 0
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "startAngle", {
              get: function () {
                 return this.getPropertyValue("startAngle")
              },
              set: function (t) {
                 this.setPropertyValue("startAngle", s.normalizeAngle(t), !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "arc", {
              get: function () {
                 return this.getPropertyValue("arc")
              },
              set: function (t) {
                 l.isNumber(t) || (t = 0), this.setPropertyValue("arc", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "radius", {
              get: function () {
                 var t = this.getPropertyValue("radius");
                 return l.isNumber(t) || (t = 0), t
              },
              set: function (t) {
                 this.setPropertyValue("radius", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "radiusY", {
              get: function () {
                 var t = this.getPropertyValue("radiusY");
                 return l.isNumber(t) || (t = this.radius), t
              },
              set: function (t) {
                 this.setPropertyValue("radiusY", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "innerRadius", {
              get: function () {
                 return this.getPropertyValue("innerRadius")
              },
              set: function (t) {
                 this.setPercentProperty("innerRadius", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelInnerRadius", {
              get: function () {
                 return h.relativeToValue(this.innerRadius, this.radius)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cornerRadius", {
              get: function () {
                 return this.getPropertyValue("cornerRadius")
              },
              set: function (t) {
                 this.setPropertyValue("cornerRadius", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "innerCornerRadius", {
              get: function () {
                 return this.getPropertyValue("innerCornerRadius")
              },
              set: function (t) {
                 this.setPropertyValue("innerCornerRadius", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "shiftRadius", {
              get: function () {
                 return this.getPropertyValue("shiftRadius")
              },
              set: function (t) {
                 this.setPropertyValue("shiftRadius", t), this.dx = t * this.radius * this.ix, this.dy = t * this.radiusY * this.iy
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "ix", {
              get: function () {
                 return s.cos(this.middleAngle)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "iy", {
              get: function () {
                 return this.radius, s.sin(this.middleAngle)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "middleAngle", {
              get: function () {
                 return this.startAngle + this.arc / 2
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getTooltipX = function () {
              var t = this.getPropertyValue("tooltipX");
              if (!l.isNumber(t)) {
                 var e = h.relativeToValue(this.innerRadius, this.radius);
                 t = this.ix * (e + (this.radius - e) / 2)
              }
              return t
           }, e.prototype.getTooltipY = function () {
              var t = this.getPropertyValue("tooltipY");
              if (!l.isNumber(t)) {
                 var e = h.relativeToValue(this.innerRadius, this.radius);
                 t = this.iy * (e + (this.radius - e) / 2)
              }
              return t
           }, e
        }(r.a);
     a.b.registeredClasses.Slice = p
  },
  JNIx: function (t, e, i) {
     "use strict";
     e.a = {
        _decimalSeparator: ".",
        _thousandSeparator: ",",
        _big_number_suffix_3: "k",
        _big_number_suffix_6: "M",
        _big_number_suffix_9: "G",
        _big_number_suffix_12: "T",
        _big_number_suffix_15: "P",
        _big_number_suffix_18: "E",
        _big_number_suffix_21: "Z",
        _big_number_suffix_24: "Y",
        _small_number_suffix_3: "m",
        _small_number_suffix_6: "μ",
        _small_number_suffix_9: "n",
        _small_number_suffix_12: "p",
        _small_number_suffix_15: "f",
        _small_number_suffix_18: "a",
        _small_number_suffix_21: "z",
        _small_number_suffix_24: "y",
        _byte_suffix_B: "B",
        _byte_suffix_KB: "KB",
        _byte_suffix_MB: "MB",
        _byte_suffix_GB: "GB",
        _byte_suffix_TB: "TB",
        _byte_suffix_PB: "PB",
        _date_millisecond: "mm:ss SSS",
        _date_second: "HH:mm:ss",
        _date_minute: "HH:mm",
        _date_hour: "HH:mm",
        _date_day: "MMM dd",
        _date_week: "ww",
        _date_month: "MMM",
        _date_year: "yyyy",
        _duration_millisecond: "SSS",
        _duration_millisecond_second: "ss.SSS",
        _duration_millisecond_minute: "mm:ss SSS",
        _duration_millisecond_hour: "hh:mm:ss SSS",
        _duration_millisecond_day: "d'd' mm:ss SSS",
        _duration_millisecond_week: "d'd' mm:ss SSS",
        _duration_millisecond_month: "M'm' dd'd' mm:ss SSS",
        _duration_millisecond_year: "y'y' MM'm' dd'd' mm:ss SSS",
        _duration_second: "ss",
        _duration_second_minute: "mm:ss",
        _duration_second_hour: "hh:mm:ss",
        _duration_second_day: "d'd' hh:mm:ss",
        _duration_second_week: "d'd' hh:mm:ss",
        _duration_second_month: "M'm' dd'd' hh:mm:ss",
        _duration_second_year: "y'y' MM'm' dd'd' hh:mm:ss",
        _duration_minute: "mm",
        _duration_minute_hour: "hh:mm",
        _duration_minute_day: "d'd' hh:mm",
        _duration_minute_week: "d'd' hh:mm",
        _duration_minute_month: "M'm' dd'd' hh:mm",
        _duration_minute_year: "y'y' MM'm' dd'd' hh:mm",
        _duration_hour: "hh'h'",
        _duration_hour_day: "d'd' hh'h'",
        _duration_hour_week: "d'd' hh'h'",
        _duration_hour_month: "M'm' dd'd' hh'h'",
        _duration_hour_year: "y'y' MM'm' dd'd' hh'h'",
        _duration_day: "d'd'",
        _duration_day_week: "d'd'",
        _duration_day_month: "M'm' dd'd'",
        _duration_day_year: "y'y' MM'm' dd'd'",
        _duration_week: "w'w'",
        _duration_week_month: "w'w'",
        _duration_week_year: "w'w'",
        _duration_month: "M'm'",
        _duration_month_year: "y'y' MM'm'",
        _duration_year: "y'y'",
        _era_ad: "AD",
        _era_bc: "BC",
        A: "",
        P: "",
        AM: "",
        PM: "",
        "A.M.": "",
        "P.M.": "",
        January: "",
        February: "",
        March: "",
        April: "",
        May: "",
        June: "",
        July: "",
        August: "",
        September: "",
        October: "",
        November: "",
        December: "",
        Jan: "",
        Feb: "",
        Mar: "",
        Apr: "",
        "May(short)": "May",
        Jun: "",
        Jul: "",
        Aug: "",
        Sep: "",
        Oct: "",
        Nov: "",
        Dec: "",
        Sunday: "",
        Monday: "",
        Tuesday: "",
        Wednesday: "",
        Thursday: "",
        Friday: "",
        Saturday: "",
        Sun: "",
        Mon: "",
        Tue: "",
        Wed: "",
        Thu: "",
        Fri: "",
        Sat: "",
        _dateOrd: function (t) {
           var e = "th";
           if (t < 11 || t > 13) switch (t % 10) {
              case 1:
                 e = "st";
                 break;
              case 2:
                 e = "nd";
                 break;
              case 3:
                 e = "rd"
           }
           return e
        },
        "Zoom Out": "",
        Play: "",
        Stop: "",
        Legend: "",
        "Click, tap or press ENTER to toggle": "",
        Loading: "",
        Home: "",
        Chart: "",
        "Serial chart": "",
        "X/Y chart": "",
        "Pie chart": "",
        "Gauge chart": "",
        "Radar chart": "",
        "Sankey diagram": "",
        "Flow diagram": "",
        "Chord diagram": "",
        "TreeMap chart": "",
        "Sliced chart": "",
        Series: "",
        "Candlestick Series": "",
        "OHLC Series": "",
        "Column Series": "",
        "Line Series": "",
        "Pie Slice Series": "",
        "Funnel Series": "",
        "Pyramid Series": "",
        "X/Y Series": "",
        Map: "",
        "Press ENTER to zoom in": "",
        "Press ENTER to zoom out": "",
        "Use arrow keys to zoom in and out": "",
        "Use plus and minus keys on your keyboard to zoom in and out": "",
        Export: "",
        Image: "",
        Data: "",
        Print: "",
        "Click, tap or press ENTER to open": "",
        "Click, tap or press ENTER to print.": "",
        "Click, tap or press ENTER to export as %1.": "",
        'To save the image, right-click this link and choose "Save picture as..."': "",
        'To save the image, right-click thumbnail on the left and choose "Save picture as..."': "",
        "(Press ESC to close this message)": "",
        "Image Export Complete": "",
        "Export operation took longer than expected. Something might have gone wrong.": "",
        "Saved from": "",
        PNG: "",
        JPG: "",
        GIF: "",
        SVG: "",
        PDF: "",
        JSON: "",
        CSV: "",
        XLSX: "",
        "Use TAB to select grip buttons or left and right arrows to change selection": "",
        "Use left and right arrows to move selection": "",
        "Use left and right arrows to move left selection": "",
        "Use left and right arrows to move right selection": "",
        "Use TAB select grip buttons or up and down arrows to change selection": "",
        "Use up and down arrows to move selection": "",
        "Use up and down arrows to move lower selection": "",
        "Use up and down arrows to move upper selection": "",
        "From %1 to %2": "",
        "From %1": "",
        "To %1": "",
        "No parser available for file: %1": "",
        "Error parsing file: %1": "",
        "Unable to load file: %1": "",
        "Invalid date": ""
     }
  },
  JqbS: function (t, e, i) {
     var n = i("snR7"),
        r = i("DvJ+"),
        o = i("6w17");
     t.exports = function (t, e) {
        if (n(t), r(e) && e.constructor === t) return e;
        var i = o.f(t);
        return (0, i.resolve)(e), i.promise
     }
  },
  Jwb0: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("TXRX"),
        o = i("p9TX"),
        a = i("aCit"),
        s = i("8ZqG"),
        u = i("MIZb"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "LabelBullet";
              var i = e.createChild(o.a);
              return i.shouldClone = !1, i.verticalCenter = "middle", i.horizontalCenter = "middle", i.truncate = !0, i.hideOversized = !0, i.stroke = Object(s.c)(), i.strokeOpacity = 0, i.fill = (new u.a).getFor("text"), e.events.on("maxsizechanged", e.handleMaxSize, e, !1), e.label = i, e
           }
           return n.c(e, t), e.prototype.handleMaxSize = function () {
              this.label.maxWidth = this.maxWidth, this.label.maxHeight = this.maxHeight
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.label.copyFrom(e.label)
           }, e
        }(r.a);
     a.b.registeredClasses.LabelBullet = l
  },
  K0ev: function (t, e, i) {
     var n = i("U3hN"),
        r = i("vJiZ"),
        o = i("VYrJ")("IE_PROTO"),
        a = Object.prototype;
     t.exports = Object.getPrototypeOf || function (t) {
        return t = r(t), n(t, o) ? t[o] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? a : null
     }
  },
  K2Eo: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("oGmz")(!0);
     n(n.P, "String", {
        at: function (t) {
           return r(this, t)
        }
     })
  },
  KfrQ: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("0C8c"),
        o = Math.exp;
     n(n.S, "Math", {
        tanh: function (t) {
           var e = r(t = +t),
              i = r(-t);
           return e == 1 / 0 ? 1 : i == 1 / 0 ? -1 : (e - i) / (o(t) + o(-t))
        }
     })
  },
  Kg3M: function (t, e, i) {
     "use strict";
     var n = i("oGmz")(!0);
     i("Uobz")(String, "String", function (t) {
        this._t = String(t), this._i = 0
     }, function () {
        var t, e = this._t,
           i = this._i;
        return i >= e.length ? {
           value: void 0,
           done: !0
        } : (t = n(e, i), this._i += t.length, {
           value: t,
           done: !1
        })
     })
  },
  Kmds: function (t, e, i) {
     var n = i("Gb1H"),
        r = Math.asinh;
     n(n.S + n.F * !(r && 1 / r(0) > 0), "Math", {
        asinh: function t(e) {
           return isFinite(e = +e) && 0 != e ? e < 0 ? -t(-e) : Math.log(e + Math.sqrt(e * e + 1)) : e
        }
     })
  },
  L2Mu: function (t, e, i) {
     var n = i("ua0L");
     t.exports = function (t, e) {
        return new(n(t))(e)
     }
  },
  L8kC: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = n.has,
        a = n.key;
     n.exp({
        hasOwnMetadata: function (t, e) {
           return o(t, r(e), arguments.length < 3 ? void 0 : a(arguments[2]))
        }
     })
  },
  L91H: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), i.d(e, "timeUnitDurations", function () {
        return r
     }), e.getNextUnit = o, e.getDuration = function (t, e) {
        n.hasValue(e) || (e = 1);
        return r[t] * e
     }, e.now = a, e.getTime = function () {
        return a().getTime()
     }, e.copy = function (t) {
        return new Date(t.getTime())
     }, e.checkChange = function t(e, i, n) {
        switch (n) {
           case "year":
              if (e.getFullYear() != i.getFullYear()) return !0;
              break;
           case "month":
              if (e.getMonth() != i.getMonth()) return !0;
              break;
           case "day":
              if (e.getDate() != i.getDate()) return !0;
              break;
           case "hour":
              if (e.getHours() != i.getHours()) return !0;
              break;
           case "minute":
              if (e.getMinutes() != i.getMinutes()) return !0;
              break;
           case "second":
              if (e.getSeconds() != i.getSeconds()) return !0;
              break;
           case "millisecond":
              if (e.getTime() != i.getTime()) return !0
        }
        var r = o(n);
        return !!r && t(e, i, r)
     }, e.add = function (t, e, i) {
        var n = t.getFullYear(),
           r = t.getMonth(),
           o = t.getDate(),
           a = t.getHours(),
           s = t.getMinutes(),
           u = t.getSeconds(),
           l = t.getMilliseconds();
        switch (e) {
           case "year":
              t.setFullYear(n + i);
              break;
           case "month":
              t.setMonth(r + i);
              break;
           case "week":
              t.setDate(o + 7 * i);
              break;
           case "day":
              t.setDate(o + i);
              break;
           case "hour":
              t.setHours(a + i);
              break;
           case "minute":
              t.setMinutes(s + i);
              break;
           case "second":
              t.setSeconds(u + i);
              break;
           case "millisecond":
              t.setMilliseconds(l + i)
        }
        return t
     }, e.round = function (t, e, i, r) {
        n.isNumber(i) || (i = 1);
        n.isNumber(r) || (r = 1);
        var o = t.getFullYear(),
           a = t.getMonth(),
           s = t.getDate(),
           u = t.getHours(),
           l = t.getMinutes(),
           h = t.getSeconds(),
           c = t.getMilliseconds(),
           p = t.getDay();
        switch (e) {
           case "year":
              o = Math.floor(o / i) * i, a = 0, s = 1, u = 0, l = 0, h = 0, c = 0;
              break;
           case "month":
              a = Math.floor(a / i) * i, s = 1, u = 0, l = 0, h = 0, c = 0;
              break;
           case "week":
              s = p >= r ? s - p + r : s - (7 + p) + r, u = 0, l = 0, h = 0, c = 0;
              break;
           case "day":
              s = s = Math.floor(s / i) * i, u = 0, l = 0, h = 0, c = 0;
              break;
           case "hour":
              u = Math.floor(u / i) * i, l = 0, h = 0, c = 0;
              break;
           case "minute":
              l = Math.floor(l / i) * i, h = 0, c = 0;
              break;
           case "second":
              h = Math.floor(h / i) * i, c = 0;
              break;
           case "millisecond":
              c = Math.floor(c / i) * i
        }
        return t.setFullYear(o, a, s), t.setHours(u, l, h, c), t
     };
     var n = i("Mtpk"),
        r = {
           millisecond: 1,
           second: 1e3,
           minute: 6e4,
           hour: 36e5,
           day: 864e5,
           week: 6048e5,
           month: 2592e6,
           year: 31536e6
        };

     function o(t) {
        switch (t) {
           case "year":
              return;
           case "month":
              return "year";
           case "week":
           case "day":
              return "month";
           case "hour":
              return "day";
           case "minute":
              return "hour";
           case "second":
              return "minute";
           case "millisecond":
              return "second"
        }
     }

     function a() {
        return new Date
     }
  },
  "LGy/": function (t, e, i) {
     i("YJIw")("Float64", 8, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  LHMX: function (t, e, i) {
     var n = i("T9LF"),
        r = i("6/bx"),
        o = i("hjwn").f,
        a = i("rkh7").f,
        s = i("0Zt3"),
        u = i("x2K9"),
        l = n.RegExp,
        h = l,
        c = l.prototype,
        p = /a/g,
        d = /a/g,
        f = new l(p) !== p;
     if (i("gD3S") && (!f || i("AEc5")(function () {
           return d[i("YEtG")("match")] = !1, l(p) != p || l(d) == d || "/a/i" != l(p, "i")
        }))) {
        l = function (t, e) {
           var i = this instanceof l,
              n = s(t),
              o = void 0 === e;
           return !i && n && t.constructor === l && o ? t : r(f ? new h(n && !o ? t.source : t, e) : h((n = t instanceof l) ? t.source : t, n && o ? u.call(t) : e), i ? this : c, l)
        };
        for (var g = function (t) {
              t in l || o(l, t, {
                 configurable: !0,
                 get: function () {
                    return h[t]
                 },
                 set: function (e) {
                    h[t] = e
                 }
              })
           }, y = a(h), m = 0; y.length > m;) g(y[m++]);
        c.constructor = l, l.prototype = c, i("wDk4")(n, "RegExp", l)
     }
     i("vdWU")("RegExp")
  },
  LLsa: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("sc+R");
     n(n.P + n.F * !i("GQop")([].reduceRight, !0), "Array", {
        reduceRight: function (t) {
           return r(this, t, arguments.length, arguments[1], !0)
        }
     })
  },
  LMet: function (t, e, i) {
     i("xdw4")("asyncIterator")
  },
  LNZc: function (t, e, i) {
     "use strict";
     var n = i("T9LF"),
        r = i("gD3S"),
        o = i("pb4Y"),
        a = i("xSzy"),
        s = i("Vng0"),
        u = i("cA+3"),
        l = i("AEc5"),
        h = i("ypVE"),
        c = i("4BRe"),
        p = i("FmWr"),
        d = i("bytU"),
        f = i("rkh7").f,
        g = i("hjwn").f,
        y = i("lgQj"),
        m = i("bPwn"),
        b = "prototype",
        v = "Wrong index!",
        _ = n.ArrayBuffer,
        x = n.DataView,
        P = n.Math,
        w = n.RangeError,
        O = n.Infinity,
        S = _,
        k = P.abs,
        T = P.pow,
        C = P.floor,
        j = P.log,
        I = P.LN2,
        V = r ? "_b" : "buffer",
        M = r ? "_l" : "byteLength",
        D = r ? "_o" : "byteOffset";

     function E(t, e, i) {
        var n, r, o, a = new Array(i),
           s = 8 * i - e - 1,
           u = (1 << s) - 1,
           l = u >> 1,
           h = 23 === e ? T(2, -24) - T(2, -77) : 0,
           c = 0,
           p = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
        for ((t = k(t)) != t || t === O ? (r = t != t ? 1 : 0, n = u) : (n = C(j(t) / I), t * (o = T(2, -n)) < 1 && (n--, o *= 2), (t += n + l >= 1 ? h / o : h * T(2, 1 - l)) * o >= 2 && (n++, o /= 2), n + l >= u ? (r = 0, n = u) : n + l >= 1 ? (r = (t * o - 1) * T(2, e), n += l) : (r = t * T(2, l - 1) * T(2, e), n = 0)); e >= 8; a[c++] = 255 & r, r /= 256, e -= 8);
        for (n = n << e | r, s += e; s > 0; a[c++] = 255 & n, n /= 256, s -= 8);
        return a[--c] |= 128 * p, a
     }

     function F(t, e, i) {
        var n, r = 8 * i - e - 1,
           o = (1 << r) - 1,
           a = o >> 1,
           s = r - 7,
           u = i - 1,
           l = t[u--],
           h = 127 & l;
        for (l >>= 7; s > 0; h = 256 * h + t[u], u--, s -= 8);
        for (n = h & (1 << -s) - 1, h >>= -s, s += e; s > 0; n = 256 * n + t[u], u--, s -= 8);
        if (0 === h) h = 1 - a;
        else {
           if (h === o) return n ? NaN : l ? -O : O;
           n += T(2, e), h -= a
        }
        return (l ? -1 : 1) * n * T(2, h - e)
     }

     function N(t) {
        return t[3] << 24 | t[2] << 16 | t[1] << 8 | t[0]
     }

     function R(t) {
        return [255 & t]
     }

     function L(t) {
        return [255 & t, t >> 8 & 255]
     }

     function A(t) {
        return [255 & t, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255]
     }

     function B(t) {
        return E(t, 52, 8)
     }

     function H(t) {
        return E(t, 23, 4)
     }

     function G(t, e, i) {
        g(t[b], e, {
           get: function () {
              return this[i]
           }
        })
     }

     function W(t, e, i, n) {
        var r = d(+i);
        if (r + e > t[M]) throw w(v);
        var o = t[V]._b,
           a = r + t[D],
           s = o.slice(a, a + e);
        return n ? s : s.reverse()
     }

     function z(t, e, i, n, r, o) {
        var a = d(+i);
        if (a + e > t[M]) throw w(v);
        for (var s = t[V]._b, u = a + t[D], l = n(+r), h = 0; h < e; h++) s[u + h] = l[o ? h : e - h - 1]
     }
     if (a.ABV) {
        if (!l(function () {
              _(1)
           }) || !l(function () {
              new _(-1)
           }) || l(function () {
              return new _, new _(1.5), new _(NaN), "ArrayBuffer" != _.name
           })) {
           for (var U, Y = (_ = function (t) {
                 return h(this, _), new S(d(t))
              })[b] = S[b], K = f(S), X = 0; K.length > X;)(U = K[X++]) in _ || s(_, U, S[U]);
           o || (Y.constructor = _)
        }
        var J = new x(new _(2)),
           Z = x[b].setInt8;
        J.setInt8(0, 2147483648), J.setInt8(1, 2147483649), !J.getInt8(0) && J.getInt8(1) || u(x[b], {
           setInt8: function (t, e) {
              Z.call(this, t, e << 24 >> 24)
           },
           setUint8: function (t, e) {
              Z.call(this, t, e << 24 >> 24)
           }
        }, !0)
     } else _ = function (t) {
        h(this, _, "ArrayBuffer");
        var e = d(t);
        this._b = y.call(new Array(e), 0), this[M] = e
     }, x = function (t, e, i) {
        h(this, x, "DataView"), h(t, _, "DataView");
        var n = t[M],
           r = c(e);
        if (r < 0 || r > n) throw w("Wrong offset!");
        if (r + (i = void 0 === i ? n - r : p(i)) > n) throw w("Wrong length!");
        this[V] = t, this[D] = r, this[M] = i
     }, r && (G(_, "byteLength", "_l"), G(x, "buffer", "_b"), G(x, "byteLength", "_l"), G(x, "byteOffset", "_o")), u(x[b], {
        getInt8: function (t) {
           return W(this, 1, t)[0] << 24 >> 24
        },
        getUint8: function (t) {
           return W(this, 1, t)[0]
        },
        getInt16: function (t) {
           var e = W(this, 2, t, arguments[1]);
           return (e[1] << 8 | e[0]) << 16 >> 16
        },
        getUint16: function (t) {
           var e = W(this, 2, t, arguments[1]);
           return e[1] << 8 | e[0]
        },
        getInt32: function (t) {
           return N(W(this, 4, t, arguments[1]))
        },
        getUint32: function (t) {
           return N(W(this, 4, t, arguments[1])) >>> 0
        },
        getFloat32: function (t) {
           return F(W(this, 4, t, arguments[1]), 23, 4)
        },
        getFloat64: function (t) {
           return F(W(this, 8, t, arguments[1]), 52, 8)
        },
        setInt8: function (t, e) {
           z(this, 1, t, R, e)
        },
        setUint8: function (t, e) {
           z(this, 1, t, R, e)
        },
        setInt16: function (t, e) {
           z(this, 2, t, L, e, arguments[2])
        },
        setUint16: function (t, e) {
           z(this, 2, t, L, e, arguments[2])
        },
        setInt32: function (t, e) {
           z(this, 4, t, A, e, arguments[2])
        },
        setUint32: function (t, e) {
           z(this, 4, t, A, e, arguments[2])
        },
        setFloat32: function (t, e) {
           z(this, 4, t, H, e, arguments[2])
        },
        setFloat64: function (t, e) {
           z(this, 8, t, B, e, arguments[2])
        }
     });
     m(_, "ArrayBuffer"), m(x, "DataView"), s(x[b], a.VIEW, !0), e.ArrayBuffer = _, e.DataView = x
  },
  LSPs: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Date", {
        now: function () {
           return (new Date).getTime()
        }
     })
  },
  "Ly/W": function (t, e, i) {
     "use strict";
     i("Mvcd")("strike", function (t) {
        return function () {
           return t(this, "strike", "", "")
        }
     })
  },
  "M/YL": function (t, e, i) {
     var n = i("YEtG")("unscopables"),
        r = Array.prototype;
     void 0 == r[n] && i("Vng0")(r, n, {}), t.exports = function (t) {
        r[n][t] = !0
     }
  },
  MIZb: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("8ZqG"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._purposes = {
                 stroke: Object(o.c)("#e5e5e5"),
                 fill: Object(o.c)("#f3f3f3"),
                 primaryButton: Object(o.c)("#6794dc"),
                 primaryButtonHover: Object(o.c)("#6771dc"),
                 primaryButtonDown: Object(o.c)("#68dc75"),
                 primaryButtonActive: Object(o.c)("#68dc75"),
                 primaryButtonText: Object(o.c)("#FFFFFF"),
                 primaryButtonStroke: Object(o.c)("#FFFFFF"),
                 secondaryButton: Object(o.c)("#d9d9d9"),
                 secondaryButtonHover: Object(o.c)("#d9d9d9").brighten(-.25),
                 secondaryButtonDown: Object(o.c)("#d9d9d9").brighten(-.35),
                 secondaryButtonActive: Object(o.c)("#d9d9d9").brighten(.35),
                 secondaryButtonText: Object(o.c)("#000000"),
                 secondaryButtonStroke: Object(o.c)("#FFFFFF"),
                 grid: Object(o.c)("#000000"),
                 background: Object(o.c)("#ffffff"),
                 alternativeBackground: Object(o.c)("#000000"),
                 text: Object(o.c)("#000000"),
                 alternativeText: Object(o.c)("#FFFFFF"),
                 disabledBackground: Object(o.c)("#999999"),
                 positive: Object(o.c)("#67dc75"),
                 negative: Object(o.c)("#dc6788")
              }, e.className = "InterfaceColorSet", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.debug = function () {}, e.prototype.getFor = function (t) {
              return this._purposes[t]
           }, e.prototype.setFor = function (t, e) {
              this._purposes[t] = e
           }, e
        }(r.a)
  },
  "MT+g": function (t, e, i) {
     i("6+x4")("WeakSet")
  },
  MXvJ: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("jfaP"),
        o = i("aCit"),
        a = i("Gg2j"),
        s = i("hGwe"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Polyarc", e.controlPointDistance = .5, e.controlPointPosition = .5, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.makePath = function () {
              this._distance = 0;
              var t = this.segments;
              if (t && t.length > 0) {
                 var e = "";
                 this._realSegments = [];
                 for (var i = 0, n = t.length; i < n; i++) {
                    var r = t[i],
                       o = [];
                    if (this._realSegments.push(o), r.length > 0) {
                       e += s.moveTo(r[0]);
                       for (var u = 1; u < r.length; u++) {
                          var l = r[u - 1],
                             h = r[u],
                             c = a.getDistance(h, l),
                             p = c * this.controlPointDistance,
                             d = this.controlPointPosition,
                             f = -a.getAngle(l, h),
                             g = {
                                x: l.x + (h.x - l.x) * d * .5 - p * a.sin(f),
                                y: l.y + (h.y - l.y) * d * .5 - p * a.cos(f)
                             },
                             y = {
                                x: l.x + (h.x - l.x) * d * 1.5 - p * a.sin(f),
                                y: l.y + (h.y - l.y) * d * 1.5 - p * a.cos(f)
                             };
                          e += s.cubicCurveTo(h, g, y);
                          var m = Math.ceil(c),
                             b = l;
                          if (m > 0)
                             for (var v = 0; v <= m; v++) {
                                var _ = a.getPointOnCubicCurve(l, h, g, y, v / m);
                                o.push(_), this._distance += a.getDistance(b, _), b = _
                             } else o.push(l)
                       }
                    }
                 }
                 this.path = e
              }
           }, Object.defineProperty(e.prototype, "controlPointPosition", {
              get: function () {
                 return this.getPropertyValue("controlPointPosition")
              },
              set: function (t) {
                 this.setPropertyValue("controlPointPosition", t), this.makePath()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "controlPointDistance", {
              get: function () {
                 return this.getPropertyValue("controlPointDistance")
              },
              set: function (t) {
                 this.setPropertyValue("controlPointDistance", t), this.makePath()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Polyarc = u
  },
  MZQ8: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("1qam"),
        o = i("Gg2j"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "PointedRectangle", e.element = e.paper.add("path"), e.cornerRadius = 0, e.cornerRadius = 6, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.cornerRadius,
                 i = this.innerWidth,
                 n = this.innerHeight;
              if (i > 0 && n > 0) {
                 var r, a, s = this.pointerX,
                    u = this.pointerY,
                    l = this.pointerBaseWidth / 2,
                    h = o.min(i / 2, n / 2),
                    c = o.fitToRange(e, 0, h),
                    p = o.fitToRange(e, 0, h),
                    d = o.fitToRange(e, 0, h),
                    f = o.fitToRange(e, 0, h),
                    g = void 0,
                    y = void 0,
                    m = void 0,
                    b = void 0,
                    v = (s - 0) * (n - 0) - (u - 0) * (i - 0),
                    _ = (s - 0) * (0 - n) - (u - n) * (i - 0);
                 if (v > 0 && _ > 0) g = "M" + c + ",0 L" + ((r = o.fitToRange(s, c + l, i - l - p)) - l) + ",0 L" + s + "," + (u = o.fitToRange(u, -1 / 0, 0)) + " L" + (r + l) + ",0 L" + (i - p) + ",0";
                 else g = "M" + c + ",0 L" + (i - p) + ",0";
                 if (v < 0 && _ < 0) m = " L" + (i - d) + "," + n + " L" + ((r = o.fitToRange(s, f + l, i - l - d)) + l) + "," + n + " L" + s + "," + (u = o.fitToRange(u, n, 1 / 0)) + " L" + (r - l) + "," + n + " L" + f + "," + n;
                 else m = " L" + f + "," + n;
                 if (v < 0 && _ > 0) b = " L0," + (n - f) + " L0," + ((a = o.fitToRange(u, c + l, n - f - l)) + l) + " L" + (s = o.fitToRange(s, -1 / 0, 0)) + "," + u + " L0," + (a - l) + " L0," + c;
                 else b = " L0," + c;
                 if (v > 0 && _ < 0) y = " L" + i + "," + p + " L" + i + "," + ((a = o.fitToRange(u, p + l, n - l - d)) - l) + " L" + (s = o.fitToRange(s, i, 1 / 0)) + "," + u + " L" + i + "," + (a + l) + " L" + i + "," + (n - d);
                 else y = " L" + i + "," + (n - d);
                 var x = " a" + p + "," + p + " 0 0 1 " + p + "," + p,
                    P = " a" + d + "," + d + " 0 0 1 -" + d + "," + d,
                    w = " a" + f + "," + f + " 0 0 1 -" + f + ",-" + f,
                    O = " a" + c + "," + c + " 0 0 1 " + c + ",-" + c;
                 this.path = g + x + y + P + m + w + b + O
              }
           }, Object.defineProperty(e.prototype, "cornerRadius", {
              get: function () {
                 return this.getPropertyValue("cornerRadius")
              },
              set: function (t) {
                 this.setPropertyValue("cornerRadius", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  MbWG: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("e8Nv");
     n(n.S + n.F * i("AEc5")(function () {
        function t() {}
        return !(Array.of.call(t) instanceof t)
     }), "Array", {
        of: function () {
           for (var t = 0, e = arguments.length, i = new("function" == typeof this ? this : Array)(e); e > t;) r(i, t, arguments[t++]);
           return i.length = e, i
        }
     })
  },
  Meme: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return g
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("hD5A"),
        a = i("eAid"),
        s = i("8EhG"),
        u = i("AaJ4"),
        l = i("TDx+"),
        h = i("eN1s"),
        c = i("vMqJ"),
        p = i("aCit"),
        d = i("tjMS"),
        f = i("Gg2j"),
        g = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._chart = new o.d, e.className = "AxisRenderer", e.minGridDistance = 50, e.inside = !1, e.inversed = !1, e.tooltipLocation = .5, e.fullWidthTooltip = !1, e.cellStartLocation = 0, e.cellEndLocation = 1, e.minLabelPosition = 0, e.maxLabelPosition = 1, e.shouldClone = !1;
              var i = e.createChild(r.a);
              i.shouldClone = !1, i.layout = "none", i.isMeasured = !1, i.width = Object(d.c)(100), i.height = Object(d.c)(100), e.gridContainer = i, i.events.on("maxsizechanged", function () {
                 e.inited && e.invalidateAxisItems()
              }, e, !1);
              var n = e.createChild(r.a);
              n.shouldClone = !1, n.isMeasured = !1, n.layout = "none", n.width = Object(d.c)(100), n.height = Object(d.c)(100), e.breakContainer = n, e.line = e.createChild(a.a), e.line.shouldClone = !1, e.line.strokeOpacity = 0;
              var s = e.createChild(u.a);
              s.shouldClone = !1, e.baseGrid = s;
              var l = e._disposers;
              return l.push(s), l.push(e.line), l.push(i), l.push(n), l.push(e._chart), e.ticks.template.disabled = !0, e.axisFills.template.disabled = !0, e.axisFills.template.interactionsEnabled = !1, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "axis", {
              get: function () {
                 return this._axis
              },
              set: function (t) {
                 this.setAxis(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setAxis = function (t) {
              this._axis = t, this.baseGrid.parent = t, this.line.parent = t
           }, e.prototype.processRenderer = function () {
              this.events.on("sizechanged", this.updateTooltip, this, !1), this.events.on("positionchanged", this.updateTooltip, this, !1), this.labels.template.inside = this.inside, this.ticks.template.inside = this.inside
           }, e.prototype.updateTooltip = function () {}, Object.defineProperty(e.prototype, "axisLength", {
              get: function () {
                 return 0
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionItem = function (t, e) {
              t && t.moveTo(e)
           }, e.prototype.positionToPoint = function (t) {
              return {
                 x: 0,
                 y: 0
              }
           }, e.prototype.positionToAngle = function (t) {
              return 0
           }, e.prototype.positionToCoordinate = function (t) {
              var e = this.axis,
                 i = e.axisFullLength;
              return e.renderer.inversed ? (e.end - t) * i : (t - e.start) * i
           }, e.prototype.getHeight = function () {
              var t = this.axis;
              if (t && t.chart) {
                 var e = this.axis.chart;
                 if (e.plotContainer) return e.plotContainer.pixelHeight || 0
              }
              return this.gridContainer.pixelHeight || 0
           }, e.prototype.getWidth = function () {
              var t = this.axis;
              if (t && t.chart) {
                 var e = this.axis.chart;
                 if (e.plotContainer) return e.plotContainer.pixelWidth || 0
              }
              return this.gridContainer.pixelWidth || 0
           }, e.prototype.coordinateToPosition = function (t) {
              var e, i = this.axis,
                 n = i.axisFullLength;
              return e = i.renderer.inversed ? i.end - t / n : t / n + i.start, f.round(e, 5)
           }, e.prototype.pointToPosition = function (t) {
              return 0
           }, e.prototype.getPositionRangePath = function (t, e) {
              return ""
           }, e.prototype.invalidateAxisItems = function () {
              var t = this.axis;
              t && t.invalidateDataItems()
           }, e.prototype.updateGridElement = function (t, e, i) {}, e.prototype.updateTickElement = function (t, e, i) {}, e.prototype.updateLabelElement = function (t, e, i, n) {}, e.prototype.updateFillElement = function (t, e, i) {
              t.startPosition = e, t.endPosition = i
           }, e.prototype.updateAxisLine = function () {}, e.prototype.updateBaseGridElement = function () {}, e.prototype.updateBreakElement = function (t) {
              this.positionItem(t.startLine, t.startPoint), this.toggleVisibility(t.startLine, t.startPosition, 0, 1), this.positionItem(t.endLine, t.endPoint), this.toggleVisibility(t.endLine, t.endPosition, 0, 1)
           }, Object.defineProperty(e.prototype, "minGridDistance", {
              get: function () {
                 return this.getPropertyValue("minGridDistance")
              },
              set: function (t) {
                 this.setPropertyValue("minGridDistance", t) && this.axis && this.axis.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "chart", {
              get: function () {
                 return this._chart.get()
              },
              set: function (t) {
                 this._chart.set(t, null)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.toggleVisibility = function (t, e, i, n) {
              var r = this.axis,
                 o = r.start + (r.end - r.start) * i - 1e-5,
                 a = r.start + (r.end - r.start) * n + 1e-5;
              t.disabled || (t.__disabled = e < o || e > a)
           }, e.prototype.createBreakSprites = function (t) {}, Object.defineProperty(e.prototype, "axisFills", {
              get: function () {
                 if (!this._axisFills) {
                    var t = this.createFill(this.axis);
                    this._axisFills = new c.e(t), t.applyOnClones = !0, t.events.on("enabled", this.invalidateAxisItems, this, !1), this._disposers.push(new c.c(this._axisFills)), this._disposers.push(this._axisFills.template)
                 }
                 return this._axisFills
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createFill = function (t) {
              return new s.a(t)
           }, Object.defineProperty(e.prototype, "grid", {
              get: function () {
                 if (!this._grid) {
                    var t = this.createGrid();
                    this._grid = new c.e(t), t.applyOnClones = !0, t.events.on("enabled", this.invalidateAxisItems, this, !1), this._disposers.push(new c.c(this._grid)), this._disposers.push(this._grid.template)
                 }
                 return this._grid
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createGrid = function () {
              return new u.a
           }, Object.defineProperty(e.prototype, "ticks", {
              get: function () {
                 if (!this._ticks) {
                    var t = this.createTick();
                    t.applyOnClones = !0, t.isMeasured = !1, t.events.on("enabled", this.invalidateAxisItems, this, !1), this._ticks = new c.e(t), this._disposers.push(new c.c(this._ticks)), this._disposers.push(this._ticks.template)
                 }
                 return this._ticks
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createTick = function () {
              return new h.a
           }, Object.defineProperty(e.prototype, "labels", {
              get: function () {
                 if (!this._labels) {
                    var t = this.createLabel();
                    this._labels = new c.e(t), t.applyOnClones = !0, t.events.on("enabled", this.invalidateAxisItems, this, !1), this._disposers.push(new c.c(this._labels)), this._disposers.push(this._labels.template)
                 }
                 return this._labels
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createLabel = function () {
              return new l.a
           }, Object.defineProperty(e.prototype, "inside", {
              get: function () {
                 return this.getPropertyValue("inside")
              },
              set: function (t) {
                 this.setPropertyValue("inside", t) && this.axis && this.axis.invalidate(), t ? (this.width = 0, this.height = 0) : (this.width = void 0, this.height = void 0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "opposite", {
              get: function () {
                 return this.getPropertyValue("opposite")
              },
              set: function (t) {
                 this.setPropertyValue("opposite", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fullWidthTooltip", {
              get: function () {
                 return this.getPropertyValue("fullWidthTooltip")
              },
              set: function (t) {
                 this.setPropertyValue("fullWidthTooltip", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipLocation", {
              get: function () {
                 return this.getPropertyValue("tooltipLocation")
              },
              set: function (t) {
                 this.setPropertyValue("tooltipLocation", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cellStartLocation", {
              get: function () {
                 return this.getPropertyValue("cellStartLocation")
              },
              set: function (t) {
                 this.setPropertyValue("cellStartLocation", t) && this.axis && this.axis.invalidateSeries()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cellEndLocation", {
              get: function () {
                 return this.getPropertyValue("cellEndLocation")
              },
              set: function (t) {
                 this.setPropertyValue("cellEndLocation", t) && this.axis && this.axis.invalidateSeries()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inversed", {
              get: function () {
                 return this.getPropertyValue("inversed")
              },
              set: function (t) {
                 this.setPropertyValue("inversed", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minLabelPosition", {
              get: function () {
                 return this.getPropertyValue("minLabelPosition")
              },
              set: function (t) {
                 this.setPropertyValue("minLabelPosition", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxLabelPosition", {
              get: function () {
                 return this.getPropertyValue("maxLabelPosition")
              },
              set: function (t) {
                 this.setPropertyValue("maxLabelPosition", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.grid.template.copyFrom(e.grid.template), this.ticks.template.copyFrom(e.ticks.template), this.labels.template.copyFrom(e.labels.template), this.axisFills.template.copyFrom(e.axisFills.template), this.line.copyFrom(e.line), this.baseGrid.copyFrom(e.baseGrid)
           }, e
        }(r.a);
     p.b.registeredClasses.AxisRenderer = g
  },
  MfZA: function (t, e, i) {
     var n = i("DVYA"),
        r = i("YEtG")("toStringTag"),
        o = "Arguments" == n(function () {
           return arguments
        }());
     t.exports = function (t) {
        var e, i, a;
        return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (i = function (t, e) {
           try {
              return t[e]
           } catch (t) {}
        }(e = Object(t), r)) ? i : o ? n(e) : "Object" == (a = n(e)) && "function" == typeof e.callee ? "Arguments" : a
     }
  },
  MipW: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     }), e.b = function () {
        null == n && (n = new c);
        return n
     };
     var n, r = i("m4/l"),
        o = i("Tjl+"),
        a = i("pzs1"),
        s = i("x79X"),
        u = i("aCit"),
        l = i("ScGY"),
        h = i("Mtpk"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.adapter = new s.a(e), e.className = "TextFormatter", e.applyTheme(), e
           }
           return r.c(e, t), e.prototype.debug = function () {}, e.prototype.format = function (t, e) {
              h.hasValue(e) || (e = "svg");
              var i = "",
                 n = (t = this.escape(t)).match(/\[([^\]]*?)\]/gm);
              if (!n) return this.wrap(t, "", e);
              for (var r = t.split(/\[[^\[\]]*\]/), o = 0, a = r.length; o < a; o++) {
                 var s = r[o];
                 if ("" !== s) {
                    s = this.adapter.apply("chunk", s);
                    var u = "";
                    o > 0 && (u = n[o - 1].replace("[", "").replace("]", "")), i += this.wrap(s, u, e)
                 }
              }
              return i = this.unescape(i), this.cleanUp(i)
           }, e.prototype.escape = function (t) {
              return t.replace(/\[\[/g, u.b.getPlaceholder("1")).replace(/([^\/]{1})\]\]/g, "$1" + u.b.getPlaceholder("2")).replace(/\{\{/g, u.b.getPlaceholder("3")).replace(/\}\}/g, u.b.getPlaceholder("4")).replace(/\'\'/g, u.b.getPlaceholder("5"))
           }, e.prototype.unescape = function (t) {
              return t.replace(new RegExp(u.b.getPlaceholder("1"), "g"), "[[").replace(new RegExp(u.b.getPlaceholder("2"), "g"), "]]").replace(new RegExp(u.b.getPlaceholder("3"), "g"), "{{").replace(new RegExp(u.b.getPlaceholder("4"), "g"), "}}").replace(new RegExp(u.b.getPlaceholder("5"), "g"), "'")
           }, e.prototype.cleanUp = function (t) {
              return t.replace(/\[\[/g, "[").replace(/\]\]/g, "]").replace(/\{\{/g, "{").replace(/\}\}/g, "}").replace(/\'\'/g, "'")
           }, e.prototype.wrap = function (t, e, i) {
              switch ("" !== e && "/" !== e || (e = ""), i) {
                 case "html":
                    return this.wrapHtml(t, this.translateStyleShortcuts(e));
                 default:
                    return this.wrapSvg(t, this.translateStyleShortcuts(e))
              }
           }, e.prototype.wrapSvg = function (t, e) {
              return "" === e ? "<tspan>" + t + "</tspan>" : "<tspan style='" + e + "'>" + t + "</tspan>"
           }, e.prototype.getSvgElement = function (t, e) {
              var i = new a.a("tspan");
              return i.textContent = t, e && i.node.setAttribute("style", e), i
           }, e.prototype.wrapHtml = function (t, e) {
              return "" === e ? "<span>" + t + "</span>" : "<span style='" + this.styleSvgToHtml(e) + "'>" + t + "</span>"
           }, e.prototype.getHtmlElement = function (t, e) {
              var i = document.createElement("span");
              return i.innerHTML = t, e && i.setAttribute("style", e), i
           }, e.prototype.styleSvgToHtml = function (t) {
              return t = t.replace(/fill:/, "color:")
           }, e.prototype.translateStyleShortcuts = function (t) {
              if ("" == t || "[ ]" == t) return "";
              var e = u.b.getCache("translateStyleShortcuts_" + t);
              if (e) return e;
              var i = t.match(/([\w\-]*:[\s]?[^;\s\]]*)|(\#[\w]{1,6})|([\w]+)|(\/)/gi);
              if (!i) return t;
              for (var n = 0; n < i.length; n++) i[n].match(/^bold$/i) ? i[n] = "font-weight:" + i[n] : "/" == i[n] ? i[n] = "" : i[n].match(/:/) || (i[n] = "fill:" + i[n]);
              var r = i.join(";");
              return u.b.setCache("translateStyleShortcuts_" + t, r), r
           }, e.prototype.chunk = function (t, e, i) {
              void 0 === e && (e = !1), void 0 === i && (i = !1);
              var n = [];
              t = this.escape(t);
              for (var r = e ? t.split("'") : [t], o = 0; o < r.length; o++) {
                 var a = r[o];
                 if ("" !== a)
                    if (o % 2 == 0)
                       for (var s = (a = (a = a.replace(/\]\[/g, "]" + l.d + "[")).replace(/\[\]/g, "[ ]")).split(/[\[\]]+/), u = 0; u < s.length; u++) {
                          (h = this.cleanUp(this.unescape(s[u]))) !== l.d && ("" !== h && (u % 2 == 0 ? n.push({
                             type: "value",
                             text: this.adapter.apply("chunk", h)
                          }) : n.push({
                             type: i ? "value" : "format",
                             text: "[" + h + "]"
                          })))
                       } else
                          for (s = a.split(/[\[\]]+/), u = 0; u < s.length; u++) {
                             var h;
                             "" !== (h = this.cleanUp(this.unescape(s[u]))) && (u % 2 == 0 ? n.push({
                                type: "text",
                                text: h
                             }) : this.isImage(h) ? n.push({
                                type: "image",
                                text: "[" + h + "]"
                             }) : n.push({
                                type: "format",
                                text: "[" + h + "]"
                             }))
                          }
              }
              return n
           }, e.prototype.isImage = function (t) {
              return !!t.match(/img[ ]?:/)
           }, e
        }(o.a);
     u.b.registeredClasses.TextFormatter = c
  },
  MlsF: function (t, e, i) {
     "use strict";
     e.b = function (t) {
        switch (t) {
           case 0:
              return 0;
           case -1:
              return 1;
           case 1:
              return -1
        }
     }, e.a = function (t, e) {
        return 0 === t ? e : t
     }
  },
  Mpxm: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     }), i.d(e, "b", function () {
        return l
     });
     var n = i("4DCw"),
        r = i("ZhuL"),
        o = i("x79X"),
        a = i("OVUc"),
        s = i("hJ5i"),
        u = function () {
           function t() {
              this.adapter = new o.a(this)
           }
           return t.prototype.load = function (t) {
              var e = Array.isArray(t) ? t : [t],
                 i = s.map(e, function (t) {
                    return t.dispatchImmediately("started"), t.dispatchImmediately("loadstarted"), a.a(t.url, t, t.requestOptions)
                 });
              Promise.all(i).then(function (t) {
                 s.each(t, function (t) {
                    var e = t.target;
                    e.dispatchImmediately("loadended"), t.error ? e.events.isEnabled("error") && e.events.dispatchImmediately("error", {
                       type: "error",
                       code: t.xhr.status,
                       message: e.language.translate("Unable to load file: %1", null, e.url),
                       target: e
                    }) : e.processData(t.response, t.type), e.dispatchImmediately("ended")
                 })
              }).catch(function (t) {
                 t.target && (t.target.dispatchImmediately("loadended"), t.target.events.isEnabled("error") && t.target.events.dispatchImmediately("error", {
                    type: "error",
                    code: t.xhr.status,
                    message: t.target.language.translate("Unable to load file: %1", null, t.target.url),
                    target: t.target
                 }), t.target.dispatchImmediately("ended"))
              })
           }, t.prototype.getParserByType = function (t) {
              var e;
              return (e = this.adapter.apply("getParserByType", {
                 parser: null,
                 type: t
              }).parser) ? e : "csv" == t || "text/csv" == t || "application/vnd.ms-excel" == t ? new n.a : "json" == t || "application/json" == t ? new r.a : void 0
           }, t.prototype.getParserByData = function (t, e) {
              var i = this.adapter.apply("getParserByData", {
                 parser: null,
                 data: t,
                 type: e
              }).parser;
              if (!i) {
                 if (i = this.getParserByType(e)) return i;
                 if (r.a.isJSON(t)) return this.getParserByType("json");
                 if (n.a.isCSV(t)) return this.getParserByType("csv")
              }
              return i
           }, t
        }(),
        l = new u
  },
  Mr4Y: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("Vs7R"),
        a = i("C84C"),
        s = i("Gg2j"),
        u = i("hGwe"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.angle = 30, e.depth = 30, e.className = "Rectangle3D", e.layout = "none";
              var i = e.createChild(o.a);
              i.shouldClone = !1, i.setElement(e.paper.add("path")), i.isMeasured = !1;
              var n = new a.a;
              n.lightness = -.2, i.filters.push(n), e.sideBack = i, e._disposers.push(e.sideBack);
              var r = e.createChild(o.a);
              r.shouldClone = !1, r.setElement(e.paper.add("path")), r.isMeasured = !1;
              var s = new a.a;
              s.lightness = -.5, r.filters.push(s), e.sideBottom = r, e._disposers.push(e.sideBottom);
              var u = e.createChild(o.a);
              u.shouldClone = !1, u.setElement(e.paper.add("path")), u.isMeasured = !1;
              var l = new a.a;
              l.lightness = -.4, u.filters.push(l), e.sideLeft = u, e._disposers.push(e.sideLeft);
              var h = e.createChild(o.a);
              h.shouldClone = !1, h.setElement(e.paper.add("path")), h.isMeasured = !1;
              var c = new a.a;
              c.lightness = -.2, h.filters.push(c), e.sideRight = h, e._disposers.push(e.sideRight);
              var p = e.createChild(o.a);
              p.shouldClone = !1, p.setElement(e.paper.add("path")), p.isMeasured = !1;
              var d = new a.a;
              d.lightness = -.1, p.filters.push(d), e.sideTop = p, e._disposers.push(e.sideTop);
              var f = e.createChild(o.a);
              return f.shouldClone = !1, f.setElement(e.paper.add("path")), f.isMeasured = !1, e.sideFront = f, e._disposers.push(e.sideFront), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.innerWidth,
                 i = this.innerHeight,
                 n = this.depth,
                 r = this.angle,
                 o = s.sin(r),
                 a = s.cos(r),
                 l = {
                    x: 0,
                    y: 0
                 },
                 h = {
                    x: e,
                    y: 0
                 },
                 c = {
                    x: e,
                    y: i
                 },
                 p = {
                    x: 0,
                    y: i
                 },
                 d = {
                    x: n * a,
                    y: -n * o
                 },
                 f = {
                    x: n * a + e,
                    y: -n * o
                 },
                 g = {
                    x: n * a + e,
                    y: -n * o + i
                 },
                 y = {
                    x: n * a,
                    y: -n * o + i
                 };
              this.sideFront.path = u.moveTo(l) + u.lineTo(h) + u.lineTo(c) + u.lineTo(p) + u.closePath(), this.sideBack.path = u.moveTo(d) + u.lineTo(f) + u.lineTo(g) + u.lineTo(y) + u.closePath(), this.sideLeft.path = u.moveTo(l) + u.lineTo(d) + u.lineTo(y) + u.lineTo(p) + u.closePath(), this.sideRight.path = u.moveTo(h) + u.lineTo(f) + u.lineTo(g) + u.lineTo(c) + u.closePath(), this.sideBottom.path = u.moveTo(p) + u.lineTo(y) + u.lineTo(g) + u.lineTo(c) + u.closePath(), this.sideTop.path = u.moveTo(l) + u.lineTo(d) + u.lineTo(f) + u.lineTo(h) + u.closePath()
           }, Object.defineProperty(e.prototype, "depth", {
              get: function () {
                 return this.getPropertyValue("depth")
              },
              set: function (t) {
                 this.setPropertyValue("depth", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "angle", {
              get: function () {
                 return this.getPropertyValue("angle")
              },
              set: function (t) {
                 this.setPropertyValue("angle", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  MrGI: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("zAAN");
     n(n.P + n.F * i("IYrR")("includes"), "String", {
        includes: function (t) {
           return !!~r(this, t, "includes").indexOf(t, arguments.length > 1 ? arguments[1] : void 0)
        }
     })
  },
  MsQa: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        scale: i("eh+x")
     })
  },
  MtRv: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("eske"),
        o = i("Jwb0"),
        a = i("aCit"),
        s = i("MIZb"),
        u = i("Wglt"),
        l = i("Mtpk"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.nextInCoord = 0, e.nextOutCoord = 0, e.className = "SankeyNode", e.width = 10, e.height = 10;
              var i = e.createChild(o.a);
              i.shouldClone = !1, i.locationX = 1, i.locationY = .5, i.label.text = "{name}", i.width = 150, i.height = 150, i.label.horizontalCenter = "left", i.label.padding(0, 5, 0, 5), e.nameLabel = i;
              var n = e.createChild(o.a);
              n.shouldClone = !1, n.label.hideOversized = !1, n.locationX = .5, n.locationY = .5, n.width = 150, n.height = 150, n.label.horizontalCenter = "middle", e.valueLabel = n;
              var r = e.hiddenState;
              return r.properties.fill = (new s.a).getFor("disabledBackground"), r.properties.opacity = .5, r.properties.visible = !0, e.background.hiddenState.copyFrom(r), e
           }
           return n.c(e, t), e.prototype.invalidateLinks = function () {
              var e = this;
              t.prototype.invalidateLinks.call(this), this.nextInCoord = 0, this.nextOutCoord = 0;
              var i = this.chart;
              if (i) {
                 var n = i.orientation;
                 this._incomingSorted && u.each(this._incomingSorted, function (t) {
                    var r = t.link,
                       o = t.getWorkingValue("value");
                    if (l.isNumber(o)) {
                       r.parent = e.chart.linksContainer;
                       var a = void 0,
                          s = void 0,
                          u = void 0;
                       if ("horizontal" == n ? (a = e.pixelX + e.dx, s = e.nextInCoord + e.pixelY + e.dy, u = 0) : (s = e.pixelY + e.dy, a = e.nextInCoord + e.pixelX + e.dx, u = 90), r.endX = a, r.endY = s, r.startAngle = u, r.endAngle = u, r.gradient.rotation = u, r.linkWidth = o * i.valueHeight, !t.fromNode) {
                          "horizontal" == n ? (r.maxWidth = 200, r.startX = e.pixelX + e.dx - r.maxWidth, r.startY = r.endY) : (r.maxHeight = 200, r.startX = r.endX, r.startY = e.pixelY + e.dy - r.maxHeight), r.gradient, r.fill = t.toNode.color;
                          var h = r.gradient.stops.getIndex(0);
                          h && ("gradient" == r.colorMode && (h.color = e.color), h.opacity = 0, r.fill = r.gradient, r.stroke = r.gradient, r.gradient.validate())
                       }
                       e.nextInCoord += r.linkWidth
                    }
                 }), this._outgoingSorted && u.each(this._outgoingSorted, function (t) {
                    var i = t.link;
                    i.parent = e.chart.linksContainer;
                    var r = t.getWorkingValue("value");
                    if (l.isNumber(r)) {
                       var o = void 0,
                          a = void 0,
                          s = void 0;
                       if ("horizontal" == n ? (s = 0, o = e.pixelX + e.pixelWidth + e.dx - 1, a = e.nextOutCoord + e.pixelY + e.dy) : (s = 90, o = e.nextOutCoord + e.pixelX + e.dx, a = e.pixelY + e.pixelHeight + e.dy - 1), i.startX = o, i.startY = a, i.startAngle = s, i.endAngle = s, i.gradient.rotation = s, i.linkWidth = r * e.chart.valueHeight, !t.toNode) {
                          "horizontal" == n ? (i.maxWidth = 200, i.endX = e.pixelX + i.maxWidth + e.dx, i.endY = i.startY) : (i.maxHeight = 200, i.endX = i.startX, i.endY = e.pixelY + i.maxHeight + e.dy), i.opacity = e.opacity;
                          var u = i.gradient.stops.getIndex(1);
                          u && ("gradient" == i.colorMode && (u.color = e.color), u.opacity = 0, i.fill = i.gradient, i.stroke = i.gradient, i.gradient.validate())
                       }
                       e.nextOutCoord += i.linkWidth
                    }
                 })
              }
              this.positionBullet(this.nameLabel), this.positionBullet(this.valueLabel)
           }, e.prototype.positionBullet = function (t) {
              t && (t.x = this.measuredWidth * t.locationX, t.y = this.measuredHeight * t.locationY)
           }, Object.defineProperty(e.prototype, "level", {
              get: function () {
                 return this.getPropertyValue("level")
              },
              set: function (t) {
                 this.setPropertyValue("level", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.nameLabel.copyFrom(e.nameLabel), this.valueLabel.copyFrom(e.valueLabel)
           }, e
        }(r.a);
     a.b.registeredClasses.SankeyNode = h
  },
  Mtpk: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.isNaN = r, e.getType = o, e.getDefault = function (t, e) {
        return t || e
     }, e.checkString = function (t) {
        if ("string" == typeof t) return !0;
        throw new Error("Expected a string but got " + o(t))
     }, e.checkBoolean = function (t) {
        if ("boolean" == typeof t) return !0;
        throw new Error("Expected a boolean but got " + o(t))
     }, e.checkNumber = function (t) {
        if ("number" != typeof t) throw new Error("Expected a number but got " + o(t));
        if (r(t)) throw new Error("Expected a number but got NaN");
        return !0
     }, e.checkObject = function (t) {
        var e = o(t);
        if ("[object Object]" === e) return !0;
        throw new Error("Expected an object but got " + e)
     }, e.checkArray = function (t) {
        if (Array.isArray(t)) return !0;
        throw new Error("Expected an array but got " + o(t))
     }, e.checkDate = function (t) {
        var e = o(t);
        if ("[object Date]" === e) return !0;
        throw new Error("Expected a date but got " + e)
     }, e.castString = a, e.castNumber = function (t) {
        if ("string" == typeof t) {
           var e = +t;
           if (r(e)) throw new Error("Cannot cast string " + JSON.stringify(t) + " to a number");
           return e
        }
        if ("number" == typeof t) {
           if (r(t)) throw new Error("Expected a number but got NaN");
           return t
        }
        var i = o(t);
        if ("[object Date]" === i) return t.getTime();
        throw new Error("Expected a string, number, or date but got " + i)
     }, e.toBoolean = function (t) {
        return !!t
     }, e.toNumber = s, e.toText = function (t) {
        if (u(t) && !l(t)) return a(t);
        return t
     }, e.toNumberOrPercent = function (t) {
        if (!u(t) || h(t) || Object(n.b)(t)) return t;
        if (l(t) && -1 != t.indexOf("%")) return Object(n.c)(s(t));
        return s(t)
     }, e.hasValue = u, e.getValue = function (t) {
        if (u(t)) return t;
        throw new Error("Value doesn't exist")
     }, e.getValueDefault = function (t, e) {
        return u(t) ? t : e
     }, e.isDate = function (t) {
        return "[object Date]" === o(t)
     }, e.isString = l, e.isNumber = h, e.isObject = function (t) {
        return "object" == typeof t
     }, e.isArray = function (t) {
        return Array.isArray(t)
     };
     var n = i("tjMS");

     function r(t) {
        return Number(t) !== t
     }

     function o(t) {
        return {}.toString.call(t)
     }

     function a(t) {
        if ("string" == typeof t) return t;
        if ("number" == typeof t) return "" + t;
        throw new Error("Expected a string or number but got " + o(t))
     }

     function s(t) {
        if (u(t) && !h(t)) {
           var e = Number(t);
           return r(e) && l(t) && "" != t ? s(t.replace(/[^0-9.\-]+/g, "")) : e
        }
        return t
     }

     function u(t) {
        return null != t
     }

     function l(t) {
        return "string" == typeof t
     }

     function h(t) {
        return "number" == typeof t && Number(t) == t
     }
  },
  Mvcd: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("AEc5"),
        o = i("kcsd"),
        a = /"/g,
        s = function (t, e, i, n) {
           var r = String(o(t)),
              s = "<" + e;
           return "" !== i && (s += " " + i + '="' + String(n).replace(a, "&quot;") + '"'), s + ">" + r + "</" + e + ">"
        };
     t.exports = function (t, e) {
        var i = {};
        i[t] = e(s), n(n.P + n.F * r(function () {
           var e = "" [t]('"');
           return e !== e.toLowerCase() || e.split('"').length > 3
        }), "String", i)
     }
  },
  "N/Yk": function (t, e, i) {
     i("vdWU")("Array")
  },
  "ND2/": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("PTiM"),
        o = i("8ZqG"),
        a = i("aFzC"),
        s = i("hGwe"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "WavedLine", e.element = e.paper.add("path"), e.waveLength = 16, e.waveHeight = 4, e.tension = .8, e.pixelPerfect = !1, e.fill = Object(o.c)(), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              var t = {
                    x: this.x1,
                    y: this.y1
                 },
                 e = {
                    x: this.x2,
                    y: this.y2
                 };
              this.path = s.moveTo(t) + Object(a.c)(t, e, this.waveLength, this.waveHeight, this.tension, !0)
           }, Object.defineProperty(e.prototype, "waveLength", {
              get: function () {
                 return this.getPropertyValue("waveLength")
              },
              set: function (t) {
                 this.setPropertyValue("waveLength", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "waveHeight", {
              get: function () {
                 return this.getPropertyValue("waveHeight")
              },
              set: function (t) {
                 this.setPropertyValue("waveHeight", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tension", {
              get: function () {
                 return this.getPropertyValue("tension")
              },
              set: function (t) {
                 this.setPropertyValue("tension", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  NKpi: function (t, e, i) {
     var n = i("xCMl"),
        r = i("WtL7"),
        o = i("6MWL"),
        a = i("snR7"),
        s = i("K0ev"),
        u = o.keys,
        l = o.key,
        h = function (t, e) {
           var i = u(t, e),
              o = s(t);
           if (null === o) return i;
           var a = h(o, e);
           return a.length ? i.length ? r(new n(i.concat(a))) : a : i
        };
     o.exp({
        getMetadataKeys: function (t) {
           return h(a(t), arguments.length < 2 ? void 0 : l(arguments[1]))
        }
     })
  },
  NSvu: function (t, e, i) {
     i("YJIw")("Uint8", 1, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     }, !0)
  },
  NlGZ: function (t, e, i) {
     "use strict";
     var n, r;
     ! function (o, a) {
        void 0 === (r = "function" == typeof (n = a) ? n.call(e, i, e, t) : n) || (t.exports = r)
     }("undefined" != typeof window && window, function () {
        if ("undefined" == typeof window) return null;
        var t = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (t) {
           return window.setTimeout(t, 20)
        };

        function e(t, e) {
           var i = Object.prototype.toString.call(t),
              n = "[object Array]" === i || "[object NodeList]" === i || "[object HTMLCollection]" === i || "[object Object]" === i || "undefined" != typeof jQuery && t instanceof jQuery || "undefined" != typeof Elements && t instanceof Elements,
              r = 0,
              o = t.length;
           if (n)
              for (; r < o; r++) e(t[r]);
           else e(t)
        }

        function i(t) {
           if (!t.getBoundingClientRect) return {
              width: t.offsetWidth,
              height: t.offsetHeight
           };
           var e = t.getBoundingClientRect();
           return {
              width: Math.round(e.width),
              height: Math.round(e.height)
           }
        }
        var n = function (r, o) {
           function a(e, n) {
              if (e)
                 if (e.resizedAttached) e.resizedAttached.add(n);
                 else {
                    e.resizedAttached = new function () {
                       var t, e, i = [];
                       this.add = function (t) {
                          i.push(t)
                       }, this.call = function (n) {
                          for (t = 0, e = i.length; t < e; t++) i[t].call(this, n)
                       }, this.remove = function (n) {
                          var r = [];
                          for (t = 0, e = i.length; t < e; t++) i[t] !== n && r.push(i[t]);
                          i = r
                       }, this.length = function () {
                          return i.length
                       }
                    }, e.resizedAttached.add(n), e.resizeSensor = document.createElement("div"), e.resizeSensor.dir = "ltr", e.resizeSensor.className = "resize-sensor";
                    var r = "pointer-events: none; position: absolute; left: 0px; top: 0px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden; max-width: 100%;",
                       o = "position: absolute; left: 0; top: 0; transition: 0s;";
                    e.resizeSensor.style.cssText = r, e.resizeSensor.innerHTML = '<div class="resize-sensor-expand" style="' + r + '"><div style="' + o + '"></div></div><div class="resize-sensor-shrink" style="' + r + '"><div style="' + o + ' width: 200%; height: 200%"></div></div>', e.appendChild(e.resizeSensor);
                    var a = window.getComputedStyle(e),
                       s = a ? a.getPropertyValue("position") : null;
                    "absolute" !== s && "relative" !== s && "fixed" !== s && (e.style.position = "relative");
                    var u, l, h = e.resizeSensor.childNodes[0],
                       c = h.childNodes[0],
                       p = e.resizeSensor.childNodes[1],
                       d = i(e),
                       f = d.width,
                       g = d.height,
                       y = !0,
                       m = 0,
                       b = function () {
                          if (y) {
                             if (0 === e.offsetWidth && 0 === e.offsetHeight) return void(m || (m = t(function () {
                                m = 0, b()
                             })));
                             y = !1
                          }! function () {
                             var t = e.offsetWidth,
                                i = e.offsetHeight;
                             c.style.width = t + 10 + "px", c.style.height = i + 10 + "px", h.scrollLeft = t + 10, h.scrollTop = i + 10, p.scrollLeft = t + 10, p.scrollTop = i + 10
                          }()
                       };
                    e.resizeSensor.resetSensor = b;
                    var v = function () {
                          l = 0, u && (f = d.width, g = d.height, e.resizedAttached && e.resizedAttached.call(d))
                       },
                       _ = function () {
                          d = i(e), (u = d.width !== f || d.height !== g) && !l && (l = t(v)), b()
                       },
                       x = function (t, e, i) {
                          t.attachEvent ? t.attachEvent("on" + e, i) : t.addEventListener(e, i)
                       };
                    x(h, "scroll", _), x(p, "scroll", _), t(b)
                 }
           }
           e(r, function (t) {
              a(t, o)
           }), this.detach = function (t) {
              n.detach(r, t)
           }, this.reset = function () {
              r.resizeSensor.resetSensor()
           }
        };
        if (n.reset = function (t) {
              e(t, function (t) {
                 t.resizeSensor.resetSensor()
              })
           }, n.detach = function (t, i) {
              e(t, function (t) {
                 t && (t.resizedAttached && "function" == typeof i && (t.resizedAttached.remove(i), t.resizedAttached.length()) || t.resizeSensor && (t.contains(t.resizeSensor) && t.removeChild(t.resizeSensor), delete t.resizeSensor, delete t.resizedAttached))
              })
           }, "undefined" != typeof MutationObserver) {
           var r = new MutationObserver(function (t) {
              for (var e in t)
                 if (t.hasOwnProperty(e))
                    for (var i = t[e].addedNodes, r = 0; r < i.length; r++) i[r].resizeSensor && n.reset(i[r])
           });
           document.addEventListener("DOMContentLoaded", function (t) {
              r.observe(document.body, {
                 childList: !0,
                 subtree: !0
              })
           })
        }
        return n
     })
  },
  "Nv8/": function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     });
     var n = {};
     i.d(n, "System", function () {
        return r.a
     }), i.d(n, "system", function () {
        return r.b
     }), i.d(n, "BaseObject", function () {
        return o.a
     }), i.d(n, "BaseObjectEvents", function () {
        return o.b
     }), i.d(n, "Component", function () {
        return a.a
     }), i.d(n, "Container", function () {
        return s.a
     }), i.d(n, "DataItem", function () {
        return u.a
     }), i.d(n, "Sprite", function () {
        return l.a
     }), i.d(n, "SpriteEventDispatcher", function () {
        return h.a
     }), i.d(n, "SpriteState", function () {
        return c.a
     }), i.d(n, "registry", function () {
        return p.b
     }), i.d(n, "Registry", function () {
        return p.a
     }), i.d(n, "options", function () {
        return d.a
     }), i.d(n, "CSVParser", function () {
        return f.a
     }), i.d(n, "DataLoader", function () {
        return g.a
     }), i.d(n, "dataLoader", function () {
        return g.b
     }), i.d(n, "DataParser", function () {
        return y.a
     }), i.d(n, "DataSource", function () {
        return m.a
     }), i.d(n, "JSONParser", function () {
        return b.a
     }), i.d(n, "SVGDefaults", function () {
        return v.a
     }), i.d(n, "Button", function () {
        return _.a
     }), i.d(n, "Circle", function () {
        return x.a
     }), i.d(n, "Ellipse", function () {
        return P.a
     }), i.d(n, "Image", function () {
        return k
     }), i.d(n, "Label", function () {
        return T.a
     }), i.d(n, "Line", function () {
        return C.a
     }), i.d(n, "Popup", function () {
        return j.a
     }), i.d(n, "Modal", function () {
        return I.a
     }), i.d(n, "PointedRectangle", function () {
        return V.a
     }), i.d(n, "PointedShape", function () {
        return M.a
     }), i.d(n, "Polyarc", function () {
        return D.a
     }), i.d(n, "Polygon", function () {
        return E.a
     }), i.d(n, "Polyline", function () {
        return F.a
     }), i.d(n, "Polyspline", function () {
        return N.a
     }), i.d(n, "Preloader", function () {
        return R.a
     }), i.d(n, "Rectangle", function () {
        return L.a
     }), i.d(n, "ResizeButton", function () {
        return A.a
     }), i.d(n, "RoundedRectangle", function () {
        return B.a
     }), i.d(n, "Scrollbar", function () {
        return H.a
     }), i.d(n, "Slider", function () {
        return G
     }), i.d(n, "Slice", function () {
        return W.a
     }), i.d(n, "TextLink", function () {
        return z.a
     }), i.d(n, "Tooltip", function () {
        return U.a
     }), i.d(n, "Trapezoid", function () {
        return Y.a
     }), i.d(n, "Triangle", function () {
        return K.a
     }), i.d(n, "WavedCircle", function () {
        return X.a
     }), i.d(n, "WavedLine", function () {
        return J.a
     }), i.d(n, "WavedRectangle", function () {
        return Z.a
     }), i.d(n, "ZoomOutButton", function () {
        return q.a
     }), i.d(n, "PlayButton", function () {
        return $
     }), i.d(n, "Cone", function () {
        return tt.a
     }), i.d(n, "Rectangle3D", function () {
        return et.a
     }), i.d(n, "Slice3D", function () {
        return it.a
     }), i.d(n, "Export", function () {
        return nt.a
     }), i.d(n, "ExportMenu", function () {
        return rt.a
     }), i.d(n, "DateFormatter", function () {
        return ot.a
     }), i.d(n, "DurationFormatter", function () {
        return at.a
     }), i.d(n, "NumberFormatter", function () {
        return st.a
     }), i.d(n, "TextFormatter", function () {
        return ut.a
     }), i.d(n, "getTextFormatter", function () {
        return ut.b
     }), i.d(n, "Inertia", function () {
        return lt.a
     }), i.d(n, "Interaction", function () {
        return ht.a
     }), i.d(n, "getInteraction", function () {
        return ht.b
     }), i.d(n, "InteractionKeyboardObject", function () {
        return ct.a
     }), i.d(n, "InteractionObject", function () {
        return pt.a
     }), i.d(n, "InteractionObjectEventDispatcher", function () {
        return dt.a
     }), i.d(n, "MouseCursorStyle", function () {
        return ft.a
     }), i.d(n, "AMElement", function () {
        return gt.a
     }), i.d(n, "Group", function () {
        return yt.a
     }), i.d(n, "Paper", function () {
        return mt.a
     }), i.d(n, "Tension", function () {
        return bt.b
     }), i.d(n, "Basis", function () {
        return bt.a
     }), i.d(n, "SVGContainer", function () {
        return vt.a
     }), i.d(n, "ColorModifier", function () {
        return _t.a
     }), i.d(n, "LinearGradient", function () {
        return xt.a
     }), i.d(n, "LinearGradientModifier", function () {
        return Pt.a
     }), i.d(n, "RadialGradientModifier", function () {
        return Ot
     }), i.d(n, "LinePattern", function () {
        return kt
     }), i.d(n, "Pattern", function () {
        return St.a
     }), i.d(n, "RadialGradient", function () {
        return wt.a
     }), i.d(n, "RectPattern", function () {
        return Tt
     }), i.d(n, "ColorizeFilter", function () {
        return jt
     }), i.d(n, "DesaturateFilter", function () {
        return It.a
     }), i.d(n, "DropShadowFilter", function () {
        return Vt.a
     }), i.d(n, "BlurFilter", function () {
        return Mt
     }), i.d(n, "Filter", function () {
        return Ct.a
     }), i.d(n, "FocusFilter", function () {
        return Dt
     }), i.d(n, "LightenFilter", function () {
        return Et.a
     }), i.d(n, "Responsive", function () {
        return Ft.a
     }), i.d(n, "GlobalAdapter", function () {
        return Nt.b
     }), i.d(n, "globalAdapter", function () {
        return Nt.c
     }), i.d(n, "Adapter", function () {
        return Nt.a
     }), i.d(n, "Animation", function () {
        return Rt.a
     }), i.d(n, "animate", function () {
        return Rt.c
     }), i.d(n, "nextFrame", function () {
        return Lt.a
     }), i.d(n, "readFrame", function () {
        return Lt.c
     }), i.d(n, "writeFrame", function () {
        return Lt.f
     }), i.d(n, "whenIdle", function () {
        return Lt.e
     }), i.d(n, "triggerIdle", function () {
        return Lt.d
     }), i.d(n, "Cache", function () {
        return At.a
     }), i.d(n, "cache", function () {
        return At.b
     }), i.d(n, "Color", function () {
        return Bt.a
     }), i.d(n, "color", function () {
        return Bt.c
     }), i.d(n, "isColor", function () {
        return Bt.d
     }), i.d(n, "castColor", function () {
        return Bt.b
     }), i.d(n, "ColorSet", function () {
        return Ht.a
     }), i.d(n, "InterfaceColorSet", function () {
        return Q.a
     }), i.d(n, "DictionaryDisposer", function () {
        return Gt.b
     }), i.d(n, "Dictionary", function () {
        return Gt.a
     }), i.d(n, "DictionaryTemplate", function () {
        return Gt.c
     }), i.d(n, "Disposer", function () {
        return Wt.b
     }), i.d(n, "MultiDisposer", function () {
        return Wt.c
     }), i.d(n, "MutableValueDisposer", function () {
        return Wt.d
     }), i.d(n, "CounterDisposer", function () {
        return Wt.a
     }), i.d(n, "StyleRule", function () {
        return O.c
     }), i.d(n, "StyleClass", function () {
        return O.b
     }), i.d(n, "getElement", function () {
        return O.m
     }), i.d(n, "addClass", function () {
        return O.f
     }), i.d(n, "removeClass", function () {
        return O.q
     }), i.d(n, "blur", function () {
        return O.h
     }), i.d(n, "focus", function () {
        return O.l
     }), i.d(n, "outerHTML", function () {
        return O.o
     }), i.d(n, "isElement", function () {
        return O.n
     }), i.d(n, "copyAttributes", function () {
        return O.j
     }), i.d(n, "fixPixelPerfect", function () {
        return O.k
     }), i.d(n, "ready", function () {
        return O.p
     }), i.d(n, "EventDispatcher", function () {
        return zt.a
     }), i.d(n, "TargetedEventDispatcher", function () {
        return zt.b
     }), i.d(n, "ListIterator", function () {
        return Ut.ListIterator
     }), i.d(n, "min", function () {
        return Ut.min
     }), i.d(n, "max", function () {
        return Ut.max
     }), i.d(n, "join", function () {
        return Ut.join
     }), i.d(n, "Keyboard", function () {
        return Yt.a
     }), i.d(n, "keyboard", function () {
        return Yt.b
     }), i.d(n, "Language", function () {
        return Kt.a
     }), i.d(n, "IndexedIterable", function () {
        return Xt.a
     }), i.d(n, "ListGrouper", function () {
        return Xt.d
     }), i.d(n, "ListDisposer", function () {
        return Xt.c
     }), i.d(n, "List", function () {
        return Xt.b
     }), i.d(n, "ListTemplate", function () {
        return Xt.e
     }), i.d(n, "Morpher", function () {
        return Jt.a
     }), i.d(n, "reverse", function () {
        return Zt.b
     }), i.d(n, "or", function () {
        return Zt.a
     }), i.d(n, "Percent", function () {
        return qt.a
     }), i.d(n, "percent", function () {
        return qt.c
     }), i.d(n, "isPercent", function () {
        return qt.b
     }), i.d(n, "OrderedList", function () {
        return Qt.a
     }), i.d(n, "SortedList", function () {
        return Qt.c
     }), i.d(n, "OrderedListTemplate", function () {
        return Qt.b
     }), i.d(n, "SortedListTemplate", function () {
        return Qt.d
     }), i.d(n, "PX", function () {
        return $t.f
     }), i.d(n, "STRING", function () {
        return $t.g
     }), i.d(n, "NUMBER", function () {
        return $t.c
     }), i.d(n, "DATE", function () {
        return $t.a
     }), i.d(n, "DURATION", function () {
        return $t.b
     }), i.d(n, "PLACEHOLDER", function () {
        return $t.d
     }), i.d(n, "PLACEHOLDER2", function () {
        return $t.e
     }), i.d(n, "isNaN", function () {
        return S.isNaN
     }), i.d(n, "checkString", function () {
        return S.checkString
     }), i.d(n, "checkBoolean", function () {
        return S.checkBoolean
     }), i.d(n, "checkNumber", function () {
        return S.checkNumber
     }), i.d(n, "checkObject", function () {
        return S.checkObject
     }), i.d(n, "castString", function () {
        return S.castString
     }), i.d(n, "castNumber", function () {
        return S.castNumber
     }), i.d(n, "isString", function () {
        return S.isString
     }), i.d(n, "isNumber", function () {
        return S.isNumber
     }), i.d(n, "isObject", function () {
        return S.isObject
     }), i.d(n, "isArray", function () {
        return S.isArray
     }), i.d(n, "Validatable", function () {
        return te.a
     }), i.d(n, "path", function () {
        return ee
     }), i.d(n, "colors", function () {
        return ie
     }), i.d(n, "ease", function () {
        return ne
     }), i.d(n, "math", function () {
        return re
     }), i.d(n, "array", function () {
        return oe
     }), i.d(n, "number", function () {
        return ae
     }), i.d(n, "object", function () {
        return se
     }), i.d(n, "string", function () {
        return ue
     }), i.d(n, "time", function () {
        return le
     }), i.d(n, "utils", function () {
        return he
     }), i.d(n, "iter", function () {
        return Ut
     }), i.d(n, "type", function () {
        return S
     }), i.d(n, "create", function () {
        return de
     }), i.d(n, "createFromConfig", function () {
        return fe
     }), i.d(n, "useTheme", function () {
        return ge
     }), i.d(n, "unuseTheme", function () {
        return ye
     }), i.d(n, "unuseAllThemes", function () {
        return me
     });
     var r = i("Rpw0"),
        o = i("Tjl+"),
        a = i("Y9w3"),
        s = i("C6dT"),
        u = i("A6AV"),
        l = i("Vs7R"),
        h = i("kQxV"),
        c = i("ux7t"),
        p = i("aCit"),
        d = i("Q4nc"),
        f = i("4DCw"),
        g = i("Mpxm"),
        y = i("mIpt"),
        m = i("EjGA"),
        b = i("ZhuL"),
        v = i("hpNl"),
        _ = i("aGXA"),
        x = i("FzPm"),
        P = i("Ybtf"),
        w = i("m4/l"),
        O = i("58Sn"),
        S = i("Mtpk"),
        k = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Image", e.element = e.paper.add("image"), e.applyTheme(), e.width = 50, e.height = 50, e
           }
           return w.c(e, t), e.prototype.draw = function () {
              if (t.prototype.draw.call(this), this.href) {
                 var e = this.innerWidth,
                    i = this.innerHeight;
                 S.isNumber(this.widthRatio) && (e = i * this.widthRatio, this.width = e), S.isNumber(this.heightRatio) && (i = e * this.heightRatio, this.height = i), this.element.attr({
                    width: e,
                    height: i
                 }), this.element.attrNS(O.d, "xlink:href", this.href)
              }
           }, Object.defineProperty(e.prototype, "href", {
              get: function () {
                 return this.getPropertyValue("href")
              },
              set: function (t) {
                 this.setPropertyValue("href", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "widthRatio", {
              get: function () {
                 return this.getPropertyValue("widthRatio")
              },
              set: function (t) {
                 this.setPropertyValue("widthRatio", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "heightRatio", {
              get: function () {
                 return this.getPropertyValue("heightRatio")
              },
              set: function (t) {
                 this.setPropertyValue("heightRatio", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bbox", {
              get: function () {
                 return {
                    x: 0,
                    y: 0,
                    width: this.pixelWidth,
                    height: this.pixelHeight
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(l.a);
     p.b.registeredClasses.Image = k;
     var T = i("p9TX"),
        C = i("PTiM"),
        j = i("UsNi"),
        I = i("W8Sc"),
        V = i("MZQ8"),
        M = i("1qam"),
        D = i("MXvJ"),
        E = i("R6wv"),
        F = i("jfaP"),
        N = i("xgTw"),
        R = i("vGbf"),
        L = i("GtDR"),
        A = i("xIv9"),
        B = i("CnhP"),
        H = i("ISWh"),
        G = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Slider", e.thumb.opacity = 0, e.thumb.interactionsEnabled = !1, e.endGrip.opacity = 0, e.endGrip.interactionsEnabled = !1, e.startGrip.events.on("drag", function () {
                 e.endGrip.x = e.startGrip.x, e.endGrip.y = e.startGrip.y
              }), e.applyTheme(), e
           }
           return w.c(e, t), Object.defineProperty(e.prototype, "__end", {
              get: function () {
                 return this._start
              },
              set: function (t) {},
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "end", {
              get: function () {
                 return this._start
              },
              set: function (t) {},
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "start", {
              get: function () {
                 return this._start
              },
              set: function (t) {
                 this._isBusy || (this.__start = t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(H.a);
     p.b.registeredClasses.Slider = G;
     var W = i("Inf5"),
        z = i("Trvg"),
        U = i("cxKZ"),
        Y = i("DziZ"),
        K = i("Rnbi"),
        X = i("Vk33"),
        J = i("ND2/"),
        Z = i("w4m0"),
        q = i("BEgH"),
        Q = i("MIZb"),
        $ = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "PlayButton", e.padding(12, 12, 12, 12), e.showSystemTooltip = !0;
              var i = new Q.a,
                 n = e.background;
              n.cornerRadius(25, 25, 25, 25), n.fill = i.getFor("primaryButton"), n.stroke = i.getFor("primaryButtonStroke"), n.strokeOpacity = 0, n.states.getKey("hover").properties.fill = i.getFor("primaryButtonHover"), n.states.getKey("down").properties.fill = i.getFor("primaryButtonActive");
              var r = new K.a;
              r.direction = "right", r.width = 9, r.height = 11, r.marginLeft = 1, r.marginRight = 1, r.horizontalCenter = "middle", r.verticalCenter = "middle", r.stroke = i.getFor("primaryButtonText"), r.fill = r.stroke, e.icon = r;
              var o = new B.a;
              o.width = 11, o.height = 11, o.horizontalCenter = "middle", o.verticalCenter = "middle", o.cornerRadius(0, 0, 0, 0), o.stroke = i.getFor("primaryButtonText"), o.fill = r.stroke, e.togglable = !0;
              var a = e.states.create("active");
              return a.transitionDuration = 0, a.properties.icon = o, e.defaultState.transitionDuration = 0, e.applyTheme(), e
           }
           return w.c(e, t), e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), S.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Play"))
           }, e
        }(_.a);
     p.b.registeredClasses.PlayButton = $;
     var tt = i("ncT3"),
        et = i("Mr4Y"),
        it = i("nPzZ"),
        nt = i("GAaQ"),
        rt = i("qJno"),
        ot = i("7XB+"),
        at = i("akNo"),
        st = i("CTEm"),
        ut = i("MipW"),
        lt = i("0PyG"),
        ht = i("zhwk"),
        ct = i("Oe1l"),
        pt = i("vbOF"),
        dt = i("YotE"),
        ft = i("qCRI"),
        gt = i("pzs1"),
        yt = i("cOH5"),
        mt = i("P7v+"),
        bt = i("aFzC"),
        vt = i("HDh7"),
        _t = i("DA7/"),
        xt = i("sxA1"),
        Pt = i("/e9j"),
        wt = i("CuFa"),
        Ot = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "RadialGradientModifier", e.gradient = new wt.a, e.applyTheme(), e
           }
           return w.c(e, t), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.gradient = e.gradient.clone()
           }, e
        }(i("3/51").a);
     p.b.registeredClasses.RadialGradientModifier = Ot;
     var St = i("ZLF9"),
        kt = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._line = e.paper.add("line"), e.addElement(e._line), e
           }
           return w.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), this._line && this._line.attr({
                 x2: 2 * this.width
              })
           }, e
        }(St.a);
     p.b.registeredClasses.LinePattern = kt;
     var Tt = function (t) {
        function e() {
           var e = t.call(this) || this;
           return e.rectHeight = 1, e.rectWidth = 1, e
        }
        return w.c(e, t), e.prototype.draw = function () {
           this._rect && this.removeElement(this._rect), this._rect = this.paper.add("rect"), this._rect.attr({
              width: this.rectWidth,
              height: this.rectHeight
           }), this.addElement(this._rect), t.prototype.draw.call(this)
        }, Object.defineProperty(e.prototype, "rectWidth", {
           get: function () {
              return this.properties.rectWidth
           },
           set: function (t) {
              this.properties.rectWidth = t, this.draw()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "rectHeight", {
           get: function () {
              return this.properties.rectHeight
           },
           set: function (t) {
              this.properties.rectHeight = t, this.draw()
           },
           enumerable: !0,
           configurable: !0
        }), e
     }(St.a);
     p.b.registeredClasses.RectPattern = Tt;
     var Ct = i("ohjg"),
        jt = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "ColorizeFilter", e.feColorMatrix = e.paper.add("feColorMatrix"), e.feColorMatrix.attr({
                 type: "matrix"
              }), e.filterPrimitives.push(e.feColorMatrix), e.intensity = 1, e.applyTheme(), e
           }
           return w.c(e, t), e.prototype.applyFilter = function () {
              var t, e, i, n = this.intensity,
                 r = 1 - n,
                 o = this.color;
              o && o.rgb ? (t = o.rgb.r / 255 * n, e = o.rgb.g / 255 * n, i = o.rgb.b / 255 * n) : (t = 0, e = 0, i = 0), this.feColorMatrix.attr({
                 values: r + " 0 0 0 " + t + " 0 " + r + " 0 0 " + e + " 0 0 " + r + " 0 " + i + " 0 0 0 1 0"
              })
           }, Object.defineProperty(e.prototype, "color", {
              get: function () {
                 return this.properties.color
              },
              set: function (t) {
                 this.properties.color = t, this.applyFilter()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "intensity", {
              get: function () {
                 return this.properties.intensity
              },
              set: function (t) {
                 this.properties.intensity = t, this.applyFilter()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(Ct.a);
     p.b.registeredClasses.ColorizeFilter = jt;
     var It = i("85D4"),
        Vt = i("VAFc"),
        Mt = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "BlurFilter", e.feGaussianBlur = e.paper.add("feGaussianBlur"), e.feGaussianBlur.attr({
                 result: "blurOut",
                 in: "SourceGraphic"
              }), e.filterPrimitives.push(e.feGaussianBlur), e.width = 200, e.height = 200, e.blur = 1.5, e.applyTheme(), e
           }
           return w.c(e, t), Object.defineProperty(e.prototype, "blur", {
              get: function () {
                 return this.properties.blur
              },
              set: function (t) {
                 this.properties.blur = t, this.feGaussianBlur.attr({
                    stdDeviation: t / this.scale
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(Ct.a);
     p.b.registeredClasses.BlurFilter = Mt;
     var Dt = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "FocusFilter", e.feFlood = e.paper.add("feFlood"), e.feFlood.attr({
                 "flood-color": (new Q.a).getFor("primaryButtonHover"),
                 result: "base"
              }), e.filterPrimitives.push(e.feFlood), e.feMorphology = e.paper.add("feMorphology"), e.feMorphology.attr({
                 result: "bigger",
                 in: "SourceGraphic",
                 operator: "dilate",
                 radius: "2"
              }), e.filterPrimitives.push(e.feMorphology), e.feColorMatrix = e.paper.add("feColorMatrix"), e.feColorMatrix.attr({
                 result: "mask",
                 in: "bigger",
                 type: "matrix",
                 values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"
              }), e.filterPrimitives.push(e.feColorMatrix), e.feComposite = e.paper.add("feComposite"), e.feComposite.attr({
                 result: "drop",
                 in: "base",
                 in2: "mask",
                 operator: "in"
              }), e.filterPrimitives.push(e.feComposite), e.feBlend = e.paper.add("feBlend"), e.feBlend.attr({
                 in: "SourceGraphic",
                 in2: "drop",
                 mode: "normal"
              }), e.filterPrimitives.push(e.feBlend), e.width = 130, e.height = 130, e.applyTheme(), e
           }
           return w.c(e, t), Object.defineProperty(e.prototype, "stroke", {
              get: function () {
                 return this.properties.stroke
              },
              set: function (t) {
                 this.properties.stroke = t, this.feFlood.attr({
                    "flood-color": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "strokeWidth", {
              get: function () {
                 return this.properties.strokeWidth
              },
              set: function (t) {
                 this.properties.strokeWidth = t, this.feMorphology.attr({
                    radius: t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "opacity", {
              get: function () {
                 return this.properties.opacity
              },
              set: function (t) {
                 this.properties.opacity = t, this.feColorMatrix.attr({
                    values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " + t + " 0"
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setSprite = function (e) {
              this._sprite && this._sprite != e && this._sprite.group.removeStyle("outline"), e.group.addStyle({
                 outline: "none"
              }), t.prototype.setSprite.call(this, e)
           }, e
        }(Ct.a),
        Et = i("C84C"),
        Ft = i("73ri"),
        Nt = i("x79X"),
        Rt = i("1yyj"),
        Lt = i("/9XX"),
        At = i("eCqC"),
        Bt = i("8ZqG"),
        Ht = i("DHte"),
        Gt = i("+qIf"),
        Wt = i("hD5A"),
        zt = i("o0Lc"),
        Ut = i("Wglt"),
        Yt = i("WYhe"),
        Kt = i("P/bD"),
        Xt = i("vMqJ"),
        Jt = i("oC3T"),
        Zt = i("MlsF"),
        qt = i("tjMS"),
        Qt = i("VGgz"),
        $t = i("ScGY"),
        te = i("/IEW"),
        ee = i("hGwe"),
        ie = i("hxI2"),
        ne = i("0FpR"),
        re = i("Gg2j"),
        oe = i("hJ5i"),
        ae = i("3Cxr"),
        se = i("Qkdp"),
        ue = i("wUYf"),
        le = i("L91H"),
        he = i("v9UT"),
        ce = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "AmChartsLogo", e.valign = "bottom";
              var i = .3;
              e.opacity = .3, e.defaultState.properties.opacity = .4, e.url = "https://www.amcharts.com/", e.urlTarget = "_blank", e.showSystemTooltip = !0, e.readerTitle = "Chart created using amCharts library", e.width = 66, e.height = 21, e.background.opacity = 0;
              var n = Object(Bt.c)("#474758");
              "#ffffff" == (new Q.a).getFor("background").alternative.hex && (n = Object(Bt.c)("#ffffff"));
              var r = new xt.a;
              r.addColor(n), r.addColor(n, 1, .75), r.addColor(Object(Bt.c)("#3cabff"), 1, .755), r.rotation = -10;
              var o = r,
                 a = e.createChild(N.a);
              a.shouldClone = !1, a.isMeasured = !1, a.segments = [
                 [{
                    x: 15,
                    y: 15
                 }, {
                    x: 27,
                    y: 15
                 }, {
                    x: 36,
                    y: 6
                 }, {
                    x: 40.5,
                    y: 10.5
                 }, {
                    x: 45,
                    y: 6
                 }, {
                    x: 54,
                    y: 15
                 }, {
                    x: 60,
                    y: 15
                 }]
              ], a.strokeWidth = 6 * i, a.tensionX = .8, a.tensionY = 1, a.stroke = Object(Bt.c)("#3cabff");
              var s = e.createChild(N.a);
              s.shouldClone = !1, s.isMeasured = !1, s.segments = [
                 [{
                    x: 6,
                    y: 15
                 }, {
                    x: 15,
                    y: 15
                 }, {
                    x: 27,
                    y: 12 * i
                 }, {
                    x: 39.9,
                    y: 15
                 }, {
                    x: 51,
                    y: 15
                 }, {
                    x: 60,
                    y: 15
                 }]
              ], s.strokeWidth = 6 * i, s.tensionX = .75, s.tensionY = 1, s.stroke = o, e._disposers.push(s);
              var u = new It.a;
              e.filters.push(u);
              var l = new It.a;
              l.saturation = 1;
              var h = e.states.create("hover");
              return h.properties.opacity = 1, h.filters.push(l), e.applyTheme(), e
           }
           return w.c(e, t), e
        }(s.a);

     function pe(t, e) {
        var i = O.m(t);
        if (i) {
           i.innerHTML = "";
           var n = new vt.a(i),
              o = new mt.a(n.SVGContainer, "svg-" + (vt.b.length - 1)),
              a = new s.a;
           a.htmlContainer = i, a.svgContainer = n, a.width = Object(qt.c)(100), a.height = Object(qt.c)(100), a.background.fillOpacity = 0, a.paper = o, o.append(a.group), a.relativeWidth = 1, a.relativeHeight = 1, n.container = a;
           var u = a.createChild(e);
           u.topParent = a;
           var l = u.uid;
           p.b.invalidSprites[l] = [], p.b.invalidDatas[l] = [], p.b.invalidPositions[l] = [], p.b.invalidLayouts[l] = [], a.baseId = l, u.isBaseSprite = !0, u.focusFilter = new Dt, p.b.baseSprites.push(u), p.b.baseSpritesByUid[l] = u, u.maskRectangle = {
              x: 0,
              y: 0,
              width: n.width,
              height: n.height
           }, a.events.on("maxsizechanged", function (t) {
              0 != t.previousWidth && 0 != t.previousHeight || a.deepInvalidate(), u.maskRectangle && (u.maskRectangle = {
                 x: 0,
                 y: 0,
                 width: n.width,
                 height: n.height
              })
           }), u.addDisposer(new Wt.b(function () {
              oe.remove(p.b.baseSprites, u), p.b.baseSpritesByUid[u.uid] = void 0
           })), u.addDisposer(a);
           var h = a.createChild(s.a);
           h.topParent = a, h.width = Object(qt.c)(100), h.height = Object(qt.c)(100), h.isMeasured = !1, a.tooltipContainer = h, u.tooltip = new U.a, u.tooltip.hide(0), u.tooltip.setBounds({
              x: 0,
              y: 0,
              width: h.maxWidth,
              height: h.maxHeight
           }), h.events.on("maxsizechanged", function () {
              S.getValue(u.tooltip).setBounds({
                 x: 0,
                 y: 0,
                 width: h.maxWidth,
                 height: h.maxHeight
              })
           }, void 0, !1);
           var c = new R.a;
           if (c.events.on("inited", function () {
                 c.__disabled = !0
              }, void 0, !1), a.preloader = c, !d.a.commercialLicense) {
              var f = h.createChild(ce);
              h.events.on("maxsizechanged", function (t) {
                 h.maxWidth <= 100 || h.maxHeight <= 50 ? f.hide() : (f.isHidden || f.isHiding) && f.show()
              }, void 0, !1), u.logo = f, f.align = "left", f.valign = "bottom"
           }
           return u.numberFormatter, a.isStandaloneInstance = !0, u
        }
        throw r.b.log("html container not found"), new Error("html container not found")
     }

     function de(t, e) {
        var i;
        S.isString(e) && (S.hasValue(p.b.registeredClasses[e]) ? e = p.b.registeredClasses[e] : (e = p.b.registeredClasses.Container, i = new Error("Class [" + e + "] is not loaded.")));
        var n = pe(t, e);
        return i && n.raiseCriticalError(i), n
     }

     function fe(t, e, i) {
        var n, r;
        if (S.hasValue(i) || (i = t.type, delete t.type), S.hasValue(e) || (e = t.container, delete t.container), S.isString(i) && S.hasValue(p.b.registeredClasses[i]) ? n = p.b.registeredClasses[i] : "function" != typeof i ? (n = s.a, r = new Error("Class [" + i + "] is not loaded.")) : n = i, S.hasValue(t.geodata) && S.isString(t.geodata))
           if (S.hasValue(window["am4geodata_" + t.geodata])) t.geodata = window["am4geodata_" + t.geodata];
           else try {
              t.geodata = JSON.parse(t.geodata)
           } catch (t) {
              r = new Error("<code>geodata</code> is incorrect or the map file is not loaded.")
           }
        var o = pe(e, n);
        return r ? o.raiseCriticalError(r) : o.config = t, o
     }

     function ge(t) {
        p.b.themes.push(t)
     }

     function ye(t) {
        oe.remove(p.b.themes, t)
     }

     function me() {
        p.b.themes = []
     }
     window.am4core = n, i.p = function (t) {
        return /(.*\/)[^\/]*$/.exec(t)[1]
     }(function () {
        if (document.currentScript) return document.currentScript;
        var t = document.getElementsByTagName("script");
        return t[t.length - 1]
     }().src)
  },
  O8xK: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("G5U1"),
        o = i("T9LF"),
        a = i("QXbb"),
        s = i("JqbS");
     n(n.P + n.R, "Promise", {
        finally: function (t) {
           var e = a(this, r.Promise || o.Promise),
              i = "function" == typeof t;
           return this.then(i ? function (i) {
              return s(e, t()).then(function () {
                 return i
              })
           } : t, i ? function (i) {
              return s(e, t()).then(function () {
                 throw i
              })
           } : t)
        }
     })
  },
  "OB1/": function (t, e, i) {
     var n = i("G5U1"),
        r = i("T9LF"),
        o = r["__core-js_shared__"] || (r["__core-js_shared__"] = {});
     (t.exports = function (t, e) {
        return o[t] || (o[t] = void 0 !== e ? e : {})
     })("versions", []).push({
        version: n.version,
        mode: i("pb4Y") ? "pure" : "global",
        copyright: "© 2018 Denis Pushkarev (zloirock.ru)"
     })
  },
  ODWe: function (t, e, i) {
     var n = i("U3hN"),
        r = i("EhJv"),
        o = i("mntN")(!1),
        a = i("VYrJ")("IE_PROTO");
     t.exports = function (t, e) {
        var i, s = r(t),
           u = 0,
           l = [];
        for (i in s) i != a && n(s, i) && l.push(i);
        for (; e.length > u;) n(s, i = e[u++]) && (~o(l, i) || l.push(i));
        return l
     }
  },
  OKlB: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Number", {
        isNaN: function (t) {
           return t != t
        }
     })
  },
  OVUc: function (t, e, i) {
     "use strict";
     e.a = function (t, e, i) {
        return new Promise(function (r, o) {
           var a = n.hasValue(i) && "blob" == i.responseType,
              s = new XMLHttpRequest;
           if (s.onload = function () {
                 if (200 === s.status) {
                    var t = void 0,
                       i = void 0;
                    a ? i = s.response : t = s.responseText || s.response;
                    var n = {
                       xhr: s,
                       error: !1,
                       response: t,
                       blob: i,
                       type: s.getResponseHeader("Content-Type"),
                       target: e
                    };
                    r(n)
                 } else o({
                    xhr: s,
                    error: !0,
                    type: s.getResponseHeader("Content-Type"),
                    target: e
                 })
              }, s.onerror = function () {
                 o({
                    xhr: s,
                    error: !0,
                    type: s.getResponseHeader("Content-Type"),
                    target: e
                 })
              }, s.open("GET", t, !0), i && i.withCredentials && (s.withCredentials = !0), n.hasValue(i)) {
              if (n.hasValue(i.requestHeaders))
                 for (var u = 0; u < i.requestHeaders.length; u++) {
                    var l = i.requestHeaders[u];
                    s.setRequestHeader(l.key, l.value)
                 }
              n.hasValue(i.responseType) && (s.responseType = i.responseType)
           }
           s.send()
        })
     };
     var n = i("Mtpk")
  },
  OWpl: function (t, e, i) {
     var n = i("vJiZ"),
        r = i("3BzE");
     i("5lay")("keys", function () {
        return function (t) {
           return r(n(t))
        }
     })
  },
  OXm9: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("Meme"),
        o = i("ND2/"),
        a = i("w4m0"),
        s = i("aCit"),
        u = i("tjMS"),
        l = i("Gg2j"),
        h = i("hGwe"),
        c = i("v9UT"),
        p = i("Mtpk"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "AxisRendererY", e.minGridDistance = 40, e.opposite = !1, e.height = Object(u.c)(100), e.labels.template.verticalCenter = "middle", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.setAxis = function (e) {
              t.prototype.setAxis.call(this, e), e.layout = "horizontal"
           }, e.prototype.processRenderer = function () {
              t.prototype.processRenderer.call(this);
              var e = this.axis;
              if (e) {
                 var i = e.title;
                 i.valign = "middle", e.height = Object(u.c)(100), this.opposite ? (i.rotation = 90, this.line.toBack(), i.toFront()) : (i.rotation = -90, i.toBack(), this.line.toFront())
              }
           }, e.prototype.updateTooltip = function () {
              if (this.axis) {
                 var t = 0,
                    e = 2e3,
                    i = this.axisLength;
                 this.opposite ? this.inside && (t = -2e3, e = 2e3) : this.inside || (t = -2e3, e = 2e3), this.axis.updateTooltip("horizontal", {
                    x: t,
                    y: 0,
                    width: e,
                    height: i
                 })
              }
           }, Object.defineProperty(e.prototype, "axisLength", {
              get: function () {
                 var t = this.axis;
                 return t.measuredHeight - t.pixelPaddingTop - t.pixelPaddingBottom || 0
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionToPoint = function (t) {
              return {
                 x: 0,
                 y: this.positionToCoordinate(t)
              }
           }, e.prototype.pointToPosition = function (t) {
              return this.coordinateToPosition(t.y)
           }, e.prototype.getPositionRangePath = function (t, e) {
              var i = l.fitToRange(this.positionToCoordinate(t), 0, this.axisLength),
                 n = l.fitToRange(this.positionToCoordinate(e), 0, this.axisLength),
                 r = Math.abs(n - i),
                 o = this.getWidth(),
                 a = Math.min(i, n);
              return h.rectToPath({
                 x: 0,
                 y: a,
                 width: o,
                 height: r
              }, !0)
           }, e.prototype.updateGridElement = function (t, e, i) {
              e += (i - e) * t.location;
              var n = this.positionToPoint(e);
              t.path = h.moveTo({
                 x: 0,
                 y: 0
              }) + h.lineTo({
                 x: this.getWidth(),
                 y: 0
              }), this.positionItem(t, n), this.toggleVisibility(t, e, 0, 1)
           }, e.prototype.updateTickElement = function (t, e, i) {
              var n = this.positionToPoint(e),
                 r = t.length;
              try {
                 this.axis.title.measuredWidth
              } catch (t) {}
              this.opposite ? (n.x = this.gridContainer.pixelWidth, r *= t.inside ? -1 : 1) : (r *= t.inside ? 1 : -1, n.x = 0), t.path = h.moveTo({
                 x: 0,
                 y: 0
              }) + h.lineTo({
                 x: r,
                 y: 0
              }), this.positionItem(t, n), this.toggleVisibility(t, e, 0, 1)
           }, e.prototype.updateAxisLine = function () {
              this.line.path = h.moveTo({
                 x: 0,
                 y: 0
              }) + h.lineTo({
                 x: 0,
                 y: this.axisLength
              })
           }, e.prototype.updateBaseGridElement = function () {
              t.prototype.updateBaseGridElement.call(this);
              var e = this.axis,
                 i = this.getWidth(),
                 n = this.getHeight(),
                 r = e.basePoint.y,
                 o = this.baseGrid;
              if (r < 0 || r > n) o.hide(0);
              else {
                 var a = c.spritePointToSprite({
                    x: 0,
                    y: 0
                 }, this.gridContainer, o.parent).x;
                 o.path = h.moveTo({
                    x: 0,
                    y: 0
                 }) + h.lineTo({
                    x: i,
                    y: 0
                 }), o.moveTo({
                    x: a,
                    y: r
                 }), o.show(0)
              }
           }, e.prototype.updateLabelElement = function (t, e, i, n) {
              p.hasValue(n) || (n = t.location), e += (i - e) * n, t.isMeasured = !t.inside;
              var r, o = this.positionToPoint(e),
                 a = 0;
              this.opposite ? (r = t.inside ? "right" : "left", t.inside && "left" == t.align && (a = -this.gridContainer.maxWidth, r = "left"), o.x = 0 + a) : (r = t.inside ? "left" : "right", t.inside && "right" == t.align && (a = this.gridContainer.maxWidth, r = "right"), o.x = this.measuredWidth + a), t.horizontalCenter = r, this.positionItem(t, o), this.toggleVisibility(t, e, this.minLabelPosition, this.maxLabelPosition)
           }, e.prototype.updateBreakElement = function (e) {
              t.prototype.updateBreakElement.call(this, e);
              var i = e.startLine,
                 n = e.endLine,
                 r = e.fillShape,
                 o = e.startPoint,
                 a = e.endPoint,
                 s = e.pixelMarginLeft,
                 u = this.getWidth() - e.pixelMarginLeft - e.pixelMarginRight;
              o.y = l.fitToRange(o.y, -1, this.pixelHeight + 1), a.y = l.fitToRange(a.y, -1, this.pixelHeight + 1), o.y == a.y && (o.y < 0 || o.y > this.pixelHeight) ? e.fillShape.__disabled = !0 : e.fillShape.__disabled = !1;
              var h = Math.abs(u - s);
              i.x = s, i.height = 0, i.width = h, n.x = s, n.height = 0, n.width = h, r.width = h, r.height = Math.abs(a.y - o.y), r.x = s, r.y = a.y
           }, e.prototype.createBreakSprites = function (t) {
              t.startLine = new o.a, t.endLine = new o.a;
              var e = new a.a;
              e.setWavedSides(!0, !1, !0, !1), t.fillShape = e
           }, e.prototype.positionToCoordinate = function (t) {
              var e, i = this.axis,
                 n = i.axisFullLength;
              return e = i.renderer.inversed ? (t - i.start) * n : (i.end - t) * n, l.round(e, 1)
           }, e
        }(r.a);
     s.b.registeredClasses.AxisRendererY = d
  },
  Obr2: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("vJiZ"),
        o = i("W0fk"),
        a = i("K0ev"),
        s = i("nHHr").f;
     i("gD3S") && n(n.P + i("3/+B"), "Object", {
        __lookupGetter__: function (t) {
           var e, i = r(this),
              n = o(t, !0);
           do {
              if (e = s(i, n)) return e.get
           } while (i = a(i))
        }
     })
  },
  Oe1l: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("zhwk"),
        r = i("1yyj"),
        o = i("hJ5i"),
        a = function () {
           function t(t, e) {
              this._disposed = !1, this.directionX = 0, this.directionY = 0, this.interaction = t, this.keyboardEvent = e, this._startedOn = (new Date).getTime(), Object(n.b)().processDragStart(t), r.d.push(this), this.update()
           }
           return t.prototype.update = function () {
              var t = this.interaction,
                 e = Object(n.b)().getKeyboardOption(t, "speed"),
                 i = Object(n.b)().getKeyboardOption(t, "accelleration"),
                 r = Object(n.b)().getKeyboardOption(t, "accellerationDelay"),
                 o = {
                    x: 0,
                    y: 0
                 };
              this.keyboardEvent.shiftKey ? (e *= .5, i = 1) : this.keyboardEvent.ctrlKey && (e *= 2);
              var a = (new Date).getTime() - this._startedOn,
                 s = a - r;
              if (i > 0 && s > 0) {
                 var u = a / r;
                 a = r, o.x += this.directionX * (e * i * u * s), o.y += this.directionY * (e * i * u * s)
              }
              o.x += this.directionX * (e * a), o.y += this.directionY * (e * a), Object(n.b)().handleTransformMove(t, o, {
                 x: 0,
                 y: 0
              }, this.keyboardEvent, !0)
           }, t.prototype.isDisposed = function () {
              return this._disposed
           }, t.prototype.dispose = function () {
              this._disposed || (Object(n.b)().processDragStop(this.interaction), o.remove(r.d, this))
           }, t
        }()
  },
  "Oko+": function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(3);
     n(n.P + n.F * !i("GQop")([].some, !0), "Array", {
        some: function (t) {
           return r(this, t, arguments[1])
        }
     })
  },
  OuXI: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("iAlL")(!0);
     n(n.S, "Object", {
        entries: function (t) {
           return r(t)
        }
     })
  },
  OxI3: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("0C8c"),
        o = Math.exp;
     n(n.S + n.F * i("AEc5")(function () {
        return -2e-17 != !Math.sinh(-2e-17)
     }), "Math", {
        sinh: function (t) {
           return Math.abs(t = +t) < 1 ? (r(t) - r(-t)) / 2 : (o(t - 1) - o(-t - 1)) * (Math.E / 2)
        }
     })
  },
  "P/bD": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("x79X"),
        a = i("hJ5i"),
        s = i("Mtpk"),
        u = i("JNIx"),
        l = i("Q4nc"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.adapter = new o.a(e), e._locale = u.a, e._defaultLocale = u.a, e.className = "Language", s.hasValue(l.a.defaultLocale) && (e.locale = l.a.defaultLocale), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.getLocale = function (t) {
              return null == t && (t = this._locale), this.adapter.apply("locale", {
                 locale: t
              }).locale
           }, e.prototype.translate = function (t, e) {
              for (var i = [], r = 2; r < arguments.length; r++) i[r - 2] = arguments[r];
              e = this.getLocale(e);
              var o = t,
                 a = this.getTranslations(e)[t];
              if (null === a) a = "";
              else if (s.hasValue(a)) a && (o = a);
              else if (e !== this._defaultLocale) return this.translate.apply(this, n.f([t, this._defaultLocale], i));
              if (i.length)
                 for (var u = i.length, l = 0; l < u; ++l) o = o.split("%" + (l + 1)).join(i[l]);
              return this.adapter.apply("translate", {
                 translation: o,
                 locale: e
              }).translation
           }, e.prototype.translateEmpty = function (t, e) {
              for (var i = [], r = 2; r < arguments.length; r++) i[r - 2] = arguments[r];
              var o = this.translate.apply(this, n.f([t, e], i));
              return o == t ? "" : o
           }, e.prototype.translateFunc = function (t, e) {
              e = this.getLocale(e);
              var i = this.getTranslations(e)[t];
              return null != i ? i : e !== this._defaultLocale ? this.translateFunc(t, this._defaultLocale) : function () {
                 return ""
              }
           }, e.prototype.translateAll = function (t, e) {
              var i = this;
              return this.isDefault() ? t : a.map(t, function (t) {
                 return i.translate(t, e)
              })
           }, e.prototype.isDefault = function () {
              return this._defaultLocale === this._locale
           }, Object.defineProperty(e.prototype, "locale", {
              get: function () {
                 return this._locale
              },
              set: function (t) {
                 if (this._locale != t && (this._locale = t, this.events.isEnabled("localechanged"))) {
                    var e = {
                       type: "localechanged",
                       locale: t,
                       target: this
                    };
                    this.events.dispatchImmediately("localechanged", e)
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getTranslations = function (t) {
              return this.adapter.apply("translations", {
                 translations: t,
                 locale: t
              }).translations
           }, e
        }(r.b)
  },
  "P7v+": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     }), e.b = function () {
        if (null === u) {
           var t = document.createElement("div");
           t.hidden = !0, document.body.appendChild(t);
           var e = new o.a(t);
           u = new s(e.SVGContainer, "ghost")
        }
        return u
     };
     var n = i("pzs1"),
        r = i("cOH5"),
        o = i("HDh7"),
        a = i("58Sn"),
        s = function () {
           function t(t, e) {
              this.container = t, this.id = e;
              var i = document.createElementNS(a.a, "svg");
              i.setAttribute("version", "1.1"), i.setAttributeNS(a.e, "xmlns", a.a), i.setAttributeNS(a.e, "xmlns:xlink", a.d), i.setAttribute("role", "group"), this.container.appendChild(i);
              var n = document.createElementNS(a.a, "desc");
              n.appendChild(document.createTextNode("JavaScript chart by amCharts")), i.appendChild(n), this.defs = document.createElementNS(a.a, "defs"), i.appendChild(this.defs), i.style.width = "100%", i.style.height = "100%", i.style.overflow = "visible", this.svg = i
           }
           return t.prototype.add = function (t) {
              return new n.a(t)
           }, t.prototype.addGroup = function (t) {
              return new r.a(t)
           }, t.prototype.append = function (t) {
              t && this.svg.appendChild(t.node)
           }, t.prototype.appendDef = function (t) {
              t && this.defs.appendChild(t.node)
           }, t.prototype.foreignObject = function () {
              return new n.a("foreignObject")
           }, t.prototype.supportsForeignObject = function () {
              return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Extensibility", "1.1")
           }, t
        }(),
        u = null
  },
  PTiM: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("8ZqG"),
        a = i("sxA1"),
        s = i("aCit"),
        u = i("Mtpk"),
        l = i("Gg2j"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Line", e.element = e.paper.add("line"), e.fill = Object(o.c)(), e.x1 = 0, e.y1 = 0, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), this.x1 == this.x2 || this.y1 == this.y2 ? this.pixelPerfect = !0 : this.pixelPerfect = !1, this.x1 = this.x1, this.x2 = this.x2, this.y1 = this.y1, this.y2 = this.y2
           }, Object.defineProperty(e.prototype, "x1", {
              get: function () {
                 return this.getPropertyValue("x1")
              },
              set: function (t) {
                 u.isNumber(t) || (t = 0);
                 var e = 0;
                 this.pixelPerfect && this.stroke instanceof a.a && (e = 1e-5), this.setPropertyValue("x1", t, !0), this.element.attr({
                    x1: t + e
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "x2", {
              get: function () {
                 var t = this.getPropertyValue("x2");
                 return u.isNumber(t) || (t = this.pixelWidth), t
              },
              set: function (t) {
                 u.isNumber(t) || (t = 0), this.setPropertyValue("x2", t, !0), this.element.attr({
                    x2: t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "y1", {
              get: function () {
                 return this.getPropertyValue("y1")
              },
              set: function (t) {
                 u.isNumber(t) || (t = 0);
                 var e = 0;
                 this.pixelPerfect && this.stroke instanceof a.a && (e = 1e-5), this.setPropertyValue("y1", t, !0), this.element.attr({
                    y1: t + e
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "y2", {
              get: function () {
                 var t = this.getPropertyValue("y2");
                 return u.isNumber(t) || (t = this.pixelHeight), t
              },
              set: function (t) {
                 u.isNumber(t) || (t = 0), this.setPropertyValue("y2", t, !0), this.element.attr({
                    y2: t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionToPoint = function (t) {
              var e = {
                    x: this.x1,
                    y: this.y1
                 },
                 i = {
                    x: this.x2,
                    y: this.y2
                 },
                 n = l.getMidPoint(e, i, t),
                 r = l.getAngle(e, i);
              return {
                 x: n.x,
                 y: n.y,
                 angle: r
              }
           }, e
        }(r.a);
     s.b.registeredClasses.Line = h
  },
  PXSi: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("xSzy"),
        o = i("LNZc"),
        a = i("snR7"),
        s = i("UwWU"),
        u = i("FmWr"),
        l = i("DvJ+"),
        h = i("T9LF").ArrayBuffer,
        c = i("QXbb"),
        p = o.ArrayBuffer,
        d = o.DataView,
        f = r.ABV && h.isView,
        g = p.prototype.slice,
        y = r.VIEW;
     n(n.G + n.W + n.F * (h !== p), {
        ArrayBuffer: p
     }), n(n.S + n.F * !r.CONSTR, "ArrayBuffer", {
        isView: function (t) {
           return f && f(t) || l(t) && y in t
        }
     }), n(n.P + n.U + n.F * i("AEc5")(function () {
        return !new p(2).slice(1, void 0).byteLength
     }), "ArrayBuffer", {
        slice: function (t, e) {
           if (void 0 !== g && void 0 === e) return g.call(a(this), t);
           for (var i = a(this).byteLength, n = s(t, i), r = s(void 0 === e ? i : e, i), o = new(c(this, p))(u(r - n)), l = new d(this), h = new d(o), f = 0; n < r;) h.setUint8(f++, l.getUint8(n++));
           return o
        }
     }), i("vdWU")("ArrayBuffer")
  },
  Pr7S: function (t, e, i) {
     var n = i("DvJ+");
     i("5lay")("isFrozen", function (t) {
        return function (e) {
           return !n(e) || !!t && t(e)
        }
     })
  },
  Q4nc: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return n
     });
     var n = {
        verbose: !0,
        commercialLicense: !1,
        classNamePrefix: "amcharts-",
        autoSetClassName: !1
     }
  },
  QXbb: function (t, e, i) {
     var n = i("snR7"),
        r = i("DbOM"),
        o = i("YEtG")("species");
     t.exports = function (t, e) {
        var i, a = n(t).constructor;
        return void 0 === a || void 0 == (i = n(a)[o]) ? e : r(i)
     }
  },
  QZG2: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("mntN")(!1),
        o = [].indexOf,
        a = !!o && 1 / [1].indexOf(1, -0) < 0;
     n(n.P + n.F * (a || !i("GQop")(o)), "Array", {
        indexOf: function (t) {
           return a ? o.apply(this, arguments) || 0 : r(this, t, arguments[1])
        }
     })
  },
  Qgck: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        imulh: function (t, e) {
           var i = +t,
              n = +e,
              r = 65535 & i,
              o = 65535 & n,
              a = i >> 16,
              s = n >> 16,
              u = (a * o >>> 0) + (r * o >>> 16);
           return a * s + (u >> 16) + ((r * s >>> 0) + (65535 & u) >> 16)
        }
     })
  },
  Qkdp: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.entries = function (t) {
        return function (e) {
           for (var i in t)
              if (s(t, i) && !e([i, t[i]])) break
        }
     }, e.keys = o, e.keysOrdered = a, e.hasKey = s, e.getKey = function (t, e) {
        return t[e]
     }, e.eachContinue = u, e.each = function (t, e) {
        u(t, function (t, i) {
           return e(t, i), !0
        })
     }, e.eachOrdered = function (t, e, i) {
        n.each(a(t, i), function (i) {
           e(i, t[i])
        })
     }, e.copy = function (t) {
        return Object.assign({}, t)
     }, e.merge = function (t, e) {
        return Object.assign({}, t, e)
     }, e.copyProperties = l, e.softCopyProperties = function (t, e, i) {
        n.each(i, function (i) {
           r.hasValue(t[i]) && !r.hasValue(e[i]) && (e[i] = t[i])
        })
     }, e.forceCopyProperties = function (t, e, i) {
        n.each(i, function (i) {
           e[i] = t[i]
        })
     }, e.copyAllProperties = function (t, e) {
        l(t, e, o(t))
     };
     var n = i("hJ5i"),
        r = i("Mtpk");

     function o(t) {
        var e = [];
        for (var i in t) s(t, i) && e.push(i);
        return e
     }

     function a(t, e) {
        return o(t).sort(e)
     }

     function s(t, e) {
        return {}.hasOwnProperty.call(t, e)
     }

     function u(t, e) {
        for (var i in t)
           if (s(t, i) && !e(i, t[i])) break
     }

     function l(t, e, i) {
        n.each(i, function (i) {
           r.hasValue(t[i]) && (e[i] = t[i])
        })
     }
  },
  QtEf: function (t, e, i) {
     var n = i("Gb1H"),
        r = Math.atanh;
     n(n.S + n.F * !(r && 1 / r(-0) < 0), "Math", {
        atanh: function (t) {
           return 0 == (t = +t) ? t : Math.log((1 + t) / (1 - t)) / 2
        }
     })
  },
  R6wv: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("oC3T"),
        a = i("aCit"),
        s = i("hGwe"),
        u = i("Mtpk"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Polygon", e.element = e.paper.add("path"), e.shapeRendering = "auto", e._currentPoints = [], e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "points", {
              get: function () {
                 return this.getPropertyValue("points")
              },
              set: function (t) {
                 this.setPropertyValue("points", t, !0), this._currentPoints = this.points
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "currentPoints", {
              get: function () {
                 return this._currentPoints
              },
              set: function (t) {
                 this._currentPoints != t && (this._currentPoints = t, this.draw())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.draw = function () {
              var t, e, i, n, r = "",
                 o = this._currentPoints;
              if (o.length > 0) {
                 for (var a = 0, l = o.length; a < l; a++) {
                    var h = o[a][0],
                       c = o[a][1];
                    if (h && h.length > 0) {
                       var p = h[0];
                       r += s.moveTo(p);
                       for (var d = 0; d < h.length; d++) p = h[d], r += s.lineTo(p), (!u.isNumber(e) || e < p.x) && (e = p.x), (!u.isNumber(t) || t > p.x) && (t = p.x), (!u.isNumber(i) || i > p.y) && (i = p.y), (!u.isNumber(n) || n < p.y) && (n = p.y)
                    }
                    if (c && c.length > 0) {
                       p = c[0];
                       r += s.moveTo(p);
                       for (var f = 0, g = c.length; f < g; f++) p = c[f], r += s.lineTo(p)
                    }
                 }
                 r && (r += s.closePath()), this.bbox.x = t, this.bbox.y = i, this.bbox.width = e - t, this.bbox.height = n - i
              }
              this.path = r
           }, e.prototype.measureElement = function () {}, Object.defineProperty(e.prototype, "centerPoint", {
              get: function () {
                 return {
                    x: this.bbox.x + this.bbox.width / 2,
                    y: this.bbox.y + this.bbox.height / 2
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "morpher", {
              get: function () {
                 return this._morpher || (this._morpher = new o.a(this), this._disposers.push(this._morpher)), this._morpher
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     a.b.registeredClasses.Polygon = l
  },
  RC2a: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("FmWr"),
        o = i("zAAN"),
        a = "".endsWith;
     n(n.P + n.F * i("IYrR")("endsWith"), "String", {
        endsWith: function (t) {
           var e = o(this, t, "endsWith"),
              i = arguments.length > 1 ? arguments[1] : void 0,
              n = r(e.length),
              s = void 0 === i ? n : Math.min(r(i), n),
              u = String(t);
           return a ? a.call(e, u, s) : e.slice(s - u.length, s) === u
        }
     })
  },
  Rnbi: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("hGwe"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Triangle", e.element = e.paper.add("path"), e.direction = "top", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e, i = this.pixelWidth,
                 n = this.pixelHeight;
              switch (this.direction) {
                 case "right":
                    e = a.moveTo({
                       x: 0,
                       y: 0
                    }) + a.lineTo({
                       x: i,
                       y: n / 2
                    }) + a.lineTo({
                       x: 0,
                       y: n
                    }) + a.closePath();
                    break;
                 case "left":
                    e = a.moveTo({
                       x: i,
                       y: 0
                    }) + a.lineTo({
                       x: 0,
                       y: n / 2
                    }) + a.lineTo({
                       x: i,
                       y: n
                    }) + a.closePath();
                    break;
                 case "bottom":
                    e = a.moveTo({
                       x: 0,
                       y: 0
                    }) + a.lineTo({
                       x: i,
                       y: 0
                    }) + a.lineTo({
                       x: i / 2,
                       y: n
                    }) + a.closePath();
                    break;
                 case "top":
                    e = a.moveTo({
                       x: i / 2,
                       y: 0
                    }) + a.lineTo({
                       x: i,
                       y: n
                    }) + a.lineTo({
                       x: 0,
                       y: n
                    }) + a.closePath()
              }
              this.path = e
           }, Object.defineProperty(e.prototype, "direction", {
              get: function () {
                 return this.getPropertyValue("direction")
              },
              set: function (t) {
                 this.setPropertyValue("direction", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Triangle = s
  },
  RpVB: function (t, e, i) {
     "use strict";
     i("Mvcd")("fontcolor", function (t) {
        return function (e) {
           return t(this, "font", "color", e)
        }
     })
  },
  Rpw0: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     }), i.d(e, "b", function () {
        return p
     });
     var n = i("aCit"),
        r = i("C6dT"),
        o = i("Y9w3"),
        a = i("Q4nc"),
        s = i("/9XX"),
        u = i("1yyj"),
        l = i("hJ5i"),
        h = i("Qkdp"),
        c = function () {
           function t() {
              this._isPaused = !1, this.uid = n.b.getUniqueId(), this.dummyCounter = 0, this._frameRequested = !1, this.updateStepDuration = 45, this.time = Date.now()
           }
           return t.prototype.reportTime = function (t, e) {
              this.dummyCounter, e && (this.time = Date.now())
           }, t.prototype.update = function () {
              var t = this;
              if (!this._isPaused) {
                 this._frameRequested = !1;
                 var e = Date.now();
                 n.b.dispatchImmediately("enterframe");
                 for (var i in n.b.invalidDatas)
                    if (h.hasKey(n.b.invalidDatas, i)) {
                       for (var o = n.b.invalidDatas[i]; o.length > 0;) {
                          var a = (c = o[0]).dataProvider;
                          if (c.isDisposed()) l.remove(o, c);
                          else if (a && a.dataInvalid) try {
                             if (a.validateData(), a.dataValidationProgress < 1) break
                          } catch (t) {
                             l.remove(o, a), a.raiseCriticalError(t)
                          } else try {
                             if (c.validateData(), c.dataValidationProgress < 1) break
                          } catch (t) {
                             l.remove(o, c), c.raiseCriticalError(t)
                          }
                       }
                       if (Date.now() - e > this.updateStepDuration) break
                    } for (; n.b.invalidRawDatas.length > 0;) {
                    if ((c = n.b.invalidRawDatas[0]).isDisposed()) l.remove(n.b.invalidRawDatas, c);
                    else try {
                       c.validateRawData()
                    } catch (t) {
                       l.remove(n.b.invalidRawDatas, c), c.raiseCriticalError(t)
                    }
                 }
                 for (; n.b.invalidDataItems.length > 0;) {
                    a = (c = n.b.invalidDataItems[0]).dataProvider;
                    if (c.isDisposed() || c.dataInvalid || a && a.dataInvalid);
                    else try {
                       c.validateDataItems()
                    } catch (t) {
                       l.remove(n.b.invalidDataItems, c), c.raiseCriticalError(t)
                    }
                    l.remove(n.b.invalidDataItems, c)
                 }
                 for (; n.b.invalidDataRange.length > 0;) {
                    var c;
                    a = (c = n.b.invalidDataRange[0]).dataProvider;
                    if (c.isDisposed() || c.dataInvalid || a && a.dataInvalid);
                    else try {
                       c.validateDataRange(), c.skipRangeEvent || c.dispatchImmediately("datarangechanged"), c.skipRangeEvent = !1
                    } catch (t) {
                       l.remove(n.b.invalidDataRange, c), c.raiseCriticalError(t)
                    }
                    l.remove(n.b.invalidDataRange, c)
                 }
                 var p = [];
                 h.each(n.b.invalidLayouts, function (e) {
                    t.validateLayouts(e)
                 }), h.each(n.b.invalidPositions, function (e) {
                    t.validatePositions(e)
                 });
                 var d = !1;
                 if (e = Date.now(), h.each(n.b.invalidSprites, function (i, o) {
                       for (var a = 0; o.length > 0;) {
                          if (t.validateLayouts(i), t.validatePositions(i), 5 == ++a) {
                             if (Date.now() - e > t.updateStepDuration) break;
                             a = 0
                          }
                          var s = o[o.length - 1];
                          if (s && !s.isDisposed()) {
                             if (t.checkIfValidate(s))
                                if (t.checkIfValidate2(s)) try {
                                   s instanceof r.a && s.children.each(function (e) {
                                      e.invalid && (t.checkIfValidate(e) ? e.dataItem && e.dataItem.component && e.dataItem.component.dataInvalid ? p.push(e) : e.validate() : p.push(e))
                                   }), s.validate()
                                } catch (t) {
                                   s.invalid = !1, l.remove(o, s), s.raiseCriticalError(t)
                                } else p.push(s);
                                else p.push(s);
                             s.invalid = !1
                          }
                          l.remove(o, s)
                       }
                       n.b.invalidSprites[i] = n.b.invalidSprites[i].concat(p)
                    }), h.each(n.b.invalidSprites, function (t, e) {
                       e.length > 0 && (d = !0)
                    }), h.each(n.b.invalidDatas, function (t, e) {
                       e.length > 0 && (d = !0)
                    }), l.each(l.copy(u.d), function (t) {
                       t.update()
                    }), h.each(n.b.invalidLayouts, function (e) {
                       t.validateLayouts(e)
                    }), h.each(n.b.invalidPositions, function (e) {
                       t.validatePositions(e)
                    }), Object(s.d)(), h.each(n.b.invalidLayouts, function (e) {
                       t.validateLayouts(e)
                    }), h.each(n.b.invalidPositions, function (e) {
                       t.validatePositions(e)
                    }), n.b.dispatchImmediately("exitframe"), (d || u.d.length > 0 || [].length > 0) && this.requestFrame(), this.updateStepDuration < 200) {
                    var f = !0;
                    h.each(n.b.invalidDatas, function (t, e) {
                       e.length > 0 && (f = !1)
                    }), h.each(n.b.invalidSprites, function (t, e) {
                       e.length > 0 && (f = !1)
                    }), f && (this.updateStepDuration = 200)
                 }
              }
           }, t.prototype.checkIfValidate = function (t) {
              return !(t instanceof o.a && (t.dataInvalid || t.dataProvider && t.dataProvider.dataInvalid))
           }, t.prototype.checkIfValidate2 = function (t) {
              return !(t.dataItem && t.dataItem.component && t.dataItem.component.dataInvalid && !t.dataItem.component.isTemplate)
           }, t.prototype.requestFrame = function () {
              var t = this;
              this._frameRequested || (Object(s.b)(function () {
                 t.update()
              }), this._frameRequested = !0)
           }, t.prototype.validatePositions = function (t) {
              for (var e = n.b.invalidPositions[t]; e.length > 0;) {
                 var i = e[e.length - 1];
                 if (i.isDisposed()) l.remove(e, i);
                 else try {
                    i instanceof r.a && i.children.each(function (t) {
                       t.positionInvalid && t.validatePosition()
                    }), i.validatePosition()
                 } catch (t) {
                    i.positionInvalid = !1, l.remove(e, i), i.raiseCriticalError(t)
                 }
              }
           }, t.prototype.validateLayouts = function (t) {
              for (var e = n.b.invalidLayouts[t]; e.length > 0;) {
                 var i = e[e.length - 1];
                 if (i.isDisposed()) l.remove(e, i);
                 else try {
                    i.children.each(function (t) {
                       t instanceof r.a && t.layoutInvalid && !t.isDisposed() && t.validateLayout()
                    }), i.validateLayout()
                 } catch (t) {
                    i.layoutInvalid = !1, l.remove(e, i), i.raiseCriticalError(t)
                 }
              }
           }, t.prototype.log = function (t) {
              a.a.verbose && console && console.log(t)
           }, Object.defineProperty(t.prototype, "isPaused", {
              get: function () {
                 return this._isPaused
              },
              set: function (t) {
                 this._isPaused = t, t || (this._frameRequested = !1, this.requestFrame())
              },
              enumerable: !0,
              configurable: !0
           }), t.VERSION = "4.0.21", t
        }(),
        p = new c
  },
  RzG0: function (t, e, i) {
     var n = i("T9LF"),
        r = i("0v9/").set,
        o = n.MutationObserver || n.WebKitMutationObserver,
        a = n.process,
        s = n.Promise,
        u = "process" == i("DVYA")(a);
     t.exports = function () {
        var t, e, i, l = function () {
           var n, r;
           for (u && (n = a.domain) && n.exit(); t;) {
              r = t.fn, t = t.next;
              try {
                 r()
              } catch (n) {
                 throw t ? i() : e = void 0, n
              }
           }
           e = void 0, n && n.enter()
        };
        if (u) i = function () {
           a.nextTick(l)
        };
        else if (!o || n.navigator && n.navigator.standalone)
           if (s && s.resolve) {
              var h = s.resolve(void 0);
              i = function () {
                 h.then(l)
              }
           } else i = function () {
              r.call(n, l)
           };
        else {
           var c = !0,
              p = document.createTextNode("");
           new o(l).observe(p, {
              characterData: !0
           }), i = function () {
              p.data = c = !c
           }
        }
        return function (n) {
           var r = {
              fn: n,
              next: void 0
           };
           e && (e.next = r), t || (t = r, i()), e = r
        }
     }
  },
  S9D9: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        log1p: i("AzI1")
     })
  },
  ScGY: function (t, e, i) {
     "use strict";
     i.d(e, "f", function () {
        return n
     }), i.d(e, "g", function () {
        return r
     }), i.d(e, "c", function () {
        return o
     }), i.d(e, "a", function () {
        return a
     }), i.d(e, "b", function () {
        return s
     }), i.d(e, "d", function () {
        return u
     }), i.d(e, "e", function () {
        return l
     });
     var n = "px",
        r = "string",
        o = "number",
        a = "date",
        s = "duration",
        u = "__§§§__",
        l = "__§§§§__"
  },
  T3RA: function (t, e, i) {
     "use strict";
     var n = i("T9LF"),
        r = i("U3hN"),
        o = i("DVYA"),
        a = i("6/bx"),
        s = i("W0fk"),
        u = i("AEc5"),
        l = i("rkh7").f,
        h = i("nHHr").f,
        c = i("hjwn").f,
        p = i("nAZS").trim,
        d = n.Number,
        f = d,
        g = d.prototype,
        y = "Number" == o(i("5+SK")(g)),
        m = "trim" in String.prototype,
        b = function (t) {
           var e = s(t, !1);
           if ("string" == typeof e && e.length > 2) {
              var i, n, r, o = (e = m ? e.trim() : p(e, 3)).charCodeAt(0);
              if (43 === o || 45 === o) {
                 if (88 === (i = e.charCodeAt(2)) || 120 === i) return NaN
              } else if (48 === o) {
                 switch (e.charCodeAt(1)) {
                    case 66:
                    case 98:
                       n = 2, r = 49;
                       break;
                    case 79:
                    case 111:
                       n = 8, r = 55;
                       break;
                    default:
                       return +e
                 }
                 for (var a, u = e.slice(2), l = 0, h = u.length; l < h; l++)
                    if ((a = u.charCodeAt(l)) < 48 || a > r) return NaN;
                 return parseInt(u, n)
              }
           }
           return +e
        };
     if (!d(" 0o1") || !d("0b1") || d("+0x1")) {
        d = function (t) {
           var e = arguments.length < 1 ? 0 : t,
              i = this;
           return i instanceof d && (y ? u(function () {
              g.valueOf.call(i)
           }) : "Number" != o(i)) ? a(new f(b(e)), i, d) : b(e)
        };
        for (var v, _ = i("gD3S") ? l(f) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), x = 0; _.length > x; x++) r(f, v = _[x]) && !r(d, v) && c(d, v, h(f, v));
        d.prototype = g, g.constructor = d, i("wDk4")(n, "Number", d)
     }
  },
  T3m9: function (t, e, i) {
     "use strict";
     var n, r, o, a, s = i("pb4Y"),
        u = i("T9LF"),
        l = i("20m4"),
        h = i("MfZA"),
        c = i("Gb1H"),
        p = i("DvJ+"),
        d = i("DbOM"),
        f = i("ypVE"),
        g = i("hpnp"),
        y = i("QXbb"),
        m = i("0v9/").set,
        b = i("RzG0")(),
        v = i("6w17"),
        _ = i("wYgt"),
        x = i("vSjZ"),
        P = i("JqbS"),
        w = u.TypeError,
        O = u.process,
        S = O && O.versions,
        k = S && S.v8 || "",
        T = u.Promise,
        C = "process" == h(O),
        j = function () {},
        I = r = v.f,
        V = !! function () {
           try {
              var t = T.resolve(1),
                 e = (t.constructor = {})[i("YEtG")("species")] = function (t) {
                    t(j, j)
                 };
              return (C || "function" == typeof PromiseRejectionEvent) && t.then(j) instanceof e && 0 !== k.indexOf("6.6") && -1 === x.indexOf("Chrome/66")
           } catch (t) {}
        }(),
        M = function (t) {
           var e;
           return !(!p(t) || "function" != typeof (e = t.then)) && e
        },
        D = function (t, e) {
           if (!t._n) {
              t._n = !0;
              var i = t._c;
              b(function () {
                 for (var n = t._v, r = 1 == t._s, o = 0, a = function (e) {
                       var i, o, a, s = r ? e.ok : e.fail,
                          u = e.resolve,
                          l = e.reject,
                          h = e.domain;
                       try {
                          s ? (r || (2 == t._h && N(t), t._h = 1), !0 === s ? i = n : (h && h.enter(), i = s(n), h && (h.exit(), a = !0)), i === e.promise ? l(w("Promise-chain cycle")) : (o = M(i)) ? o.call(i, u, l) : u(i)) : l(n)
                       } catch (t) {
                          h && !a && h.exit(), l(t)
                       }
                    }; i.length > o;) a(i[o++]);
                 t._c = [], t._n = !1, e && !t._h && E(t)
              })
           }
        },
        E = function (t) {
           m.call(u, function () {
              var e, i, n, r = t._v,
                 o = F(t);
              if (o && (e = _(function () {
                    C ? O.emit("unhandledRejection", r, t) : (i = u.onunhandledrejection) ? i({
                       promise: t,
                       reason: r
                    }) : (n = u.console) && n.error && n.error("Unhandled promise rejection", r)
                 }), t._h = C || F(t) ? 2 : 1), t._a = void 0, o && e.e) throw e.v
           })
        },
        F = function (t) {
           return 1 !== t._h && 0 === (t._a || t._c).length
        },
        N = function (t) {
           m.call(u, function () {
              var e;
              C ? O.emit("rejectionHandled", t) : (e = u.onrejectionhandled) && e({
                 promise: t,
                 reason: t._v
              })
           })
        },
        R = function (t) {
           var e = this;
           e._d || (e._d = !0, (e = e._w || e)._v = t, e._s = 2, e._a || (e._a = e._c.slice()), D(e, !0))
        },
        L = function (t) {
           var e, i = this;
           if (!i._d) {
              i._d = !0, i = i._w || i;
              try {
                 if (i === t) throw w("Promise can't be resolved itself");
                 (e = M(t)) ? b(function () {
                    var n = {
                       _w: i,
                       _d: !1
                    };
                    try {
                       e.call(t, l(L, n, 1), l(R, n, 1))
                    } catch (t) {
                       R.call(n, t)
                    }
                 }): (i._v = t, i._s = 1, D(i, !1))
              } catch (t) {
                 R.call({
                    _w: i,
                    _d: !1
                 }, t)
              }
           }
        };
     V || (T = function (t) {
        f(this, T, "Promise", "_h"), d(t), n.call(this);
        try {
           t(l(L, this, 1), l(R, this, 1))
        } catch (t) {
           R.call(this, t)
        }
     }, (n = function (t) {
        this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1
     }).prototype = i("cA+3")(T.prototype, {
        then: function (t, e) {
           var i = I(y(this, T));
           return i.ok = "function" != typeof t || t, i.fail = "function" == typeof e && e, i.domain = C ? O.domain : void 0, this._c.push(i), this._a && this._a.push(i), this._s && D(this, !1), i.promise
        },
        catch: function (t) {
           return this.then(void 0, t)
        }
     }), o = function () {
        var t = new n;
        this.promise = t, this.resolve = l(L, t, 1), this.reject = l(R, t, 1)
     }, v.f = I = function (t) {
        return t === T || t === a ? new o(t) : r(t)
     }), c(c.G + c.W + c.F * !V, {
        Promise: T
     }), i("bPwn")(T, "Promise"), i("vdWU")("Promise"), a = i("G5U1").Promise, c(c.S + c.F * !V, "Promise", {
        reject: function (t) {
           var e = I(this);
           return (0, e.reject)(t), e.promise
        }
     }), c(c.S + c.F * (s || !V), "Promise", {
        resolve: function (t) {
           return P(s && this === a ? T : this, t)
        }
     }), c(c.S + c.F * !(V && i("ID9o")(function (t) {
        T.all(t).catch(j)
     })), "Promise", {
        all: function (t) {
           var e = this,
              i = I(e),
              n = i.resolve,
              r = i.reject,
              o = _(function () {
                 var i = [],
                    o = 0,
                    a = 1;
                 g(t, !1, function (t) {
                    var s = o++,
                       u = !1;
                    i.push(void 0), a++, e.resolve(t).then(function (t) {
                       u || (u = !0, i[s] = t, --a || n(i))
                    }, r)
                 }), --a || n(i)
              });
           return o.e && r(o.v), i.promise
        },
        race: function (t) {
           var e = this,
              i = I(e),
              n = i.reject,
              r = _(function () {
                 g(t, !1, function (t) {
                    e.resolve(t).then(i.resolve, n)
                 })
              });
           return r.e && n(r.v), i.promise
        }
     })
  },
  "T9+M": function (t, e, i) {
     i("6+x4")("Set")
  },
  T9LF: function (t, e) {
     var i = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
     "number" == typeof __g && (__g = i)
  },
  "TDx+": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("p9TX"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "AxisLabel", e.isMeasured = !1, e.padding(10, 10, 10, 10), e.location = .5, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "location", {
              get: function () {
                 return this.getPropertyValue("location")
              },
              set: function (t) {
                 this.setPropertyValue("location", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inside", {
              get: function () {
                 return this.getPropertyValue("inside")
              },
              set: function (t) {
                 this.setPropertyValue("inside", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setDisabled = function (e) {
              var i = t.prototype.setDisabled.call(this, e);
              return this.axis && this.axis.invalidateDataItems(), i
           }, e
        }(r.a);
     o.b.registeredClasses.AxisLabel = a
  },
  TXRX: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Bullet", e.isMeasured = !1, e.tooltipX = 0, e.tooltipY = 0, e.layout = "none", e.applyOnClones = !0, e.copyToLegendMarker = !0, e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "locationX", {
              get: function () {
                 return this.getPropertyValue("locationX")
              },
              set: function (t) {
                 this.setPropertyValue("locationX", t, !1, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "locationY", {
              get: function () {
                 return this.getPropertyValue("locationY")
              },
              set: function (t) {
                 this.setPropertyValue("locationY", t, !1, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "xField", {
              get: function () {
                 return this.getPropertyValue("xField")
              },
              set: function (t) {
                 this.setPropertyValue("xField", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "yField", {
              get: function () {
                 return this.getPropertyValue("yField")
              },
              set: function (t) {
                 this.setPropertyValue("yField", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isDynamic", {
              get: function () {
                 return this.getPropertyValue("isDynamic")
              },
              set: function (t) {
                 this.setPropertyValue("isDynamic", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "copyToLegendMarker", {
              get: function () {
                 return this.getPropertyValue("copyToLegendMarker")
              },
              set: function (t) {
                 this.setPropertyValue("copyToLegendMarker", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Bullet = a
  },
  "Tjl+": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return y
     }), i.d(e, "b", function () {
        return m
     });
     var n = i("m4/l"),
        r = i("vMqJ"),
        o = i("+qIf"),
        a = i("hD5A"),
        s = i("o0Lc"),
        u = i("x79X"),
        l = i("8ZqG"),
        h = i("tjMS"),
        c = i("aCit"),
        p = i("eCqC"),
        d = i("hJ5i"),
        f = i("Qkdp"),
        g = i("Mtpk"),
        y = function () {
           function t() {
              this._disposed = !1, this._disposers = [], this.className = "BaseObject"
           }
           return t.prototype.debug = function () {}, Object.defineProperty(t.prototype, "uid", {
              get: function () {
                 return this._uid || (this._uid = c.b.getUniqueId(), c.b.map.setKey(this._uid, this)), this._uid
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "id", {
              get: function () {
                 return this._id
              },
              set: function (t) {
                 this._id = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "map", {
              get: function () {
                 return this._map || (this._map = new o.a), this._map
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.applyTheme = function () {
              var t = this;
              if (c.b) {
                 var e = this.getCurrentThemes();
                 e && d.each(e, function (e, i) {
                    e(t)
                 })
              }
           }, Object.defineProperty(t.prototype, "themes", {
              get: function () {
                 return this._themes
              },
              set: function (t) {
                 this._themes = t
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.getCurrentThemes = function () {
              return this.themes || c.b.themes
           }, t.prototype.isDisposed = function () {
              return this._disposed
           }, t.prototype.dispose = function () {
              if (!this._disposed) {
                 this._disposed = !0;
                 var t = this._disposers;
                 for (this._disposers = null; 0 !== t.length;) {
                    t.shift().dispose()
                 }
                 this.clearCache(), this.clonedFrom && this.clonedFrom.clones.removeValue(this);
                 var e = this._uid;
                 null != e && c.b.map.removeKey(e)
              }
           }, t.prototype.addDisposer = function (t) {
              this._disposers.push(t)
           }, t.prototype.removeDispose = function (t) {
              if (!this._disposed) {
                 var e = d.indexOf(this._disposers, t);
                 e > -1 && this._disposers.splice(e, 1)
              }
              t.dispose()
           }, t.prototype.clone = function (t) {
              t || (t = "clone-" + c.b.getUniqueId());
              var e = new this.constructor;
              return e.cloneId = t, e.copyFrom(this), e
           }, Object.defineProperty(t.prototype, "clones", {
              get: function () {
                 return this._clones || (this._clones = new r.b), this._clones
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.copyFrom = function (t) {
              t.clones.push(this), this.clonedFrom = t
           }, Object.defineProperty(t.prototype, "className", {
              get: function () {
                 return this._className
              },
              set: function (t) {
                 this._className = t
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.setCache = function (t, e, i) {
              p.b.set(this.uid, t, e, i)
           }, t.prototype.getCache = function (t, e) {
              return void 0 === e && (e = void 0), p.b.get(this.uid, t, e)
           }, t.prototype.clearCache = function () {
              p.b.clear(this.uid)
           }, t.prototype.setTimeout = function (t, e) {
              var i = this,
                 n = setTimeout(function () {
                    i.removeDispose(r), t()
                 }, e),
                 r = new a.b(function () {
                    clearTimeout(n)
                 });
              return this._disposers.push(r), r
           }, t.prototype.setInterval = function (t, e) {
              var i = this,
                 n = setInterval(function () {
                    i.removeDispose(r), t()
                 }, e),
                 r = new a.b(function () {
                    clearTimeout(n)
                 });
              return this._disposers.push(r), r
           }, Object.defineProperty(t.prototype, "config", {
              set: function (t) {
                 try {
                    this.processConfig(t)
                 } catch (t) {
                    this.raiseCriticalError(t)
                 }
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.processConfig = function (e) {
              var i = this;
              if (e) {
                 var n = this;
                 if (f.eachOrdered(e, function (e, a) {
                       var c, p = a;
                       if ("callback" == e && "function" == typeof a && a.call(n), i.hasProperty(e))
                          if (g.isObject(p) && g.hasValue(p.type) && (c = i.createClassInstance(p.type)) ? n[e] = c : c = n[e], c instanceof u.a) i.processAdapters(c, p);
                          else if (c instanceof s.a) i.processEvents(c, p);
                       else if (i.asIs(e)) n[e] = p;
                       else if (p instanceof t) n[e] = p;
                       else if (c instanceof t) c.config = p;
                       else if (c instanceof r.e)
                          if (g.isArray(p))
                             for (d.each(p, function (e, n) {
                                   var r, o = i.getConfigEntryType(e);
                                   if (c.hasIndex(n) && !e.forceCreate) r = c.getIndex(n);
                                   else {
                                      if (e instanceof t) return void c.push(e);
                                      r = o ? c.create(o) : c.create()
                                   }
                                   g.isObject(e) && (r instanceof t ? r.config = e : g.isObject(r) && g.isObject(e) ? f.copyAllProperties(e, r) : c.setIndex(c.indexOf(r), e))
                                }); p.length > c.length;) c.pop();
                          else g.isObject(p) && (p instanceof t ? c.template = p : c.template instanceof t ? c.template.config = p : f.each(p, function (e, n) {
                             var a = c.template[e];
                             a instanceof u.a ? i.processAdapters(a, n) : a instanceof s.a ? i.processEvents(a, n) : a instanceof o.c ? i.processDictionaryTemplate(a, n) : c.template[e] instanceof t ? c.template[e].config = n : g.isObject(n) && g.hasValue(n.type) ? (a = i.createClassInstance(n.type)) ? (a instanceof t && (a.config = n), c.template[e] = a) : c.template[e] = n : a instanceof r.b ? i.processList(n, a) : c.template[e] = i.maybeColorOrPercent(n)
                          }));
                       else c instanceof r.b ? i.processList(p, c) : c instanceof o.c ? i.processDictionaryTemplate(c, p) : c instanceof o.a ? i.processDictionary(c, p) : c instanceof l.a || c instanceof h.a ? n[e] = i.maybeColorOrPercent(p) : g.isObject(c) && g.isObject(p) ? f.copyAllProperties(p, c) : (p = i.maybeColorOrPercent(p), n[e] = p);
                       else i.isReserved(e) || (n[e] = p)
                    }, this.configOrder), this.processingErrors.length) {
                    var a = this.processingErrors.join("\n");
                    throw this._processingErrors = [], Error(a)
                 }
              }
           }, t.prototype.maybeColorOrPercent = function (t) {
              if (g.isString(t)) {
                 if (t.match(/^[0-9.\-]+\%$/)) return Object(h.c)(g.toNumber(t));
                 if (t.match(/^\#[0-9abcdef]{3,}$/i)) return Object(l.c)(t)
              }
              return t
           }, t.prototype.processAdapters = function (t, e) {
              var i = this;
              g.isArray(e) ? d.each(e, function (e, n) {
                 t.add(e.key, e.callback, e.priority || 0, i)
              }) : g.isObject(e) && f.each(e, function (e, i) {
                 t.has(e, i) || t.add(e, i)
              })
           }, t.prototype.processEvents = function (t, e) {
              var i = this;
              g.isObject(e) ? f.each(e, function (e, i) {
                 t.has(e, i) || t.on(e, i)
              }) : g.isArray(e) && d.each(e, function (e, n) {
                 t.on(e.type, e.callback, i)
              })
           }, t.prototype.processDictionaryTemplate = function (e, i) {
              g.isObject(i) && f.each(i, function (i, n) {
                 var r;
                 (r = "template" == i ? e.template : e.hasKey(i) ? e.getKey(i) : e.create(i)) instanceof t ? r.config = n : g.isObject(r) && g.isObject(n) ? f.copyAllProperties(n, r) : r.setKey(i, n)
              })
           }, t.prototype.processDictionary = function (t, e) {
              g.isObject(e) && f.each(e, function (e, i) {
                 t.setKey(e, i)
              })
           }, t.prototype.processList = function (e, i) {
              var n = this;
              g.isArray(e) || (e = [e]);
              var r = i.length;
              for (d.each(e, function (e, o) {
                    if (g.isObject(e)) {
                       var a = void 0;
                       if (o < r && !e.forceCreate) a = i.getIndex(o);
                       else {
                          if (e instanceof t) return void i.push(e);
                          a = n.createEntryInstance(e), i.push(a)
                       }
                       a instanceof t && (a.config = e)
                    } else i.hasIndex(o) ? i.setIndex(o, e) : i.push(e)
                 }); e.length > i.length;) i.pop()
           }, t.prototype.configOrder = function (t, e) {
              return t == e ? 0 : "language" == t ? -1 : "language" == e ? 1 : 0
           }, t.prototype.asIs = function (t) {
              return -1 != d.indexOf(["locale"], t)
           }, t.prototype.createClassInstance = function (t) {
              if (g.hasValue(c.b.registeredClasses[t])) return new c.b.registeredClasses[t]
           }, t.prototype.createEntryInstance = function (t) {
              var e;
              return g.hasValue(t.type) && (e = this.createClassInstance(t.type)), e || t
           }, t.prototype.getConfigEntryType = function (t) {
              if (g.hasValue(t.type)) {
                 if (g.hasValue(c.b.registeredClasses[t.type])) return c.b.registeredClasses[t.type];
                 throw Error('Invalid type: "' + t.type + '".')
              }
           }, t.prototype.hasProperty = function (t) {
              return t in this
           }, t.prototype.isReserved = function (t) {
              return -1 !== ["type", "forceCreate"].indexOf(t)
           }, Object.defineProperty(t.prototype, "processingErrors", {
              get: function () {
                 return this._processingErrors || (this._processingErrors = []), this._processingErrors
              },
              enumerable: !0,
              configurable: !0
           }), t
        }(),
        m = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.events = new s.a, e.className = "BaseObjectEvents", e._disposers.push(e.events), e
           }
           return n.c(e, t), e.prototype.dispatch = function (t, e) {
              this.events.isEnabled(t) && (e ? (e.type = t, e.target = e.target || this, this.events.dispatch(t, {
                 type: t,
                 target: this
              })) : this.events.dispatch(t, {
                 type: t,
                 target: this
              }))
           }, e.prototype.dispatchImmediately = function (t, e) {
              this.events.isEnabled(t) && (e ? (e.type = t, e.target = e.target || this, this.events.dispatchImmediately(t, e)) : this.events.dispatchImmediately(t, {
                 type: t,
                 target: this
              }))
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.events.copyFrom(e.events)
           }, e
        }(y)
  },
  Trvg: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("p9TX"),
        o = i("qCRI"),
        a = i("MIZb"),
        s = i("aCit"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "TextLink", e.selectable = !0;
              var i = new a.a;
              return e.fill = i.getFor("primaryButton").brighten(.3), e.states.create("hover").properties.fill = i.getFor("primaryButtonHover").brighten(.3), e.states.create("down").properties.fill = i.getFor("primaryButtonDown").brighten(.3), e.cursorOverStyle = o.a.pointer, e.applyTheme(), e
           }
           return n.c(e, t), e
        }(r.a);
     s.b.registeredClasses.TextLink = u
  },
  U1Gp: function (t, e, i) {
     "use strict";
     var n = i("20m4"),
        r = i("Gb1H"),
        o = i("vJiZ"),
        a = i("sNEp"),
        s = i("a8UT"),
        u = i("FmWr"),
        l = i("e8Nv"),
        h = i("iOZG");
     r(r.S + r.F * !i("ID9o")(function (t) {
        Array.from(t)
     }), "Array", {
        from: function (t) {
           var e, i, r, c, p = o(t),
              d = "function" == typeof this ? this : Array,
              f = arguments.length,
              g = f > 1 ? arguments[1] : void 0,
              y = void 0 !== g,
              m = 0,
              b = h(p);
           if (y && (g = n(g, f > 2 ? arguments[2] : void 0, 2)), void 0 == b || d == Array && s(b))
              for (i = new d(e = u(p.length)); e > m; m++) l(i, m, y ? g(p[m], m) : p[m]);
           else
              for (c = b.call(p), i = new d; !(r = c.next()).done; m++) l(i, m, y ? a(c, g, [r.value, m], !0) : r.value);
           return i.length = m, i
        }
     })
  },
  U3hN: function (t, e) {
     var i = {}.hasOwnProperty;
     t.exports = function (t, e) {
        return i.call(t, e)
     }
  },
  UPxv: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "System", {
        global: i("T9LF")
     })
  },
  UXfn: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("FmWr"),
        o = i("zAAN"),
        a = "".startsWith;
     n(n.P + n.F * i("IYrR")("startsWith"), "String", {
        startsWith: function (t) {
           var e = o(this, t, "startsWith"),
              i = r(Math.min(arguments.length > 1 ? arguments[1] : void 0, e.length)),
              n = String(t);
           return a ? a.call(e, n, i) : e.slice(i, i + n.length) === n
        }
     })
  },
  Uobz: function (t, e, i) {
     "use strict";
     var n = i("pb4Y"),
        r = i("Gb1H"),
        o = i("wDk4"),
        a = i("Vng0"),
        s = i("9BM3"),
        u = i("Cekr"),
        l = i("bPwn"),
        h = i("K0ev"),
        c = i("YEtG")("iterator"),
        p = !([].keys && "next" in [].keys()),
        d = function () {
           return this
        };
     t.exports = function (t, e, i, f, g, y, m) {
        u(i, e, f);
        var b, v, _, x = function (t) {
              if (!p && t in S) return S[t];
              switch (t) {
                 case "keys":
                 case "values":
                    return function () {
                       return new i(this, t)
                    }
              }
              return function () {
                 return new i(this, t)
              }
           },
           P = e + " Iterator",
           w = "values" == g,
           O = !1,
           S = t.prototype,
           k = S[c] || S["@@iterator"] || g && S[g],
           T = k || x(g),
           C = g ? w ? x("entries") : T : void 0,
           j = "Array" == e && S.entries || k;
        if (j && (_ = h(j.call(new t))) !== Object.prototype && _.next && (l(_, P, !0), n || "function" == typeof _[c] || a(_, c, d)), w && k && "values" !== k.name && (O = !0, T = function () {
              return k.call(this)
           }), n && !m || !p && !O && S[c] || a(S, c, T), s[e] = T, s[P] = d, g)
           if (b = {
                 values: w ? T : x("values"),
                 keys: y ? T : x("keys"),
                 entries: C
              }, m)
              for (v in b) v in S || o(S, v, b[v]);
           else r(r.P + r.F * (p || O), e, b);
        return b
     }
  },
  UsNi: function (t, e, i) {
     "use strict";
     var n = i("m4/l"),
        r = i("58Sn"),
        o = i("+qIf"),
        a = i("hD5A"),
        s = new o.a,
        u = i("x79X"),
        l = i("Tjl+"),
        h = i("zhwk"),
        c = i("WYhe"),
        p = i("Mtpk"),
        d = i("Qkdp");
     i.d(e, "a", function () {
        return f
     });
     var f = function (t) {
        function e() {
           var e = t.call(this) || this;
           return e.adapter = new u.a(e), e._elements = {}, e._IOs = {}, e._content = "", e._title = "", e._classPrefix = "ampopup", e._defaultStyles = !0, e._showCurtain = !1, e._draggable = !0, e._align = "center", e._verticalAlign = "middle", e._shift = {
              x: 0,
              y: 0
           }, e._tempShift = {
              x: 0,
              y: 0
           }, e._readerTitle = "", e._closable = !0, e._cssLoaded = !1, e._fitTo = "window", e.isTemplate = !1, e._sized = !1, e.className = "Popup", e
        }
        return n.c(e, t), e.prototype.open = function () {
           this.container && (this._elements.wrapper && this.container.appendChild(this._elements.wrapper), this._elements.curtain && (this.container.appendChild(this._elements.curtain), this.showCurtain = this.showCurtain), this.positionElement(), this.dispatchImmediately("opened"))
        }, e.prototype.close = function () {
           this._elements.wrapper && this._elements.wrapper.parentElement && this._elements.wrapper.parentElement.removeChild(this._elements.wrapper), this._elements.curtain && this._elements.curtain.parentElement && this._elements.curtain.parentElement.removeChild(this._elements.curtain), this.dispatchImmediately("closed"), this.releasePointers()
        }, e.prototype.dispose = function () {
           this.close(), t.prototype.dispose.call(this)
        }, e.prototype.positionElement = function (t) {
           var e = this;
           void 0 === t && (t = !0), this._elements.wrapper && setTimeout(function () {
              if (e._elements.wrapper) {
                 if (t || !e._sized) {
                    if (e._elements.wrapper.style.opacity = "0.01", e._elements.wrapper.style.left = "0", e._elements.wrapper.style.top = "0", e._elements.wrapper.style.margin = "0 0 0 0", !e._elements.wrapper.style.width) {
                       var i = e._elements.wrapper.getBoundingClientRect();
                       e._elements.wrapper.style.width = i.width + "px", e._elements.wrapper.style.height = i.height + "px"
                    }
                    e._sized = !0
                 }
                 setTimeout(function () {
                    if (e._elements.wrapper) {
                       var i;
                       switch (!t && e._sized || !e._bbox ? (i = e._elements.wrapper.getBoundingClientRect(), e._elements.wrapper.style.opacity = "") : i = e._bbox, e.align) {
                          case "left":
                             e._elements.wrapper.style.left = "0", e._elements.wrapper.style.right = "auto", e._elements.wrapper.style.marginLeft = e.toStyle(e._shift.x + e._tempShift.x);
                             break;
                          case "center":
                             e._elements.wrapper.style.left = "50%", e._elements.wrapper.style.right = "auto", e._elements.wrapper.style.marginLeft = e.toStyle(Math.round(-i.width / 2) + (e._shift.x + e._tempShift.x));
                             break;
                          case "right":
                             e._elements.wrapper.style.left = "auto", e._elements.wrapper.style.right = "0", e._elements.wrapper.style.marginLeft = e.toStyle(e._shift.x + e._tempShift.x);
                             break;
                          default:
                             e._elements.wrapper.style.left = e.toStyle(e.left) || "auto", e._elements.wrapper.style.right = e.toStyle(e.right) || "auto", e._elements.wrapper.style.marginLeft = e.toStyle(e._shift.x + e._tempShift.x)
                       }
                       switch (e.verticalAlign) {
                          case "top":
                             e._elements.wrapper.style.top = "0", e._elements.wrapper.style.bottom = "auto", e._elements.wrapper.style.marginTop = e.toStyle(e._shift.y + e._tempShift.y);
                             break;
                          case "middle":
                             e._elements.wrapper.style.top = "50%", e._elements.wrapper.style.bottom = "auto", e._elements.wrapper.style.marginTop = e.toStyle(Math.round(-i.height / 2) + (e._shift.y + e._tempShift.y));
                             break;
                          case "bottom":
                             e._elements.wrapper.style.top = "auto", e._elements.wrapper.style.bottom = "0", e._elements.wrapper.style.marginTop = e.toStyle(e._shift.y + e._tempShift.y);
                             break;
                          default:
                             e._elements.wrapper.style.top = e.toStyle(e.top) || "auto", e._elements.wrapper.style.bottom = e.toStyle(e.bottom) || "auto", e._elements.wrapper.style.marginTop = e.toStyle(e._shift.y + e._tempShift.y)
                       }
                    }
                 }, 1)
              }
           }, 1)
        }, e.prototype.setupDragging = function () {
           var t = this;
           this.draggable && (this._IOs.wrapper.events.has("drag") || this._IOs.wrapper.events.on("drag", function (e) {
              t._tempShift.x = e.shift.x, t._tempShift.y = e.shift.y, t.positionElement(!1)
           }), this._IOs.wrapper.events.has("dragstop") || this._IOs.wrapper.events.on("dragstop", function (e) {
              t._shift.x += t._tempShift.x, t._shift.y += t._tempShift.y, t._tempShift.x = 0, t._tempShift.y = 0, t.positionElement(!1)
           }))
        }, e.prototype.toStyle = function (t) {
           return p.hasValue(t) ? p.isNumber(t) ? t + "px" : t.toString() : null
        }, Object.defineProperty(e.prototype, "classPrefix", {
           get: function () {
              return this.adapter.apply("classPrefix", this._classPrefix)
           },
           set: function (t) {
              this._classPrefix = t
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "classPrefixRaw", {
           get: function () {
              return this._classPrefix
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "content", {
           get: function () {
              return this.adapter.apply("content", this._content)
           },
           set: function (t) {
              this._content != t && (this._content = t, this._elements.content || this.createContentElement(), this._elements.content.innerHTML = t, this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.getClassNames = function () {
           return this.adapter.apply("classNames", {
              wrapperClass: this.classPrefix + "",
              titleClass: this.classPrefix + "-title",
              contentClass: this.classPrefix + "-content",
              curtainClass: this.classPrefix + "-curtain",
              closeClass: this.classPrefix + "-close"
           })
        }, e.prototype.createContentElement = function () {
           if (!this._elements.wrapper) {
              var t = this.getClassNames(),
                 e = document.createElement("div");
              e.className = t.contentClass, e.style.opacity = "0.01";
              var i = document.createElement("a");
              i.className = t.closeClass;
              var n = document.createElement("div");
              n.innerHTML = this.title, n.className = t.titleClass, this.title || (n.style.display = "none");
              var r = document.createElement("div");
              r.innerHTML = this.content, this._IOs.wrapper = Object(h.b)().getInteraction(e), this._disposers.push(this._IOs.wrapper), this._IOs.wrapper.events.on("over", this.disablePointers, this), this._IOs.wrapper.events.on("out", this.releasePointers, this), this._IOs.close = Object(h.b)().getInteraction(i), this._disposers.push(this._IOs.close), i.style.visibility = "hidden", e.setAttribute("role", "dialog"), e.appendChild(i), e.appendChild(n), e.appendChild(r), this.container.appendChild(e), this._elements.wrapper = e, this._elements.content = r, this._elements.title = n, this._elements.close = i, this.defaultStyles && this.loadDefaultCSS(), this.createCurtainElement(), this.applyEvents(), this.applyReaderSettings(), this.setupDragging()
           }
        }, Object.defineProperty(e.prototype, "title", {
           get: function () {
              return this.adapter.apply("title", this._title)
           },
           set: function (t) {
              this._title != t && (this._title = t, this._elements.content || this.createContentElement(), this._elements.title.innerHTML = t, this.positionElement(), this.applyReaderSettings())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "readerTitle", {
           get: function () {
              return this.adapter.apply("readerTitle", "" != this._readerTitle ? this._readerTitle : this.title)
           },
           set: function (t) {
              this._readerTitle != t && (this._readerTitle = t, this.applyReaderSettings())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "closable", {
           get: function () {
              return this.adapter.apply("closable", this._closable)
           },
           set: function (t) {
              t !== this._closable && (this._closable = t, this.applyEvents())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "fitTo", {
           get: function () {
              return this.adapter.apply("fitTo", this._fitTo)
           },
           set: function (t) {
              t != this._fitTo && (this._fitTo = t, this.positionElement)
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "defaultStyles", {
           get: function () {
              return this.adapter.apply("defaultStyles", this._defaultStyles)
           },
           set: function (t) {
              this._defaultStyles != t && (this._defaultStyles = t)
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "showCurtain", {
           get: function () {
              return this.adapter.apply("showCurtain", this._showCurtain)
           },
           set: function (t) {
              this._showCurtain != t && (this._showCurtain = t, this._elements.curtain && (this._elements.curtain.style.display = t ? "block" : "none"))
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.createCurtainElement = function () {
           var t = this.getClassNames(),
              e = document.createElement("div");
           e.className = t.curtainClass, this.container.appendChild(e), this._IOs.curtain = Object(h.b)().getInteraction(e), this._disposers.push(this._IOs.curtain), this._IOs.curtain.events.on("over", this.disablePointers, this), this._IOs.curtain.events.on("out", this.releasePointers, this), e.style.display = this.showCurtain ? "block" : "none", this._elements.curtain = e
        }, Object.defineProperty(e.prototype, "draggable", {
           get: function () {
              return this.adapter.apply("draggable", this._draggable)
           },
           set: function (t) {
              this._draggable != t && (this._draggable = t, this.setupDragging())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "align", {
           get: function () {
              return this.adapter.apply("align", this._align)
           },
           set: function (t) {
              this._align != t && (this._align = t, this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "verticalAlign", {
           get: function () {
              return this.adapter.apply("verticalAlign", this._verticalAlign)
           },
           set: function (t) {
              this._verticalAlign != t && (this._verticalAlign = t, this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "left", {
           get: function () {
              return this.adapter.apply("left", this._left)
           },
           set: function (t) {
              this.left != t && (this._left = t, this._align = "none", this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "right", {
           get: function () {
              return this.adapter.apply("right", this._right)
           },
           set: function (t) {
              this.right != t && (this._right = t, this._align = "none", this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "top", {
           get: function () {
              return this.adapter.apply("top", this._top)
           },
           set: function (t) {
              this.top != t && (this._top = t, this._verticalAlign = "none", this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "bottom", {
           get: function () {
              return this.adapter.apply("bottom", this._bottom)
           },
           set: function (t) {
              this.bottom != t && (this._bottom = t, this._verticalAlign = "none", this.positionElement())
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "elements", {
           get: function () {
              return this._elements
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.loadDefaultCSS = function () {
           this._cssLoaded || (this._disposers.push(function (t) {
              return t || (t = "ampopup"), s.insertKeyIfEmpty(t, function () {
                 var e = new a.c([new r.c("." + t, {
                    overflow: "visible",
                    position: "absolute",
                    top: "0",
                    left: "0",
                    "z-index": "2000"
                 }), new r.c("." + t + "-curtain", {
                    width: "100%",
                    height: "100%",
                    position: "absolute",
                    top: "0",
                    left: "0",
                    "z-index": "2001",
                    background: "#fff",
                    opacity: "0.5"
                 }), new r.c("." + t + "-title", {
                    "font-weight": "bold",
                    "font-size": "120%"
                 }), new r.c("." + t + "-content", {
                    padding: "1em 2em",
                    background: "rgb(255, 255, 255);",
                    "background-color": "rgba(255, 255, 255, 0.8)",
                    display: "inline-block",
                    position: "absolute",
                    top: "0",
                    left: "0",
                    "max-width": "90%",
                    "max-height": "90%",
                    overflow: "auto",
                    "z-index": "2002"
                 }), new r.c("." + t + "-close", {
                    display: "block",
                    position: "absolute",
                    top: "0.3em",
                    right: "0.3em",
                    "background-color": "rgb(100, 100, 100)",
                    background: "rgba(100, 100, 100, 0.1) url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyBoZWlnaHQ9IjUxMiIgdmVyc2lvbj0iMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ0NS4yIDEwOS4ybC00Mi40LTQyLjRMMjU2IDIxMy42IDEwOS4yIDY2LjhsLTQyLjQgNDIuNEwyMTMuNiAyNTYgNjYuOCA0MDIuOGw0Mi40IDQyLjRMMjU2IDI5OC40bDE0Ni44IDE0Ni44IDQyLjQtNDIuNEwyOTguNCAyNTYiLz48L3N2Zz4=) no-repeat center",
                    "background-size": "80%",
                    width: "1.2em",
                    height: "1.2em",
                    cursor: "pointer"
                 })]);
                 return new a.a(function () {
                    s.removeKey(t), e.dispose()
                 })
              }).increment()
           }(this.classPrefix)), d.each(this._elements, function (t, e) {
              e.style.display = ""
           }), this._cssLoaded = !0)
        }, e.prototype.applyEvents = function () {
           var t = this;
           if (this._IOs.close)
              if (this.closable) {
                 this._IOs.close.element.style.visibility = "visible";
                 var e = [Object(h.b)().body.events.on("keyup", function (e) {
                    c.b.isKey(e.event, "esc") && t.closable && t.close()
                 }), this._IOs.close.events.on("hit", function (e) {
                    t.close()
                 })];
                 e.push(this._IOs.curtain.events.on("hit", function (e) {
                    t.showCurtain && t.close()
                 })), this._disposers.push(new a.c(e))
              } else this._IOs.close.element.style.visibility = "hidden"
        }, e.prototype.disablePointers = function () {
           this.sprite && (this._spriteInteractionsEnabled = this.sprite.interactionsEnabled, this.sprite.interactionsEnabled = !1)
        }, e.prototype.releasePointers = function () {
           p.hasValue(this._spriteInteractionsEnabled) && (this.sprite.interactionsEnabled = this._spriteInteractionsEnabled, this._spriteInteractionsEnabled = void 0)
        }, e.prototype.applyReaderSettings = function () {
           this.elements.wrapper.setAttribute("aria-label", this.readerTitle)
        }, e.prototype.copyFrom = function (e) {
           t.prototype.copyFrom.call(this, e), this.container = e.container, this.sprite = e.sprite, this.classPrefix = e.classPrefixRaw, this.content = e.content, this.title = e.title, this.readerTitle = e.readerTitle, this.defaultStyles = e.defaultStyles, this.showCurtain = e.showCurtain, this.align = e.align, this.verticalAlign = e.verticalAlign, this.left = e.left, this.right = e.right, this.top = e.top, this.bottom = e.bottom, this.adapter.copyFrom(e.adapter)
        }, e
     }(l.b)
  },
  Uslz: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("hD5A"),
        a = i("ND2/"),
        s = i("vMqJ"),
        u = i("aCit"),
        l = i("8ZqG"),
        h = i("MIZb"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._axis = new o.d, e.dataItems = new s.b, e.className = "AxisBreak", e.breakSize = .01, e.marginLeft = -5, e.marginRight = -5, e.marginTop = -5, e.marginBottom = -5;
              var i = new h.a,
                 n = new a.a;
              n.fill = i.getFor("background"), n.stroke = Object(l.c)(), n.fillOpacity = .9, n.zIndex = 0, e._fillShape = n;
              var r = new a.a;
              r.fill = Object(l.c)(), r.stroke = i.getFor("grid"), r.strokeOpacity = .3, r.zIndex = 1, e._startLine = r;
              var u = new a.a;
              return u.fill = Object(l.c)(), u.stroke = Object(l.c)("#000000"), u.strokeOpacity = .3, u.zIndex = 2, e._endLine = u, e._disposers.push(e._axis), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.dispose = function () {
              t.prototype.dispose.call(this), this._fillShape && this._fillShape.dispose(), this._startLine && this._startLine.dispose(), this._endLine && this._endLine.dispose()
           }, Object.defineProperty(e.prototype, "startLine", {
              get: function () {
                 return this._startLine
              },
              set: function (t) {
                 this._startLine && this._startLine.dispose(), this._startLine = t, this.addBreakSprite(t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endLine", {
              get: function () {
                 return this._endLine
              },
              set: function (t) {
                 this._endLine && this._endLine.dispose(), this._endLine = t, this.addBreakSprite(t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fillShape", {
              get: function () {
                 return this._fillShape
              },
              set: function (t) {
                 this._fillShape && this._fillShape.dispose(), this._fillShape = t, this.addBreakSprite(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.addBreakSprite = function (t) {
              t.parent = this, t.isMeasured = !1, this._disposers.push(t)
           }, Object.defineProperty(e.prototype, "axis", {
              get: function () {
                 return this._axis.get()
              },
              set: function (t) {
                 if (this._axis.get() !== t) {
                    this._axis.set(t, t.renderer.gridContainer.events.on("transformed", this.invalidate, this, !1)), t.renderer.createBreakSprites(this);
                    var e = t.axisBreaks.template;
                    this.startLine.copyFrom(e.startLine), this.endLine.copyFrom(e.endLine), this.fillShape.copyFrom(e.fillShape)
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "breakSize", {
              get: function () {
                 return this.getPropertyValue("breakSize")
              },
              set: function (t) {
                 this.setPropertyValue("breakSize", t) && this.axis && (this.axis.invalidate(), this.axis.invalidateSeries())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "startPoint", {
              get: function () {
                 var t = this.axis.renderer;
                 if (t) return t.positionToPoint(this.startPosition)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endPoint", {
              get: function () {
                 var t = this.axis.renderer;
                 if (t) return t.positionToPoint(this.endPosition)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "startPosition", {
              get: function () {},
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endPosition", {
              get: function () {},
              enumerable: !0,
              configurable: !0
           }), e.prototype.draw = function () {
              (t.prototype.draw.call(this), this.axis) && this.axis.renderer.updateBreakElement(this)
           }, Object.defineProperty(e.prototype, "startValue", {
              get: function () {
                 return this.getPropertyValue("startValue")
              },
              set: function (t) {
                 this.setPropertyValue("startValue", t) && this.axis && (this.axis.invalidate(), this.axis.invalidateSeries())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endValue", {
              get: function () {
                 return this.getPropertyValue("endValue")
              },
              set: function (t) {
                 this.setPropertyValue("endValue", t) && this.axis && (this.axis.invalidate(), this.axis.invalidateSeries())
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     u.b.registeredClasses.AxisBreak = c
  },
  UwWU: function (t, e, i) {
     var n = i("4BRe"),
        r = Math.max,
        o = Math.min;
     t.exports = function (t, e) {
        return (t = n(t)) < 0 ? r(t + e, 0) : o(t, e)
     }
  },
  VAFc: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("ohjg"),
        o = i("8ZqG"),
        a = i("aCit"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "DropShadowFilter", e.color = Object(o.c)("#000"), e.feGaussianBlur = e.paper.add("feGaussianBlur"), e.feGaussianBlur.attr({
                 result: "blurOut",
                 in: "SourceGraphic"
              }), e.filterPrimitives.push(e.feGaussianBlur), e.feOffset = e.paper.add("feOffset"), e.feOffset.attr({
                 result: "offsetBlur"
              }), e.filterPrimitives.push(e.feOffset), e.feFlood = e.paper.add("feFlood"), e.feFlood.attr({
                 "flood-color": e.color
              }), e.filterPrimitives.push(e.feFlood), e.feComposite = e.paper.add("feComposite"), e.feComposite.attr({
                 in2: "offsetBlur",
                 operator: "in"
              }), e.filterPrimitives.push(e.feComposite), e.feMerge = e.paper.addGroup("feMerge"), e.feMerge.add(e.paper.add("feMergeNode")), e.feMerge.add(e.paper.add("feMergeNode").attr({
                 in: "SourceGraphic"
              })), e.filterPrimitives.push(e.feMerge), e.width = 200, e.height = 200, e.blur = 1.5, e.dx = 3, e.dy = 3, e.opacity = .5, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "color", {
              get: function () {
                 return this.properties.color
              },
              set: function (t) {
                 this.properties.color = t, this.feFlood && this.feFlood.attr({
                    "flood-color": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "opacity", {
              get: function () {
                 return this.properties.opacity
              },
              set: function (t) {
                 this.properties.opacity = t, this.feFlood.attr({
                    "flood-opacity": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dx", {
              get: function () {
                 return this.properties.dx
              },
              set: function (t) {
                 this.properties.dx = t, this.feOffset.attr({
                    dx: t / this.scale
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dy", {
              get: function () {
                 return this.properties.dy
              },
              set: function (t) {
                 this.properties.dy = t, this.feOffset.attr({
                    dy: t / this.scale
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "blur", {
              get: function () {
                 return this.properties.blur
              },
              set: function (t) {
                 this.properties.blur = t, this.feGaussianBlur.attr({
                    stdDeviation: t / this.scale
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateScale = function () {
              this.dx = this.dx, this.dy = this.dy, this.blur = this.blur
           }, e
        }(r.a);
     a.b.registeredClasses.DropShadowFilter = s
  },
  VCCo: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("FUSD"),
        o = i("vSjZ");
     n(n.P + n.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(o), "String", {
        padStart: function (t) {
           return r(this, t, arguments.length > 1 ? arguments[1] : void 0, !0)
        }
     })
  },
  VGgz: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     }), i.d(e, "c", function () {
        return l
     }), i.d(e, "b", function () {
        return h
     }), i.d(e, "d", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("o0Lc"),
        o = i("hJ5i"),
        a = i("Wglt"),
        s = i("Mtpk"),
        u = function () {
           function t(t) {
              this._values = [], this.events = new r.a, null != t && this.setAll(t)
           }
           return Object.defineProperty(t.prototype, "values", {
              get: function () {
                 return this._values
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype._insert = function (t) {
              return this._values.push(t), this._values.length - 1
           }, Object.defineProperty(t.prototype, "length", {
              get: function () {
                 return this._values.length
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.indexOf = function (t) {
              return o.indexOf(this._values, t)
           }, t.prototype.contains = function (t) {
              return -1 !== this.indexOf(t)
           }, t.prototype.getIndex = function (t) {
              return this._values[t]
           }, Object.defineProperty(t.prototype, "first", {
              get: function () {
                 return this._values[0]
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "last", {
              get: function () {
                 return this._values[this._values.length - 1]
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.insert = function (t) {
              var e = this._insert(t);
              this.events.isEnabled("inserted") && this.events.dispatchImmediately("inserted", {
                 type: "inserted",
                 target: this,
                 index: e,
                 newValue: t
              })
           }, t.prototype.remove = function (t) {
              var e = this.indexOf(t);
              if (-1 !== e) {
                 var i = this._values[e];
                 o.removeIndex(this._values, e), this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
                    type: "removed",
                    target: this,
                    index: e,
                    oldValue: i
                 })
              }
           }, t.prototype.setAll = function (t) {
              var e = this;
              o.eachReverse(this._values, function (t, i) {
                 e._values.pop(), e.events.isEnabled("removed") && e.events.dispatchImmediately("removed", {
                    type: "removed",
                    target: e,
                    index: i,
                    oldValue: t
                 })
              }), o.each(t, function (t) {
                 e.insert(t)
              })
           }, t.prototype.clear = function () {
              this.setAll([])
           }, t.prototype.slice = function (e, i) {
              var n = new t;
              return n._values = this._values.slice(e, i), n
           }, t.prototype.findClosestIndex = function (t, e, i) {
              void 0 === i && (i = "any");
              var n, r, o = -1,
                 u = 0;
              return a.eachContinue(this.iterator(), function (a) {
                 var l = e(a);
                 if (l === t) return o = u, !1;
                 if ("any" === i) {
                    var h = Math.abs(t - l);
                    (!s.hasValue(r) || r > h) && (o = u, n = l, r = h)
                 } else "left" === i && l < t ? (!s.hasValue(n) || n < l) && (o = u, n = l) : "right" === i && l > t && (!s.hasValue(n) || n > l) && (o = u, n = l);
                 return ++u, !0
              }), -1 === o && ("left" === i ? o = 0 : "right" === i && (o = this.length - 1)), o
           }, t.prototype.iterator = function () {
              return a.fromArray(this._values)
           }, t.prototype[Symbol.iterator] = function () {
              var t, e;
              return n.d(this, function (i) {
                 switch (i.label) {
                    case 0:
                       t = this._values.length, e = 0, i.label = 1;
                    case 1:
                       return e < t ? [4, this._values[e]] : [3, 4];
                    case 2:
                       i.sent(), i.label = 3;
                    case 3:
                       return ++e, [3, 1];
                    case 4:
                       return [2]
                 }
              })
           }, t.prototype.each = function (t) {
              o.each(this._values, t)
           }, t
        }(),
        l = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i._ordering = e, i
           }
           return n.c(e, t), e.prototype._insert = function (t) {
              var e = o.getSortedIndex(this._values, this._ordering, t).index;
              return o.insertIndex(this._values, e, t), e
           }, e.prototype.indexOf = function (t) {
              var e = o.getSortedIndex(this._values, this._ordering, t),
                 i = e.found,
                 n = e.index;
              return i ? n : -1
           }, e.prototype.update = function (t) {
              var e = o.indexOf(this._values, t);
              if (-1 !== e) {
                 var i = this._values.length - 1;
                 (0 === e || this._ordering(this._values[e - 1], t) < 0) && (e === i || this._ordering(t, this._values[e + 1]) < 0) || (o.removeIndex(this._values, e), this._insert(t))
              }
           }, e
        }(u),
        h = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i.template = e, i
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "template", {
              get: function () {
                 return this._template
              },
              set: function (t) {
                 t.isTemplate = !0, this._template = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (t) {
              var e = this;
              a.each(t.iterator(), function (t) {
                 e.insert(t.clone())
              })
           }, e.prototype.slice = function (t, i) {
              var n = new e(this.template);
              return n._values = this._values.slice(t, i), n
           }, e.prototype.create = function (t) {
              var e = null != t ? new t : this.template.clone();
              return this.insert(e), e
           }, e
        }(u),
        c = function (t) {
           function e(e, i) {
              var n = t.call(this, i) || this;
              return n.template = e, n
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "template", {
              get: function () {
                 return this._template
              },
              set: function (t) {
                 t.isTemplate = !0, this._template = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (t) {
              var e = this;
              a.each(t.iterator(), function (t) {
                 e.insert(t.clone())
              })
           }, e.prototype.create = function (t) {
              var e = null != t ? new t : this.template.clone();
              return this.insert(e), e
           }, e
        }(l)
  },
  VIOb: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return d
     }), i.d(e, "a", function () {
        return f
     });
     var n = i("m4/l"),
        r = i("Y9w3"),
        o = i("hD5A"),
        a = i("vMqJ"),
        s = i("C6dT"),
        u = i("p9TX"),
        l = i("A6AV"),
        h = i("tjMS"),
        c = i("Wglt"),
        p = i("Mtpk"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "ChartDataItem", e.applyTheme(), e
           }
           return n.c(e, t), e
        }(l.a),
        f = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._legend = new o.d, e.className = "Chart";
              var i = new u.a;
              e.titles = new a.e(i), e._disposers.push(new a.c(e.titles)), e._disposers.push(i), e.width = Object(h.c)(100), e.height = Object(h.c)(100), e.layout = "vertical";
              var n = e.createChild(s.a);
              n.shouldClone = !1, n.layout = "vertical", n.width = Object(h.c)(100), n.height = Object(h.c)(100), e.chartAndLegendContainer = n;
              var r = n.createChild(s.a);
              return r.shouldClone = !1, r.width = Object(h.c)(100), r.height = Object(h.c)(100), e.chartContainer = r, e.showOnInit = !0, e._disposers.push(e._legend), e.titles.events.on("inserted", function (t) {
                 e.processTitle(t), e.updateReaderTitleReferences()
              }, e, !1), e.titles.events.on("removed", function (t) {
                 e.updateReaderTitleReferences()
              }, e, !1), e.role = "region", e.defaultState.transitionDuration = 1, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), p.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Chart"))
           }, e.prototype.draw = function () {
              this.fixLayout(), t.prototype.draw.call(this)
           }, e.prototype.fixLayout = function () {
              var t = this.legend;
              if (t) {
                 var e = this.chartAndLegendContainer,
                    i = this.chartContainer;
                 switch (i.x = void 0, i.y = void 0, t.x = void 0, t.y = void 0, t.position) {
                    case "left":
                       e.layout = "horizontal", p.isNumber(t.width) || (t.width = 200), t.toBack();
                       break;
                    case "right":
                       e.layout = "horizontal", p.isNumber(t.width) || (t.width = 200), t.toFront();
                       break;
                    case "top":
                       e.layout = "vertical", t.maxWidth = void 0, t.width = Object(h.c)(100), t.toBack();
                       break;
                    case "bottom":
                       e.layout = "vertical", t.maxWidth = void 0, t.width = Object(h.c)(100), t.toFront()
                 }
              }
           }, e.prototype.feedLegend = function () {}, e.prototype.processTitle = function (t) {
              var e = t.newValue;
              return e.parent = this, e.toBack(), e.shouldClone = !1, e.align = "center", e.uidAttr(), e
           }, e.prototype.updateReaderTitleReferences = function () {
              if (this.titles.length) {
                 var t = [];
                 c.each(this.titles.iterator(), function (e) {
                    t.push(e.uid)
                 }), this.setSVGAttribute({
                    "aria-labelledby": t.join(" ")
                 })
              } else this.removeSVGAttribute("aria-labelledby")
           }, Object.defineProperty(e.prototype, "legend", {
              get: function () {
                 return this._legend.get()
              },
              set: function (t) {
                 this.setLegend(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setLegend = function (t) {
              var e = this;
              this._legend.get() !== t && (t ? (t.parent = this.chartAndLegendContainer, this._legend.set(t, t.events.on("propertychanged", function (t) {
                 "position" != t.property && "width" != t.property || e.fixLayout()
              }, void 0, !1))) : this._legend.reset(), this.feedLegend())
           }, e.prototype.processConfig = function (e) {
              e && p.hasValue(e.legend) && !p.hasValue(e.legend.type) && (e.legend.type = "Legend"), t.prototype.processConfig.call(this, e)
           }, e.prototype.copyFrom = function (e) {
              this.titles.copyFrom(e.titles), e.legend && (this.legend = e.legend.clone()), t.prototype.copyFrom.call(this, e)
           }, e
        }(r.a)
  },
  VYrJ: function (t, e, i) {
     var n = i("OB1/")("keys"),
        r = i("7bL/");
     t.exports = function (t) {
        return n[t] || (n[t] = r(t))
     }
  },
  Vk33: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("FzPm"),
        o = i("aCit"),
        a = i("hGwe"),
        s = i("Gg2j"),
        u = i("v9UT"),
        l = i("aFzC"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "WavedCircle", e.element = e.paper.add("path"), e.waveLength = 16, e.waveHeight = 4, e.fill = void 0, e.fillOpacity = 0, e.tension = .8, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              var t = "",
                 e = this.pixelRadius;
              if (e > 0) {
                 var i = this.getPoints(e);
                 t = a.moveTo(i[0]) + new l.b(this.tension, this.tension).smooth(i)
              }
              var n = this.pixelInnerRadius;
              n > 0 && ((i = this.getPoints(n)).reverse(), t += a.moveTo(i[0]) + new l.b(this.tension, this.tension).smooth(i));
              this.path = t
           }, e.prototype.getPoints = function (t) {
              for (var e = t * Math.PI * 2, i = this.waveHeight / 2, n = e / Math.round(e / this.waveLength), r = n / 2, o = [], a = e / n, u = 0; u <= a; u++) {
                 var l = u * n / e * 360,
                    h = (u * n + r) / e * 360;
                 o.push({
                    x: (t - i) * s.cos(l),
                    y: (t - i) * s.sin(l)
                 }), o.push({
                    x: (t + i) * s.cos(h),
                    y: (t + i) * s.sin(h)
                 })
              }
              return o.pop(), o
           }, Object.defineProperty(e.prototype, "innerRadius", {
              get: function () {
                 return this.getPropertyValue("innerRadius")
              },
              set: function (t) {
                 this.setPercentProperty("innerRadius", t, !0, !1, 10, !1), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelInnerRadius", {
              get: function () {
                 return u.relativeToValue(this.innerRadius, s.min(this.innerWidth / 2, this.innerHeight / 2))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "waveLength", {
              get: function () {
                 return this.getPropertyValue("waveLength")
              },
              set: function (t) {
                 this.setPropertyValue("waveLength", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "waveHeight", {
              get: function () {
                 return this.getPropertyValue("waveHeight")
              },
              set: function (t) {
                 this.setPropertyValue("waveHeight", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tension", {
              get: function () {
                 return this.getPropertyValue("tension")
              },
              set: function (t) {
                 this.setPropertyValue("tension", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.WavedCircle = h
  },
  Vng0: function (t, e, i) {
     var n = i("hjwn"),
        r = i("Wbjh");
     t.exports = i("gD3S") ? function (t, e, i) {
        return n.f(t, e, r(1, i))
     } : function (t, e, i) {
        return t[e] = i, t
     }
  },
  Vs7R: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return R
     }), i.d(e, "a", function () {
        return L
     });
     var n = i("m4/l"),
        r = i("ux7t"),
        o = i("kQxV"),
        a = i("Tjl+"),
        s = i("x79X"),
        u = i("+qIf"),
        l = i("vMqJ"),
        h = i("hD5A"),
        c = i("1yyj"),
        p = i("P7v+"),
        d = i("C6dT"),
        f = i("ZLF9"),
        g = i("sxA1"),
        y = i("CuFa"),
        m = i("8ZqG"),
        b = i("zhwk"),
        v = i("qCRI"),
        _ = i("Q4nc"),
        x = i("aCit"),
        P = i("CTEm"),
        w = i("7XB+"),
        O = i("akNo"),
        S = i("MipW"),
        k = i("P/bD"),
        T = i("GAaQ"),
        C = i("v9UT"),
        j = i("Gg2j"),
        I = i("ScGY"),
        V = i("hJ5i"),
        M = i("Qkdp"),
        D = i("Mtpk"),
        E = i("Wglt"),
        F = i("Rpw0"),
        N = i("tjMS"),
        R = ["fill", "fillOpacity", "stroke", "strokeOpacity", "strokeWidth", "strokeDasharray"],
        L = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.properties = {}, e.events = new o.a(e), e.adapter = new s.a(e), e._bindings = {}, e._isTemplate = !1, e._inited = !1, e._ready = !1, e.isHiding = !1, e._isHidden = !1, e.isShowing = !1, e.isStandaloneInstance = !1, e._isActive = !1, e._mask = new h.d, e._positionPrecision = 3, e._language = new h.d, e._rtl = !1, e._exporting = new h.d, e._bbox = {
                 x: 0,
                 y: 0,
                 width: 0,
                 height: 0
              }, e.invalid = !1, e.positionInvalid = !1, e.propertyFields = {}, e.applyOnClones = !1, e.maxLeft = 0, e.maxRight = 0, e.maxTop = 0, e.maxBottom = 0, e._isDragged = !1, e._disabled = !1, e._internalDisabled = !1, e._updateDisabled = !1, e._internalDefaultsApplied = !1, e.rollOutDelay = 0, e.isBaseSprite = !1, e.shouldClone = !0, e.appeared = !1, e.ex = 0, e.ey = 0, e.className = "Sprite", e.uid, e.group = e.paper.addGroup("g"), e.setPropertyValue("scale", 1), e.setPropertyValue("rotation", 0), e.setPropertyValue("align", "none"), e.setPropertyValue("valign", "none"), e.setPropertyValue("pixelPerfect", !1), e.setPropertyValue("visible", !0), e.setPropertyValue("tooltipPosition", "fixed"), e.setPropertyValue("verticalCenter", "none"), e.setPropertyValue("horizontalCenter", "none"), e.setPropertyValue("marginTop", 0), e.setPropertyValue("marginBottom", 0), e.setPropertyValue("marginLeft", 0), e.setPropertyValue("marginRight", 0), e.setPropertyValue("dx", 0), e.setPropertyValue("dy", 0), e.setPropertyValue("paddingTop", 0), e.setPropertyValue("paddingBottom", 0), e.setPropertyValue("paddingRight", 0), e.setPropertyValue("paddingLeft", 0), e.setPropertyValue("togglable", !1), e.setPropertyValue("hidden", !1), e.setPropertyValue("urlTarget", "_self"), e._prevMeasuredWidth = 0, e._prevMeasuredHeight = 0, e._measuredWidth = 0, e._measuredHeight = 0, e._isMeasured = !0, e.invalidate(), e.applyTheme(), e._disposers.push(e.events), e._disposers.push(e.group), e._disposers.push(e._mask), e._disposers.push(e._language), e._disposers.push(e._exporting), e._disposers.push(new h.b(function () {
                 M.each(e._bindings, function (t, e) {
                    e.dispose()
                 })
              })), e.setPropertyValue("interactionsEnabled", !0), e
           }
           return n.c(e, t), e.prototype.applyTheme = function () {
              t.prototype.applyTheme.call(this), _.a.autoSetClassName && this.setClassName()
           }, e.prototype.getCurrentThemes = function () {
              var t = this._themes;
              if (t) return t;
              var e = this.parent;
              return e ? e.getCurrentThemes() : x.b.themes
           }, e.prototype.applyInternalDefaults = function () {
              this._internalDefaultsApplied = !0
           }, e.prototype.invalidate = function () {
              this.disabled || this._isTemplate || this.invalid || (this.invalid = !0, x.b.addToInvalidSprites(this), F.b.requestFrame())
           }, e.prototype.validate = function () {
              this.dispatchImmediately("beforevalidated"), this._internalDefaultsApplied || this.applyInternalDefaults(), this.beforeDraw(), this.draw(), this.invalid = !1, x.b.removeFromInvalidSprites(this), this.afterDraw()
           }, e.prototype.invalidatePosition = function () {
              this.disabled || this._isTemplate || this.positionInvalid || (this.positionInvalid = !0, x.b.addToInvalidPositions(this), F.b.requestFrame())
           }, e.prototype.validatePosition = function () {
              var t = this.pixelX,
                 e = this.pixelY,
                 i = this.dx,
                 n = this.dy,
                 r = t + i,
                 o = e + n;
              this._updateDisabled && (this._internalDisabled ? this.group.attr({
                 display: "none"
              }) : this.disabled || this.removeSVGAttribute("display"), this._updateDisabled = !1);
              var a = this.measure(),
                 s = this.group.transformString;
              this.group.moveTo({
                 x: r,
                 y: o
              }), this.group.rotation = this.rotation, this.nonScaling ? this.group.scale = this.scale / this.globalScale : this.group.scale = this.scale, (s != this.group.transformString || a) && (null == s ? this.dispatch("transformed") : this.dispatchImmediately("transformed"), this.dispatch("positionchanged")), t + i == r && e + n == o && (x.b.removeFromInvalidPositions(this), this.positionInvalid = !1);
              var u = this._maskRectangle;
              u && this._clipElement.moveTo({
                 x: u.x - t,
                 y: u.y - e
              })
           }, e.prototype.beforeDraw = function () {}, e.prototype.draw = function () {}, e.prototype.afterDraw = function () {
              if ((this.isMeasured || "none" !== this.horizontalCenter || "none" !== this.verticalCenter) && this.measureElement(), this._inited) this.dispatch("validated");
              else {
                 try {
                    for (var t = n.g(this.adapter.keys()), e = t.next(); !e.done; e = t.next()) {
                       var i = e.value;
                       switch (i) {
                          case "mask":
                          case "fill":
                          case "opacity":
                          case "fillOpacity":
                          case "stroke":
                          case "strokeOpacity":
                          case "shapeRendering":
                          case "strokeDasharray":
                             this[i] = this[i]
                       }
                    }
                 } catch (t) {
                    r = {
                       error: t
                    }
                 } finally {
                    try {
                       e && !e.done && (o = t.return) && o.call(t)
                    } finally {
                       if (r) throw r.error
                    }
                 }
                 this.applyFilters(), this.visible = this.visible, this.interactionsEnabled = this.getPropertyValue("interactionsEnabled"), this._inited = !0, this.showOnInit || (this.appeared = !0), this.hidden && this.hide(0), this.applyMask(), this.dispatch("validated"), this.dispatch("inited"), this.dispatchReady()
              }
              var r, o
           }, e.prototype.dispatchReady = function () {
              this.isReady() || (this._ready = !0, this.dispatch("ready"))
           }, e.prototype.reinit = function () {
              this._inited = !1, this.setState(this.defaultState), this.invalidate()
           }, e.prototype.handleGlobalScale = function () {
              this.dispatch("globalscalechanged"), this.nonScalingStroke && (this.strokeWidth = this.strokeWidth), this.nonScaling && this.validatePosition(), this.updateFilterScale()
           }, e.prototype.updateFilterScale = function () {
              var t = this;
              E.each(this.filters.iterator(), function (e) {
                 e.scale = t.globalScale
              })
           }, e.prototype.removeFromInvalids = function () {
              x.b.removeFromInvalidSprites(this), x.b.removeFromInvalidPositions(this)
           }, e.prototype.copyFrom = function (e) {
              var i = this;
              t.prototype.copyFrom.call(this, e), this.events.copyFrom(e.events), this.isMeasured = e.isMeasured, this.states.copyFrom(e.states), e.filters.length > 0 && e.filters.each(function (t) {
                 i.filters.push(t.clone())
              }), this.adapter.copyFrom(e.adapter), e._interaction && this.interactions.copyFrom(e.interactions), this.configField = e.configField, this.applyOnClones = e.applyOnClones, this.disabled = e.disabled, this.virtualParent = e.virtualParent, this.exportable = e.exportable, e._tooltip && (this._tooltip ? this._tooltip.copyFrom(e.tooltip) : this.tooltip = e.tooltip.clone()), this._showSystemTooltip = e.showSystemTooltip, C.copyProperties(e.propertyFields, this.propertyFields), C.copyProperties(e.properties, this), e.fillModifier && (this.fillModifier = e.fillModifier.clone()), e.strokeModifier && (this.strokeModifier = e.strokeModifier.clone())
           }, e.prototype.dispose = function () {
              if (!this.isDisposed()) {
                 if (this.dispatchImmediately("beforedisposed"), this.isBaseSprite) {
                    if (this.htmlContainer)
                       for (; this.htmlContainer.childNodes.length > 0;) this.htmlContainer.removeChild(this.htmlContainer.firstChild);
                    this.isBaseSprite = !1
                 }
                 if (t.prototype.dispose.call(this), this.adapter.clear(), this.applyOnClones && this._clones)
                    for (var e = this._clones.length - 1; e >= 0; e--) {
                       this._clones.getIndex(e).dispose()
                    }
                 if (this._svgContainer && this._svgContainer.dispose(), this._interactionDisposer && this._interactionDisposer.dispose(), this._urlDisposer && this._urlDisposer.dispose(), this.removeFromInvalids(), this.element && this.element.dispose(), this.group && this.group.dispose(), this._numberFormatter && this._numberFormatter.dispose(), this._focusFilter && this._focusFilter.dispose(), !this.stroke || this.stroke instanceof m.a || this.stroke.dispose(), !this.fill || this.fill instanceof m.a || this.fill.dispose(), D.hasValue(this.id) && this.map.removeKey(this.id), this.parent = void 0, this._filters)
                    for (; this._filters.length > 0;) {
                       var i = this._filters.getIndex(0);
                       i.dispose(), this._filters.removeValue(i)
                    }
              }
           }, Object.defineProperty(e.prototype, "isTemplate", {
              get: function () {
                 return this._isTemplate
              },
              set: function (t) {
                 t = D.toBoolean(t), this._isTemplate != t && (this._isTemplate = t, this instanceof d.a && E.each(this.children.iterator(), function (e) {
                    e.isTemplate = t
                 }), t ? (this.parent = this.parent, this.removeFromInvalids()) : this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "showSystemTooltip", {
              get: function () {
                 return D.hasValue(this._showSystemTooltip) ? this._showSystemTooltip : !!this.parent && this.parent.showSystemTooltip
              },
              set: function (t) {
                 t = D.toBoolean(t), this._showSystemTooltip = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "topParent", {
              get: function () {
                 return this._topParent ? this._topParent : this.parent ? this.parent.topParent : void 0
              },
              set: function (t) {
                 this._topParent = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "parent", {
              get: function () {
                 return this._parent
              },
              set: function (t) {
                 if (!this._isTemplate) {
                    this.paper;
                    var e = this._parent;
                    e != t && (e && e.children.removeValue(this), this._parent = t, t ? (this.topParent = t.topParent, t.isTemplate && (this.isTemplate = !0), this.baseId = t.baseId, t.children.push(this), this._tooltip && !this._tooltipContainer && (this._tooltip.parent = t.tooltipContainer), this._dataItem || (this.dataItem = t.dataItem)) : this.topParent = void 0)
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "virtualParent", {
              get: function () {
                 return this._virtualParent
              },
              set: function (t) {
                 this._virtualParent = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.appendDefs = function () {
              this.filterElement && this.paper.appendDef(this.filterElement);
              var t = this.fill;
              t && t.element && this.paper.appendDef(t.element);
              var e = this.stroke;
              if (e && e.element && this.paper.appendDef(e.element), this.fillModifier && this.fill instanceof m.a) {
                 var i = this.fillModifier.modify(this.fill);
                 i && i.element && this.paper.appendDef(i.element)
              }
              if (this.strokeModifier && this.stroke instanceof m.a) {
                 var n = this.strokeModifier.modify(this.stroke);
                 n && n.element && this.paper.appendDef(n.element)
              }
              this._clipPath && this.paper.appendDef(this._clipPath)
           }, Object.defineProperty(e.prototype, "map", {
              get: function () {
                 var t = this.topParent;
                 return t ? t.map : (this._map || (this._map = new u.a), this._map)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "id", {
              get: function () {
                 return this._id
              },
              set: function (t) {
                 if (this._id != t) {
                    if (this._id = t, this.map.hasKey(t)) throw Error("Duplicate id (" + t + ") used on multiple objects.");
                    this.map.setKey(t, this), _.a.autoSetClassName && this.setClassName()
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dom", {
              get: function () {
                 return this.group.node
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "paper", {
              get: function () {
                 return this._paper ? this._paper : this.parent ? this.parent.paper : Object(p.b)()
              },
              set: function (t) {
                 this.setPaper(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setPaper = function (t) {
              return this._paper != t && (this._paper = t, this.appendDefs(), !0)
           }, Object.defineProperty(e.prototype, "htmlContainer", {
              get: function () {
                 return this._htmlContainer ? this._htmlContainer : this.parent ? this.parent.htmlContainer : void 0
              },
              set: function (t) {
                 this._htmlContainer = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "titleElement", {
              get: function () {
                 return this._titleElement || (this._titleElement = this.paper.add("title"), this.group.add(this._titleElement)), this._titleElement
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "descriptionElement", {
              get: function () {
                 return this._descriptionElement || (this._descriptionElement = this.paper.add("desc"), this.group.add(this._descriptionElement)), this._descriptionElement
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "filters", {
              get: function () {
                 return this._filters || (this._filters = new l.b, this._disposers.push(this._filters.events.onAll(this.applyFilters, this)), this._disposers.push(new l.c(this._filters))), this._filters
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setSVGAttributes = function () {
              this.fill = this.fill, this.opacity = this.opacity, this.fillOpacity = this.fillOpacity, this.stroke = this.stroke, this.strokeOpacity = this.strokeOpacity, this.shapeRendering = this.shapeRendering, this.strokeDasharray = this.strokeDasharray, this.focusable = this.focusable, this.tabindex = this.tabindex, this.role = this.role
           }, e.prototype.setSVGAttribute = function (t) {
              this.group.attr(t)
           }, e.prototype.removeSVGAttribute = function (t) {
              this.group.removeAttr(t)
           }, e.prototype.setClassName = function () {
              var t = this.className,
                 e = _.a.classNamePrefix;
              this.element && this.element.addClass(e + t), this.group.addClass(e + t + "-group"), D.hasValue(this.id) && this.group.addClass(e + this.id)
           }, e.prototype.uidAttr = function () {
              return this.setSVGAttribute({
                 id: this.uid
              }), this.uid
           }, e.prototype.updateClipPath = function () {
              var t = this._clipElement;
              t && t.moveTo({
                 x: this.mask.pixelX,
                 y: this.mask.pixelY
              })
           }, e.prototype.createClipPath = function () {
              if (!this._clipPath) {
                 this._clipPath = this.paper.addGroup("clipPath"), this.paper.appendDef(this._clipPath), this._disposers.push(this._clipPath);
                 var t = x.b.getUniqueId();
                 this._clipPath.attr({
                    id: t
                 }), this.group.attr({
                    "clip-path": "url(#" + t + ")"
                 })
              }
           }, e.prototype.applyMask = function () {
              var t = this.mask;
              if (this._clipPath && t)
                 if (t instanceof d.a) {
                    this._clipElement.attr({
                       width: j.max(0, t.pixelWidth),
                       height: j.max(0, t.pixelHeight)
                    });
                    var e = C.spritePointToSprite({
                       x: t.pixelX,
                       y: t.pixelY
                    }, t.parent, this);
                    this._clipPath.x = e.x, this._clipPath.y = e.y
                 } else t.element && t.element != this._clipElement && (this._clipElement = t.element, this._clipPath.add(this._clipElement)), this._clipPath.scale = t.scale, this._clipPath.x = t.pixelX, this._clipPath.y = t.pixelY, this._clipPath.rotation = t.rotation
           }, e.prototype.applyFilters = function () {
              var t = this;
              if (this._filters && this._filters.length > 0) {
                 var e = 100,
                    i = 100;
                 this.filterElement ? this.filterElement.removeChildNodes() : (this.filterElement = this.paper.addGroup("filter"), this._disposers.push(this.filterElement)), this.paper.appendDef(this.filterElement);
                 var n = "filter-" + this.uid;
                 this.filterElement.attr({
                    id: n
                 }), E.each(this.filters.iterator(), function (n) {
                    n.sprite = t, n.paper = t.paper, n.appendPrimitives(t.filterElement), n.width > e && (e = n.width), n.height > i && (i = n.height), n.scale = t.globalScale
                 });
                 var r = e + "%",
                    o = i + "%";
                 this.filterElement.attr({
                    width: r,
                    height: o,
                    x: -(e - 100) / 2 + "%",
                    y: -(i - 100) / 2 + "%"
                 }), this.group.attr({
                    filter: "url(#" + n + ")"
                 })
              } else this.filterElement && (this.group.removeAttr("filter"), this.filterElement.removeChildNodes())
           }, e.prototype.removeClipPath = function () {
              this._clipPath && (this.removeDispose(this._clipPath), this._clipPath = void 0)
           }, e.prototype.setElement = function (t) {
              this.element = t, this.setSVGAttributes(), this.applyAccessibility()
           }, Object.defineProperty(e.prototype, "element", {
              get: function () {
                 return this._element
              },
              set: function (t) {
                 this.removeElement(), this._element = t, this.group.add(t), this.invalid || this.validate(), _.a.autoSetClassName && this.setClassName()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "svgContainer", {
              get: function () {
                 return this._svgContainer ? this._svgContainer : this.parent ? this.parent.svgContainer : void 0
              },
              set: function (t) {
                 this._svgContainer = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.measureElement = function () {
              if (this.element)
                 if (this.definedBBox) this._bbox = this.definedBBox;
                 else {
                    var t = this.element.getBBox();
                    this._bbox = {
                       x: t.x,
                       y: t.y,
                       width: t.width,
                       height: t.height
                    }
                 }
           }, e.prototype.updateCenter = function () {
              if (this.element) {
                 var t = this.element.transformString,
                    e = this.bbox,
                    i = 0,
                    n = 0,
                    r = e.x,
                    o = e.y,
                    a = e.width,
                    s = e.height,
                    u = this.pixelPaddingLeft,
                    l = this.pixelPaddingRight,
                    h = this.pixelPaddingTop,
                    c = this.pixelPaddingBottom,
                    p = j.max(a + u + l, this.pixelWidth),
                    d = j.max(s + h + c, this.pixelHeight),
                    f = e.x,
                    g = e.x + p,
                    y = e.y,
                    m = e.y + d,
                    b = this.horizontalCenter,
                    v = this.verticalCenter;
                 switch (b) {
                    case "none":
                       i = r + u;
                       break;
                    case "left":
                       i = u;
                       break;
                    case "middle":
                       i = u - (a + l + u) / 2;
                       break;
                    case "right":
                       i = -l - a
                 }
                 switch (v) {
                    case "none":
                       n = o + h;
                       break;
                    case "top":
                       n = h;
                       break;
                    case "middle":
                       n = h - (s + c + h) / 2;
                       break;
                    case "bottom":
                       n = -c - s
                 }
                 this._measuredHeight = d, this._measuredWidth = p;
                 var _ = j.round(i - r, this._positionPrecision, !0),
                    x = j.round(n - o, this._positionPrecision, !0);
                 this.ex = _ - u, this.ey = x - h, this.maxLeft = f + _ - u, this.maxRight = g + _ - u, this.maxTop = y + x - h, this.maxBottom = m + x - h, this.pixelPerfect && (_ -= .5, x -= .5), this.element.moveTo({
                    x: _,
                    y: x
                 }), t != this.element.transformString && this.dispatchImmediately("transformed")
              }
           }, e.prototype.measure = function () {
              this.updateCenter();
              this.bbox;
              var t = this._measuredWidth,
                 e = this._measuredHeight,
                 i = this.maxLeft,
                 n = this.maxRight,
                 r = this.maxTop,
                 o = this.maxBottom;
              this._measuredWidthSelf = t, this._measuredHeightSelf = e;
              var a = this._positionPrecision;
              if (0 !== this.rotation || 1 !== this.scale) {
                 this.nonScalingStroke && (this.strokeWidth = this.strokeWidth);
                 var s = this.paper.svg,
                    u = s.createSVGMatrix(),
                    l = this.rotation;
                 u.a = j.cos(l) * this.scale, u.c = -j.sin(l) * this.scale, u.e = 0, u.b = j.sin(l) * this.scale, u.d = j.cos(l) * this.scale, u.f = 0;
                 var h = s.createSVGPoint();
                 h.x = i, h.y = r;
                 var c = s.createSVGPoint();
                 c.x = n, c.y = r;
                 var p = s.createSVGPoint();
                 p.x = n, p.y = o;
                 var d = s.createSVGPoint();
                 d.x = i, d.y = o;
                 var f = h.matrixTransform(u),
                    g = c.matrixTransform(u),
                    y = p.matrixTransform(u),
                    m = d.matrixTransform(u);
                 i = Math.min(f.x, g.x, y.x, m.x), n = Math.max(f.x, g.x, y.x, m.x), r = Math.min(f.y, g.y, y.y, m.y), t = n - i, e = (o = Math.max(f.y, g.y, y.y, m.y)) - r, this.maxLeft = j.round(i, a, !0), this.maxRight = j.round(n, a, !0), this.maxTop = j.round(r, a, !0), this.maxBottom = j.round(o, a, !0)
              }
              return this._measuredWidth = j.round(t, a, !0), this._measuredHeight = j.round(e, a, !0), (this._measuredWidth != this._prevMeasuredWidth || this._measuredHeight != this._prevMeasuredHeight) && (this._prevMeasuredHeight = this._measuredHeight, this._prevMeasuredWidth = this._measuredWidth, this.dispatch("sizechanged"), this.isHover && this.tooltip && this.tooltip.visible && this.updateTooltipPosition(), !0)
           }, e.prototype.insertBefore = function (t) {
              var e = this.parent;
              if (e) {
                 var i = e.children.indexOf(t); - 1 !== i && (e.children.moveValue(this, i), e.sortChildren())
              }
              return this
           }, e.prototype.insertAfter = function (t) {
              var e = this.parent;
              if (e) {
                 var i = e.children.indexOf(t); - 1 !== i && (e.children.moveValue(this, i + 1), e.sortChildren())
              }
              return this
           }, e.prototype.removeElement = function () {
              this._element && (this.removeDispose(this._element), this._element = void 0)
           }, e.prototype.getRelativeX = function (t) {
              return t instanceof N.a ? t.value : this.parent ? t / this.parent.innerWidth : 0
           }, e.prototype.getRelativeY = function (t) {
              return t instanceof N.a ? t.value : this.parent ? t / this.parent.innerHeight : 0
           }, e.prototype.getPixelX = function (t) {
              var e = 0;
              if (D.isNumber(t)) e = t;
              else if (t instanceof N.a) {
                 var i = t.value;
                 this.parent && (e = j.round(this.parent.innerWidth * i, this._positionPrecision, !0))
              }
              return e
           }, e.prototype.getPixelY = function (t) {
              var e = 0;
              if (D.isNumber(t)) e = t;
              else if (t instanceof N.a) {
                 var i = t.value;
                 this.parent && (e = j.round(this.parent.innerHeight * i, this._positionPrecision, !0))
              }
              return e
           }, e.prototype.moveTo = function (t, e, i, n) {
              this.isDragged && !n || (t && (D.isNumber(t.x) && this.setPropertyValue("x", t.x), D.isNumber(t.y) && this.setPropertyValue("y", t.y)), D.isNumber(e) && (this.rotation = e), D.isNumber(i) && (this.scale = i), this.invalidatePosition())
           }, Object.defineProperty(e.prototype, "mask", {
              get: function () {
                 return this.adapter.apply("mask", this._mask.get())
              },
              set: function (t) {
                 var e = this;
                 this._mask.get() !== t && (t ? (this.createClipPath(), t instanceof d.a ? this._clipElement = this.paper.add("rect") : (t.isMeasured = !1, t.element && (this._clipElement = t.element)), this._clipElement && this._clipPath.add(this._clipElement), this._mask.set(t, new h.c([t.events.on("maxsizechanged", function () {
                    e.inited && e.applyMask
                 }, void 0, !1), t.events.on("validated", this.applyMask, this, !1), t.events.on("positionchanged", this.applyMask, this, !1)])), this.applyMask()) : (this._mask.reset(), this.group.removeAttr("clip-path"), this.removeClipPath()))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maskRectangle", {
              get: function () {
                 return this._maskRectangle
              },
              set: function (t) {
                 t ? (this.createClipPath(), this._clipElement || (this._clipElement = this.paper.add("rect"), this._clipPath.add(this._clipElement)), this._clipElement.attr({
                    width: t.width,
                    height: t.height
                 })) : (this.removeClipPath(), this._clipElement = void 0), this._maskRectangle = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isMeasured", {
              get: function () {
                 return this._isMeasured
              },
              set: function (t) {
                 (t = D.toBoolean(t)) || (this._measuredWidth = 0, this._measuredHeight = 0), this._isMeasured != t && (this._isMeasured = t, this.invalidatePosition())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.hitTest = function (t) {
              this.invalid && this.validate(), t.invalid && t.validate();
              var e = this.pixelX,
                 i = this.pixelY,
                 n = e + this.measuredWidth,
                 r = i + this.measuredHeight,
                 o = t.pixelX,
                 a = t.pixelY,
                 s = o + t.measuredWidth,
                 u = a + t.measuredHeight;
              return !(o > n || s < e || a > r || u < i)
           }, Object.defineProperty(e.prototype, "inited", {
              get: function () {
                 return this._inited
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.isReady = function () {
              return this._ready
           }, Object.defineProperty(e.prototype, "states", {
              get: function () {
                 if (!this._states) {
                    var t = new r.a;
                    this._states = new u.c(t), this._disposers.push(this._states.events.on("insertKey", this.processState, this, !1)), this._disposers.push(this._states.events.on("setKey", this.processState, this, !1)), this._disposers.push(new u.b(this._states)), this._disposers.push(t)
                 }
                 return this._states
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hiddenState", {
              get: function () {
                 if (!this.states.getKey("hidden")) {
                    var t = this.states.create("hidden");
                    t.properties.opacity = 0, t.properties.visible = !1
                 }
                 return this.states.getKey("hidden")
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "defaultState", {
              get: function () {
                 this.states.getKey("default") || (this.states.create("default").properties.opacity = 1);
                 return this.states.getKey("default")
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.processState = function (t) {
              var e = t.newValue;
              if (e.sprite = this, e.name = t.key, (this.states.hasKey("hover") || D.hasValue(this.tooltipHTML) || D.hasValue(this.tooltipText)) && (this.hoverable = !0), this.states.hasKey("down") && (this.clickable = !0), this.states.hasKey("focus") && (this.focusable = !0), this.applyOnClones)
                 for (var i = this.clones.values, n = i.length, r = 0; r < n; ++r) {
                    var o = i[r];
                    o.isDisposed() || o.states.setKey(e.name, e)
                 }
           }, Object.defineProperty(e.prototype, "animations", {
              get: function () {
                 return this._animations || (this._animations = [], this._disposers.push(new c.b(this._animations))), this._animations
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getSvgPoint = function (t) {
              var e = this.htmlContainer.getBoundingClientRect();
              return {
                 x: t.x - e.left,
                 y: t.y - e.top
              }
           }, e.prototype.animate = function (t, e, i) {
              return new c.a(this, t, e, i).start()
           }, e.prototype.setState = function (t, e, i) {
              var n;
              if (t instanceof r.a) this.states.setKey(t.name, t), n = t;
              else if (!(n = this.states.getKey(t))) return;
              if ("hover" == n.name) {
                 if (this.isHidden) return;
                 this.isHover = !0
              }
              return "hidden" == n.name ? this.isHiding = !0 : this.visible || this.setVisibility(n.properties.visible || this.defaultState.properties.visible), "active" == n.name && (this.isActive = !0), D.isNumber(e) || (e = n.transitionDuration), D.hasValue(i) || (i = n.transitionEasing), this.transitTo(n, e, i)
           }, e.prototype.applyCurrentState = function (t) {
              var e = this.setState(this.defaultState, t);
              return this.isHover && (e = this.setState("hover", t)), this.isDown && this.interactions.downPointers.length && (e = this.setState("down", t)), this.isFocused = this.isFocused, this.isActive && (e = this.setState("active", t), this.isHover && this.states.hasKey("hoverActive") && (e = this.setState("hoverActive", t))), e
           }, e.prototype.transitTo = function (t, e, i) {
              var n, r = this,
                 o = [],
                 a = t.allValues;
              if (M.each(a, function (t, e) {
                    var i = r[t];
                    if (e != i && void 0 == r.defaultState.properties[t] && (r.defaultState.properties[t] = i), D.hasValue(e)) {
                       var n = {
                          from: i,
                          to: e,
                          property: t
                       };
                       o.push(n)
                    }
                 }), o.length > 0 && ((n = this.animate(o, e, i)) && !n.isFinished() ? this._disposers.push(n.events.on("animationended", function () {
                    r.dispatchImmediately("transitionended")
                 })) : this.dispatchImmediately("transitionended")), t.filters.length > 0) {
                 var s = [];
                 E.each(t.filters.iterator(), function (t) {
                    var n = t.clone();
                    s.push(n);
                    var o = [];
                    E.each(r.filters.iterator(), function (t) {
                       t.className == n.className && (E.contains(r.defaultState.filters.iterator(), function (t) {
                          return t.className === n.className
                       }) || r.defaultState.filters.push(t), M.each(n.properties, function (e, i) {
                          var n = t.properties[e];
                          n != i && o.push({
                             property: e,
                             from: n,
                             to: i
                          })
                       }))
                    }), n.animate(o, e, i)
                 }), this.filters.clear(), this.filters.pushAll(s)
              }
              return n
           }, e.prototype.isInTransition = function () {
              return this.animations.length > 0
           }, Object.defineProperty(e.prototype, "isHover", {
              get: function () {
                 return !!this.isInteractive() && this.interactions.isHover
              },
              set: function (t) {
                 (t = D.toBoolean(t)) !== this.isHover && this.isInteractive() && (this.interactions.isHover = t, t ? this.handleOver() : this.handleOut())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isDragged", {
              get: function () {
                 return this._isDragged
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isDown", {
              get: function () {
                 return !!this.isInteractive() && this.interactions.isDown
              },
              set: function (t) {
                 t = D.toBoolean(t), this.isInteractive() && this.isDown != t && (this.interactions.isDown = t, t ? this.handleDown() : this.handleUp())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isFocused", {
              get: function () {
                 return !!this.isInteractive() && this.interactions.isFocused
              },
              set: function (t) {
                 t = D.toBoolean(t), this.focusable && this.isFocused != t && this.isInteractive() && (this.interactions.isFocused = t, !0 === t ? this.handleFocus() : this.handleBlur())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isActive", {
              get: function () {
                 return this._isActive
              },
              set: function (t) {
                 this.setActive(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setActive = function (t) {
              t = D.toBoolean(t), this._isActive !== t && (this._isActive = t, t && this.states.hasKey("active") ? (this.setState("active"), this.isHover && this.states.hasKey("hoverActive") && this.setState("hoverActive")) : this.applyCurrentState(), this.dispatchImmediately("toggled"))
           }, Object.defineProperty(e.prototype, "disabled", {
              get: function () {
                 var t = this.getPropertyValue("disabled");
                 return D.hasValue(t) ? t : this.virtualParent ? this.virtualParent.disabled : !!this.parent && this.parent.disabled
              },
              set: function (t) {
                 this.setDisabled(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setDisabled = function (t) {
              if (t = D.toBoolean(t), this.getPropertyValue("disabled") != t) {
                 if (this.setPropertyValue("disabled", t, !0), t) this.parent = this.parent, this.removeFromInvalids(), this.group.attr({
                    display: "none"
                 }), this.dispatch("disabled");
                 else {
                    if (this.parent) {
                       var e = this.parent.element;
                       e.hasChild(this.group) || e.add(this.group)
                    }
                    this instanceof d.a ? this.deepInvalidate() : this.invalidate(), this.__disabled || this.removeSVGAttribute("display"), this.dispatch("enabled")
                 }
                 return this.dispatch("transformed"), F.b.requestFrame(), !0
              }
              return !1
           }, Object.defineProperty(e.prototype, "__disabled", {
              get: function () {
                 return this._internalDisabled
              },
              set: function (t) {
                 this._internalDisabled != t && (this._internalDisabled = t, this._updateDisabled = !0, this.invalidatePosition())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "numberFormatter", {
              get: function () {
                 return this._numberFormatter ? this._numberFormatter : this.virtualParent ? this.virtualParent.numberFormatter : this.parent ? this.parent.numberFormatter : (this._numberFormatter = new P.a, this._numberFormatter.language = this.language, this.numberFormatter)
              },
              set: function (t) {
                 this._numberFormatter = t, this._numberFormatter.language = this.language
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dateFormatter", {
              get: function () {
                 return this._dateFormatter ? this._dateFormatter : this.virtualParent ? this.virtualParent.dateFormatter : this.parent ? this.parent.dateFormatter : (this._dateFormatter = new w.a, this._dateFormatter.language = this.language, this.dateFormatter)
              },
              set: function (t) {
                 this._dateFormatter = t, this._dateFormatter.language = this.language
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "durationFormatter", {
              get: function () {
                 return this._durationFormatter ? this._durationFormatter : this.virtualParent ? this.virtualParent.durationFormatter : this.parent ? this.parent.durationFormatter : (this._durationFormatter = new O.a, this._durationFormatter.language = this.language, this.durationFormatter)
              },
              set: function (t) {
                 this._durationFormatter = t, this._durationFormatter.language = this.language
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "language", {
              get: function () {
                 var t = this._language.get();
                 return t || (this.virtualParent ? this.virtualParent.language : this.parent ? this.parent.language : (t = new k.a, this.language = t, t))
              },
              set: function (t) {
                 var e = this;
                 this._language.get() !== t && this._language.set(t, t.events.on("localechanged", function (t) {
                    e instanceof d.a && e.deepInvalidate()
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.populateString = function (t, e) {
              if (D.hasValue(t)) {
                 t = D.castString(t);
                 var i = (t = Object(S.b)().escape(t)).match(/\{([^}]+)\}/g),
                    n = void 0;
                 if (i)
                    for (n = 0; n < i.length; n++) {
                       var r = i[n].replace(/\{([^}]+)\}/, "$1"),
                          o = this.getTagValue(r, "", e);
                       D.hasValue(o) || (o = ""), t = t.split(i[n]).join(o)
                    }
                 t = Object(S.b)().unescape(t)
              } else t = "";
              return this.adapter.apply("populateString", t)
           }, e.prototype.getTagValue = function (t, e, i) {
              var n;
              D.hasValue(i) || (i = this.dataItem);
              for (var r, o = [], a = /([^.]+)\(([^)]*)\)|([^.]+)/g; null !== (r = a.exec(t));)
                 if (r[3]) o.push({
                    prop: r[3]
                 });
                 else {
                    var s = [];
                    if ("" != C.trim(r[2]))
                       for (var u = /'([^']*)'|"([^"]*)"|([0-9\-]+)/g, l = void 0; null !== (l = u.exec(r[2]));) s.push(l[1] || l[2] || l[3]);
                    o.push({
                       method: r[1],
                       params: s
                    })
                 } if (i) {
                 n = this.getTagValueFromObject(o, i.values), D.hasValue(n) && !D.isObject(n) || (n = this.getTagValueFromObject(o, i));
                 var h = i.dataContext;
                 !D.hasValue(n) && h && (n = this.getTagValueFromObject(o, i.dataContext), !D.hasValue(n) && h.dataContext && (n = this.getTagValueFromObject(o, h.dataContext))), !D.hasValue(n) && i.component && i.component.dataItem !== i && (n = i.component.getTagValue(t, e))
              }
              return D.hasValue(n) || (n = this.getTagValueFromObject(o, this.populateStringFrom || this)), !D.hasValue(n) && this.parent && (n = this.parent.getTagValue(t, e)), n
           }, e.prototype.getTagValueFromObject = function (t, e, i) {
              for (var n = e, r = !1, o = 0, a = t.length; o < a; o++) {
                 var s = t[o];
                 if (s.prop) {
                    if (n = n[s.prop], !D.hasValue(n)) return
                 } else switch (s.method) {
                    case "formatNumber":
                       var u = C.anyToNumber(n);
                       D.hasValue(u) && (n = this.numberFormatter.format(u, i || s.params[0] || void 0), r = !0);
                       break;
                    case "formatDate":
                       var l = C.anyToDate(n);
                       if (!D.isDate(l) || D.isNaN(l.getTime())) return;
                       D.hasValue(l) && (n = this.dateFormatter.format(l, i || s.params[0] || void 0), r = !0);
                       break;
                    case "formatDuration":
                       var h = C.anyToNumber(n);
                       D.hasValue(h) && (n = this.durationFormatter.format(h, i || s.params[0] || void 0, s.params[1] || void 0), r = !0);
                       break;
                    case "urlEncode":
                    case "encodeURIComponent":
                       n = encodeURIComponent(n);
                       break;
                    default:
                       n[s.method] && n[s.method].apply(this, s.params)
                 }
              }
              if (!r) {
                 var c = [{
                    method: "",
                    params: i
                 }];
                 if (D.hasValue(i)) {
                    var p = C.getFormat(i);
                    p === I.c ? c[0].method = "formatNumber" : p === I.a ? c[0].method = "formatDate" : p === I.b && (c[0].method = "formatDuration")
                 } else D.isNumber(n) ? (c[0].method = "formatNumber", c[0].params = "") : D.isDate(n) && (c[0].method = "formatDate", c[0].params = "");
                 c[0].method && (n = this.getTagValueFromObject(c, n))
              }
              return n
           }, Object.defineProperty(e.prototype, "dataItem", {
              get: function () {
                 if (!this._dataItem) {
                    if (this.virtualParent) return this.virtualParent.dataItem;
                    if (this.parent) return this.parent.dataItem
                 }
                 return this._dataItem
              },
              set: function (t) {
                 this.setDataItem(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setDataItem = function (t) {
              var e = this;
              if (this._dataItem != t) {
                 this._dataItem = t, this.configField && t.dataContext && (this.config = t.dataContext[this.configField]);
                 var i = t.dataContext;
                 i && M.each(this.propertyFields, function (t, n) {
                    D.hasValue(i[n]) && (e[t] = i[n])
                 }), this.invalidate()
              }
           }, e.prototype.getPropertyValue = function (t) {
              var e = this.properties[t];
              return this._isTemplate || (e = this.adapter.apply(t, e)), e
           }, e.prototype.setColorProperty = function (t, e, i) {
              var n = this.properties[t];
              return !(e instanceof m.a && n instanceof m.a && e.hex == n.hex) && this.setPropertyValue(t, e, i)
           }, e.prototype.setPercentProperty = function (t, e, i, n, r, o) {
              if (e = D.toNumberOrPercent(e), D.isNumber(e)) return e = j.round(e, r, o), this.setPropertyValue(t, e, i, n);
              var a = this.properties[t];
              return !(e instanceof N.a && a instanceof N.a && e.value == a.value) && this.setPropertyValue(t, e, i, n)
           }, e.prototype.setPropertyValue = function (t, e, i, n) {
              this.properties[t];
              if (this.properties[t] !== e) {
                 if (this.properties[t] = e, this.events.isEnabled("propertychanged")) {
                    var r = {
                       type: "propertychanged",
                       target: this,
                       property: t
                    };
                    this.events.dispatchImmediately("propertychanged", r)
                 }
                 if (i && this.invalidate(), n && this.invalidatePosition(), this.applyOnClones)
                    for (var o = this.clones.values, a = o.length, s = 0; s < a; ++s) {
                       var u = o[s];
                       u.isDisposed() || (u[t] = e)
                    }
                 return !0
              }
              return !1
           }, e.prototype.bind = function (t, e, i, n) {
              var r = this;
              void 0 === i && (i = t), D.hasValue(this._bindings[t]) && this._bindings[t].dispose(), this[t] = e[i], this._bindings[t] = e.events.on("propertychanged", function (o) {
                 if (o.property === i) {
                    var a = e[i];
                    n && (a = n(a)), r[t] = a
                 }
              })
           }, e.prototype.observe = function (t, e, i) {
              var n = this;
              return new h.c(V.map(V.toArray(t), function (t) {
                 return n.events.on("propertychanged", function (n) {
                    n.property === t && e.call(i, n)
                 })
              }))
           }, e.prototype.applyAccessibility = function () {
              var t = this.readerTitle,
                 e = this.readerDescription,
                 i = this.role,
                 n = this.readerHidden,
                 r = this.readerChecked,
                 o = this.readerControls,
                 a = this.readerLive,
                 s = [],
                 u = [],
                 l = this.readerLabelledBy;
              l && s.push(l);
              var h = this.readerDescribedBy;
              if (h && u.push(h), !t || e || this.showSystemTooltip) {
                 if (t) {
                    var c = this.titleElement,
                       p = this.uid + "-title";
                    c.node.textContent != t && (c.node.textContent = t, c.attr({
                       id: p
                    })), s.push(p)
                 } else this._titleElement && (this.group.removeElement(this._titleElement), this._titleElement = void 0);
                 if (e) {
                    var d = this.descriptionElement,
                       f = this.uid + "-description";
                    d.node.textContent != e && (d.node.textContent = e, d.attr({
                       id: f
                    })), s.push(f)
                 } else this._descriptionElement && (this.group.removeElement(this._descriptionElement), this._descriptionElement = void 0)
              } else this.setSVGAttribute({
                 "aria-label": t
              }), this.removeSVGAttribute("aria-description"), this._titleElement && (this.group.removeElement(this._titleElement), this._titleElement = void 0), this._descriptionElement && (this.group.removeElement(this._descriptionElement), this._descriptionElement = void 0);
              s.length && this.setSVGAttribute({
                 "aria-labelledby": s.join(" ")
              }), u.length && this.setSVGAttribute({
                 "aria-describedby": u.join(" ")
              }), i ? this.setSVGAttribute({
                 role: i
              }) : this.removeSVGAttribute("role"), n ? this.setSVGAttribute({
                 "aria-hidden": "true"
              }) : this.removeSVGAttribute("aria-hidden"), r ? this.setSVGAttribute({
                 "aria-checked": "true"
              }) : !1 === r ? this.setSVGAttribute({
                 "aria-checked": "false"
              }) : this.removeSVGAttribute("aria-checked"), o ? this.setSVGAttribute({
                 "aria-controls": o
              }) : this.removeSVGAttribute("aria-controls"), a ? this.setSVGAttribute({
                 "aria-live": a
              }) : this.removeSVGAttribute("aria-live")
           }, Object.defineProperty(e.prototype, "readerTitle", {
              get: function () {
                 return this.getPropertyValue("readerTitle")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("readerTitle", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerDescription", {
              get: function () {
                 return this.getPropertyValue("readerDescription")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("readerDescription", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "role", {
              get: function () {
                 return this.getPropertyValue("role")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("role", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerHidden", {
              get: function () {
                 return this.getPropertyValue("readerHidden")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("readerHidden", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerChecked", {
              get: function () {
                 return this.getPropertyValue("readerChecked")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("readerChecked", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerControls", {
              get: function () {
                 return this.getPropertyValue("readerControls")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("readerControls", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerLive", {
              get: function () {
                 return this.getPropertyValue("readerLive")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("readerLive", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerLabelledBy", {
              get: function () {
                 return this.getPropertyValue("readerLabelledBy")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("readerLabelledBy", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "readerDescribedBy", {
              get: function () {
                 return this.getPropertyValue("readerDescribedBy")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("readerDescribedBy", t) && this.applyAccessibility()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "keyboardOptions", {
              get: function () {
                 if (!this.interactions.keyboardOptions) {
                    if (this.virtualParent) return this.virtualParent.keyboardOptions;
                    if (this.parent) return this.parent.keyboardOptions
                 }
                 return this.interactions.keyboardOptions
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "interactions", {
              get: function () {
                 if (!this._interaction) {
                    var t = Object(b.b)().getInteraction(this.dom);
                    this._interaction = t, this._interaction.clickable = this.clickable, this._interaction.hoverable = this.hoverable, this._interaction.trackable = this.trackable, this._interaction.draggable = this.draggable, this._interaction.swipeable = this.swipeable, this._interaction.resizable = this.resizable, this._interaction.wheelable = this.wheelable, this._interaction.inert = this.inert, this._interaction.sprite = this, this._disposers.push(this._interaction)
                 }
                 return this._interaction
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.isInteractive = function () {
              return !!this._interaction
           }, Object.defineProperty(e.prototype, "focusable", {
              get: function () {
                 return this.getPropertyValue("focusable")
              },
              set: function (t) {
                 var e = this;
                 t = D.toBoolean(t), this.setPropertyValue("focusable", t) && (t || this.isInteractive()) && (this.interactions.focusable = t, t ? this.setSVGAttribute({
                    focusable: t
                 }) : this.removeSVGAttribute("focusable"), this.interactions.setEventDisposer("sprite-focusable", t, function () {
                    return new h.c([e.events.on("blur", e.handleBlur, e, !1), e.events.on("focus", e.handleFocus, e, !1)])
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleFocus = function (t) {
              this.focusable && (this.topParent && (this.topParent.hasFocused = !0), this.focusFilter && this.filters.push(this.focusFilter), this.hoverOnFocus && (this.isHover = !0, this.handleOver()))
           }, e.prototype.handleBlur = function (t) {
              this.focusable && (this.topParent && (this.topParent.hasFocused = !1), this.focusFilter && this.filters.removeValue(this.focusFilter), this.hoverOnFocus && (this.isHover = !1, this.handleOut()))
           }, Object.defineProperty(e.prototype, "focusFilter", {
              get: function () {
                 var t = this._focusFilter;
                 return t || (this.virtualParent ? this.virtualParent.focusFilter : this.parent ? this.parent.focusFilter : void 0)
              },
              set: function (t) {
                 this._focusFilter = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hoverOnFocus", {
              get: function () {
                 return this.getPropertyValue("hoverOnFocus")
              },
              set: function (t) {
                 t !== this.hoverOnFocus && this.setPropertyValue("hoverOnFocus", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tabindex", {
              get: function () {
                 var t = this._tabindex;
                 return null != t ? t : this.virtualParent ? this.virtualParent.tabindex : this.parent ? this.parent.tabindex : void 0
              },
              set: function (t) {
                 t = D.toNumber(t), this.setPropertyValue("tabindex", t) && D.isNumber(t) && (this.interactions.tabindex = t, this.setSVGAttribute({
                    tabindex: t
                 }), this.focusable = t > -1 || void 0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inertiaOptions", {
              get: function () {
                 return !this.interactions.inertiaOptions && this.parent ? this.parent.inertiaOptions : this.interactions.inertiaOptions
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "draggable", {
              get: function () {
                 return this.getPropertyValue("draggable")
              },
              set: function (t) {
                 var e = this;
                 t = D.toBoolean(t), this.setPropertyValue("draggable", t) && (t || this.isInteractive()) && (this.applyCursorStyle(), this.interactions.draggable = t, this.interactions.setEventDisposer("sprite-draggable", t, function () {
                    return new h.c([e.events.on("down", e.handleDown, e, !1), e.events.on("dragstart", e.handleDragStart, e, !1), e.events.on("drag", e.handleDragMove, e, !1), e.events.on("dragstop", e.handleDragStop, e, !1)])
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleDragStart = function () {
              this.interactions.originalPosition = {
                 x: this.pixelX,
                 y: this.pixelY
              }, this._isDragged = !0, this.hideTooltip(0)
           }, e.prototype.dragStart = function (t) {
              this._isDragged = !0, Object(b.b)().dragStart(this.interactions, t)
           }, e.prototype.handleDragStop = function () {
              this._isDragged = !1, this.showTooltip(), this.interactions.originalPosition = void 0
           }, e.prototype.dragStop = function (t) {
              this._isDragged = !1, Object(b.b)().dragStop(this.interactions, t)
           }, e.prototype.handleDragMove = function (t) {
              var e = this.interactions.originalPosition;
              if (e) {
                 var i = this.parent.globalScale * this.svgContainer.cssScale;
                 this.moveTo({
                    x: e.x + t.shift.x / i,
                    y: e.y + t.shift.y / i
                 }, void 0, void 0, !0)
              }
           }, Object.defineProperty(e.prototype, "inert", {
              get: function () {
                 return this.getPropertyValue("inert")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("inert", t) && (t || this.isInteractive()) && (this.interactions.inert = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hoverOptions", {
              get: function () {
                 if (!this.interactions.hoverOptions) {
                    if (this.virtualParent) return this.virtualParent.hoverOptions;
                    if (this.parent) return this.parent.hoverOptions
                 }
                 return this.interactions.hoverOptions
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hoverable", {
              get: function () {
                 return this.getPropertyValue("hoverable")
              },
              set: function (t) {
                 var e = this;
                 t = D.toBoolean(t), this.setPropertyValue("hoverable", t) && (t || this.isInteractive()) && (this.applyCursorStyle(), this.interactions.hoverable = t, this.interactions.setEventDisposer("sprite-hoverable", t, function () {
                    return new h.c([e.events.on("over", e.handleOver, e, !1), e.events.on("out", e.handleOut, e, !1)])
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleOver = function (t) {
              if (this._outTimeout && this._outTimeout.dispose(), this.isHover) {
                 this.states.hasKey("hover") && (this.isHidden || this.applyCurrentState());
                 var e = void 0;
                 t && t.pointer && (e = C.documentPointToSvg(t.pointer.point, this.svgContainer.SVGContainer, this.svgContainer.cssScale)), this.showTooltip(e)
              } else this.hideTooltip(), !this.isHidden && this.states.hasKey("hover") && this.applyCurrentState()
           }, e.prototype.handleOut = function (t) {
              this.hideTooltip(), this._outTimeout = this.setTimeout(this.handleOutReal.bind(this), this.rollOutDelay)
           }, e.prototype.handleOutReal = function () {
              this.isHidden || this.isHiding || !this.states.hasKey("hover") || this.applyCurrentState()
           }, Object.defineProperty(e.prototype, "hitOptions", {
              get: function () {
                 if (!this.interactions.hitOptions) {
                    if (this.virtualParent) return this.virtualParent.hitOptions;
                    if (this.parent) return this.parent.hitOptions
                 }
                 return this.interactions.hitOptions
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleDown = function (t) {
              1 === this.interactions.downPointers.length && (this.interactions.originalPosition = {
                 x: this.pixelX,
                 y: this.pixelY
              }, this.interactions.originalAngle = this.rotation, this.interactions.originalScale = this.scale, this.states.hasKey("down") && this.setState("down"))
           }, e.prototype.handleUp = function (t) {
              this.states.hasKey("down") && this.applyCurrentState()
           }, Object.defineProperty(e.prototype, "clickable", {
              get: function () {
                 return this.getPropertyValue("clickable")
              },
              set: function (t) {
                 var e = this;
                 t = D.toBoolean(t), this.setPropertyValue("clickable", t) && (t || this.isInteractive()) && (this.applyCursorStyle(), this.interactions.clickable = t, this.interactions.setEventDisposer("sprite-clickable", t, function () {
                    return new h.c([e.events.on("down", e.handleDown, e, !1), e.events.on("up", e.handleUp, e, !1)])
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "togglable", {
              get: function () {
                 return this.getPropertyValue("togglable")
              },
              set: function (t) {
                 var e = this;
                 t = D.toBoolean(t), this.setPropertyValue("togglable", t) && (t || this.isInteractive()) && this.interactions.setEventDisposer("sprite-togglable", t, function () {
                    return e.events.on("hit", e.handleToggle, e, !1)
                 })
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleToggle = function (t) {
              this.isActive = !this.isActive
           }, Object.defineProperty(e.prototype, "url", {
              get: function () {
                 return this.getPropertyValue("url")
              },
              set: function (t) {
                 this.setPropertyValue("url", t) && (this._urlDisposer && this._urlDisposer.dispose(), C.isNotEmpty(t) && (this._urlDisposer = this.events.on("hit", this.urlHandler, this, !1), this.clickable = !0, this.cursorOverStyle = v.a.pointer))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "baseId", {
              get: function () {
                 return !this._baseId && this.parent && (this.baseId = this.parent.baseId), this._baseId
              },
              set: function (t) {
                 this.setBaseId(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setBaseId = function (t) {
              t != this._baseId && (this.invalid && (this.invalid = !1, x.b.removeFromInvalidSprites(this), this.invalidate()), this._baseId = t)
           }, Object.defineProperty(e.prototype, "urlTarget", {
              get: function () {
                 return this.getPropertyValue("urlTarget")
              },
              set: function (t) {
                 this.setPropertyValue("urlTarget", t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.urlHandler = function (t) {
              if (C.isNotEmpty(this.url)) {
                 var e = this.populateString(this.url);
                 "_self" === this.urlTarget ? window.location.href = e : window.open(e, this.urlTarget)
              }
           }, Object.defineProperty(e.prototype, "swipeOptions", {
              get: function () {
                 if (!this.interactions.swipeOptions) {
                    if (this.virtualParent) return this.virtualParent.swipeOptions;
                    if (this.parent) return this.parent.swipeOptions
                 }
                 return this.interactions.swipeOptions
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "swipeable", {
              get: function () {
                 return this.getPropertyValue("swipeable")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("swipeable", t) && (this.applyCursorStyle(), (t || this.isInteractive()) && (this.interactions.swipeable = t))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "trackable", {
              get: function () {
                 return this.getPropertyValue("trackable")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("trackable", t) && (t || this.isInteractive()) && (this.applyCursorStyle(), this.interactions.trackable = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "wheelable", {
              get: function () {
                 return this.getPropertyValue("wheelable")
              },
              set: function (t) {
                 this.setPropertyValue("wheelable", t) && (t || this.isInteractive()) && (this.applyCursorStyle(), this.interactions.wheelable = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "resizable", {
              get: function () {
                 return this.getPropertyValue("resizable")
              },
              set: function (t) {
                 var e = this;
                 t = D.toBoolean(t), this.setPropertyValue("resizable", t) && (t || this.isInteractive()) && (this.applyCursorStyle(), this.interactions.resizable = t, this.interactions.setEventDisposer("sprite-resizable", t, function () {
                    return new h.c([e.events.on("down", e.handleDown, e, !1), e.events.on("resize", e.handleResize, e, !1)])
                 }))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleResize = function (t) {
              if (this.scale = this.interactions.originalScale * t.scale, this.validatePosition(), this.draggable) {
                 var e = C.documentPointToSvg(t.point1, this.htmlContainer, this.svgContainer.cssScale),
                    i = C.documentPointToSvg(t.point2, this.htmlContainer, this.svgContainer.cssScale),
                    n = j.getMidPoint(e, i),
                    r = C.documentPointToSprite(t.startPoint1, this.parent),
                    o = C.documentPointToSprite(t.startPoint2, this.parent),
                    a = this.interactions.originalPosition,
                    s = this.interactions.originalScale;
                 if (a) {
                    var u = {
                          x: (r.x - a.x) / s,
                          y: (r.y - a.y) / s
                       },
                       l = {
                          x: (o.x - a.x) / s,
                          y: (o.y - a.y) / s
                       },
                       h = j.getMidPoint(u, l),
                       c = C.svgPointToSprite(n, this.parent);
                    this.moveTo({
                       x: c.x - h.x * this.scale,
                       y: c.y - h.y * this.scale
                    })
                 }
              }
           }, Object.defineProperty(e.prototype, "cursorOptions", {
              get: function () {
                 if (!this.interactions.cursorOptions) {
                    if (this.virtualParent) return this.virtualParent.cursorOptions;
                    if (this.parent) return this.parent.cursorOptions
                 }
                 return this.interactions.cursorOptions
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cursorOverStyle", {
              set: function (t) {
                 this.cursorOptions.overStyle = t, Object(b.b)().applyCursorOverStyle(this.interactions)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cursorDownStyle", {
              set: function (t) {
                 this.cursorOptions.downStyle = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.applyCursorStyle = function () {}, Object.defineProperty(e.prototype, "interactionsEnabled", {
              get: function () {
                 return !1 !== this.getPropertyValue("interactionsEnabled") && (this.virtualParent ? this.virtualParent.interactionsEnabled : !this.parent || this.parent.interactionsEnabled)
              },
              set: function (t) {
                 if (t = D.toBoolean(t), this.setPropertyValue("interactionsEnabled", t)) {
                    var e = null;
                    t ? this.group.node.style.pointerEvents = "" : e = "none", this.group.node.style.pointerEvents = e
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "exporting", {
              get: function () {
                 return this.getExporting()
              },
              set: function (t) {
                 this._exporting.set(t, t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getExporting = function () {
              var t = this._exporting.get();
              return t || (!this.isStandaloneInstance && this.parent ? this.parent.exporting : ((t = new T.a(this.svgContainer.SVGContainer)).sprite = this, t.language = this.language, t.dateFormatter = this.dateFormatter, t.durationFormatter = this.durationFormatter, this._exporting.set(t, t), t))
           }, Object.defineProperty(e.prototype, "exportable", {
              get: function () {
                 var t = this.svgContainer;
                 return !t || -1 == V.indexOf(t.nonExportableSprites, this)
              },
              set: function (t) {
                 var e = this.svgContainer;
                 e && t != this.exportable && (t ? V.remove(e.nonExportableSprites, this) : e.nonExportableSprites.push(this))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.modalPrefix = function (t) {
              return t = _.a.classNamePrefix + t
           }, Object.defineProperty(e.prototype, "modal", {
              get: function () {
                 var t = this.svgContainer;
                 if (t) {
                    var e = t.modal;
                    return e.adapter.has("classPrefix", this.modalPrefix) || e.adapter.add("classPrefix", this.modalPrefix), e
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.openModal = function (t, e) {
              var i = this.svgContainer;
              if (i) return i.openModal(t, e)
           }, e.prototype.closeModal = function () {
              var t = this.svgContainer;
              t && t.closeModal()
           }, Object.defineProperty(e.prototype, "popups", {
              get: function () {
                 var t = this.svgContainer;
                 if (t) {
                    var e = t.popups;
                    return e.template.sprite = this, e.template.adapter.has("classPrefix", this.modalPrefix) || e.template.adapter.add("classPrefix", this.modalPrefix), e
                 }
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.openPopup = function (t, e) {
              var i = this.svgContainer;
              if (i) return i.openPopup(t, e)
           }, e.prototype.closeAllPopups = function () {
              var t = this.svgContainer;
              if (t) return t.closeAllPopups()
           }, Object.defineProperty(e.prototype, "x", {
              get: function () {
                 return this.getPropertyValue("x")
              },
              set: function (t) {
                 this.isDragged || this.setPercentProperty("x", t, !1, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelX", {
              get: function () {
                 return this.adapter.apply("pixelX", j.fitToRange(this.getPixelX(this.x), this.minX, this.maxX))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeX", {
              get: function () {
                 return this.adapter.apply("relativeX", this.getRelativeX(this.x))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minX", {
              get: function () {
                 return this.getPropertyValue("minX")
              },
              set: function (t) {
                 D.isNumber(t) && (t = j.round(t, this._positionPrecision, !0), this.setPropertyValue("minX", t, !1, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxX", {
              get: function () {
                 return this.getPropertyValue("maxX")
              },
              set: function (t) {
                 D.isNumber(t) && (t = j.round(t, this._positionPrecision, !0), this.setPropertyValue("maxX", t, !1, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "y", {
              get: function () {
                 return this.getPropertyValue("y")
              },
              set: function (t) {
                 this.isDragged || this.setPercentProperty("y", t, !1, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelY", {
              get: function () {
                 return this.adapter.apply("pixelY", j.fitToRange(this.getPixelY(this.y), this.minY, this.maxY))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeY", {
              get: function () {
                 return this.adapter.apply("relativeY", this.getRelativeX(this.y))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minY", {
              get: function () {
                 return this.getPropertyValue("minY")
              },
              set: function (t) {
                 D.isNumber(t) && (t = j.round(t, this._positionPrecision, !0), this.setPropertyValue("minY", t, !1, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxY", {
              get: function () {
                 return this.getPropertyValue("maxY")
              },
              set: function (t) {
                 D.isNumber(t) && (t = j.round(t, this._positionPrecision, !0), this.setPropertyValue("maxY", t, !1, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dx", {
              get: function () {
                 return this.getPropertyValue("dx")
              },
              set: function (t) {
                 D.isNumber(t) && (t = j.round(t, this._positionPrecision, !0), this.setPropertyValue("dx", t, !1, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "dy", {
              get: function () {
                 return this.getPropertyValue("dy")
              },
              set: function (t) {
                 D.isNumber(t) && (t = j.round(t, this._positionPrecision, !0), this.setPropertyValue("dy", t, !1, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "rotation", {
              get: function () {
                 return this.getPropertyValue("rotation")
              },
              set: function (t) {
                 t = D.toNumber(t), D.isNumber(t) || (t = 0), this.setPropertyValue("rotation", t, !1, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "align", {
              get: function () {
                 return this.getPropertyValue("align")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("align", t) && this.parent && this.parent.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "valign", {
              get: function () {
                 return this.getPropertyValue("valign")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("valign", t) && this.parent && this.parent.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "horizontalCenter", {
              get: function () {
                 return this.getPropertyValue("horizontalCenter")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("horizontalCenter", t) && this.updateCenter()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "verticalCenter", {
              get: function () {
                 return this.getPropertyValue("verticalCenter")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("verticalCenter", t) && this.updateCenter()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxWidth", {
              get: function () {
                 var t = this.getPropertyValue("maxWidth");
                 return !D.isNumber(t) && this.parent ? this.parent.maxWidth : t
              },
              set: function (t) {
                 this.setMaxWidth(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setMaxWidth = function (t) {
              var e = this.maxWidth,
                 i = this.maxHeight;
              if (this.setPropertyValue("maxWidth", t)) {
                 D.isNumber(this.relativeWidth) && this.invalidate();
                 var n = {
                    type: "maxsizechanged",
                    target: this,
                    previousWidth: e,
                    previousHeight: i
                 };
                 this.dispatchImmediately("maxsizechanged", n)
              }
           }, Object.defineProperty(e.prototype, "maxHeight", {
              get: function () {
                 var t = this.getPropertyValue("maxHeight");
                 return !D.isNumber(t) && this.parent ? this.parent.maxHeight : t
              },
              set: function (t) {
                 this.setMaxHeight(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setMaxHeight = function (t) {
              var e = this.maxWidth;
              this.maxHeight;
              if (this.setPropertyValue("maxHeight", t)) {
                 D.isNumber(this.relativeHeight) && this.invalidate();
                 var i = {
                    type: "maxsizechanged",
                    target: this,
                    previousWidth: e,
                    previousHeight: e
                 };
                 this.dispatchImmediately("maxsizechanged", i)
              }
           }, Object.defineProperty(e.prototype, "minWidth", {
              get: function () {
                 return this.getPropertyValue("minWidth")
              },
              set: function (t) {
                 this.setPropertyValue("minWidth", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "minHeight", {
              get: function () {
                 return this.getPropertyValue("minHeight")
              },
              set: function (t) {
                 this.setPropertyValue("minHeight", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "width", {
              get: function () {
                 return this.getPropertyValue("width")
              },
              set: function (t) {
                 this.setPercentProperty("width", t, !0, !1, this._positionPrecision, !0) && (this.percentWidth = void 0, this.relativeWidth = void 0, t instanceof N.a ? (this.percentWidth = t.percent, D.isNumber(this._pixelWidth) && (this.maxWidth = void 0), this._pixelWidth = void 0) : (this._pixelWidth = Number(t), this.maxWidth = this._pixelWidth), this.invalidatePosition())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "height", {
              get: function () {
                 return this.getPropertyValue("height")
              },
              set: function (t) {
                 this.setPercentProperty("height", t, !0, !1, this._positionPrecision, !0) && (this.percentHeight = void 0, this._relativeHeight = void 0, t instanceof N.a ? (this.percentHeight = t.percent, D.isNumber(this._pixelHeight) && (this.maxHeight = void 0), this._pixelHeight = void 0) : (this._pixelHeight = Number(t), this.maxHeight = this._pixelHeight), this.invalidatePosition())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelWidth", {
              get: function () {
                 var t;
                 t = D.isNumber(this.percentWidth) ? this.maxWidth : D.isNumber(this._pixelWidth) ? this._pixelWidth : 0;
                 var e = this.minWidth;
                 return null != e && t < e && (t = e), this.adapter.apply("pixelWidth", j.round(t, this._positionPrecision, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelHeight", {
              get: function () {
                 var t;
                 t = D.isNumber(this.percentHeight) ? this.maxHeight : D.isNumber(this._pixelHeight) ? this._pixelHeight : 0;
                 var e = this.minHeight;
                 return null != e && t < e && (t = e), this.adapter.apply("pixelHeight", j.round(t, this._positionPrecision, !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeWidth", {
              get: function () {
                 var t = this._relativeWidth;
                 if (D.isNumber(t)) return this.adapter.apply("relativeWidth", t)
              },
              set: function (t) {
                 this._relativeWidth != t && (this._relativeWidth = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeHeight", {
              get: function () {
                 var t = this._relativeHeight;
                 if (D.isNumber(t)) return this.adapter.apply("relativeHeight", t)
              },
              set: function (t) {
                 this._relativeHeight != t && (this._relativeHeight = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "measuredWidth", {
              get: function () {
                 return this.disabled || this.__disabled ? 0 : this.adapter.apply("measuredWidth", this._measuredWidth)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "measuredHeight", {
              get: function () {
                 return this.disabled || this.__disabled ? 0 : this.adapter.apply("measuredHeight", this._measuredHeight)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "outerWidth", {
              get: function () {
                 return this.adapter.apply("outerWidth", this.pixelWidth + this.pixelMarginRight + this.pixelMarginLeft)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "outerHeight", {
              get: function () {
                 return this.adapter.apply("outerHeight", this.pixelHeight + this.pixelMarginTop + this.pixelMarginBottom)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "innerWidth", {
              get: function () {
                 return this.adapter.apply("innerWidth", Math.max(0, this.pixelWidth - this.pixelPaddingRight - this.pixelPaddingLeft))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "innerHeight", {
              get: function () {
                 return this.adapter.apply("innerHeight", Math.max(0, this.pixelHeight - this.pixelPaddingTop - this.pixelPaddingBottom))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "globalScale", {
              get: function () {
                 var t = this.scale;
                 return this.parent && (t *= this.parent.globalScale), this.adapter.apply("globalScale", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "scale", {
              get: function () {
                 return this.getPropertyValue("scale")
              },
              set: function (t) {
                 (t = D.toNumber(t)) < 0 && (t = 0), t != this.getPropertyValue("scale") && (this.setPropertyValue("scale", t, !1, !0), this.handleGlobalScale())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.margin = function (t, e, i, n) {
              return this.marginTop = t, this.marginRight = e, this.marginBottom = i, this.marginLeft = n, this
           }, Object.defineProperty(e.prototype, "marginLeft", {
              get: function () {
                 return this.getPropertyValue("marginLeft")
              },
              set: function (t) {
                 this.setPercentProperty("marginLeft", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "marginRight", {
              get: function () {
                 return this.getPropertyValue("marginRight")
              },
              set: function (t) {
                 this.setPercentProperty("marginRight", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "marginTop", {
              get: function () {
                 return this.getPropertyValue("marginTop")
              },
              set: function (t) {
                 this.setPercentProperty("marginTop", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "marginBottom", {
              get: function () {
                 return this.getPropertyValue("marginBottom")
              },
              set: function (t) {
                 this.setPercentProperty("marginBottom", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelMarginRight", {
              get: function () {
                 return this.adapter.apply("pixelMarginRight", this.getPixelX(this.marginRight))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeMarginRight", {
              get: function () {
                 return this.adapter.apply("relativeMarginRight", this.getRelativeX(this.marginRight))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelMarginLeft", {
              get: function () {
                 return this.adapter.apply("pixelMarginLeft", this.getPixelX(this.marginLeft))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeMarginLeft", {
              get: function () {
                 return this.adapter.apply("relativeMarginLeft", this.getRelativeX(this.marginLeft))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelMarginTop", {
              get: function () {
                 return this.adapter.apply("pixelMarginTop", this.getPixelY(this.marginTop))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeMarginTop", {
              get: function () {
                 return this.adapter.apply("relativeMarginTop", this.getRelativeY(this.marginTop))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelMarginBottom", {
              get: function () {
                 return this.adapter.apply("pixelMarginBottom", this.getPixelY(this.marginBottom))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativeMarginBottom", {
              get: function () {
                 return this.adapter.apply("relativeMarginBottom", this.getRelativeY(this.marginBottom))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.padding = function (t, e, i, n) {
              return this.paddingTop = t, this.paddingRight = e, this.paddingBottom = i, this.paddingLeft = n, this
           }, Object.defineProperty(e.prototype, "paddingLeft", {
              get: function () {
                 return this.getPropertyValue("paddingLeft")
              },
              set: function (t) {
                 this.setPercentProperty("paddingLeft", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "paddingRight", {
              get: function () {
                 return this.getPropertyValue("paddingRight")
              },
              set: function (t) {
                 this.setPercentProperty("paddingRight", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "paddingTop", {
              get: function () {
                 return this.getPropertyValue("paddingTop")
              },
              set: function (t) {
                 this.setPercentProperty("paddingTop", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "paddingBottom", {
              get: function () {
                 return this.getPropertyValue("paddingBottom")
              },
              set: function (t) {
                 this.setPercentProperty("paddingBottom", t, !0, !0, this._positionPrecision, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelPaddingRight", {
              get: function () {
                 return this.getPixelX(this.paddingRight)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativePaddingRight", {
              get: function () {
                 return this.getRelativeX(this.paddingRight)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelPaddingLeft", {
              get: function () {
                 return this.getPixelX(this.paddingLeft)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativePaddingLeft", {
              get: function () {
                 return this.getRelativeX(this.paddingLeft)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelPaddingTop", {
              get: function () {
                 return this.getPixelY(this.paddingTop)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativePaddingTop", {
              get: function () {
                 return this.getRelativeY(this.paddingTop)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelPaddingBottom", {
              get: function () {
                 return this.getPixelY(this.paddingBottom)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "relativePaddingBottom", {
              get: function () {
                 return this.getRelativeY(this.paddingBottom)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "path", {
              get: function () {
                 return this.getPropertyValue("path")
              },
              set: function (t) {
                 this.setPropertyValue("path", t) && (this.element || (this.element = this.paper.add("path")), this.element.attr({
                    d: t
                 }), this.invalidatePosition(), this.inited || this.events.once("inited", this.validatePosition, this, !1))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fillModifier", {
              get: function () {
                 return this.getPropertyValue("fillModifier")
              },
              set: function (t) {
                 this.setPropertyValue("fillModifier", t) && this.setFill(this.fill)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "strokeModifier", {
              get: function () {
                 return this.getPropertyValue("strokeModifier")
              },
              set: function (t) {
                 this.setPropertyValue("strokeModifier", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fillOpacity", {
              get: function () {
                 return this.getPropertyValue("fillOpacity")
              },
              set: function (t) {
                 t = j.toNumberRange(t, 0, 1), this.setPropertyValue("fillOpacity", t) && this.setSVGAttribute({
                    "fill-opacity": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fill", {
              get: function () {
                 return this.getPropertyValue("fill")
              },
              set: function (t) {
                 this.setFill(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setFill = function (t) {
              if (D.isObject(t) || (t = Object(m.e)(t)), this.setColorProperty("fill", t) || this.fillModifier)
                 if (t instanceof m.a && this.fillModifier && (t = this.fillModifier.modify(t)), this.realFill = t, t instanceof m.a) this.setSVGAttribute({
                    fill: t.toString()
                 });
                 else if (D.hasValue(t)) {
                 if (t instanceof f.a || t instanceof g.a || t instanceof y.a) {
                    var e = t;
                    e.paper = this.paper, this.setSVGAttribute({
                       fill: "url(#" + e.id + ")"
                    })
                 }
              } else this.removeSVGAttribute("fill")
           }, Object.defineProperty(e.prototype, "opacity", {
              get: function () {
                 return this.getPropertyValue("opacity")
              },
              set: function (t) {
                 t = j.toNumberRange(t, 0, 1), this.setPropertyValue("opacity", t) && this.setSVGAttribute({
                    opacity: t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "stroke", {
              get: function () {
                 return this.getPropertyValue("stroke")
              },
              set: function (t) {
                 this.setStroke(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setStroke = function (t) {
              if (D.isObject(t) || (t = Object(m.e)(t)), this.setColorProperty("stroke", t) || this.strokeModifier)
                 if (t instanceof m.a && this.strokeModifier && (t = this.strokeModifier.modify(t)), this.realStroke = t, t instanceof m.a) "none" == t.hex ? this.removeSVGAttribute("stroke") : this.setSVGAttribute({
                    stroke: t.toString()
                 });
                 else if (D.hasValue(t)) {
                 if (t instanceof f.a || t instanceof g.a || t instanceof y.a) {
                    var e = t;
                    e.paper = this.paper, this.setSVGAttribute({
                       stroke: "url(#" + e.id + ")"
                    })
                 }
              } else this.removeSVGAttribute("stroke")
           }, Object.defineProperty(e.prototype, "strokeOpacity", {
              get: function () {
                 return this.getPropertyValue("strokeOpacity")
              },
              set: function (t) {
                 t = j.toNumberRange(t, 0, 1), this.setPropertyValue("strokeOpacity", t) && this.setSVGAttribute({
                    "stroke-opacity": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "nonScalingStroke", {
              get: function () {
                 return this.getPropertyValue("nonScalingStroke")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("nonScalingStroke", t) && (this.strokeWidth = this.strokeWidth)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "nonScaling", {
              get: function () {
                 return this.getPropertyValue("nonScaling")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("nonScaling", t, !1, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "strokeWidth", {
              get: function () {
                 return this.getPropertyValue("strokeWidth")
              },
              set: function (t) {
                 t = D.toNumber(t), this.setPropertyValue("strokeWidth", t, !0), this.nonScalingStroke && (D.isNumber(t) || (t = 1), t /= this.globalScale), this.setSVGAttribute({
                    "stroke-width": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "strokeDasharray", {
              get: function () {
                 return this.getPropertyValue("strokeDasharray")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("strokeDasharray", t) && this.setSVGAttribute({
                    "stroke-dasharray": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "shapeRendering", {
              get: function () {
                 return this.getPropertyValue("shapeRendering")
              },
              set: function (t) {
                 t = D.toText(t), this.setPropertyValue("shapeRendering", t) && this.setSVGAttribute({
                    "shape-rendering": t
                 })
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "pixelPerfect", {
              get: function () {
                 return this.getPropertyValue("pixelPerfect")
              },
              set: function (t) {
                 t = D.toBoolean(t), this._positionPrecision = t ? 0 : 3, this.setPropertyValue("pixelPerfect", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "rtl", {
              get: function () {
                 return D.hasValue(this._rtl) ? this._rtl : this.virtualParent ? this.virtualParent.rtl : this.parent ? this.parent.rtl : (this.rtl = !1, this.rtl)
              },
              set: function (t) {
                 t = D.toBoolean(t), this._rtl = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.show = function (t) {
              return this.showReal(t)
           }, e.prototype.showReal = function (t) {
              var e, i = this,
                 n = this.defaultState.properties;
              if (!this.disabled && (this.isHidden || !this.visible || this.isHiding || null != n.opacity && this.opacity < n.opacity && !this.isShowing)) {
                 this.invalid && this.validate(), this.positionInvalid && this.validatePosition(), D.isNumber(t) || (t = this.defaultState.transitionDuration), this._hideAnimation && (this._hideAnimation.kill(), this._hideAnimation = void 0), this._showHideDisposer && this.removeDispose(this._showHideDisposer), this._isHidden = !1, this.isHiding = !1, this.isShowing = !0, (e = this.applyCurrentState(t)) && !e.isFinished() ? (this._showHideDisposer = e.events.on("animationended", function () {
                    i.isShowing = !1
                 }), this._disposers.push(this._showHideDisposer)) : this.isShowing = !1;
                 var r = this.defaultState.properties.visible;
                 D.hasValue(r) || (r = !0), this.visible = r, this.dispatchImmediately("shown")
              }
              return e
           }, e.prototype.hide = function (t) {
              return this.hideReal(t)
           }, e.prototype.hideReal = function (t) {
              var e, i = this;
              if (!this.isHiding && this.visible) {
                 this.hideTooltip(0), this._hideAnimation && (this._hideAnimation.kill(), this._hideAnimation = void 0), this.isShowing = !1, this._showHideDisposer && this.removeDispose(this._showHideDisposer);
                 var n = this.hiddenState;
                 n ? (e = this.setState(n, t, void 0)) && !e.isFinished() ? (this._hideAnimation = e, this._showHideDisposer = e.events.on("animationended", function () {
                    i.isHiding = !1, i._isHidden = !0
                 }, this), this._disposers.push(this._showHideDisposer), this._disposers.push(e)) : (this.isHiding = !1, this._isHidden = !0) : (this.visible = !1, this.isHiding = !1, this._isHidden = !0), this.dispatchImmediately("hidden"), this.invalidate()
              }
              return D.isNumber(t) || (t = this.hiddenState.transitionDuration), e
           }, Object.defineProperty(e.prototype, "visible", {
              get: function () {
                 return this.getVisibility()
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setVisibility(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getVisibility = function () {
              var t = this.getPropertyValue("visible");
              return D.hasValue(t) || (t = !0), t
           }, e.prototype.setVisibility = function (t) {
              if (this.setPropertyValue("visible", t) && (t ? this.group.removeAttr("visibility") : this.group.attr({
                    visibility: "hidden"
                 }), this.events.isEnabled("visibilitychanged"))) {
                 var e = {
                    type: "visibilitychanged",
                    target: this,
                    visible: t
                 };
                 this.events.dispatchImmediately("visibilitychanged", e)
              }
           }, Object.defineProperty(e.prototype, "zIndex", {
              get: function () {
                 return this.getPropertyValue("zIndex")
              },
              set: function (t) {
                 t = D.toNumber(t), this.setPropertyValue("zIndex", t) && this.dispatch("zIndexChanged")
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.toFront = function () {
              var t = this.parent;
              t && t.children.indexOf(this) != t.children.length - 1 && (t.children.moveValue(this, t.children.length - 1), this.dispatch("zIndexChanged"))
           }, e.prototype.toBack = function () {
              var t = this.parent;
              t && 0 != t.children.indexOf(this) && (t.children.moveValue(this, 0), this.dispatch("zIndexChanged"))
           }, Object.defineProperty(e.prototype, "tooltip", {
              get: function () {
                 return this._tooltip ? this._tooltip : this.virtualParent ? this.virtualParent.tooltip : this.parent ? this.parent.tooltip : void 0
              },
              set: function (t) {
                 this._tooltip && this.removeDispose(this._tooltip), this._tooltip = t, t && (t.parent = this.tooltipContainer)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipDataItem", {
              get: function () {
                 var t = this._tooltipDataItem;
                 return t || this.dataItem
              },
              set: function (t) {
                 this._tooltipDataItem = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipColorSource", {
              get: function () {
                 return this._tooltipColorSource
              },
              set: function (t) {
                 this._tooltipColorSource = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.showTooltip = function (t) {
              for (var e = this; void 0 != e;) {
                 if (!e.visible || e.disabled || e.__disabled) return;
                 e = e.parent
              }
              if (D.hasValue(this.tooltipText) || D.hasValue(this.tooltipHTML)) {
                 var i = this.tooltip,
                    n = this.tooltipDataItem;
                 if (i) {
                    var r = this,
                       o = this.tooltipColorSource;
                    if ((i.getStrokeFromObject || i.getFillFromObject) && o && (o.isTemplate ? n && V.eachContinue(n.sprites, function (t) {
                          return t.clonedFrom != o || (r = t, !1)
                       }) : r = o), i.getStrokeFromObject) {
                       for (var a = this.stroke, s = r; void 0 != s.parent && (void 0 == (a = s.stroke) && (s = s.parent), void 0 == a););
                       a instanceof m.a ? i.background.animate({
                          property: "stroke",
                          to: a
                       }, i.animationDuration) : i.background.stroke = a
                    }
                    if (i.dataItem = n, i.label.populateStringFrom = this, i.getFillFromObject) {
                       var u = this.fill;
                       for (s = r; void 0 != s.parent;)
                          if (void 0 == (u = s.fill) || u instanceof m.a && void 0 == u.rgb) s = s.parent;
                          else if (void 0 != u) break;
                       void 0 == u && (u = Object(m.c)("#000000")), u instanceof m.a && i.visible ? i.background.animate({
                          property: "fill",
                          to: u
                       }, i.animationDuration) : i.background.fill = u, i.autoTextColor && u instanceof m.a && (i.label.fill = u.alternative)
                    }
                    var l = "";
                    if (this.tooltipHTML && (i.html = this.tooltipHTML, l = this.tooltipHTML), this.tooltipText && (i.text = this.tooltipText, l = this.tooltipText), this.updateTooltipPosition(t)) {
                       if (i.readerDescribedBy = this.uidAttr(), i.label.invalid && i.label.validate(), void 0 != l && "" != l && "" != i.label.currentText) {
                          i && !i.parent && (i.parent = this.tooltipContainer);
                          var h = i.defaultState.transitionDuration;
                          return h <= 0 && (h = 1), i.show(h), !0
                       }
                    } else this.hideTooltip(0)
                 }
              }
              return !1
           }, e.prototype.updateTooltipPosition = function (t) {
              var e = this;
              if ("pointer" != this.tooltipPosition) {
                 var i = C.spritePointToSvg({
                    x: this.tooltipX,
                    y: this.tooltipY
                 }, this);
                 return this.pointTooltipTo(i)
              }
              if (this._interactionDisposer = Object(b.b)().body.events.on("track", function (t) {
                    return e.pointTooltipTo(C.documentPointToSvg(t.point, e.svgContainer.SVGContainer, e.svgContainer.cssScale), !0)
                 }), t) return this.pointTooltipTo(t, !0)
           }, e.prototype.pointTooltipTo = function (t, e) {
              var i = this.tooltip;
              return !(!i || !j.isInRectangle(t, {
                 x: 0,
                 y: 0,
                 width: this.topParent.maxWidth,
                 height: this.topParent.maxHeight
              })) && (i.pointTo(t, e), !0)
           }, e.prototype.hideTooltip = function (t) {
              var e = this.tooltip;
              e && (e.hide(t), this._interactionDisposer && this._interactionDisposer.dispose())
           }, Object.defineProperty(e.prototype, "tooltipHTML", {
              get: function () {
                 return this.getPropertyValue("tooltipHTML")
              },
              set: function (t) {
                 t = D.toText(t), this.hoverable = !0, this.setPropertyValue("tooltipHTML", t) && this.tooltip && this.tooltip.visible && this.showTooltip()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipText", {
              get: function () {
                 return this.getPropertyValue("tooltipText")
              },
              set: function (t) {
                 (t = D.toText(t)) && (this.hoverable = !0), this.setPropertyValue("tooltipText", t) && this.tooltip && this.tooltip.visible && this.showTooltip()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipContainer", {
              get: function () {
                 return this._tooltipContainer ? this._tooltipContainer : this.parent ? this.parent.tooltipContainer : void 0
              },
              set: function (t) {
                 this._tooltipContainer = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipX", {
              get: function () {
                 return this.getTooltipX()
              },
              set: function (t) {
                 t = D.toNumber(t), this.setPropertyValue("tooltipX", t) && this.tooltip && this.tooltip.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipPosition", {
              get: function () {
                 return this.getPropertyValue("tooltipPosition")
              },
              set: function (t) {
                 this.setPropertyValue("tooltipPosition", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipY", {
              get: function () {
                 return this.getTooltipY()
              },
              set: function (t) {
                 t = D.toNumber(t), this.setPropertyValue("tooltipY", t) && this.tooltip && this.tooltip.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getTooltipX = function () {
              var t = this.getPropertyValue("tooltipX");
              return D.isNumber(t) || (t = this.maxLeft + this.measuredWidth / 2 - this.pixelPaddingLeft - this.ex), t
           }, e.prototype.getTooltipY = function () {
              var t = this.getPropertyValue("tooltipY");
              return D.isNumber(t) || (t = this.maxTop + this.measuredHeight / 2 - this.pixelPaddingTop - this.ey), t
           }, e.prototype.raiseCriticalError = function (t) {
              this.svgContainer && (this.modal.content = t.message, this.modal.closable = !1, this.modal.open(), this.disabled = !0), _.a.verbose && console.log(t)
           }, e.prototype.processConfig = function (e) {
              e && (D.hasValue(e.tooltipColorSource) && D.isString(e.tooltipColorSource) && this.map.hasKey(e.tooltipColorSource) && (e.tooltipColorSource = this.map.getKey(e.tooltipColorSource)), D.hasValue(e.cursorOverStyle) && D.isString(e.cursorOverStyle) && (e.cursorOverStyle = this.getCursorStyle(e.cursorOverStyle)), D.hasValue(e.cursorDowntyle) && D.isString(e.cursorDowntyle) && (e.cursorDowntyle = this.getCursorStyle(e.cursorDowntyle)), D.hasValue(e.cursorOptions) && (D.hasValue(e.cursorOptions.overStyle) && D.isString(e.cursorOptions.overStyle) && (e.cursorOptions.overStyle = this.getCursorStyle(e.cursorOptions.overStyle)), D.hasValue(e.cursorOptions.downStyle) && D.isString(e.cursorOptions.downStyle) && (e.cursorOptions.downStyle = this.getCursorStyle(e.cursorOptions.downStyle)))), t.prototype.processConfig.call(this, e)
           }, e.prototype.getCursorStyle = function (t) {
              switch (t) {
                 case "grab":
                    return v.a.grab;
                 case "grabbing":
                    return v.a.grabbing;
                 case "pointer":
                    return v.a.pointer;
                 case "horizontalResize":
                    return v.a.horizontalResize;
                 case "verticalResize":
                    return v.a.verticalResize;
                 default:
                    return v.a.default
              }
           }, e.prototype.configOrder = function (e, i) {
              return e == i ? 0 : "tooltipColorSource" == e ? 1 : "tooltipColorSource" == i ? -1 : t.prototype.configOrder.call(this, e, i)
           }, Object.defineProperty(e.prototype, "isHidden", {
              get: function () {
                 return this._isHidden ? this._isHidden : !!this._parent && this._parent.isHidden
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "showOnInit", {
              get: function () {
                 return this.getPropertyValue("showOnInit")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setShowOnInit(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setShowOnInit = function (t) {
              this.setPropertyValue("showOnInit", t) && (this.isTemplate || (!t || this.inited || this.hidden ? this._showOnInitDisposer && this._showOnInitDisposer.dispose() : (this._showOnInitDisposer = new h.c([x.b.events.once("enterframe", this.hideInitially, this), this.events.once("beforevalidated", this.hideInitially, this, !1), this.events.on("inited", this.appear, this, !1)]), this._disposers.push(this._showOnInitDisposer))))
           }, e.prototype.hideInitially = function () {
              this.isDisposed() || (this.appeared = !1, this.inited || this.hide(0))
           }, e.prototype.appear = function () {
              var t = this;
              if (this.appeared = !1, this.hidden || this.isHidden || this.hide(0), this.hidden) this.appeared = !0;
              else {
                 var e = this.show();
                 e && !e.isFinished() ? e.events.on("animationended", function () {
                    t.appeared = !0
                 }) : this.appeared = !0
              }
           }, Object.defineProperty(e.prototype, "hidden", {
              get: function () {
                 return this.getPropertyValue("hidden")
              },
              set: function (t) {
                 t = D.toBoolean(t), this.setPropertyValue("hidden", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bbox", {
              get: function () {
                 return this.definedBBox ? this.definedBBox : this._bbox
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(a.b);
     x.b.registeredClasses.Sprite = L
  },
  W0fk: function (t, e, i) {
     var n = i("DvJ+");
     t.exports = function (t, e) {
        if (!n(t)) return t;
        var i, r;
        if (e && "function" == typeof (i = t.toString) && !n(r = i.call(t))) return r;
        if ("function" == typeof (i = t.valueOf) && !n(r = i.call(t))) return r;
        if (!e && "function" == typeof (i = t.toString) && !n(r = i.call(t))) return r;
        throw TypeError("Can't convert object to primitive value")
     }
  },
  W8Sc: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("UsNi"),
        o = i("x79X"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.adapter = new o.a(e), e.className = "Modal", e.showCurtain = !0, e.draggable = !1, e
           }
           return n.c(e, t), e
        }(r.a)
  },
  WXwQ: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("hcxM"),
        o = Math.abs;
     n(n.S, "Number", {
        isSafeInteger: function (t) {
           return r(t) && o(t) <= 9007199254740991
        }
     })
  },
  WYhe: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return r
     }), i.d(e, "b", function () {
        return o
     });
     var n = i("Mtpk"),
        r = function () {
           function t() {}
           return t.prototype.getEventKey = function (t) {
              var e;
              switch (t.keyCode || t.which) {
                 case 38:
                    e = "up";
                    break;
                 case 40:
                    e = "down";
                    break;
                 case 37:
                    e = "left";
                    break;
                 case 39:
                    e = "right";
                    break;
                 case 13:
                    e = "enter";
                    break;
                 case 27:
                    e = "esc";
                    break;
                 case 36:
                    e = "home";
                    break;
                 case 35:
                    e = "end";
                    break;
                 case 9:
                    e = "tab";
                    break;
                 case 17:
                    e = "ctrl";
                    break;
                 case 18:
                    e = "alt";
                    break;
                 case 16:
                    e = "shift";
                    break;
                 case 32:
                    e = "space";
                    break;
                 case 36:
                    e = "home";
                    break;
                 case 35:
                    e = "end";
                    break;
                 case 33:
                    e = "pgup";
                    break;
                 case 34:
                    e = "pgdn";
                    break;
                 case 45:
                    e = "ins";
                    break;
                 case 46:
                    e = "del";
                    break;
                 case 107:
                    e = "plus";
                    break;
                 case 109:
                    e = "minus";
                    break;
                 default:
                    e = "other"
              }
              return e
           }, t.prototype.isKey = function (t, e) {
              var i = this.getEventKey(t);
              return n.isString(e) && (e = [e]), -1 !== e.indexOf(i)
           }, t.prototype.shiftKey = function (t) {
              return t.shiftKey
           }, t.prototype.ctrlKey = function (t) {
              return t.ctrlKey
           }, t.prototype.altKey = function (t) {
              return t.altKey
           }, t.prototype.metaKey = function (t) {
              return t.metaKey
           }, t
        }(),
        o = new r
  },
  Wbjh: function (t, e) {
     t.exports = function (t, e) {
        return {
           enumerable: !(1 & t),
           configurable: !(2 & t),
           writable: !(4 & t),
           value: e
        }
     }
  },
  Wglt: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.fromArray = r, e.length = function (t) {
        var e = 0;
        return t(function (t) {
           return ++e, !0
        }), e
     }, e.toArray = o, e.eachContinue = function (t, e) {
        return t(e)
     }, e.each = function (t, e) {
        return t(function (t) {
           return e(t), !0
        })
     }, e.sort = function (t, e) {
        return r(o(t).sort(e))
     }, e.map = function (t, e) {
        return function (i) {
           return t(function (t) {
              return i(e(t))
           })
        }
     }, e.filter = function (t, e) {
        return function (i) {
           return t(function (t) {
              return !e(t) || i(t)
           })
        }
     }, e.concat = function () {
        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
        return function (e) {
           for (var i = !0, n = function (t) {
                 return i = e(t)
              }, r = t.length, o = 0; o < r && (t[o](n), i); ++o);
        }
     }, e.flatten = function (t) {
        return function (e) {
           var i = !0,
              n = function (t) {
                 return i = e(t)
              };
           return t(function (t) {
              return t(n), i
           })
        }
     }, e.indexed = function (t) {
        return function (e) {
           var i = 0;
           return t(function (t) {
              return e([i++, t])
           })
        }
     }, e.findIndex = function (t, e) {
        var i = !1,
           n = 0;
        return t(function (t) {
           return e(t) ? (i = !0, !1) : (++n, !0)
        }), i ? n : -1
     }, e.find = function (t, e) {
        var i;
        return t(function (t) {
           return !e(t) || (i = t, !1)
        }), i
     }, e.findMap = function (t, e) {
        var i;
        return t(function (t) {
           var n = e(t);
           return null === n || (i = n, !1)
        }), i
     }, e.contains = function (t, e) {
        var i = !1;
        return t(function (t) {
           return !e(t) || (i = !0, !1)
        }), i
     }, e.foldl = a, e.min = function (t) {
        return a(t, null, s)
     }, e.max = function (t) {
        return a(t, null, u)
     }, e.join = function (t, e) {
        void 0 === e && (e = "");
        var i = !0,
           n = "";
        return t(function (t) {
           return i ? i = !1 : n += e, n += t, !0
        }), n
     }, i.d(e, "ListIterator", function () {
        return l
     });
     var n = i("hJ5i");

     function r(t) {
        return function (e) {
           for (var i = t.length, n = 0; n < i && e(t[n]); ++n);
        }
     }

     function o(t) {
        var e = [];
        return t(function (t) {
           return e.push(t), !0
        }), e
     }

     function a(t, e, i) {
        return t(function (t) {
           return e = i(e, t), !0
        }), e
     }

     function s(t, e) {
        return null == t || e < t ? e : t
     }

     function u(t, e) {
        return null == t || e > t ? e : t
     }
     var l = function () {
        function t(t, e) {
           this.createNewItems = !1, this.list = t, this._create = e, this.reset()
        }
        return t.prototype.reset = function () {
           this._listCopy = o(this.list.iterator())
        }, t.prototype.clear = function () {
           this._listCopy.length = 0
        }, t.prototype.getFirst = function () {
           return this.returnItem(0)
        }, t.prototype.getLast = function () {
           return this.returnItem(this._listCopy.length - 1)
        }, t.prototype.find = function (t) {
           var e = n.findIndex(this._listCopy, t);
           if (-1 !== e) {
              var i = this._listCopy[e];
              return n.remove(this._listCopy, i), i
           }
           return this.getLast()
        }, t.prototype.removeItem = function (t) {
           return n.remove(this._listCopy, t)
        }, t.prototype.returnItem = function (t) {
           if (t >= 0 && t < this._listCopy.length) {
              var e = this._listCopy[t];
              return n.remove(this._listCopy, e), e
           }
           if (this.createNewItems) return this._create()
        }, t.prototype.iterator = function () {
           return r(this._listCopy)
        }, t
     }()
  },
  WtL7: function (t, e, i) {
     var n = i("hpnp");
     t.exports = function (t, e) {
        var i = [];
        return n(t, !1, i.push, i, e), i
     }
  },
  X3ZK: function (t, e, i) {
     i("3mH9")("Map")
  },
  XQMn: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("aPa3");
     n(n.S + n.F * (Number.parseFloat != r), "Number", {
        parseFloat: r
     })
  },
  "XUg+": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S + n.F * !i("gD3S"), "Object", {
        defineProperty: i("hjwn").f
     })
  },
  XYQ1: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S + n.F * !i("gD3S"), "Object", {
        defineProperties: i("p3CN")
     })
  },
  Xf1i: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("eh+x"),
        o = i("kg8J");
     n(n.S, "Math", {
        fscale: function (t, e, i, n, a) {
           return o(r(t, e, i, n, a))
        }
     })
  },
  Xt8l: function (t, e, i) {
     "use strict";
     i("Mvcd")("italics", function (t) {
        return function () {
           return t(this, "i", "", "")
        }
     })
  },
  Y9w3: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return x
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("vMqJ"),
        a = i("VGgz"),
        s = i("+qIf"),
        u = i("hD5A"),
        l = i("EjGA"),
        h = i("73ri"),
        c = i("Rpw0"),
        p = i("A6AV"),
        d = i("aCit"),
        f = i("Gg2j"),
        g = i("hJ5i"),
        y = i("0FpR"),
        m = i("v9UT"),
        b = i("Wglt"),
        v = i("Qkdp"),
        _ = i("Mtpk"),
        x = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.dataFields = {}, e._dataSources = {}, e._parseDataFrom = 0, e._dataDisposers = [], e._start = 0, e._end = 1, e.skipRangeEvent = !1, e.rangeChangeDuration = 0, e.rangeChangeEasing = y.cubicOut, e.parsingStepDuration = 50, e.dataInvalid = !1, e.rawDataInvalid = !1, e.dataRangeInvalid = !1, e.dataItemsInvalid = !1, e.interpolationDuration = 0, e.interpolationEasing = y.cubicOut, e.sequencedInterpolation = !0, e.sequencedInterpolationDelay = 0, e.dataValidationProgress = 0, e._addAllDataItems = !0, e.className = "Component", e.minZoomCount = 1, e._dataItems = new a.b(e.createDataItem()), e._dataItems.events.on("inserted", e.handleDataItemAdded, e, !1), e._dataItems.events.on("removed", e.handleDataItemRemoved, e, !1), e._disposers.push(new o.c(e._dataItems)), e._disposers.push(e._dataItems.template), e.invalidateData(), e.dataUsers.events.on("inserted", e.handleDataUserAdded, e, !1), e._disposers.push(new u.c(e._dataDisposers)), e._start = 0, e._end = 1, e.maxZoomDeclination = 1, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.createDataItem = function () {
              return new p.a
           }, e.prototype.handleDataUserAdded = function (t) {
              t.newValue.dataProvider = this
           }, e.prototype.handleDataItemValueChange = function (t, e) {
              this.dataItemsInvalid || this.invalidateDataItems()
           }, e.prototype.handleDataItemWorkingValueChange = function (t, e) {}, e.prototype.handleDataItemWorkingLocationChange = function (t, e) {}, e.prototype.handleDataItemCalculatedValueChange = function (t, e) {}, e.prototype.handleDataItemPropertyChange = function (t, e) {}, e.prototype.processDataItem = function (t, e) {
              var i = this;
              if (t) {
                 e || (e = {}), t.dataContext = e;
                 var n = !1;
                 v.each(this.dataFields, function (r, s) {
                    var u = r,
                       l = e[s];
                    if (l = i.adapter.apply("dataContextValue", {
                          field: u,
                          value: l,
                          dataItem: t
                       }).value, t.hasChildren[u]) {
                       if (l) {
                          n = !0;
                          var h = new a.b(i.createDataItem());
                          h.events.on("inserted", i.handleDataItemAdded, i, !1), h.events.on("removed", i.handleDataItemRemoved, i, !1), i._dataDisposers.push(new o.c(h));
                          for (var c = l.length, p = 0; p < c; p++) {
                             var d = l[p],
                                f = h.create();
                             f.parent = t, i.processDataItem(f, d)
                          }
                          t[u] = h
                       }
                    } else _.hasValue(l) && (n = !0, t[u] = l)
                 }), v.each(this.propertyFields, function (i, r) {
                    var o = i,
                       a = e[r];
                    _.hasValue(a) && (n = !0, t.setProperty(o, a))
                 }), this._addAllDataItems || n || this.dataItems.remove(t)
              }
           }, e.prototype.updateDataItem = function (t) {
              var e = this;
              if (t) {
                 var i = t.dataContext;
                 v.each(this.dataFields, function (n, r) {
                    var o = n,
                       a = i[r];
                    if (a = e.adapter.apply("dataContextValue", {
                          field: o,
                          value: a,
                          dataItem: t
                       }).value, t.hasChildren[o]) {
                       if (a) {
                          var s = t[o];
                          b.each(s.iterator(), function (t) {
                             e.updateDataItem(t)
                          })
                       }
                    } else _.hasValue(a) && (t[o] = a)
                 }), v.each(this.propertyFields, function (e, n) {
                    var r = e,
                       o = i[n];
                    _.hasValue(o) && t.setProperty(r, o)
                 })
              }
           }, e.prototype.validateDataElements = function () {
              for (var t = this.endIndex, e = this.startIndex; e < t; e++) {
                 var i = this.dataItems.getIndex(e);
                 i && this.validateDataElement(i)
              }
           }, e.prototype.validate = function () {
              this.validateDataElements(), t.prototype.validate.call(this)
           }, e.prototype.validateDataElement = function (t) {}, e.prototype.addData = function (t, e) {
              var i = this;
              this.dataInvalid || (this._parseDataFrom = this.data.length), t instanceof Array ? g.each(t, function (t) {
                 i.data.push(t)
              }) : this.data.push(t), this.removeData(e), this.invalidateData()
           }, e.prototype.removeData = function (t) {
              if (_.isNumber(t))
                 for (; t > 0;) {
                    var e = this.dataItems.getIndex(0);
                    e && this.dataItems.remove(e), this.dataUsers.each(function (t) {
                       var e = t.dataItems.getIndex(0);
                       e && t.dataItems.remove(e)
                    }), this.data.shift(), this._parseDataFrom--, t--
                 }
           }, e.prototype.invalidateData = function () {
              this.disabled || this.isTemplate || (d.b.addToInvalidComponents(this), c.b.requestFrame(), this.dataInvalid = !0, b.each(this.dataUsers.iterator(), function (t) {
                 t.invalidateDataItems()
              }))
           }, e.prototype.invalidateDataUsers = function () {
              b.each(this.dataUsers.iterator(), function (t) {
                 t.invalidate()
              })
           }, e.prototype.invalidateDataItems = function () {
              this.disabled || this.isTemplate || (g.move(d.b.invalidDataItems, this), c.b.requestFrame(), this.dataItemsInvalid = !0, b.each(this.dataUsers.iterator(), function (t) {
                 t.invalidateDataItems()
              }))
           }, e.prototype.invalidateDataRange = function () {
              this.disabled || this.isTemplate || (this.dataRangeInvalid = !0, g.move(d.b.invalidDataRange, this), c.b.requestFrame())
           }, e.prototype.validateDataRange = function () {
              g.remove(d.b.invalidDataRange, this), this.dataRangeInvalid = !1, this.startIndex == this._prevStartIndex && this.endIndex == this._prevEndIndex || (this.rangeChangeUpdate(), this.appendDataItems(), this.invalidate(), this.dispatchImmediately("datarangechanged"))
           }, e.prototype.sliceData = function () {
              this._workingStartIndex = this.startIndex, this._workingEndIndex = this.endIndex
           }, e.prototype.rangeChangeUpdate = function () {
              this.sliceData(), this._prevStartIndex = this.startIndex, this._prevEndIndex = this.endIndex
           }, e.prototype.appendDataItems = function () {
              for (var t = this.endIndex, e = this.startIndex; e < t; e++) {
                 (i = this.dataItems.getIndex(e)) && (i.__disabled = !1)
              }
              for (e = 0; e < this.startIndex; e++) {
                 (i = this.dataItems.getIndex(e)).__disabled = !0
              }
              for (e = this.endIndex; e < this.dataItems.length; e++) {
                 var i;
                 (i = this.dataItems.getIndex(e)).__disabled = !0
              }
           }, e.prototype.invalidateRawData = function () {
              this.disabled || this.isTemplate || (g.move(d.b.invalidRawDatas, this), c.b.requestFrame(), this.rawDataInvalid = !0, b.each(this.dataUsers.iterator(), function (t) {
                 t.invalidateRawData()
              }))
           }, e.prototype.validateRawData = function () {
              var t = this;
              g.remove(d.b.invalidRawDatas, this), b.each(this.dataItems.iterator(), function (e) {
                 e && t.updateDataItem(e)
              })
           }, e.prototype.disposeData = function () {
              this.inited && (g.each(this._dataDisposers, function (t) {
                 t.dispose()
              }), b.each(this.dataUsers.iterator(), function (t) {
                 t.disposeData()
              }), this._dataDisposers.length = 0, this._startIndex = void 0, this._endIndex = void 0, this.dataItems.clear())
           }, e.prototype.validateData = function () {
              if (this.dispatchImmediately("beforedatavalidated"), this.dataInvalid = !1, d.b.removeFromInvalidComponents(this), this.dataValidationProgress = 0, this._prevStartIndex = void 0, this._prevEndIndex = void 0, this._startIndex = void 0, this._endIndex = void 0, this.dataFields.data && this.dataItem) {
                 var t = this.dataItem.dataContext;
                 this._data = t[this.dataFields.data]
              }
              if (0 === this._parseDataFrom && this.data.length > 0 && this.disposeData(), this.data.length > 0) {
                 var e = this.preloader;
                 b.each(this.dataUsers.iterator(), function (t) {
                    t._startIndex = void 0, t._endIndex = void 0
                 });
                 for (var i = 0, n = Date.now(), r = this._parseDataFrom, o = this.data.length, a = function () {
                       var t = s.data[r],
                          o = s.dataItems.create();
                       if ((s.processDataItem(o, t), s.dataUsers.each(function (e) {
                             if (0 == e.data.length) {
                                var i = e.dataItems.create();
                                e.processDataItem(i, t)
                             }
                          }), 100 == ++i) && (i = 0, Date.now() - n > s.parsingStepDuration && r < s.data.length - 10)) return s._parseDataFrom = r + 1, e && (r / s.data.length > .5 && !e.visible || (e.progress = r / s.data.length)), s.dataValidationProgress = r / s.data.length, r = s.data.length, s.invalidateData(), {
                          value: void 0
                       }
                    }, s = this; r < o; r++) {
                    var u = a();
                    if ("object" == typeof u) return u.value
                 }
                 e && (e.progress = 1)
              }
              this.dataValidationProgress = 1, this._parseDataFrom = 0, this.invalidateDataItems(), this._internalDefaultsApplied || this.applyInternalDefaults(), this.dispatch("datavalidated")
           }, e.prototype.validateDataItems = function () {
              g.remove(d.b.invalidDataItems, this), this.dataItemsInvalid = !1, this.invalidateDataRange(), this.invalidate(), this.dispatch("dataitemsvalidated")
           }, Object.defineProperty(e.prototype, "data", {
              get: function () {
                 return this._data || (this._data = []), this.adapter.apply("data", this._data)
              },
              set: function (t) {
                 this.disposeData(), this._data = t, t && t.length > 0 && this.invalidateData()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getDataSource = function (t) {
              var e = this;
              return _.hasValue(this._dataSources[t]) || (this._dataSources[t] = new l.a, this._dataSources[t].component = this, this.setDataSourceEvents(this._dataSources[t], t), this._dataSources[t].adapter.add("dateFields", function (t) {
                 return e.dataSourceDateFields(t)
              }), this._dataSources[t].adapter.add("numberFields", function (t) {
                 return e.dataSourceNumberFields(t)
              }), this.events.on("inited", function () {
                 e.loadData(t)
              }, this, !1)), this._dataSources[t]
           }, Object.defineProperty(e.prototype, "dataSource", {
              get: function () {
                 return this._dataSources.data || this.getDataSource("data"), this._dataSources.data
              },
              set: function (t) {
                 var e = this;
                 this._dataSources.data && this.removeDispose(this._dataSources.data), this._dataSources.data = t, this._dataSources.data.component = this, this.events.on("inited", function () {
                    e.loadData("data")
                 }, this, !1), this.setDataSourceEvents(t, "data")
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.loadData = function (t) {
              this._dataSources[t].load()
           }, e.prototype.dataSourceDateFields = function (t) {
              return t
           }, e.prototype.dataSourceNumberFields = function (t) {
              return t
           }, e.prototype.populateDataSourceFields = function (t, e, i) {
              return g.each(i, function (i) {
                 e[i] && -1 === g.indexOf(t, e[i]) && t.push(e[i])
              }), t
           }, e.prototype.setDataSourceEvents = function (t, e) {
              var i = this;
              t.events.on("started", function (t) {
                 var e = i.preloader;
                 e && (e.progress = 0)
              }, void 0, !1), t.events.on("loadstarted", function (t) {
                 var e = i.preloader;
                 e && (e.progress = .25)
              }, void 0, !1), t.events.on("loadended", function (t) {
                 var e = i.preloader;
                 e && (e.progress = .5)
              }, void 0, !1), t.events.on("parseended", function (t) {
                 var e = i.preloader;
                 e && (e.progress = .75)
              }, void 0, !1), t.events.on("ended", function (t) {
                 var e = i.preloader;
                 e && (e.progress = 1)
              }, void 0, !1), t.events.on("error", function (t) {
                 var e = i.preloader;
                 e && (e.progress = 1), i.openModal(t.message)
              }, void 0, !1), e && t.events.on("done", function (n) {
                 var r = i.preloader;
                 r && (r.progress = 1), "data" != e || _.isArray(n.data) || (n.data = [n.data]), t.incremental && "data" == e && i.data.length ? i.addData(n.data, t.keepCount ? n.data.length : 0) : i[e] = n.data
              })
           }, Object.defineProperty(e.prototype, "responsive", {
              get: function () {
                 return this._responsive || (this._responsive = new h.a, this._responsive.component = this), this._responsive
              },
              set: function (t) {
                 this._responsive = t, this._responsive.component = this
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.zoom = function (t, e, i, n) {
              var r = this;
              void 0 === e && (e = !1), void 0 === i && (i = !1);
              var o = t.start,
                 a = t.end,
                 s = t.priority;
              if (_.isNumber(n) || (n = this.maxZoomDeclination), !_.isNumber(o) || !_.isNumber(a)) return {
                 start: this.start,
                 end: this.end
              };
              if (this._finalStart != o || this._finalEnd != a) {
                 var u = this.maxZoomFactor / this.minZoomCount;
                 if ("start" == s ? (1 / (a - o) > u && (a = o + 1 / u), a > 1 && a - o < 1 / u && (o = a - 1 / u)) : (1 / (a - o) > u && (o = a - 1 / u), o < 0 && a - o < 1 / u && (a = o + 1 / u)), o < -n && (o = -n), 1 / (a - o) > u && (a = o + 1 / u), a > 1 + n && (a = 1 + n), 1 / (a - o) > u && (o = a - 1 / u), this._finalEnd = a, this._finalStart = o, this.skipRangeEvent = e, this.rangeChangeDuration > 0 && !i) {
                    var l = this.rangeChangeAnimation;
                    if (l && l.progress < 1) {
                       var h = l.animationOptions;
                       if (h.length > 1 && h[0].to == o && h[1].to == a) return {
                          start: o,
                          end: a
                       }
                    }
                    this.dispatchImmediately("rangechangestarted"), this.rangeChangeAnimation && this.rangeChangeAnimation.kill(), l = this.animate([{
                       property: "start",
                       to: o
                    }, {
                       property: "end",
                       to: a
                    }], this.rangeChangeDuration, this.rangeChangeEasing), this.rangeChangeAnimation = l, l && !l.isFinished() ? l.events.on("animationended", function () {
                       r.dispatchImmediately("rangechangeended")
                    }) : this.dispatchImmediately("rangechangeended")
                 } else this.start = o, this.end = a
              }
              return {
                 start: o,
                 end: a
              }
           }, e.prototype.zoomToIndexes = function (t, e, i, n) {
              if (_.isNumber(t) && _.isNumber(e)) {
                 var r = t / this.dataItems.length,
                    o = e / this.dataItems.length;
                 this.zoom({
                    start: r,
                    end: o
                 }, i, n)
              }
           }, Object.defineProperty(e.prototype, "zoomFactor", {
              get: function () {
                 return f.fitToRange(1 / (this.end - this.start), 1, this.maxZoomFactor)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxZoomFactor", {
              get: function () {
                 return this.getPropertyValue("maxZoomFactor")
              },
              set: function (t) {
                 this.setPropertyValue("maxZoomFactor", t) && (1 == t && (this.maxZoomDeclination = 0), this.invalidateDataRange())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxZoomDeclination", {
              get: function () {
                 return this.getPropertyValue("maxZoomDeclination")
              },
              set: function (t) {
                 this.setPropertyValue("maxZoomDeclination", t) && this.invalidateDataRange()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "startIndex", {
              get: function () {
                 return _.isNumber(this._startIndex) || (this._startIndex = 0), this._startIndex
              },
              set: function (t) {
                 this._startIndex = f.fitToRange(Math.round(t), 0, this.dataItems.length), this.start = this.indexToPosition(this._startIndex)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.indexToPosition = function (t) {
              return t / this.dataItems.length
           }, Object.defineProperty(e.prototype, "endIndex", {
              get: function () {
                 return _.isNumber(this._endIndex) || (this._endIndex = this.dataItems.length), this._endIndex
              },
              set: function (t) {
                 this._endIndex = f.fitToRange(Math.round(t), 0, this.dataItems.length), this.end = this.indexToPosition(this._endIndex)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "start", {
              get: function () {
                 return this._start
              },
              set: function (t) {
                 if (t = f.round(t, 5), this._start != t) {
                    this._start = t;
                    var e = Math.max(0, Math.floor(this.dataItems.length * t) || 0);
                    this._startIndex = Math.min(e, this.dataItems.length), this.invalidateDataRange(), this.invalidate(), this.dispatchImmediately("startchanged")
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "end", {
              get: function () {
                 return this._end
              },
              set: function (t) {
                 t = f.round(t, 5), this._end != t && (this._end = t, this._endIndex = Math.min(this.dataItems.length, Math.ceil(this.dataItems.length * t) || 0), this.invalidateDataRange(), this.invalidate(), this.dispatchImmediately("endchanged"))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.removeFromInvalids = function () {
              t.prototype.removeFromInvalids.call(this), d.b.removeFromInvalidComponents(this), g.remove(d.b.invalidDataItems, this), g.remove(d.b.invalidDataRange, this), g.remove(d.b.invalidRawDatas, this)
           }, Object.defineProperty(e.prototype, "dataItems", {
              get: function () {
                 return this._dataItems
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype._updateDataItemIndexes = function (t) {
              for (var e = this.dataItems.values, i = e.length, n = t; n < i; ++n) e[n]._index = n
           }, e.prototype.handleDataItemAdded = function (t) {
              t.newValue.component = this, this._updateDataItemIndexes(t.index), this.dataItemsInvalid || this.invalidateDataItems()
           }, e.prototype.handleDataItemRemoved = function (t) {
              t.oldValue.component = void 0, this._updateDataItemIndexes(t.index), this.dataItemsInvalid || this.invalidateDataItems()
           }, Object.defineProperty(e.prototype, "dataMethods", {
              get: function () {
                 return this._dataMethods || (this._dataMethods = new s.a), this._dataMethods
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.bindDataField = function (t, e) {
              this.dataFields[t] = e, this.invalidateDataRange()
           }, e.prototype.invalidateProcessedData = function () {
              this.resetProcessedRange(), this.invalidateDataRange()
           }, e.prototype.resetProcessedRange = function () {
              this._prevEndIndex = null, this._prevStartIndex = null
           }, Object.defineProperty(e.prototype, "dataUsers", {
              get: function () {
                 var t = this;
                 return this._dataUsers || (this._dataUsers = new o.b, this._disposers.push(new u.b(function () {
                    b.each(t._dataUsers.iterator(), function (t) {
                       t.dispose()
                    })
                 }))), this._dataUsers
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.clone = function () {
              var e = t.prototype.clone.call(this);
              return e.dataFields = m.copyProperties(this.dataFields, {}), e
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.data = e.data, this.sequencedInterpolation = e.sequencedInterpolation, this.sequencedInterpolationDelay = e.sequencedInterpolationDelay, this.interpolationDuration = e.interpolationDuration, this.interpolationEasing = e.interpolationEasing
           }, e.prototype.reinit = function () {
              this._inited = !1, this.deepInvalidate()
           }, e.prototype.getExporting = function () {
              var e = t.prototype.getExporting.call(this);
              return e.adapter.has("data", this._exportData, null, this) || e.adapter.add("data", this._exportData, null, this), e
           }, e.prototype._exportData = function (t) {
              return t.data = this.data, t
           }, e.prototype.setDisabled = function (e) {
              var i = t.prototype.setDisabled.call(this, e);
              return i && this.invalidateData(), i
           }, e.prototype.setShowOnInit = function (e) {
              e != this.getPropertyValue("showOnInit") && (!e || this.inited || this.hidden ? this._showOnInitDisposer2 && this._showOnInitDisposer2.dispose() : (this._showOnInitDisposer2 = this.events.once("dataitemsvalidated", this.hideInitially, this, !1), this._disposers.push(this._showOnInitDisposer2))), t.prototype.setShowOnInit.call(this, e)
           }, e.prototype.setBaseId = function (e) {
              e != this._baseId && this.dataInvalid && (this.dataInvalid = !1, d.b.removeFromInvalidComponents(this), this._baseId = e, this.invalidateData()), t.prototype.setBaseId.call(this, e)
           }, Object.defineProperty(e.prototype, "minZoomCount", {
              get: function () {
                 return this.getPropertyValue("minZoomCount")
              },
              set: function (t) {
                 this.setPropertyValue("minZoomCount", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  YDsm: function (t, e, i) {
     "use strict";
     var n = i("T9LF"),
        r = i("U3hN"),
        o = i("gD3S"),
        a = i("Gb1H"),
        s = i("wDk4"),
        u = i("kFp5").KEY,
        l = i("AEc5"),
        h = i("OB1/"),
        c = i("bPwn"),
        p = i("7bL/"),
        d = i("YEtG"),
        f = i("xxwE"),
        g = i("xdw4"),
        y = i("G0iN"),
        m = i("kHwJ"),
        b = i("snR7"),
        v = i("DvJ+"),
        _ = i("EhJv"),
        x = i("W0fk"),
        P = i("Wbjh"),
        w = i("5+SK"),
        O = i("8rbL"),
        S = i("nHHr"),
        k = i("hjwn"),
        T = i("3BzE"),
        C = S.f,
        j = k.f,
        I = O.f,
        V = n.Symbol,
        M = n.JSON,
        D = M && M.stringify,
        E = d("_hidden"),
        F = d("toPrimitive"),
        N = {}.propertyIsEnumerable,
        R = h("symbol-registry"),
        L = h("symbols"),
        A = h("op-symbols"),
        B = Object.prototype,
        H = "function" == typeof V,
        G = n.QObject,
        W = !G || !G.prototype || !G.prototype.findChild,
        z = o && l(function () {
           return 7 != w(j({}, "a", {
              get: function () {
                 return j(this, "a", {
                    value: 7
                 }).a
              }
           })).a
        }) ? function (t, e, i) {
           var n = C(B, e);
           n && delete B[e], j(t, e, i), n && t !== B && j(B, e, n)
        } : j,
        U = function (t) {
           var e = L[t] = w(V.prototype);
           return e._k = t, e
        },
        Y = H && "symbol" == typeof V.iterator ? function (t) {
           return "symbol" == typeof t
        } : function (t) {
           return t instanceof V
        },
        K = function (t, e, i) {
           return t === B && K(A, e, i), b(t), e = x(e, !0), b(i), r(L, e) ? (i.enumerable ? (r(t, E) && t[E][e] && (t[E][e] = !1), i = w(i, {
              enumerable: P(0, !1)
           })) : (r(t, E) || j(t, E, P(1, {})), t[E][e] = !0), z(t, e, i)) : j(t, e, i)
        },
        X = function (t, e) {
           b(t);
           for (var i, n = y(e = _(e)), r = 0, o = n.length; o > r;) K(t, i = n[r++], e[i]);
           return t
        },
        J = function (t) {
           var e = N.call(this, t = x(t, !0));
           return !(this === B && r(L, t) && !r(A, t)) && (!(e || !r(this, t) || !r(L, t) || r(this, E) && this[E][t]) || e)
        },
        Z = function (t, e) {
           if (t = _(t), e = x(e, !0), t !== B || !r(L, e) || r(A, e)) {
              var i = C(t, e);
              return !i || !r(L, e) || r(t, E) && t[E][e] || (i.enumerable = !0), i
           }
        },
        q = function (t) {
           for (var e, i = I(_(t)), n = [], o = 0; i.length > o;) r(L, e = i[o++]) || e == E || e == u || n.push(e);
           return n
        },
        Q = function (t) {
           for (var e, i = t === B, n = I(i ? A : _(t)), o = [], a = 0; n.length > a;) !r(L, e = n[a++]) || i && !r(B, e) || o.push(L[e]);
           return o
        };
     H || (s((V = function () {
        if (this instanceof V) throw TypeError("Symbol is not a constructor!");
        var t = p(arguments.length > 0 ? arguments[0] : void 0),
           e = function (i) {
              this === B && e.call(A, i), r(this, E) && r(this[E], t) && (this[E][t] = !1), z(this, t, P(1, i))
           };
        return o && W && z(B, t, {
           configurable: !0,
           set: e
        }), U(t)
     }).prototype, "toString", function () {
        return this._k
     }), S.f = Z, k.f = K, i("rkh7").f = O.f = q, i("eBSV").f = J, i("pmYy").f = Q, o && !i("pb4Y") && s(B, "propertyIsEnumerable", J, !0), f.f = function (t) {
        return U(d(t))
     }), a(a.G + a.W + a.F * !H, {
        Symbol: V
     });
     for (var $ = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), tt = 0; $.length > tt;) d($[tt++]);
     for (var et = T(d.store), it = 0; et.length > it;) g(et[it++]);
     a(a.S + a.F * !H, "Symbol", {
        for: function (t) {
           return r(R, t += "") ? R[t] : R[t] = V(t)
        },
        keyFor: function (t) {
           if (!Y(t)) throw TypeError(t + " is not a symbol!");
           for (var e in R)
              if (R[e] === t) return e
        },
        useSetter: function () {
           W = !0
        },
        useSimple: function () {
           W = !1
        }
     }), a(a.S + a.F * !H, "Object", {
        create: function (t, e) {
           return void 0 === e ? w(t) : X(w(t), e)
        },
        defineProperty: K,
        defineProperties: X,
        getOwnPropertyDescriptor: Z,
        getOwnPropertyNames: q,
        getOwnPropertySymbols: Q
     }), M && a(a.S + a.F * (!H || l(function () {
        var t = V();
        return "[null]" != D([t]) || "{}" != D({
           a: t
        }) || "{}" != D(Object(t))
     })), "JSON", {
        stringify: function (t) {
           for (var e, i, n = [t], r = 1; arguments.length > r;) n.push(arguments[r++]);
           if (i = e = n[1], (v(e) || void 0 !== t) && !Y(t)) return m(e) || (e = function (t, e) {
              if ("function" == typeof i && (e = i.call(this, t, e)), !Y(e)) return e
           }), n[1] = e, D.apply(M, n)
        }
     }), V.prototype[F] || i("Vng0")(V.prototype, F, V.prototype.valueOf), c(V, "Symbol"), c(Math, "Math", !0), c(n.JSON, "JSON", !0)
  },
  YEtG: function (t, e, i) {
     var n = i("OB1/")("wks"),
        r = i("7bL/"),
        o = i("T9LF").Symbol,
        a = "function" == typeof o;
     (t.exports = function (t) {
        return n[t] || (n[t] = a && o[t] || (a ? o : r)("Symbol." + t))
     }).store = n
  },
  YF4K: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        DEG_PER_RAD: Math.PI / 180
     })
  },
  YJIw: function (t, e, i) {
     "use strict";
     if (i("gD3S")) {
        var n = i("pb4Y"),
           r = i("T9LF"),
           o = i("AEc5"),
           a = i("Gb1H"),
           s = i("xSzy"),
           u = i("LNZc"),
           l = i("20m4"),
           h = i("ypVE"),
           c = i("Wbjh"),
           p = i("Vng0"),
           d = i("cA+3"),
           f = i("4BRe"),
           g = i("FmWr"),
           y = i("bytU"),
           m = i("UwWU"),
           b = i("W0fk"),
           v = i("U3hN"),
           _ = i("MfZA"),
           x = i("DvJ+"),
           P = i("vJiZ"),
           w = i("a8UT"),
           O = i("5+SK"),
           S = i("K0ev"),
           k = i("rkh7").f,
           T = i("iOZG"),
           C = i("7bL/"),
           j = i("YEtG"),
           I = i("dstF"),
           V = i("mntN"),
           M = i("QXbb"),
           D = i("2/6D"),
           E = i("9BM3"),
           F = i("ID9o"),
           N = i("vdWU"),
           R = i("lgQj"),
           L = i("y2pX"),
           A = i("hjwn"),
           B = i("nHHr"),
           H = A.f,
           G = B.f,
           W = r.RangeError,
           z = r.TypeError,
           U = r.Uint8Array,
           Y = Array.prototype,
           K = u.ArrayBuffer,
           X = u.DataView,
           J = I(0),
           Z = I(2),
           q = I(3),
           Q = I(4),
           $ = I(5),
           tt = I(6),
           et = V(!0),
           it = V(!1),
           nt = D.values,
           rt = D.keys,
           ot = D.entries,
           at = Y.lastIndexOf,
           st = Y.reduce,
           ut = Y.reduceRight,
           lt = Y.join,
           ht = Y.sort,
           ct = Y.slice,
           pt = Y.toString,
           dt = Y.toLocaleString,
           ft = j("iterator"),
           gt = j("toStringTag"),
           yt = C("typed_constructor"),
           mt = C("def_constructor"),
           bt = s.CONSTR,
           vt = s.TYPED,
           _t = s.VIEW,
           xt = I(1, function (t, e) {
              return kt(M(t, t[mt]), e)
           }),
           Pt = o(function () {
              return 1 === new U(new Uint16Array([1]).buffer)[0]
           }),
           wt = !!U && !!U.prototype.set && o(function () {
              new U(1).set({})
           }),
           Ot = function (t, e) {
              var i = f(t);
              if (i < 0 || i % e) throw W("Wrong offset!");
              return i
           },
           St = function (t) {
              if (x(t) && vt in t) return t;
              throw z(t + " is not a typed array!")
           },
           kt = function (t, e) {
              if (!(x(t) && yt in t)) throw z("It is not a typed array constructor!");
              return new t(e)
           },
           Tt = function (t, e) {
              return Ct(M(t, t[mt]), e)
           },
           Ct = function (t, e) {
              for (var i = 0, n = e.length, r = kt(t, n); n > i;) r[i] = e[i++];
              return r
           },
           jt = function (t, e, i) {
              H(t, e, {
                 get: function () {
                    return this._d[i]
                 }
              })
           },
           It = function (t) {
              var e, i, n, r, o, a, s = P(t),
                 u = arguments.length,
                 h = u > 1 ? arguments[1] : void 0,
                 c = void 0 !== h,
                 p = T(s);
              if (void 0 != p && !w(p)) {
                 for (a = p.call(s), n = [], e = 0; !(o = a.next()).done; e++) n.push(o.value);
                 s = n
              }
              for (c && u > 2 && (h = l(h, arguments[2], 2)), e = 0, i = g(s.length), r = kt(this, i); i > e; e++) r[e] = c ? h(s[e], e) : s[e];
              return r
           },
           Vt = function () {
              for (var t = 0, e = arguments.length, i = kt(this, e); e > t;) i[t] = arguments[t++];
              return i
           },
           Mt = !!U && o(function () {
              dt.call(new U(1))
           }),
           Dt = function () {
              return dt.apply(Mt ? ct.call(St(this)) : St(this), arguments)
           },
           Et = {
              copyWithin: function (t, e) {
                 return L.call(St(this), t, e, arguments.length > 2 ? arguments[2] : void 0)
              },
              every: function (t) {
                 return Q(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              fill: function (t) {
                 return R.apply(St(this), arguments)
              },
              filter: function (t) {
                 return Tt(this, Z(St(this), t, arguments.length > 1 ? arguments[1] : void 0))
              },
              find: function (t) {
                 return $(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              findIndex: function (t) {
                 return tt(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              forEach: function (t) {
                 J(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              indexOf: function (t) {
                 return it(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              includes: function (t) {
                 return et(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              join: function (t) {
                 return lt.apply(St(this), arguments)
              },
              lastIndexOf: function (t) {
                 return at.apply(St(this), arguments)
              },
              map: function (t) {
                 return xt(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              reduce: function (t) {
                 return st.apply(St(this), arguments)
              },
              reduceRight: function (t) {
                 return ut.apply(St(this), arguments)
              },
              reverse: function () {
                 for (var t, e = St(this).length, i = Math.floor(e / 2), n = 0; n < i;) t = this[n], this[n++] = this[--e], this[e] = t;
                 return this
              },
              some: function (t) {
                 return q(St(this), t, arguments.length > 1 ? arguments[1] : void 0)
              },
              sort: function (t) {
                 return ht.call(St(this), t)
              },
              subarray: function (t, e) {
                 var i = St(this),
                    n = i.length,
                    r = m(t, n);
                 return new(M(i, i[mt]))(i.buffer, i.byteOffset + r * i.BYTES_PER_ELEMENT, g((void 0 === e ? n : m(e, n)) - r))
              }
           },
           Ft = function (t, e) {
              return Tt(this, ct.call(St(this), t, e))
           },
           Nt = function (t) {
              St(this);
              var e = Ot(arguments[1], 1),
                 i = this.length,
                 n = P(t),
                 r = g(n.length),
                 o = 0;
              if (r + e > i) throw W("Wrong length!");
              for (; o < r;) this[e + o] = n[o++]
           },
           Rt = {
              entries: function () {
                 return ot.call(St(this))
              },
              keys: function () {
                 return rt.call(St(this))
              },
              values: function () {
                 return nt.call(St(this))
              }
           },
           Lt = function (t, e) {
              return x(t) && t[vt] && "symbol" != typeof e && e in t && String(+e) == String(e)
           },
           At = function (t, e) {
              return Lt(t, e = b(e, !0)) ? c(2, t[e]) : G(t, e)
           },
           Bt = function (t, e, i) {
              return !(Lt(t, e = b(e, !0)) && x(i) && v(i, "value")) || v(i, "get") || v(i, "set") || i.configurable || v(i, "writable") && !i.writable || v(i, "enumerable") && !i.enumerable ? H(t, e, i) : (t[e] = i.value, t)
           };
        bt || (B.f = At, A.f = Bt), a(a.S + a.F * !bt, "Object", {
           getOwnPropertyDescriptor: At,
           defineProperty: Bt
        }), o(function () {
           pt.call({})
        }) && (pt = dt = function () {
           return lt.call(this)
        });
        var Ht = d({}, Et);
        d(Ht, Rt), p(Ht, ft, Rt.values), d(Ht, {
           slice: Ft,
           set: Nt,
           constructor: function () {},
           toString: pt,
           toLocaleString: Dt
        }), jt(Ht, "buffer", "b"), jt(Ht, "byteOffset", "o"), jt(Ht, "byteLength", "l"), jt(Ht, "length", "e"), H(Ht, gt, {
           get: function () {
              return this[vt]
           }
        }), t.exports = function (t, e, i, u) {
           var l = t + ((u = !!u) ? "Clamped" : "") + "Array",
              c = "get" + t,
              d = "set" + t,
              f = r[l],
              m = f || {},
              b = f && S(f),
              v = !f || !s.ABV,
              P = {},
              w = f && f.prototype,
              T = function (t, i) {
                 H(t, i, {
                    get: function () {
                       return function (t, i) {
                          var n = t._d;
                          return n.v[c](i * e + n.o, Pt)
                       }(this, i)
                    },
                    set: function (t) {
                       return function (t, i, n) {
                          var r = t._d;
                          u && (n = (n = Math.round(n)) < 0 ? 0 : n > 255 ? 255 : 255 & n), r.v[d](i * e + r.o, n, Pt)
                       }(this, i, t)
                    },
                    enumerable: !0
                 })
              };
           v ? (f = i(function (t, i, n, r) {
              h(t, f, l, "_d");
              var o, a, s, u, c = 0,
                 d = 0;
              if (x(i)) {
                 if (!(i instanceof K || "ArrayBuffer" == (u = _(i)) || "SharedArrayBuffer" == u)) return vt in i ? Ct(f, i) : It.call(f, i);
                 o = i, d = Ot(n, e);
                 var m = i.byteLength;
                 if (void 0 === r) {
                    if (m % e) throw W("Wrong length!");
                    if ((a = m - d) < 0) throw W("Wrong length!")
                 } else if ((a = g(r) * e) + d > m) throw W("Wrong length!");
                 s = a / e
              } else s = y(i), o = new K(a = s * e);
              for (p(t, "_d", {
                    b: o,
                    o: d,
                    l: a,
                    e: s,
                    v: new X(o)
                 }); c < s;) T(t, c++)
           }), w = f.prototype = O(Ht), p(w, "constructor", f)) : o(function () {
              f(1)
           }) && o(function () {
              new f(-1)
           }) && F(function (t) {
              new f, new f(null), new f(1.5), new f(t)
           }, !0) || (f = i(function (t, i, n, r) {
              var o;
              return h(t, f, l), x(i) ? i instanceof K || "ArrayBuffer" == (o = _(i)) || "SharedArrayBuffer" == o ? void 0 !== r ? new m(i, Ot(n, e), r) : void 0 !== n ? new m(i, Ot(n, e)) : new m(i) : vt in i ? Ct(f, i) : It.call(f, i) : new m(y(i))
           }), J(b !== Function.prototype ? k(m).concat(k(b)) : k(m), function (t) {
              t in f || p(f, t, m[t])
           }), f.prototype = w, n || (w.constructor = f));
           var C = w[ft],
              j = !!C && ("values" == C.name || void 0 == C.name),
              I = Rt.values;
           p(f, yt, !0), p(w, vt, l), p(w, _t, !0), p(w, mt, f), (u ? new f(1)[gt] == l : gt in w) || H(w, gt, {
              get: function () {
                 return l
              }
           }), P[l] = f, a(a.G + a.W + a.F * (f != m), P), a(a.S, l, {
              BYTES_PER_ELEMENT: e
           }), a(a.S + a.F * o(function () {
              m.of.call(f, 1)
           }), l, {
              from: It,
              of: Vt
           }), "BYTES_PER_ELEMENT" in w || p(w, "BYTES_PER_ELEMENT", e), a(a.P, l, Et), N(l), a(a.P + a.F * wt, l, {
              set: Nt
           }), a(a.P + a.F * !j, l, Rt), n || w.toString == pt || (w.toString = pt), a(a.P + a.F * o(function () {
              new f(1).slice()
           }), l, {
              slice: Ft
           }), a(a.P + a.F * (o(function () {
              return [1, 2].toLocaleString() != new f([1, 2]).toLocaleString()
           }) || !o(function () {
              w.toLocaleString.call([1, 2])
           })), l, {
              toLocaleString: Dt
           }), E[l] = j ? C : I, n || j || p(w, ft, I)
        }
     } else t.exports = function () {}
  },
  Ybtf: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("FzPm"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Ellipse", e.element = e.paper.add("ellipse"), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), this.element.attr({
                 rx: this.radius
              }), this.element.attr({
                 ry: this.radiusY
              })
           }, Object.defineProperty(e.prototype, "radiusY", {
              get: function () {
                 return this.innerHeight / 2
              },
              set: function (t) {
                 this.height = 2 * t, this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "radius", {
              get: function () {
                 return this.innerWidth / 2
              },
              set: function (t) {
                 this.width = 2 * t, this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Ellipse = a
  },
  YnyG: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("K0ev"),
        o = i("snR7");
     n(n.S, "Reflect", {
        getPrototypeOf: function (t) {
           return r(o(t))
        }
     })
  },
  YotE: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("o0Lc"),
        o = i("hD5A"),
        a = function (t) {
           function e() {
              var e = null !== t && t.apply(this, arguments) || this;
              return e._domEvents = {}, e
           }
           return n.c(e, t), e.prototype._addDOMEvent = function (t, e, i, n) {
              var r = this;
              if (!this._domEvents[t]) {
                 var a = function (t) {
                    i.call(n, e, t)
                 };
                 this.target.element.addEventListener(t, a, !1), this._domEvents[t] = new o.a(function () {
                    delete r._domEvents[t], r.target.element.removeEventListener(t, a, !1)
                 })
              }
              return this._domEvents[t].increment()
           }, e.prototype._dispatchKeyboardEvent = function (t, e) {
              this.target.events.isEnabled(t) && this.target.events.dispatchImmediately(t, {
                 type: t,
                 target: this.target,
                 event: e
              })
           }, e.prototype._on = function (e, i, n, r, a, s) {
              var u = t.prototype._on.call(this, e, i, n, r, a, s),
                 l = [u.disposer];
              switch (i) {
                 case "hit":
                 case "doublehit":
                 case "rightclick":
                 case "down":
                 case "up":
                    this.target.clickable = !0;
                    break;
                 case "drag":
                 case "dragstart":
                 case "dragstop":
                    this.target.draggable = !0;
                    break;
                 case "track":
                    this.target.trackable = !0;
                    break;
                 case "resize":
                    this.target.resizable = !0;
                    break;
                 case "swipe":
                 case "swipeleft":
                 case "swiperight":
                    this.target.swipeable = !0;
                    break;
                 case "wheel":
                 case "wheelup":
                 case "wheeldown":
                 case "wheelleft":
                 case "wheelright":
                    this.target.wheelable = !0;
                    break;
                 case "over":
                 case "out":
                    this.target.hoverable = !0;
                    break;
                 case "focus":
                 case "blur":
                 case "focusin":
                 case "focusout":
                    this.target.focusable = !0;
                    break;
                 case "keydown":
                 case "keyup":
                 case "keypress":
                 case "input":
                    l.push(this._addDOMEvent(i, i, this._dispatchKeyboardEvent, this))
              }
              return u.disposer = new o.c(l), u
           }, e
        }(r.b)
  },
  YxCF: function (t, e, i) {
     "use strict";
     var n = i("oGmz")(!0);
     t.exports = function (t, e, i) {
        return e + (i ? n(t, e).length : 1)
     }
  },
  ZLF9: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("P7v+"),
        a = i("vMqJ"),
        s = i("1yyj"),
        u = i("aCit"),
        l = i("MIZb"),
        h = i("Wglt"),
        c = i("Qkdp"),
        p = i("Mtpk"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._elements = new a.b, e.properties = {}, e.className = "Pattern", e.width = 10, e.height = 10, e.x = 0, e.y = 0, e.patternUnits = "userSpaceOnUse";
              var i = new l.a;
              return e.backgroundFill = i.getFor("background"), e.backgroundOpacity = 0, e.fillOpacity = 1, e.fill = i.getFor("alternativeBackground"), e.stroke = i.getFor("alternativeBackground"), e.strokeOpacity = 1, e.strokeWidth = 1, e.shapeRendering = "crispEdges", e.rotation = 0, e.element = e.paper.addGroup("pattern"), e.id = "pattern-" + u.b.getUniqueId(), e.element.attr({
                 id: e.id
              }), e._disposers.push(e.element), e._disposers.push(new a.c(e._elements)), e.patternUnits = e.patternUnits, e.width = e.width, e.height = e.height, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              var t = this,
                 e = this.element;
              if (e) {
                 e.removeChildNodes();
                 var i = this.paper.add("rect");
                 i.attr({
                    width: this.width,
                    height: this.height,
                    "shape-rendering": "crispEdges",
                    fill: this.backgroundFill.hex,
                    "fill-opacity": this.backgroundOpacity,
                    stroke: this.backgroundFill.hex,
                    "stroke-opacity": this.backgroundOpacity
                 }), e.add(i), e.attr({
                    x: this.x,
                    y: this.y,
                    width: this.width,
                    height: this.height,
                    stroke: this.stroke.hex,
                    fill: this.fill.hex,
                    "fill-opacity": this.fillOpacity,
                    "stroke-opacity": this.strokeOpacity,
                    "stroke-width": this.strokeWidth,
                    "shape-rendering": this.shapeRendering,
                    patternUnits: this.patternUnits
                 }), h.each(this._elements.iterator(), function (e) {
                    e.rotation = t.rotation, t.element.add(e)
                 })
              }
           }, e.prototype.animate = function (t, e, i) {
              return new s.a(this, t, e, i).start()
           }, e.prototype.addElement = function (t) {
              this._elements.push(t), this._disposers.push(t)
           }, e.prototype.removeElement = function (t) {
              this._elements.removeValue(t), this.removeDispose(t)
           }, Object.defineProperty(e.prototype, "elements", {
              get: function () {
                 return this._elements
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fillOpacity", {
              get: function () {
                 return this.properties.fillOpacity
              },
              set: function (t) {
                 this.properties.fillOpacity = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fill", {
              get: function () {
                 return this.properties.fill
              },
              set: function (t) {
                 this.properties.fill = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "backgroundFill", {
              get: function () {
                 return this.properties.backgroundFill
              },
              set: function (t) {
                 this.properties.backgroundFill = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "backgroundOpacity", {
              get: function () {
                 return this.properties.backgroundOpacity
              },
              set: function (t) {
                 this.properties.backgroundOpacity = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "stroke", {
              get: function () {
                 return this.properties.stroke
              },
              set: function (t) {
                 this.properties.stroke = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "strokeOpacity", {
              get: function () {
                 return this.properties.strokeOpacity
              },
              set: function (t) {
                 this.properties.strokeOpacity = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "strokeWidth", {
              get: function () {
                 return this.properties.strokeWidth
              },
              set: function (t) {
                 this.properties.strokeWidth = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "shapeRendering", {
              get: function () {
                 return this.properties.shapeRendering
              },
              set: function (t) {
                 this.properties.shapeRendering = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "rotation", {
              get: function () {
                 return this.properties.rotation
              },
              set: function (t) {
                 this.properties.rotation = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "patternUnits", {
              get: function () {
                 return this.properties.patternUnits
              },
              set: function (t) {
                 this.properties.patternUnits = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "width", {
              get: function () {
                 return this.properties.width
              },
              set: function (t) {
                 this.properties.width = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "height", {
              get: function () {
                 return this.properties.height
              },
              set: function (t) {
                 this.properties.height = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "x", {
              get: function () {
                 return this.properties.x
              },
              set: function (t) {
                 this.properties.x = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "y", {
              get: function () {
                 return this.properties.y
              },
              set: function (t) {
                 this.properties.y = t, this.draw()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "paper", {
              get: function () {
                 return this._paper ? this._paper : Object(o.b)()
              },
              set: function (t) {
                 this._paper != t && (this._paper = t, this.draw(), t.appendDef(this.element))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              var i = this;
              t.prototype.copyFrom.call(this, e), c.each(e.properties, function (t, e) {
                 i[t] = e
              })
           }, Object.defineProperty(e.prototype, "animations", {
              get: function () {
                 return this._animations || (this._animations = [], this._disposers.push(new s.b(this._animations))), this._animations
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.processConfig = function (e) {
              if (e && p.hasValue(e.elements) && p.isArray(e.elements))
                 for (var i = 0, n = e.elements.length; i < n; i++) {
                    var o = e.elements[i];
                    if (p.hasValue(o.type)) {
                       var a = this.createEntryInstance(o);
                       a instanceof r.a && (a.config = o), this.addElement(p.hasValue(o.typeProperty) ? a[o.typeProperty] : a.element)
                    }
                 }
              t.prototype.processConfig.call(this, e)
           }, e
        }(r.a);
     u.b.registeredClasses.Pattern = d
  },
  ZhuL: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("mIpt"),
        o = i("Qkdp"),
        a = i("Mtpk"),
        s = function (t) {
           function e() {
              var e = null !== t && t.apply(this, arguments) || this;
              return e.contentType = "application/json", e.options = {}, e
           }
           return n.c(e, t), e.isJSON = function (t) {
              try {
                 return JSON.parse(t), !0
              } catch (t) {
                 return !1
              }
           }, e.prototype.parse = function (t) {
              var e, i = this;
              try {
                 a.hasValue(JSON) && (e = JSON.parse(t))
              } catch (t) {
                 return
              }
              var n = a.hasValue(this.options.emptyAs),
                 r = this.parsableNumbers,
                 s = this.parsableDates;
              if (Array.isArray(e) && (r || s || n))
                 for (var u = function (t, a) {
                       var u = e[t];
                       o.each(u, function (t, e) {
                          n && (u[t] = i.maybeToEmpty(u[t])), r && (u[t] = i.maybeToNumber(t, u[t])), s && (u[t] = i.maybeToDate(t, u[t]))
                       })
                    }, l = 0, h = e.length; l < h; l++) u(l);
              return e
           }, e
        }(r.a)
  },
  Zisa: function (t, e, i) {
     var n = i("Gb1H"),
        r = 180 / Math.PI;
     n(n.S, "Math", {
        degrees: function (t) {
           return t * r
        }
     })
  },
  Zljy: function (t, e, i) {
     var n = i("DvJ+");
     i("5lay")("isSealed", function (t) {
        return function (e) {
           return !n(e) || !!t && t(e)
        }
     })
  },
  ZoDA: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("Uslz"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "ValueAxisBreak", e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "startPosition", {
              get: function () {
                 if (this.axis) return this.axis.valueToPosition(this.adjustedStartValue)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endPosition", {
              get: function () {
                 if (this.axis) return this.axis.valueToPosition(this.adjustedEndValue)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.ValueAxisBreak = a
  },
  ZpHf: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return f
     }), i.d(e, "a", function () {
        return g
     });
     var n = i("m4/l"),
        r = i("Hg48"),
        o = i("tjMS"),
        a = i("aCit"),
        s = i("MtRv"),
        u = i("uLGy"),
        l = i("1yyj"),
        h = i("Wglt"),
        c = i("Gg2j"),
        p = i("Mtpk"),
        d = i("Qkdp"),
        f = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "SankeyDiagramDataItem", e.applyTheme(), e
           }
           return n.c(e, t), e
        }(r.b),
        g = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "SankeyDiagram", e.orientation = "horizontal", e.nodeAlign = "middle", e.nodesContainer.width = Object(o.c)(100), e.nodesContainer.height = Object(o.c)(100), e.linksContainer.width = Object(o.c)(100), e.linksContainer.height = Object(o.c)(100), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.validateData = function () {
              var e = this;
              t.prototype.validateData.call(this), this._levelCount = 0, this.nodes.each(function (t, i) {
                 i.level = e.getNodeLevel(i, 0), e._levelCount = c.max(e._levelCount, i.level)
              })
           }, e.prototype.getNodeLevel = function (t, e) {
              var i = this,
                 r = [e];
              return h.each(t.incomingDataItems.iterator(), function (t) {
                 t.fromNode && r.push(i.getNodeLevel(t.fromNode, e + 1))
              }), Math.max.apply(Math, n.f(r))
           }, e.prototype.calculateValueHeight = function () {
              var t = this;
              this._levelSum = {}, this._levelNodesCount = {}, this.maxSum = 0;
              var e, i = this.dataItem.values.value.sum;
              h.each(this._sorted, function (e) {
                 var i = e[1];
                 t.getNodeValue(i)
              }), this.nodes.each(function (e, n) {
                 var r = n.level,
                    o = Math.max(n.totalIncoming, n.totalOutgoing);
                 o / i < t.minNodeSize && (o = i * t.minNodeSize), p.isNumber(t._levelSum[r]) ? t._levelSum[r] += o : t._levelSum[r] = o, p.isNumber(t._levelNodesCount[r]) ? t._levelNodesCount[r]++ : t._levelNodesCount[r] = 1
              }), d.each(this._levelSum, function (i, n) {
                 t.maxSum < n && (t.maxSum = n, e = p.toNumber(i))
              }), this._maxSumLevel = e;
              var n = this._levelNodesCount[this._maxSumLevel],
                 r = (("horizontal" == this.orientation ? this.chartContainer.maxHeight - 1 : this.chartContainer.maxWidth - 1) - (n - 1) * this.nodePadding) / this.maxSum;
              if (p.isNumber(this.valueHeight)) {
                 var o = void 0;
                 try {
                    o = this._heightAnimation.animationOptions[0].to
                 } catch (t) {}
                 if (o != r) {
                    var a = this.interpolationDuration;
                    try {
                       a = this.nodes.template.states.getKey("active").transitionDuration
                    } catch (t) {}
                    this._heightAnimation = new l.a(this, {
                       property: "valueHeight",
                       from: this.valueHeight,
                       to: r
                    }, a).start(), this._disposers.push(this._heightAnimation)
                 }
              } else this.valueHeight = r
           }, e.prototype.validate = function () {
              var e = this;
              t.prototype.validate.call(this), this.calculateValueHeight();
              var i = this.nodesContainer,
                 n = {},
                 r = this._levelNodesCount[this._maxSumLevel],
                 o = this.dataItem.values.value.sum;
              h.each(this._sorted, function (t) {
                 var a, s, u, l = t[1],
                    h = l.level,
                    c = 0,
                    p = e._levelNodesCount[h];
                 switch (e.nodeAlign) {
                    case "bottom":
                       c = (e.maxSum - e._levelSum[h]) * e.valueHeight - (p - r) * e.nodePadding;
                       break;
                    case "middle":
                       c = (e.maxSum - e._levelSum[h]) * e.valueHeight / 2 - (p - r) * e.nodePadding / 2
                 }
                 l.parent = i;
                 var d = Math.max(l.totalIncoming, l.totalOutgoing);
                 if (d / o < e.minNodeSize && (d = o * e.minNodeSize), "horizontal" == e.orientation) {
                    s = (a = (e.innerWidth - l.pixelWidth) / e._levelCount) * l.level, u = n[h] || c;
                    var f = d * e.valueHeight;
                    l.height = f, l.minX = s, l.maxX = s, n[h] = u + f + e.nodePadding
                 } else {
                    a = (e.innerHeight - l.pixelHeight) / e._levelCount, s = n[h] || c, u = a * l.level;
                    var g = d * e.valueHeight;
                    l.width = g, l.minY = u, l.maxY = u, n[h] = s + g + e.nodePadding
                 }
                 l.x = s, l.y = u
              })
           }, e.prototype.showReal = function (e) {
              var i = this;
              if (this.interpolationDuration > 0) {
                 var n = this.nodesContainer,
                    r = 0;
                 h.each(this.links.iterator(), function (t) {
                    t.hide(0)
                 }), h.each(this._sorted, function (t) {
                    var e, o = t[1];
                    "horizontal" == i.orientation ? (o.dx = -(n.pixelWidth - o.pixelWidth) / i._levelCount, e = "dx") : (o.dy = -(n.pixelHeight - o.pixelHeight) / i._levelCount, e = "dy");
                    var a = 0,
                       s = i.interpolationDuration;
                    i.sequencedInterpolation && (a = i.sequencedInterpolationDelay * r + s * r / h.length(i.nodes.iterator())), o.opacity = 0, o.invalidateLinks(), o.animate([{
                       property: "opacity",
                       from: 0,
                       to: 1
                    }, {
                       property: e,
                       to: 0
                    }], i.interpolationDuration, i.interpolationEasing).delay(a), h.each(o.outgoingDataItems.iterator(), function (t) {
                       var e = t.link.show(i.interpolationDuration);
                       e && !e.isFinished() && e.delay(a)
                    }), h.each(o.incomingDataItems.iterator(), function (t) {
                       if (!t.fromNode) {
                          var e = t.link.show(i.interpolationDuration);
                          e && !e.isFinished() && e.delay(a)
                       }
                    }), r++
                 })
              }
              return t.prototype.showReal.call(this)
           }, e.prototype.changeSorting = function () {
              var t = this;
              this.sortNodes();
              var e = {};
              h.each(this._sorted, function (i) {
                 var n, r, o = i[1],
                    a = o.level,
                    s = (t.maxSum - t._levelSum[a]) * t.valueHeight / 2;
                 "horizontal" == t.orientation ? (n = "y", r = o.pixelHeight) : (n = "x", r = o.pixelWidth), o.animate({
                    property: n,
                    to: e[a] || s
                 }, t.interpolationDuration, t.interpolationEasing), e[a] = (e[a] || s) + r + t.nodePadding, o.invalidateLinks()
              })
           }, e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), p.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Sankey diagram"))
           }, e.prototype.createDataItem = function () {
              return new f
           }, Object.defineProperty(e.prototype, "nodeAlign", {
              get: function () {
                 return this.getPropertyValue("nodeAlign")
              },
              set: function (t) {
                 this.setPropertyValue("nodeAlign", t), this.changeSorting()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "orientation", {
              get: function () {
                 return this.getPropertyValue("orientation")
              },
              set: function (t) {
                 this.setPropertyValue("orientation", t, !0);
                 var e = this.nodes.template.nameLabel;
                 "vertical" == t ? (this.nodes.template.width = void 0, e.label.horizontalCenter = "middle", e.locationX = .5) : (this.nodes.template.height = void 0, e.label.horizontalCenter = "left", e.locationX = 1)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createNode = function () {
              var t = new s.a;
              return this._disposers.push(t), t
           }, e.prototype.createLink = function () {
              var t = new u.a;
              return this._disposers.push(t), t
           }, Object.defineProperty(e.prototype, "valueHeight", {
              get: function () {
                 return this._valueHeight
              },
              set: function (t) {
                 t != this._valueHeight && (this._valueHeight = t, this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.disposeData = function () {
              t.prototype.disposeData.call(this), this._sorted = this.nodes.iterator()
           }, e
        }(r.a);
     a.b.registeredClasses.SankeyDiagram = g
  },
  Ztji: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("EhJv"),
        o = i("4BRe"),
        a = i("FmWr"),
        s = [].lastIndexOf,
        u = !!s && 1 / [1].lastIndexOf(1, -0) < 0;
     n(n.P + n.F * (u || !i("GQop")(s)), "Array", {
        lastIndexOf: function (t) {
           if (u) return s.apply(this, arguments) || 0;
           var e = r(this),
              i = a(e.length),
              n = i - 1;
           for (arguments.length > 1 && (n = Math.min(n, o(arguments[1]))), n < 0 && (n = i + n); n >= 0; n--)
              if (n in e && e[n] === t) return n || 0;
           return -1
        }
     })
  },
  ZytL: function (t, e, i) {
     i("6+x4")("Map")
  },
  a8UT: function (t, e, i) {
     var n = i("9BM3"),
        r = i("YEtG")("iterator"),
        o = Array.prototype;
     t.exports = function (t) {
        return void 0 !== t && (n.Array === t || o[r] === t)
     }
  },
  aCit: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     }), i.d(e, "b", function () {
        return h
     });
     var n = i("o0Lc"),
        r = i("+qIf"),
        o = i("eCqC"),
        a = i("Mtpk"),
        s = i("wUYf"),
        u = i("hJ5i"),
        l = function () {
           function t() {
              this.events = new n.a, this.themes = [], this.loadedThemes = {}, this._uidCount = 0, this.registeredClasses = {}, this._placeholders = {}, this.invalidSprites = {}, this.invalidDatas = {}, this.invalidRawDatas = [], this.invalidDataItems = [], this.invalidDataRange = [], this.invalidPositions = {}, this.invalidLayouts = {}, this.baseSprites = [], this.baseSpritesByUid = {}, this.uid = this.getUniqueId(), this.invalidSprites.noBase = [], this.invalidDatas.noBase = [], this.invalidLayouts.noBase = [], this.invalidPositions.noBase = []
           }
           return t.prototype.getUniqueId = function () {
              var t = this._uidCount;
              return this._uidCount += 1, "id-" + t
           }, Object.defineProperty(t.prototype, "map", {
              get: function () {
                 return this._map || (this._map = new r.a), this._map
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.setCache = function (t, e, i) {
              o.b.set(this.uid, t, e, i)
           }, t.prototype.getCache = function (t, e) {
              return void 0 === e && (e = void 0), o.b.get(this.uid, t, e)
           }, t.prototype.dispatch = function (t, e) {
              this.events.isEnabled(t) && (e ? (e.type = t, e.target = e.target || this, this.events.dispatch(t, {
                 type: t,
                 target: this
              })) : this.events.dispatch(t, {
                 type: t,
                 target: this
              }))
           }, t.prototype.dispatchImmediately = function (t, e) {
              this.events.isEnabled(t) && (e ? (e.type = t, e.target = e.target || this, this.events.dispatchImmediately(t, e)) : this.events.dispatchImmediately(t, {
                 type: t,
                 target: this
              }))
           }, t.prototype.getPlaceholder = function (t) {
              return a.hasValue(this._placeholders[t]) ? this._placeholders[t] : (this._placeholders[t] = "__amcharts_" + t + "_" + s.random(8) + "__", this._placeholders[t])
           }, t.prototype.addToInvalidComponents = function (t) {
              t.baseId ? u.move(this.invalidDatas[t.baseId], t) : u.move(this.invalidDatas.noBase, t)
           }, t.prototype.removeFromInvalidComponents = function (t) {
              t.baseId && u.remove(this.invalidDatas[t.baseId], t), u.remove(this.invalidDatas.noBase, t)
           }, t.prototype.addToInvalidSprites = function (t) {
              t.baseId ? u.add(this.invalidSprites[t.baseId], t) : u.add(this.invalidSprites.noBase, t)
           }, t.prototype.removeFromInvalidSprites = function (t) {
              t.baseId && u.remove(this.invalidSprites[t.baseId], t), u.remove(this.invalidSprites.noBase, t)
           }, t.prototype.addToInvalidPositions = function (t) {
              t.baseId ? u.add(this.invalidPositions[t.baseId], t) : u.add(this.invalidPositions.noBase, t)
           }, t.prototype.removeFromInvalidPositions = function (t) {
              t.baseId && u.remove(this.invalidPositions[t.baseId], t), u.remove(this.invalidPositions.noBase, t)
           }, t.prototype.addToInvalidLayouts = function (t) {
              t.baseId ? u.add(this.invalidLayouts[t.baseId], t) : u.add(this.invalidLayouts.noBase, t)
           }, t.prototype.removeFromInvalidLayouts = function (t) {
              t.baseId && u.remove(this.invalidLayouts[t.baseId], t), u.remove(this.invalidLayouts.noBase, t)
           }, t
        }(),
        h = new l
  },
  aFzC: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return u
     }), e.c = function (t, e, i, o, l, h) {
        var c = t.x,
           p = t.y,
           d = e.x,
           f = e.y,
           g = s.getDistance(t, e);
        h && (i = g / Math.round(g / i));
        var y = n.b.getCache(a.stringify(["wavedLine", t.x, e.x, t.y, e.y, i, o]));
        if (!y) {
           if (g > 0) {
              var m = Math.atan2(f - p, d - c),
                 b = Math.cos(m),
                 v = Math.sin(m),
                 _ = i * b,
                 x = i * v;
              if (i <= 1 || o <= 1) y = r.lineTo(e);
              else {
                 var P = Math.round(2 * g / i),
                    w = [],
                    O = 1;
                 d < c && (O *= -1), f < p && (O *= -1);
                 for (var S = 0; S <= P; S++) {
                    var k = c + S * _ / 2 + (O *= -1) * o / 2 * v,
                       T = p + S * x / 2 - O * o / 2 * b;
                    w.push({
                       x: k,
                       y: T
                    })
                 }
                 y = new u(l, l).smooth(w)
              }
           } else y = "";
           n.b.setCache(a.stringify(["wavedLine", t.x, e.x, t.y, e.y, i, o]), y)
        }
        return y
     }, i.d(e, "a", function () {
        return l
     });
     var n = i("aCit"),
        r = i("hGwe"),
        o = i("hJ5i"),
        a = i("v9UT"),
        s = i("Gg2j");
     var u = function () {
        function t(t, e) {
           this._tensionX = t, this._tensionY = e
        }
        return t.prototype.smooth = function (t) {
           var e = this._tensionX,
              i = this._tensionY;
           if (t.length < 3 || e >= 1 && i >= 1) return r.polyline(t);
           var n = t[0],
              o = t[t.length - 1],
              a = !1;
           s.round(n.x, 3) == s.round(o.x) && s.round(n.y) == s.round(o.y) && (a = !0);
           for (var u = "", l = 0, h = t.length - 1; l < h; l++) {
              var c = t[l - 1],
                 p = t[l],
                 d = t[l + 1],
                 f = t[l + 2];
              0 === l ? c = a ? t[t.length - 2] : t[l] : l == t.length - 2 && (f = a ? t[1] : t[l + 1]);
              var g = s.getCubicControlPointA(c, p, d, f, e, i),
                 y = s.getCubicControlPointB(c, p, d, f, e, i);
              u += r.cubicCurveTo(d, g, y)
           }
           return u
        }, t
     }();
     var l = function () {
        function t(t) {
           this._closed = t.closed
        }
        return t.prototype.smooth = function (t) {
           var e = this,
              i = NaN,
              n = NaN,
              a = NaN,
              s = NaN,
              u = NaN,
              l = NaN,
              h = NaN,
              c = NaN,
              p = NaN,
              d = NaN,
              f = 0,
              g = "",
              y = function (t, e) {
                 g += r.cubicCurveTo({
                    x: (i + 4 * n + t) / 6,
                    y: (l + 4 * h + e) / 6
                 }, {
                    x: (2 * i + n) / 3,
                    y: (2 * l + h) / 3
                 }, {
                    x: (i + 2 * n) / 3,
                    y: (l + 2 * h) / 3
                 })
              },
              m = function (t) {
                 var o = t.x,
                    m = t.y;
                 switch (f) {
                    case 0:
                       f = 1, e._closed ? (a = o, c = m) : g += r.lineTo({
                          x: o,
                          y: m
                       });
                       break;
                    case 1:
                       f = 2, e._closed && (s = o, p = m);
                       break;
                    case 2:
                       if (f = 3, e._closed) {
                          u = o, d = m, g += r.moveTo({
                             x: (i + 4 * n + o) / 6,
                             y: (l + 4 * h + m) / 6
                          });
                          break
                       }
                       g += r.lineTo({
                          x: (5 * i + n) / 6,
                          y: (5 * l + h) / 6
                       });
                    default:
                       y(o, m)
                 }
                 i = n, n = o, l = h, h = m
              };
           if (o.each(t, m), this._closed) switch (f) {
              case 1:
                 g += r.moveTo({
                    x: a,
                    y: c
                 }), g += r.closePath();
                 break;
              case 2:
                 g += r.moveTo({
                    x: (a + 2 * s) / 3,
                    y: (c + 2 * p) / 3
                 }), g += r.lineTo({
                    x: (s + 2 * a) / 3,
                    y: (p + 2 * c) / 3
                 }), g += r.closePath();
                 break;
              case 3:
                 m({
                    x: a,
                    y: c
                 }), m({
                    x: s,
                    y: p
                 }), m({
                    x: u,
                    y: d
                 })
           } else {
              switch (f) {
                 case 3:
                    y(n, h);
                 case 2:
                    g += r.lineTo({
                       x: n,
                       y: h
                    })
              }
              g += r.closePath()
           }
           return g
        }, t
     }()
  },
  aGXA: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("p9TX"),
        a = i("CnhP"),
        s = i("MIZb"),
        u = i("aCit"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "Button", e.tooltipY = 0, e.iconPosition = "left", e.layout = "horizontal", e.contentAlign = "center", e.contentValign = "middle", e.padding(8, 16, 8, 16);
              var i = new s.a,
                 n = e.background;
              n.fill = i.getFor("secondaryButton"), n.stroke = i.getFor("secondaryButtonStroke"), n.fillOpacity = 1, n.strokeOpacity = 1, n.cornerRadius(3, 3, 3, 3), e.label = new o.a, e.label.fill = i.getFor("secondaryButtonText");
              var r = n.states.create("hover");
              r.properties.fillOpacity = 1, r.properties.fill = i.getFor("secondaryButtonHover");
              var a = n.states.create("down");
              return a.transitionDuration = 100, a.properties.fill = i.getFor("secondaryButtonDown"), a.properties.fillOpacity = 1, e.role = "button", e.focusable = !0, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "icon", {
              get: function () {
                 return this.getPropertyValue("icon")
              },
              set: function (t) {
                 var e = this.getPropertyValue("icon");
                 e && (e.parent = void 0), t && (this.setPropertyValue("icon", t), t.parent = this, t.interactionsEnabled = !1, this.iconPosition = this.iconPosition, this._disposers.push(t))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "iconPosition", {
              get: function () {
                 return this.getPropertyValue("iconPosition")
              },
              set: function (t) {
                 this.setPropertyValue("iconPosition", t), this.icon && ("left" == t ? this.icon.toBack() : this.icon.toFront())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "label", {
              get: function () {
                 return this._label
              },
              set: function (t) {
                 this._label && this.removeDispose(this._label), this._label = t, t && (t.parent = this, t.interactionsEnabled = !1, this._disposers.push(this._label))
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createBackground = function () {
              return new a.a
           }, e
        }(r.a);
     u.b.registeredClasses.Button = l
  },
  aHTY: function (t, e, i) {
     "use strict";
     var n = i("snR7"),
        r = i("FmWr"),
        o = i("YxCF"),
        a = i("2i0j");
     i("7V6K")("match", 1, function (t, e, i, s) {
        return [function (i) {
           var n = t(this),
              r = void 0 == i ? void 0 : i[e];
           return void 0 !== r ? r.call(i, n) : new RegExp(i)[e](String(n))
        }, function (t) {
           var e = s(i, t, this);
           if (e.done) return e.value;
           var u = n(t),
              l = String(this);
           if (!u.global) return a(u, l);
           var h = u.unicode;
           u.lastIndex = 0;
           for (var c, p = [], d = 0; null !== (c = a(u, l));) {
              var f = String(c[0]);
              p[d] = f, "" === f && (u.lastIndex = o(l, r(u.lastIndex), h)), d++
           }
           return 0 === d ? null : p
        }]
     })
  },
  aM7D: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return O
     }), i.d(e, "a", function () {
        return S
     });
     var n = i("m4/l"),
        r = i("Y9w3"),
        o = i("Vs7R"),
        a = i("vMqJ"),
        s = i("+qIf"),
        u = i("A6AV"),
        l = i("C6dT"),
        h = i("cxKZ"),
        c = i("TXRX"),
        p = i("uWmK"),
        d = i("Q4nc"),
        f = i("aCit"),
        g = i("8ZqG"),
        y = i("Wglt"),
        m = i("Gg2j"),
        b = i("0FpR"),
        v = i("v9UT"),
        _ = i("Qkdp"),
        x = i("Mtpk"),
        P = i("hJ5i"),
        w = i("hxI2"),
        O = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.bullets = new s.a, e.className = "SeriesDataItem", e._disposers.push(new s.b(e.bullets)), e.values.value = {}, e.values.value = {}, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "value", {
              get: function () {
                 return this.values.value.value
              },
              set: function (t) {
                 this.setValue("value", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(u.a),
        S = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._ignoreMinMax = !1, e._showBullets = !0, e.legendSettings = new p.c, e._tmin = new s.a, e._tmax = new s.a, e._smin = new s.a, e._smax = new s.a, e.dataItemsByAxis = new s.a, e.skipFocusThreshold = 20, e.calculatePercent = !1, e.autoDispose = !0, e.className = "Series", e.isMeasured = !1, e.layout = "none", e.shouldClone = !1, e.setPropertyValue("hidden", !1), e.axisRanges = new a.b, e.axisRanges.events.on("inserted", e.processAxisRange, e, !1), e.minBulletDistance = 0, e.mainContainer = e.createChild(l.a), e.mainContainer.shouldClone = !1, e.mainContainer.mask = e.createChild(o.a), e._disposers.push(e.mainContainer);
              var i = e.mainContainer.createChild(l.a);
              return e._shouldBeReady.push(i), i.shouldClone = !1, i.layout = "none", i.virtualParent = e, e._disposers.push(i), e.bulletsContainer = i, e.tooltip = new h.a, e.tooltip.virtualParent = e, e._disposers.push(e.tooltip), e.hiddenState.transitionEasing = b.cubicIn, e.dataItem = e.createDataItem(), e._disposers.push(e.dataItem), e.dataItem.component = e, e.role = "group", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), x.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Series"))
           }, e.prototype.createDataItem = function () {
              return new O
           }, Object.defineProperty(e.prototype, "chart", {
              get: function () {
                 return this._chart
              },
              set: function (t) {
                 this._chart = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionBullet = function (t) {}, e.prototype.processBullet = function (t) {
              var e = t.newValue;
              e.isTemplate = !0, this.itemsFocusable() && (e.focusable = !0)
           }, e.prototype.removeBullet = function (t) {
              var e = t.oldValue;
              this.dataItems.each(function (t) {
                 var i = t.bullets.getKey(e.uid);
                 i && i.dispose()
              }), this.invalidate()
           }, e.prototype.validateDataItems = function () {
              t.prototype.validateDataItems.call(this), this.processValues(!1)
           }, e.prototype.getFirstValue = function (t, e) {
              e > 0 && e < this.dataItems.length - 1 && e++;
              for (var i = e; i >= 0; i--) {
                 var n = this.dataItems.getIndex(i).values[t].workingValue;
                 if (x.isNumber(n)) return n
              }
              return null
           }, e.prototype.rangeChangeUpdate = function () {
              t.prototype.rangeChangeUpdate.call(this), this.processValues(!0)
           }, e.prototype.processValues = function (t) {
              var e = this,
                 i = this.dataItems,
                 n = {},
                 r = {},
                 o = {},
                 a = {},
                 s = {},
                 u = {},
                 l = {},
                 h = {},
                 c = m.max(0, this._workingStartIndex);
              c = m.min(c, this.dataItems.length);
              var p = m.min(this._workingEndIndex, this.dataItems.length);
              if (x.isNumber(c) || (c = 0), x.isNumber(p) || (p = this.dataItems.length), c > 0) {
                 var d = i.getIndex(c - 1);
                 _.each(d.values, function (t, e) {
                    var i = e.workingValue;
                    x.isNumber(i) && (l[t] = i)
                 })
              }
              for (var f = function (t) {
                    var p = i.getIndex(t);
                    _.each(p.values, function (t, i) {
                       var d = i.workingValue;
                       if (x.isNumber(d)) {
                          x.isNumber(n[t]) || (n[t] = 0), n[t]++, x.isNumber(r[t]) || (r[t] = 0), r[t] += d, x.isNumber(s[t]) || (s[t] = d), u[t] = d, x.isNumber(o[t]) ? o[t] > d && (o[t] = d) : o[t] = d, x.isNumber(a[t]) ? a[t] < d && (a[t] = d) : a[t] = d, x.isNumber(h[t]) || (h[t] = e.getFirstValue(t, c)), p.setCalculatedValue(t, d - h[t], "change"), p.setCalculatedValue(t, (d - h[t]) / h[t] * 100, "changePercent");
                          var f = l[t];
                          x.isNumber(f) || (f = d), p.setCalculatedValue(t, d - f, "previousChange"), p.setCalculatedValue(t, (d - f) / f * 100, "previousChangePercent"), l[t] = d
                       }
                    })
                 }, g = c; g < p; g++) f(g);
              if (this.calculatePercent) {
                 var y = function (t) {
                    var e = i.getIndex(t);
                    _.each(e.values, function (t) {
                       var i = r[t],
                          n = e.values[t].workingValue;
                       if (x.isNumber(n) && i > 0) {
                          n == i && (i = e.values[t].value);
                          var o = n / i * 100;
                          e.setCalculatedValue(t, o, "percent")
                       }
                    })
                 };
                 for (g = c; g < p; g++) y(g)
              }
              if (c > 0) {
                 var b = i.getIndex(c - 1);
                 _.each(b.values, function (t) {
                    var e = b.values[t].value;
                    b.setCalculatedValue(t, e - s[t], "change"), b.setCalculatedValue(t, (e - s[t]) / s[t] * 100, "changePercent")
                 })
              }
              var v = this.dataItem;
              _.each(v.values, function (t) {
                 v.setCalculatedValue(t, r[t], "sum"), v.setCalculatedValue(t, r[t] / n[t], "average"), v.setCalculatedValue(t, s[t], "open"), v.setCalculatedValue(t, u[t], "close"), v.setCalculatedValue(t, o[t], "low"), v.setCalculatedValue(t, a[t], "high"), v.setCalculatedValue(t, n[t], "count")
              })
           }, e.prototype.validate = function () {
              if (y.each(this.axisRanges.iterator(), function (t) {
                    t.validate()
                 }), t.prototype.validate.call(this), this.bulletsContainer.fill = this.fill, this.bulletsContainer.stroke = this.stroke, this.bulletsContainer.children.length > 0) {
                 for (var e = 0; e < this.startIndex; e++) {
                    (i = this.dataItems.getIndex(e)) && i.bullets.each(function (t, e) {
                       e.__disabled = !0
                    })
                 }
                 for (e = this.dataItems.length - 1; e > this.endIndex; e--) {
                    var i;
                    (i = this.dataItems.getIndex(e)) && i.bullets.each(function (t, e) {
                       e.__disabled = !0
                    })
                 }
              }
              this.updateTooltipBounds()
           }, e.prototype.updateTooltipBounds = function () {
              this.topParent && this.tooltip.setBounds({
                 x: 0,
                 y: 0,
                 width: this.topParent.maxWidth,
                 height: this.topParent.maxHeight
              })
           }, e.prototype.validateDataElement = function (e) {
              var i = this;
              t.prototype.validateDataElement.call(this, e), this._showBullets ? (this.bulletsContainer.visible = !0, y.each(this.bullets.iterator(), function (t) {
                 var n = e.bullets.getKey(t.uid);
                 n || (n = t.clone());
                 var r = n.dataItem;
                 if (r != e) {
                    r && r.bullets.setKey(t.uid, void 0), e.addSprite(n);
                    var o = i.itemReaderText || "{" + n.xField + "}: {" + n.yField + "}";
                    n.focusable && (n.events.once("focus", function (t) {
                       n.readerTitle = i.populateString(o, n.dataItem)
                    }, void 0, !1), n.events.once("blur", function (t) {
                       n.readerTitle = ""
                    }, void 0, !1)), n.hoverable && (n.events.once("over", function (t) {
                       n.readerTitle = i.populateString(o, n.dataItem)
                    }, void 0, !1), n.events.once("out", function (t) {
                       n.readerTitle = ""
                    }, void 0, !1)), n.isDynamic && (e.events.on("workingvaluechanged", n.deepInvalidate, n, !1), i.dataItem.events.on("workingvaluechanged", n.deepInvalidate, n, !1)), n.deepInvalidate()
                 }
                 n.parent = i.bulletsContainer, n.visible = !0, e.bullets.setKey(t.uid, n), n.maxWidth = e.itemWidth, n.maxHeight = e.itemHeight, n.__disabled = !1, i.positionBullet(n)
              })) : this.bulletsContainer.visible = !1
           }, e.prototype.handleDataItemWorkingValueChange = function (t, e) {
              this.dataRangeInvalid || this.invalidateProcessedData()
           }, Object.defineProperty(e.prototype, "ignoreMinMax", {
              get: function () {
                 return this._ignoreMinMax
              },
              set: function (t) {
                 this._ignoreMinMax = t, this.invalidateDataItems()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createMask = function () {}, e.prototype.processAxisRange = function (t) {
              this.rangesContainer || (this.rangesContainer = this.createChild(l.a), this.rangesContainer.shouldClone = !1, this.rangesContainer.isMeasured = !1);
              var e = t.newValue;
              e && (e.contents.parent = this.rangesContainer, e.isRange = !0)
           }, e.prototype.getAxisField = function (t) {}, e.prototype.showTooltipAtPosition = function (t, e) {}, Object.defineProperty(e.prototype, "minBulletDistance", {
              get: function () {
                 return this.getPropertyValue("minBulletDistance")
              },
              set: function (t) {
                 this.setPropertyValue("minBulletDistance", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bullets", {
              get: function () {
                 return this._bullets || (this._bullets = new a.e(new c.a), this._bullets.template.virtualParent = this, this._bullets.events.on("inserted", this.processBullet, this, !1), this._bullets.events.on("removed", this.removeBullet, this, !1), this._disposers.push(new a.c(this._bullets)), this._disposers.push(this._bullets.template)), this._bullets
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createLegendMarker = function (t) {}, Object.defineProperty(e.prototype, "hiddenInLegend", {
              get: function () {
                 return this.getPropertyValue("hiddenInLegend")
              },
              set: function (t) {
                 this.setPropertyValue("hiddenInLegend", t) && this.chart && this.chart.feedLegend()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "name", {
              get: function () {
                 return this.adapter.apply("name", this._title)
              },
              set: function (t) {
                 this._title = t, this.readerTitle = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "itemReaderText", {
              get: function () {
                 var t = this._itemReaderText;
                 return t || (this.tooltipText ? t = v.plainText(this.tooltipText) : this.tooltipHTML && (t = v.plainText(this.tooltipHTML))), this.adapter.apply("itemReaderText", t)
              },
              set: function (t) {
                 this._itemReaderText = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.itemsFocusable = function () {
              return !(this.dataItems.length >= this.skipFocusThreshold)
           }, Object.defineProperty(e.prototype, "legendDataItem", {
              get: function () {
                 return this._legendDataItem
              },
              set: function (t) {
                 this._legendDataItem = t, this._legendDataItem.itemContainer.deepInvalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateLegendValue = function (t) {
              if (this.legendDataItem) {
                 var e = this.legendSettings,
                    i = this.legendDataItem,
                    n = i.label,
                    r = i.valueLabel;
                 t ? (r && (e.itemValueText && (r.text = e.itemValueText), r.dataItem = t), n && (e.itemLabelText && (n.text = e.itemLabelText), n.dataItem = this.dataItem)) : (n && ((e.labelText || void 0 != e.itemLabelText) && (n.text = e.labelText), n.dataItem = this.dataItem), r && ((e.valueText || void 0 != e.itemValueText) && (r.text = e.valueText), r.dataItem = this.dataItem))
              }
           }, e.prototype.copyFrom = function (e) {
              this.bullets.copyFrom(e.bullets), this.bulletsContainer.copyFrom(e.bulletsContainer), this.calculatePercent = e.calculatePercent, t.prototype.copyFrom.call(this, e)
           }, e.prototype.raiseCriticalError = function (t) {
              this._chart.modal.content = t.message, this._chart.modal.closable = !1, this._chart.modal.open(), this._chart.disabled = !0, d.a.verbose && console.log(t)
           }, e.prototype.applyFilters = function () {
              var e = this;
              t.prototype.applyFilters.call(this), this.bulletsContainer.filters.clear(), y.each(this.filters.iterator(), function (t) {
                 e.bulletsContainer.filters.push(t.clone())
              })
           }, Object.defineProperty(e.prototype, "heatRules", {
              get: function () {
                 var t = this;
                 return this._heatRules || (this._heatRules = new a.b, this._heatRules.events.on("inserted", function (e) {
                    var i = e.newValue,
                       n = i.target;
                    if (n) {
                       var r = i.dataField;
                       x.hasValue(r) || (r = "value");
                       var a = i.min,
                          s = i.max,
                          u = t.dataItem,
                          h = i.property,
                          c = x.toNumber(i.minValue),
                          p = x.toNumber(i.maxValue);
                       x.isNumber(c) || x.isNumber(p) || t.dataItem.events.on("calculatedvaluechanged", function (e) {
                          e.property == r && y.each(t.dataItems.iterator(), function (t) {
                             var e = !1;
                             P.each(t.sprites, function (t) {
                                if (t.clonedFrom == n) {
                                   var i = t;
                                   i[h] = i[h], e = !0
                                }
                             }), e || P.each(t.sprites, function (t) {
                                t instanceof l.a && y.each(t.children.iterator(), function (t) {
                                   if (t.className == n.className) {
                                      var e = t;
                                      e[h] = e[h]
                                   } else t instanceof l.a && t.deepInvalidate()
                                })
                             })
                          })
                       }), t.dataItems.template.events.on("workingvaluechanged", function (t) {
                          if (t.property == r) {
                             var e = t.target,
                                i = !1;
                             P.each(e.sprites, function (t) {
                                if (t.clonedFrom == n) {
                                   var e = t;
                                   e[h] = e[h], i = !0
                                }
                             }), i || P.each(e.sprites, function (t) {
                                t instanceof l.a && y.each(t.children.iterator(), function (t) {
                                   if (t.className == n.className) {
                                      var e = t;
                                      e[h] = e[h]
                                   } else t instanceof l.a && t.deepInvalidate()
                                })
                             })
                          }
                       }), n.adapter.add(h, function (t, e, n) {
                          var l = x.toNumber(i.minValue),
                             h = x.toNumber(i.maxValue);
                          if (e instanceof o.a) {
                             var c = e.propertyFields[n];
                             if (c && e.dataItem) {
                                var p = e.dataItem.dataContext;
                                if (p && x.hasValue(p[c])) return t
                             }
                          }
                          var d = e.dataItem;
                          if (x.isNumber(l) || (l = u.values[r].low), x.isNumber(h) || (h = u.values[r].high), d) {
                             var f = d.values[r];
                             if (f) {
                                var y = f.workingValue;
                                if (x.hasValue(a) && x.hasValue(s) && x.isNumber(l) && x.isNumber(h) && x.isNumber(y)) {
                                   var m = (y - l) / (h - l);
                                   if (x.isNumber(y) && !x.isNumber(m) && (m = .5), x.isNumber(a)) return a + (s - a) * m;
                                   if (a instanceof g.a) return new g.a(w.interpolate(a.rgb, s.rgb, m))
                                }
                             }
                          }
                          return t
                       })
                    }
                 })), this._heatRules
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.processConfig = function (e) {
              var i;
              if (e) {
                 if (x.hasValue(e.bullets) && x.isArray(e.bullets))
                    for (var n = 0, r = e.bullets.length; n < r; n++) {
                       var o = e.bullets[n];
                       x.hasValue(o.type) || (o.type = "Bullet")
                    }
                 x.hasValue(e.heatRules) && x.isArray(e.heatRules) && (i = e.heatRules, delete e.heatRules)
              }
              if (t.prototype.processConfig.call(this, e), i) {
                 for (n = 0, r = i.length; n < r; n++) {
                    var s = i[n],
                       u = this;
                    if (x.hasValue(s.target) && x.isString(s.target))
                       if (this.map.hasKey(s.target)) u = this.map.getKey(s.target);
                       else
                          for (var l = s.target.split("."), h = 0; h < l.length; h++)
                             if (u instanceof a.b) {
                                var c = u.getIndex(x.toNumber(l[h]));
                                u = c || u[l[h]]
                             } else u = u[l[h]];
                    s.target = u, x.hasValue(s.min) && (s.min = this.maybeColorOrPercent(s.min)), x.hasValue(s.max) && (s.max = this.maybeColorOrPercent(s.max))
                 }
                 t.prototype.processConfig.call(this, {
                    heatRules: i
                 })
              }
           }, e.prototype.configOrder = function (e, i) {
              return e == i ? 0 : "heatRules" == e ? 1 : "heatRules" == i ? -1 : t.prototype.configOrder.call(this, e, i)
           }, e
        }(r.a);
     f.b.registeredClasses.Series = S, f.b.registeredClasses.SeriesDataItem = O
  },
  aPa3: function (t, e, i) {
     var n = i("T9LF").parseFloat,
        r = i("nAZS").trim;
     t.exports = 1 / n(i("brDO") + "-0") != -1 / 0 ? function (t) {
        var e = r(String(t), 3),
           i = n(e);
        return 0 === i && "-" == e.charAt(0) ? -0 : i
     } : n
  },
  aZcm: function (t, e, i) {
     "use strict";
     var n = i("kHwJ"),
        r = i("DvJ+"),
        o = i("FmWr"),
        a = i("20m4"),
        s = i("YEtG")("isConcatSpreadable");
     t.exports = function t(e, i, u, l, h, c, p, d) {
        for (var f, g, y = h, m = 0, b = !!p && a(p, d, 3); m < l;) {
           if (m in u) {
              if (f = b ? b(u[m], m, i) : u[m], g = !1, r(f) && (g = void 0 !== (g = f[s]) ? !!g : n(f)), g && c > 0) y = t(e, i, f, o(f.length), y, c - 1) - 1;
              else {
                 if (y >= 9007199254740991) throw TypeError();
                 e[y] = f
              }
              y++
           }
           m++
        }
        return y
     }
  },
  aae5: function (t, e, i) {
     var n = i("Gb1H");
     n(n.P, "String", {
        repeat: i("lhvN")
     })
  },
  akNo: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("P/bD"),
        o = i("Tjl+"),
        a = i("MipW"),
        s = i("aCit"),
        u = i("ScGY"),
        l = i("Qkdp"),
        h = i("v9UT"),
        c = i("Mtpk"),
        p = i("Gg2j"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._negativeBase = 0, e._baseUnit = "second", e._outputFormat = "svg", e._unitValues = {
                 millisecond: 1,
                 second: 1e3,
                 minute: 6e4,
                 hour: 36e5,
                 day: 864e5,
                 week: 6048e5,
                 month: 2592e6,
                 year: 31536e6
              }, e._unitAliases = {
                 Y: "y",
                 D: "d",
                 H: "h",
                 K: "h",
                 k: "h",
                 n: "S"
              }, e.className = "DurationFormatter", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.format = function (t, e, i) {
              this.language || (this.sprite ? this.language = this.sprite.language : this.language = new r.a);
              var n = i || this._baseUnit;
              void 0 !== e && "" !== e || (e = c.hasValue(this.durationFormat) ? this.durationFormat : this.getFormat(c.toNumber(t), null, n)), e = h.cleanFormat(e);
              var o, a = this.parseFormat(e, n),
                 s = Number(t);
              o = s > this._negativeBase ? a.positive : s < this._negativeBase ? a.negative : a.zero;
              var u = this.applyFormat(s, o);
              return "" !== o.color && ("svg" === this._outputFormat ? u = "<tspan fill='" + o.color + "'>" + u + "</tspan>" : "html" === this._outputFormat && (u = "<span style='color: " + o.color + ";'>" + u + "</span>")), u
           }, e.prototype.parseFormat = function (t, e) {
              var i = this,
                 n = this.getCache(t);
              if (c.hasValue(n)) return n;
              var r = e || this._baseUnit,
                 o = {
                    positive: {
                       color: "",
                       template: "",
                       parts: [],
                       source: "",
                       baseUnit: r,
                       parsed: !1,
                       absolute: !1
                    },
                    negative: {
                       color: "",
                       template: "",
                       parts: [],
                       source: "",
                       baseUnit: r,
                       parsed: !1,
                       absolute: !1
                    },
                    zero: {
                       color: "",
                       template: "",
                       parts: [],
                       source: "",
                       baseUnit: r,
                       parsed: !1,
                       absolute: !1
                    }
                 },
                 s = (t = t.replace("||", u.e)).split("|");
              return o.positive.source = s[0], void 0 === s[2] ? o.zero = o.positive : o.zero.source = s[2], void 0 === s[1] ? o.negative = o.positive : o.negative.source = s[1], l.each(o, function (t, e) {
                 if (!e.parsed)
                    if (void 0 === i.getCache(e.source)) {
                       var n, r = e.source;
                       (n = e.source.match(/^\[([^\]]*)\]/)) && n.length && "" !== n[0] && (r = e.source.substr(n[0].length), e.color = n[1]);
                       for (var s = Object(a.b)().chunk(r, !0), l = 0; l < s.length; l++) {
                          var h = s[l];
                          if (h.text = h.text.replace(u.e, "|"), "value" === h.type) {
                             h.text.match(/[yYMdDwhHKkmsSn]+a/) && (e.absolute = !0, h.text = h.text.replace(/([yYMdDwhHKkmsSn]+)a/, "$1"));
                             var p = h.text.match(/y+|Y+|M+|d+|D+|w+|h+|H+|K+|k+|m+|s+|S+|n+/g);
                             if (p)
                                for (var d = 0; d < p.length; d++) c.hasValue(p[d]) || (p[d] = i._unitAliases[p[d]]), e.parts.push(p[d]), h.text = h.text.replace(p[d], u.d)
                          }
                          e.template += h.text
                       }
                       i.setCache(e.source, e), e.parsed = !0
                    } else o[t] = i.getCache(e.source)
              }), this.setCache(t, o), o
           }, e.prototype.applyFormat = function (t, e) {
              var i = !e.absolute && t < this._negativeBase;
              t = Math.abs(t);
              for (var n = this.toTimeStamp(t, e.baseUnit), r = e.template, o = 0, a = e.parts.length; o < a; o++) {
                 var s = e.parts[o],
                    l = this.toTimeUnit(s.substr(0, 1)),
                    c = s.length,
                    p = Math.floor(n / this._unitValues[l]);
                 r = r.replace(u.d, h.padString(p, c, "0")), n -= p * this._unitValues[l]
              }
              return i && (r = "-" + r), r
           }, e.prototype.toTimeStamp = function (t, e) {
              return t * this._unitValues[e]
           }, e.prototype.toTimeUnit = function (t) {
              switch (t) {
                 case "S":
                    return "millisecond";
                 case "s":
                    return "second";
                 case "m":
                    return "minute";
                 case "h":
                    return "hour";
                 case "d":
                    return "day";
                 case "w":
                    return "week";
                 case "M":
                    return "month";
                 case "y":
                    return "year"
              }
           }, e.prototype.invalidateSprite = function () {
              this.sprite && this.sprite.invalidate()
           }, Object.defineProperty(e.prototype, "baseUnit", {
              get: function () {
                 return this._baseUnit
              },
              set: function (t) {
                 this._baseUnit = t, this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "outputFormat", {
              get: function () {
                 return this._outputFormat
              },
              set: function (t) {
                 this._outputFormat = t.toLowerCase(), this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getFormat = function (t, e, i) {
              if (c.hasValue(this.durationFormat)) return this.durationFormat;
              if (i || (i = this.baseUnit), c.hasValue(e) && t != e) {
                 t = Math.abs(t), e = Math.abs(e);
                 var n = this.getValueUnit(p.max(t, e), i);
                 return this.durationFormats[i][n]
              }
              var r = this.getValueUnit(t, i);
              return this.durationFormats[i][r]
           }, e.prototype.getValueUnit = function (t, e) {
              var i;
              e || (e = this.baseUnit);
              var n = this.getMilliseconds(t, e);
              return l.eachContinue(this._unitValues, function (t, r) {
                 if (t == e || i) {
                    if (n / r <= 1) return i || (i = t), !1;
                    i = t
                 }
                 return !0
              }), i
           }, e.prototype.getMilliseconds = function (t, e) {
              return e || (e = this.baseUnit), t * this._unitValues[e]
           }, Object.defineProperty(e.prototype, "durationFormat", {
              get: function () {
                 return this._durationFormat
              },
              set: function (t) {
                 this._durationFormat != t && (this._durationFormat = t, this.invalidateSprite())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "durationFormats", {
              get: function () {
                 return this._durationFormats || (this._durationFormats = {
                    millisecond: {
                       millisecond: this.language.translate("_duration_millisecond"),
                       second: this.language.translate("_duration_millisecond_second"),
                       minute: this.language.translate("_duration_millisecond_minute"),
                       hour: this.language.translate("_duration_millisecond_hour"),
                       day: this.language.translate("_duration_millisecond_day"),
                       week: this.language.translate("_duration_millisecond_week"),
                       month: this.language.translate("_duration_millisecond_month"),
                       year: this.language.translate("_duration_millisecond_year")
                    },
                    second: {
                       second: this.language.translate("_duration_second"),
                       minute: this.language.translate("_duration_second_minute"),
                       hour: this.language.translate("_duration_second_hour"),
                       day: this.language.translate("_duration_second_day"),
                       week: this.language.translate("_duration_second_week"),
                       month: this.language.translate("_duration_second_month"),
                       year: this.language.translate("_duration_second_year")
                    },
                    minute: {
                       minute: this.language.translate("_duration_minute"),
                       hour: this.language.translate("_duration_minute_hour"),
                       day: this.language.translate("_duration_minute_day"),
                       week: this.language.translate("_duration_minute_week"),
                       month: this.language.translate("_duration_minute_month"),
                       year: this.language.translate("_duration_minute_year")
                    },
                    hour: {
                       hour: this.language.translate("_duration_hour"),
                       day: this.language.translate("_duration_hour_day"),
                       week: this.language.translate("_duration_hour_week"),
                       month: this.language.translate("_duration_hour_month"),
                       year: this.language.translate("_duration_hour_year")
                    },
                    day: {
                       day: this.language.translate("_duration_day"),
                       week: this.language.translate("_duration_day_week"),
                       month: this.language.translate("_duration_day_month"),
                       year: this.language.translate("_duration_day_year")
                    },
                    week: {
                       week: this.language.translate("_duration_week"),
                       month: this.language.translate("_duration_week_month"),
                       year: this.language.translate("_duration_week_year")
                    },
                    month: {
                       month: this.language.translate("_duration_month"),
                       year: this.language.translate("_duration_month_year")
                    },
                    year: {
                       year: this.language.translate("_duration_year")
                    }
                 }), this._durationFormats
              },
              set: function (t) {
                 this._durationFormats = t, this.invalidateSprite()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(o.a);
     s.b.registeredClasses.DurationFormatter = d
  },
  bPwn: function (t, e, i) {
     var n = i("hjwn").f,
        r = i("U3hN"),
        o = i("YEtG")("toStringTag");
     t.exports = function (t, e, i) {
        t && !r(t = i ? t : t.prototype, o) && n(t, o, {
           configurable: !0,
           value: e
        })
     }
  },
  bcCe: function (t, e, i) {
     i("YDsm"), i("9UcF"), i("XUg+"), i("XYQ1"), i("tzvs"), i("fRTO"), i("OWpl"), i("l3wE"), i("xDSx"), i("g2OP"), i("gmzR"), i("Pr7S"), i("Zljy"), i("8oRD"), i("GuW4"), i("e/xe"), i("0B2R"), i("/Oef"), i("fyXH"), i("E+Sg"), i("pvlQ"), i("1Vzv"), i("HyzE"), i("T3RA"), i("rutD"), i("3fx7"), i("gmIO"), i("7Va9"), i("5Les"), i("OKlB"), i("WXwQ"), i("mL9U"), i("B+tY"), i("XQMn"), i("iuHC"), i("5LIN"), i("Kmds"), i("QtEf"), i("57Qg"), i("tIuN"), i("uuf2"), i("Ijb/"), i("e8Y+"), i("/URX"), i("8tDI"), i("fL7J"), i("S9D9"), i("fTgz"), i("EOVy"), i("OxI3"), i("KfrQ"), i("p4R3"), i("iTz5"), i("yl71"), i("hLmE"), i("Kg3M"), i("l9Vx"), i("RC2a"), i("MrGI"), i("aae5"), i("UXfn"), i("xEZ5"), i("hIRz"), i("IGCA"), i("t3Ma"), i("eaU5"), i("RpVB"), i("8NlW"), i("Xt8l"), i("fi6C"), i("rTLi"), i("Ly/W"), i("8LiO"), i("0Czv"), i("LSPs"), i("7xho"), i("31Mu"), i("q+2p"), i("w1yl"), i("EVjk"), i("U1Gp"), i("MbWG"), i("5BRL"), i("gc4I"), i("xwvB"), i("ssJO"), i("ds6r"), i("8ujI"), i("Oko+"), i("3xrs"), i("/dMO"), i("LLsa"), i("QZG2"), i("Ztji"), i("nZH2"), i("lKl7"), i("f5kt"), i("F2Gx"), i("N/Yk"), i("2/6D"), i("LHMX"), i("zy/o"), i("jvLk"), i("jgQn"), i("aHTY"), i("rU+O"), i("qgJR"), i("4McO"), i("T3m9"), i("dLrC"), i("xCMl"), i("BYDm"), i("vaBr"), i("PXSi"), i("+gRV"), i("dS+R"), i("rU6r"), i("NSvu"), i("C2uA"), i("AiPC"), i("vH9k"), i("7DgU"), i("z9n7"), i("LGy/"), i("IcXr"), i("6PqY"), i("ch2R"), i("oVsg"), i("iYyY"), i("hLeK"), i("oAPj"), i("YnyG"), i("necU"), i("2OOH"), i("EMhK"), i("j2vi"), i("vsTS"), i("GqPQ"), i("0yJt"), i("icDv"), i("Gxer"), i("K2Eo"), i("VCCo"), i("B2g9"), i("of/x"), i("nEmP"), i("1lef"), i("LMet"), i("uc+e"), i("wdkS"), i("mOSd"), i("OuXI"), i("vDrc"), i("9MGJ"), i("Obr2"), i("EEf7"), i("6l3Y"), i("osLN"), i("ZytL"), i("T9+M"), i("d5pU"), i("MT+g"), i("X3ZK"), i("r7ZX"), i("tYpR"), i("68eo"), i("izpu"), i("UPxv"), i("0jav"), i("8aZA"), i("YF4K"), i("Zisa"), i("Xf1i"), i("l2gh"), i("l3rq"), i("Qgck"), i("3X+j"), i("ITVZ"), i("MsQa"), i("cm0w"), i("BTtL"), i("O8xK"), i("8LwG"), i("uqxK"), i("ma7z"), i("gJSe"), i("NKpi"), i("oMjf"), i("yBbu"), i("2Dqo"), i("L8kC"), i("FSsr"), i("fDnL"), i("vFXE"), i("ybeA"), i("/NC3"), i("6mHT"), t.exports = i("G5U1")
  },
  bdjS: function (t, e, i) {
     "use strict";
     var n = i("3BzE"),
        r = i("pmYy"),
        o = i("eBSV"),
        a = i("vJiZ"),
        s = i("sHIJ"),
        u = Object.assign;
     t.exports = !u || i("AEc5")(function () {
        var t = {},
           e = {},
           i = Symbol(),
           n = "abcdefghijklmnopqrst";
        return t[i] = 7, n.split("").forEach(function (t) {
           e[t] = t
        }), 7 != u({}, t)[i] || Object.keys(u({}, e)).join("") != n
     }) ? function (t, e) {
        for (var i = a(t), u = arguments.length, l = 1, h = r.f, c = o.f; u > l;)
           for (var p, d = s(arguments[l++]), f = h ? n(d).concat(h(d)) : n(d), g = f.length, y = 0; g > y;) c.call(d, p = f[y++]) && (i[p] = d[p]);
        return i
     } : u
  },
  brDO: function (t, e) {
     t.exports = "\t\n\v\f\r   ᠎             　\u2028\u2029\ufeff"
  },
  bytU: function (t, e, i) {
     var n = i("4BRe"),
        r = i("FmWr");
     t.exports = function (t) {
        if (void 0 === t) return 0;
        var e = n(t),
           i = r(e);
        if (e !== i) throw RangeError("Wrong length!");
        return i
     }
  },
  "cA+3": function (t, e, i) {
     var n = i("wDk4");
     t.exports = function (t, e, i) {
        for (var r in e) n(t, r, e[r], i);
        return t
     }
  },
  cOH5: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return r
     });
     var n = i("m4/l"),
        r = function (t) {
           function e(e) {
              return t.call(this, e) || this
           }
           return n.c(e, t), e.prototype.add = function (t) {
              t && this.node.appendChild(t.node)
           }, e.prototype.addToBack = function (t) {
              if (t) {
                 var e = this.node.childNodes[0];
                 e ? e != t.node && this.node.insertBefore(t.node, e) : this.node.appendChild(t.node)
              }
           }, e.prototype.removeElement = function (t) {
              if (t) try {
                 t.node && t.node.parentNode == this.node && this.node.removeChild(t.node)
              } catch (t) {}
           }, e.prototype.hasChild = function (t) {
              for (var e = 0; e < this.node.childNodes.length; e++)
                 if (this.node.childNodes[e] == t.node) return !0;
              return !1
           }, Object.defineProperty(e.prototype, "content", {
              get: function () {
                 return this.node.innerHTML
              },
              set: function (t) {
                 this.node.innerHTML = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.removeChildren = function () {
              if (this.node.childNodes)
                 for (; this.node.childNodes.length > 0;) {
                    var t = this.node.firstChild;
                    t && t.parentNode && t.parentNode.removeChild(t)
                 }
           }, e
        }(i("pzs1").a)
  },
  ch2R: function (t, e, i) {
     var n = i("hjwn"),
        r = i("Gb1H"),
        o = i("snR7"),
        a = i("W0fk");
     r(r.S + r.F * i("AEc5")(function () {
        Reflect.defineProperty(n.f({}, 1, {
           value: 1
        }), 1, {
           value: 2
        })
     }), "Reflect", {
        defineProperty: function (t, e, i) {
           o(t), e = a(e, !0), o(i);
           try {
              return n.f(t, e, i), !0
           } catch (t) {
              return !1
           }
        }
     })
  },
  cm0w: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        umulh: function (t, e) {
           var i = +t,
              n = +e,
              r = 65535 & i,
              o = 65535 & n,
              a = i >>> 16,
              s = n >>> 16,
              u = (a * o >>> 0) + (r * o >>> 16);
           return a * s + (u >>> 16) + ((r * s >>> 0) + (65535 & u) >>> 16)
        }
     })
  },
  cxKZ: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("MZQ8"),
        a = i("p9TX"),
        s = i("1yyj"),
        u = i("8ZqG"),
        l = i("VAFc"),
        h = i("Gg2j"),
        c = i("0FpR"),
        p = i("v9UT"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._boundingRect = {
                 x: -4e4,
                 y: -4e4,
                 width: 8e4,
                 height: 8e4
              }, e._pointTo = {
                 x: 0,
                 y: 0
              }, e.fitPointerToBounds = !1, e._verticalOrientation = "up", e.className = "Tooltip", e.isMeasured = !1, e.getFillFromObject = !0, e.margin(5, 5, 5, 5), e.defaultState.transitionDuration = 1, e.hiddenState.transitionDuration = 1;
              var i = e.background;
              i.interactionsEnabled = !1, i.fillOpacity = .9, i.strokeWidth = 1, i.strokeOpacity = 1, i.stroke = Object(u.c)("#ffffff"), i.cornerRadius = 3, i.pointerLength = 6, i.pointerBaseWidth = 10;
              var n = new l.a;
              n.dy = 1, n.dx = 1, n.opacity = .5, i.filters.push(n), e.autoTextColor = !0;
              var r = e.createChild(a.a);
              return r.shouldClone = !1, e.label = r, r.padding(7, 12, 6, 12), r.interactionsEnabled = !1, r.horizontalCenter = "middle", r.fill = Object(u.c)("#ffffff"), e._disposers.push(r), e.label.events.on("sizechanged", e.drawBackground, e), e.label.zIndex = 1, e.pointerOrientation = "vertical", e.animationDuration = 0, e.animationEasing = c.cubicOut, e.role = "tooltip", e.visible = !1, e.opacity = 0, e.x = 0, e.y = 0, e.events.on("visibilitychanged", e.handleVisibility, e), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.handleVisibility = function () {
              this.visible && this.label.invalidate()
           }, Object.defineProperty(e.prototype, "getStrokeFromObject", {
              get: function () {
                 return this.getPropertyValue("getStrokeFromObject")
              },
              set: function (t) {
                 this.setPropertyValue("getStrokeFromObject", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "autoTextColor", {
              get: function () {
                 return this.getPropertyValue("autoTextColor")
              },
              set: function (t) {
                 this.setPropertyValue("autoTextColor", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "getFillFromObject", {
              get: function () {
                 return this.getPropertyValue("getFillFromObject")
              },
              set: function (t) {
                 this.setPropertyValue("getFillFromObject", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createBackground = function () {
              return new o.a
           }, Object.defineProperty(e.prototype, "pointerOrientation", {
              get: function () {
                 return this.getPropertyValue("pointerOrientation")
              },
              set: function (t) {
                 this.setPropertyValue("pointerOrientation", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "animationDuration", {
              get: function () {
                 return this.getPropertyValue("animationDuration")
              },
              set: function (t) {
                 this.setPropertyValue("animationDuration", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "animationEasing", {
              get: function () {
                 return this.getPropertyValue("animationEasing")
              },
              set: function (t) {
                 this.setPropertyValue("animationEasing", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "html", {
              get: function () {
                 return this.label.html
              },
              set: function (t) {
                 this.label.html != t && (this.label.html = t, this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "text", {
              get: function () {
                 return this.label.text
              },
              set: function (t) {
                 this.label.text != t && (this.label.text = t, this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.label;
              e.invalid && e.validate();
              var i, n, r = this._pointTo.x,
                 o = this._pointTo.y,
                 a = this._boundingRect,
                 s = e.measuredWidth,
                 u = e.measuredHeight,
                 l = this.background.pointerLength;
              if (s > a.width) {
                 p.spritePointToDocument({
                    x: a.x,
                    y: a.y
                 }, this.parent);
                 var c = p.spritePointToDocument({
                       x: a.x + a.width,
                       y: a.y + a.height
                    }, this.parent),
                    d = document.body.offsetWidth;
                 document.body.offsetHeight;
                 c.x > d / 2 ? a.x = a.width - s : a.width = a.x + s
              }
              "horizontal" == this.pointerOrientation ? (n = -u / 2, i = r > a.x + a.width / 2 ? -s / 2 - l : s / 2 + l) : (i = h.fitToRange(0, a.x - r + s / 2, a.x - r + a.width - s / 2), o > a.y + u + l ? (n = -u - l, this._verticalOrientation = "up") : (n = l, this._verticalOrientation = "down")), n = h.fitToRange(n, a.y - o, a.y + a.height - u - o), e.x = i, e.y = n, this.drawBackground()
           }, e.prototype.updateBackground = function () {
              this.group.addToBack(this.background.group)
           }, e.prototype.drawBackground = function () {
              var t = this.label,
                 e = this.background,
                 i = t.measuredWidth,
                 n = t.measuredHeight,
                 r = this._boundingRect,
                 o = i,
                 a = t.pixelX - i / 2,
                 s = n,
                 u = t.pixelY,
                 l = this._pointTo.x,
                 c = this._pointTo.y,
                 p = r.x - l,
                 d = p + r.width,
                 f = r.y - c,
                 g = f + r.height;
              e.x = a, e.y = u, e.width = o, e.height = s, this.fitPointerToBounds ? (e.pointerX = h.fitToRange(-e.x, p - e.x, d - e.x), e.pointerY = h.fitToRange(-e.y, f - e.y, g - e.y)) : (e.pointerX = -e.x, e.pointerY = -e.y), e.validate()
           }, e.prototype.pointTo = function (t, e) {
              this._pointTo.x == t.x && this._pointTo.y == t.y || (this._pointTo = t, this.invalidate(), !this.visible || e ? (this.moveTo(this._pointTo), this._animation && this._animation.kill()) : 0 == this.pixelX && 0 == this.pixelY ? this.moveTo(this._pointTo) : (this._animation && this._animation.kill(), this._animation = new s.a(this, [{
                 property: "x",
                 to: t.x,
                 from: this.pixelX
              }, {
                 property: "y",
                 to: t.y,
                 from: this.pixelY
              }], this.animationDuration, this.animationEasing).start()))
           }, e.prototype.setBounds = function (t) {
              var e = this._boundingRect;
              e.x == t.x && e.y == t.y && e.width == t.width && e.height == t.height || (this._boundingRect = t, this.invalidate())
           }, Object.defineProperty(e.prototype, "boundingContainer", {
              set: function (t) {
                 this._boundingContainer = t, t.events.on("sizechanged", this.updateBounds, this), t.events.on("positionchanged", this.updateBounds, this)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateBounds = function () {
              var t = this._boundingContainer,
                 e = p.spriteRectToSvg({
                    x: t.pixelX,
                    y: t.pixelY,
                    width: t.maxWidth,
                    height: t.maxHeight
                 }, t);
              this.setBounds(e)
           }, Object.defineProperty(e.prototype, "verticalOrientation", {
              get: function () {
                 return this._verticalOrientation
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltip", {
              get: function () {},
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.label.copyFrom(e.label)
           }, e
        }(r.a)
  },
  "d+vC": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("Vs7R"),
        a = i("aCit"),
        s = i("tjMS"),
        u = i("v9UT"),
        l = i("hGwe"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.slice = e.createChild(o.a), e.slice.setElement(e.paper.add("path")), e.slice.isMeasured = !1, e.orientation = "vertical", e.bottomWidth = Object(s.c)(100), e.topWidth = Object(s.c)(100), e.isMeasured = !1, e.width = 10, e.height = 10, e.expandDistance = 0, e.className = "FunnelSlice", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.pixelPaddingTop,
                 i = this.pixelPaddingBottom,
                 n = this.pixelPaddingRight,
                 r = this.pixelPaddingLeft,
                 o = this.pixelWidth - n - r,
                 a = this.pixelHeight - e - i,
                 s = this.expandDistance,
                 h = "";
              if ("vertical" == this.orientation) {
                 var c = {
                       x: (o - (v = u.relativeToValue(this.topWidth, o))) / 2 + r,
                       y: e
                    },
                    p = {
                       x: (o + v) / 2 + r,
                       y: e
                    },
                    d = {
                       x: (o + (_ = u.relativeToValue(this.bottomWidth, o))) / 2 + r,
                       y: e + a
                    },
                    f = {
                       x: (o - _) / 2 + r,
                       y: e + a
                    },
                    g = {
                       x: p.x + (d.x - p.x) / 2 + s * a,
                       y: p.y + .5 * a
                    },
                    y = {
                       x: c.x + (f.x - c.x) / 2 - s * a,
                       y: c.y + .5 * a
                    },
                    m = l.lineTo(d),
                    b = "";
                 0 != s && (m = l.quadraticCurveTo(d, g), b = l.quadraticCurveTo(c, y)), h = l.moveTo(c) + l.lineTo(p) + m + l.lineTo(f) + b, this.tickPoint = {
                    x: p.x + (d.x - p.x) / 2,
                    y: p.y + (d.y - p.y) / 2
                 }
              } else {
                 var v, _, x = {
                       x: r,
                       y: (a - (v = u.relativeToValue(this.topWidth, a))) / 2 + e
                    },
                    P = {
                       x: r,
                       y: (a + v) / 2 + e
                    },
                    w = {
                       x: r + o,
                       y: (a - (_ = u.relativeToValue(this.bottomWidth, a))) / 2 + e
                    },
                    O = {
                       x: r + o,
                       y: (a + _) / 2 + e
                    };
                 g = {
                    y: x.y + (w.y - x.y) / 2 - s * o,
                    x: x.x + .5 * o
                 }, y = {
                    y: P.y + (O.y - P.y) / 2 + s * o,
                    x: P.x + .5 * o
                 }, m = l.lineTo(w), b = "";
                 0 != s && (m = l.quadraticCurveTo(w, g), b = l.quadraticCurveTo(P, y)), h = l.moveTo(P) + l.lineTo(x) + m + l.lineTo(O) + b, this.tickPoint = {
                    y: P.y + (O.y - P.y) / 2,
                    x: P.x + (O.x - P.x) / 2
                 }
              }
              this.slice.path = h, this.invalidateLayout()
           }, e.prototype.getPoint = function (t, e) {
              var i = this.pixelPaddingTop,
                 n = this.pixelPaddingBottom,
                 r = this.pixelPaddingRight,
                 o = this.pixelPaddingLeft,
                 a = this.pixelWidth - r - o,
                 s = this.pixelHeight - i - n;
              if ("vertical" == this.orientation) {
                 var l = {
                       x: (a - (d = u.relativeToValue(this.topWidth, a))) / 2 + o,
                       y: i
                    },
                    h = {
                       x: (a + d) / 2 + o,
                       y: i
                    },
                    c = {
                       x: (a + (f = u.relativeToValue(this.bottomWidth, a))) / 2 + o,
                       y: i + s
                    },
                    p = l.x + ({
                       x: (a - f) / 2 + o,
                       y: i + s
                    }.x - l.x) * e;
                 return {
                    x: p + (h.x + (c.x - h.x) * e - p) * t,
                    y: h.y + (c.y - h.y) * e
                 }
              }
              var d, f, g = {
                    x: o,
                    y: (s - (d = u.relativeToValue(this.topWidth, s))) / 2 + i
                 },
                 y = {
                    x: o,
                    y: (s + d) / 2 + i
                 },
                 m = {
                    x: o + a,
                    y: (s - (f = u.relativeToValue(this.bottomWidth, s))) / 2 + i
                 },
                 b = g.y + (m.y - g.y) * t;
              return {
                 y: b + (y.y + ({
                    x: o + a,
                    y: (s + f) / 2 + i
                 }.y - y.y) * t - b) * e,
                 x: g.x + (m.x - g.x) * t
              }
           }, Object.defineProperty(e.prototype, "bottomWidth", {
              get: function () {
                 return this.getPropertyValue("bottomWidth")
              },
              set: function (t) {
                 this.setPercentProperty("bottomWidth", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "topWidth", {
              get: function () {
                 return this.getPropertyValue("topWidth")
              },
              set: function (t) {
                 this.setPercentProperty("topWidth", t, !0, !1, 10, !1)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "orientation", {
              get: function () {
                 return this.getPropertyValue("orientation")
              },
              set: function (t) {
                 this.setPropertyValue("orientation", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "expandDistance", {
              get: function () {
                 return this.getPropertyValue("expandDistance")
              },
              set: function (t) {
                 this.setPropertyValue("expandDistance", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.slice && this.slice.copyFrom(e.slice)
           }, e
        }(r.a);
     a.b.registeredClasses.FunnelSlice = h
  },
  d5pU: function (t, e, i) {
     i("6+x4")("WeakMap")
  },
  dJEq: function (t, e, i) {
     var n = i("MfZA"),
        r = i("WtL7");
     t.exports = function (t) {
        return function () {
           if (n(this) != t) throw TypeError(t + "#toJSON isn't generic");
           return r(this)
        }
     }
  },
  dLrC: function (t, e, i) {
     "use strict";
     var n = i("hgv4"),
        r = i("rFJX");
     t.exports = i("/Xnt")("Map", function (t) {
        return function () {
           return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
     }, {
        get: function (t) {
           var e = n.getEntry(r(this, "Map"), t);
           return e && e.v
        },
        set: function (t, e) {
           return n.def(r(this, "Map"), 0 === t ? 0 : t, e)
        }
     }, n, !0)
  },
  "dS+R": function (t, e, i) {
     i("YJIw")("Int8", 1, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  ds6r: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(1);
     n(n.P + n.F * !i("GQop")([].map, !0), "Array", {
        map: function (t) {
           return r(this, t, arguments[1])
        }
     })
  },
  dstF: function (t, e, i) {
     var n = i("20m4"),
        r = i("sHIJ"),
        o = i("vJiZ"),
        a = i("FmWr"),
        s = i("L2Mu");
     t.exports = function (t, e) {
        var i = 1 == t,
           u = 2 == t,
           l = 3 == t,
           h = 4 == t,
           c = 6 == t,
           p = 5 == t || c,
           d = e || s;
        return function (e, s, f) {
           for (var g, y, m = o(e), b = r(m), v = n(s, f, 3), _ = a(b.length), x = 0, P = i ? d(e, _) : u ? d(e, 0) : void 0; _ > x; x++)
              if ((p || x in b) && (y = v(g = b[x], x, m), t))
                 if (i) P[x] = y;
                 else if (y) switch (t) {
              case 3:
                 return !0;
              case 5:
                 return g;
              case 6:
                 return x;
              case 2:
                 P.push(g)
           } else if (h) return !1;
           return c ? -1 : l || h ? h : P
        }
     }
  },
  "e/xe": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Object", {
        is: i("DVvQ")
     })
  },
  e8Nv: function (t, e, i) {
     "use strict";
     var n = i("hjwn"),
        r = i("Wbjh");
     t.exports = function (t, e, i) {
        e in t ? n.f(t, e, r(0, i)) : t[e] = i
     }
  },
  "e8Y+": function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        fround: i("kg8J")
     })
  },
  eAid: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("8ZqG"),
        s = i("MIZb"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "AxisLine", e.element = e.paper.add("path");
              var i = new s.a;
              return e.stroke = i.getFor("grid"), e.strokeOpacity = .15, e.pixelPerfect = !0, e.fill = Object(a.c)(), e.applyTheme(), e.interactionsEnabled = !1, e
           }
           return n.c(e, t), e
        }(r.a);
     o.b.registeredClasses.AxisLine = u
  },
  eBSV: function (t, e) {
     e.f = {}.propertyIsEnumerable
  },
  eCqC: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return o
     }), i.d(e, "b", function () {
        return a
     });
     var n = i("+qIf"),
        r = i("Mtpk"),
        o = function () {
           function t() {
              this._storage = new n.a, this.ttl = 1e3
           }
           return t.prototype.set = function (t, e, i, o) {
              var a = this._storage.insertKeyIfEmpty(t, function () {
                    return new n.a
                 }),
                 s = {
                    touched: (new Date).getTime(),
                    ttl: r.isNumber(o) ? o : this.ttl,
                    value: i
                 };
              a.setKey(e, s)
           }, t.prototype.get = function (t, e, i) {
              if (void 0 === i && (i = void 0), this._storage.hasKey(t)) {
                 var n = this._storage.getKey(t);
                 if (n.hasKey(e)) {
                    var r = n.getKey(e);
                    return r.ttl && r.touched + r.ttl < (new Date).getTime() && (r.expired = !0), r.expired ? (n.removeKey(e), i) : r.value
                 }
                 return i
              }
              return i
           }, t.prototype.clear = function (t) {
              t ? this._storage.removeKey(t) : this._storage.clear()
           }, t
        }(),
        a = new o
  },
  eN1s: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("m4/l"),
        r = i("qzbU"),
        o = i("aCit"),
        a = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "AxisTick", e.element = e.paper.add("path"), e.location = .5, e.isMeasured = !1, e.pixelPerfect = !0, e.strokeOpacity = 0, e.length = 5, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "location", {
              get: function () {
                 return this.getPropertyValue("location")
              },
              set: function (t) {
                 this.setPropertyValue("location", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inside", {
              get: function () {
                 return this.getPropertyValue("inside")
              },
              set: function (t) {
                 this.setPropertyValue("inside", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setDisabled = function (e) {
              var i = t.prototype.setDisabled.call(this, e);
              return this.axis && this.axis.invalidateDataItems(), i
           }, e
        }(r.a);
     o.b.registeredClasses.AxisTick = a
  },
  eaU5: function (t, e, i) {
     "use strict";
     i("Mvcd")("fixed", function (t) {
        return function () {
           return t(this, "tt", "", "")
        }
     })
  },
  "eh+x": function (t, e) {
     t.exports = Math.scale || function (t, e, i, n, r) {
        return 0 === arguments.length || t != t || e != e || i != i || n != n || r != r ? NaN : t === 1 / 0 || t === -1 / 0 ? t : (t - e) * (r - n) / (i - e) + n
     }
  },
  eske: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return y
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("Vs7R"),
        a = i("vMqJ"),
        s = i("aCit"),
        u = i("MIZb"),
        l = i("Wglt"),
        h = i("wUYf"),
        c = i("MlsF"),
        p = i("3Cxr"),
        d = i("CnhP"),
        f = i("Qkdp"),
        g = i("uWmK"),
        y = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.legendSettings = new g.c, e.className = "FlowDiagramNode", e.isMeasured = !1;
              new u.a;
              return e.draggable = !0, e.inert = !0, e.setStateOnChildren = !0, e.events.on("positionchanged", e.invalidateLinks, e, !1), e.events.on("sizechanged", e.invalidateLinks, e, !1), e.events.on("hit", e.handleHit, e, !1), e
           }
           return n.c(e, t), e.prototype.handleHit = function (t) {
              this.isHidden || this.isHiding ? this.show() : this.hide()
           }, e.prototype.show = function (e) {
              var i = t.prototype.show.call(this, e);
              return this.outgoingDataItems.each(function (t) {
                 (!t.toNode || t.toNode && !t.toNode.isHidden) && t.setWorkingValue("value", t.getValue("value"), e)
              }), this.incomingDataItems.each(function (t) {
                 (!t.fromNode || t.fromNode && !t.fromNode.isHidden) && t.setWorkingValue("value", t.getValue("value"), e)
              }), i
           }, e.prototype.hide = function (e) {
              var i = t.prototype.hide.call(this, e);
              return this.outgoingDataItems.each(function (t) {
                 t.setWorkingValue("value", 0, e)
              }), this.incomingDataItems.each(function (t) {
                 t.setWorkingValue("value", 0, e)
              }), i
           }, e.prototype.validate = function () {
              this.isDisposed() || (t.prototype.validate.call(this), this.invalidateLinks())
           }, e.prototype.invalidateLinks = function () {
              var t = this;
              this.outgoingDataItems.each(function (e) {
                 var i = e.link;
                 if ("fromNode" == i.colorMode && (i.fill = i.dataItem.fromNode.color), "gradient" == i.colorMode) {
                    i.fill = i.gradient, i.stroke = i.gradient;
                    var n = i.gradient.stops.getIndex(0);
                    n && (n.color = t.color, i.gradient.validate())
                 }
              }), this.incomingDataItems.each(function (e) {
                 var i = e.link;
                 if ("toNode" == i.colorMode && (i.fill = i.dataItem.toNode.color), "gradient" == i.colorMode) {
                    i.fill = i.gradient, i.stroke = i.gradient;
                    var n = i.gradient.stops.getIndex(1);
                    n && (n.color = t.color, i.gradient.validate())
                 }
              })
           }, Object.defineProperty(e.prototype, "incomingDataItems", {
              get: function () {
                 var t = this;
                 if (!this._incomingDataItems) {
                    var e = new a.b;
                    e.events.on("inserted", function () {
                       "name" == t.chart.sortBy ? t._incomingSorted = l.sort(t._incomingDataItems.iterator(), function (t, e) {
                          return h.order(t.fromName, e.fromName)
                       }) : "value" == t.chart.sortBy ? t._incomingSorted = l.sort(t._incomingDataItems.iterator(), function (t, e) {
                          return c.b(p.order(t.value, e.value))
                       }) : t._incomingSorted = t._incomingDataItems.iterator()
                    }, void 0, !1), this._incomingDataItems = e
                 }
                 return this._incomingDataItems
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "outgoingDataItems", {
              get: function () {
                 var t = this;
                 if (!this._outgoingDataItems) {
                    var e = new a.b;
                    e.events.on("inserted", function () {
                       "name" == t.chart.sortBy ? t._outgoingSorted = l.sort(t._outgoingDataItems.iterator(), function (t, e) {
                          return h.order(t.fromName, e.fromName)
                       }) : "value" == t.chart.sortBy ? t._outgoingSorted = l.sort(t._outgoingDataItems.iterator(), function (t, e) {
                          return c.b(p.order(t.value, e.value))
                       }) : t._outgoingSorted = t._outgoingDataItems.iterator()
                    }, void 0, !1), this._outgoingDataItems = e
                 }
                 return this._outgoingDataItems
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "name", {
              get: function () {
                 return this.getPropertyValue("name")
              },
              set: function (t) {
                 this.setPropertyValue("name", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "total", {
              get: function () {
                 return this.getPropertyValue("total")
              },
              set: function (t) {
                 this.setPropertyValue("total", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "totalIncoming", {
              get: function () {
                 return this.getPropertyValue("totalIncoming")
              },
              set: function (t) {
                 this.setPropertyValue("totalIncoming", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "totalOutgoing", {
              get: function () {
                 return this.getPropertyValue("totalOutgoing")
              },
              set: function (t) {
                 this.setPropertyValue("totalOutgoing", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "color", {
              get: function () {
                 return this.getPropertyValue("color")
              },
              set: function (t) {
                 this.setColorProperty("color", t), this._background && (this._background.fill = t), this.fill = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.createLegendMarker = function (t) {
              var e = t.pixelWidth,
                 i = t.pixelHeight;
              t.removeChildren();
              var n = t.createChild(d.a);
              n.shouldClone = !1, f.copyProperties(this, n, o.b), n.stroke = this.fill, n.copyFrom(this), n.padding(0, 0, 0, 0), n.width = e, n.height = i;
              var r = t.dataItem;
              r.color = n.fill, r.colorOrig = n.fill
           }, Object.defineProperty(e.prototype, "legendDataItem", {
              get: function () {
                 return this._legendDataItem
              },
              set: function (t) {
                 this._legendDataItem = t, this._legendDataItem.itemContainer.deepInvalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     s.b.registeredClasses.FlowDiagramNode = y
  },
  f5kt: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(5),
        o = !0;
     "find" in [] && Array(1).find(function () {
        o = !1
     }), n(n.P + n.F * o, "Array", {
        find: function (t) {
           return r(this, t, arguments.length > 1 ? arguments[1] : void 0)
        }
     }), i("M/YL")("find")
  },
  fDnL: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("RzG0")(),
        o = i("T9LF").process,
        a = "process" == i("DVYA")(o);
     n(n.G, {
        asap: function (t) {
           var e = a && o.domain;
           r(e ? e.bind(t) : t)
        }
     })
  },
  fL7J: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        log10: function (t) {
           return Math.log(t) * Math.LOG10E
        }
     })
  },
  fRTO: function (t, e, i) {
     var n = i("vJiZ"),
        r = i("K0ev");
     i("5lay")("getPrototypeOf", function () {
        return function (t) {
           return r(n(t))
        }
     })
  },
  fTgz: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        log2: function (t) {
           return Math.log(t) / Math.LN2
        }
     })
  },
  fi6C: function (t, e, i) {
     "use strict";
     i("Mvcd")("link", function (t) {
        return function (e) {
           return t(this, "a", "href", e)
        }
     })
  },
  fyXH: function (t, e, i) {
     var n = i("Gb1H");
     n(n.P, "Function", {
        bind: i("lLkc")
     })
  },
  g2OP: function (t, e, i) {
     var n = i("DvJ+"),
        r = i("kFp5").onFreeze;
     i("5lay")("seal", function (t) {
        return function (e) {
           return t && n(e) ? t(r(e)) : e
        }
     })
  },
  gD3S: function (t, e, i) {
     t.exports = !i("AEc5")(function () {
        return 7 != Object.defineProperty({}, "a", {
           get: function () {
              return 7
           }
        }).a
     })
  },
  gJSe: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = i("K0ev"),
        a = n.has,
        s = n.get,
        u = n.key,
        l = function (t, e, i) {
           if (a(t, e, i)) return s(t, e, i);
           var n = o(e);
           return null !== n ? l(t, n, i) : void 0
        };
     n.exp({
        getMetadata: function (t, e) {
           return l(t, r(e), arguments.length < 3 ? void 0 : u(arguments[2]))
        }
     })
  },
  gc4I: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("Ax3V"),
        o = i("DVYA"),
        a = i("UwWU"),
        s = i("FmWr"),
        u = [].slice;
     n(n.P + n.F * i("AEc5")(function () {
        r && u.call(r)
     }), "Array", {
        slice: function (t, e) {
           var i = s(this.length),
              n = o(this);
           if (e = void 0 === e ? i : e, "Array" == n) return u.call(this, t, e);
           for (var r = a(t, i), l = a(e, i), h = s(l - r), c = new Array(h), p = 0; p < h; p++) c[p] = "String" == n ? this.charAt(r + p) : this[r + p];
           return c
        }
     })
  },
  gmIO: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Number", {
        EPSILON: Math.pow(2, -52)
     })
  },
  gmzR: function (t, e, i) {
     var n = i("DvJ+"),
        r = i("kFp5").onFreeze;
     i("5lay")("preventExtensions", function (t) {
        return function (e) {
           return t && n(e) ? t(r(e)) : e
        }
     })
  },
  hD5A: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return a
     }), i.d(e, "c", function () {
        return s
     }), i.d(e, "d", function () {
        return u
     }), i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("hJ5i"),
        o = i("Mtpk"),
        a = function () {
           function t(t) {
              this._disposed = !1, this._dispose = t
           }
           return t.prototype.isDisposed = function () {
              return this._disposed
           }, t.prototype.dispose = function () {
              this._disposed || (this._disposed = !0, this._dispose())
           }, t
        }(),
        s = function (t) {
           function e(e) {
              return t.call(this, function () {
                 r.each(e, function (t) {
                    t.dispose()
                 })
              }) || this
           }
           return n.c(e, t), e
        }(a),
        u = function (t) {
           function e() {
              var e = t.call(this, function () {
                 o.hasValue(e._disposer) && (e._disposer.dispose(), e._disposer = void 0)
              }) || this;
              return e
           }
           return n.c(e, t), e.prototype.get = function () {
              return this._value
           }, e.prototype.set = function (t, e) {
              o.hasValue(this._disposer) && this._disposer.dispose(), this._disposer = e, this._value = t
           }, e.prototype.reset = function () {
              this.set(void 0, void 0)
           }, e
        }(a),
        l = function (t) {
           function e() {
              var e = null !== t && t.apply(this, arguments) || this;
              return e._counter = 0, e
           }
           return n.c(e, t), e.prototype.increment = function () {
              var t = this;
              return ++this._counter, new a(function () {
                 --t._counter, 0 === t._counter && t.dispose()
              })
           }, e
        }(a)
  },
  hGwe: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.polyline = function (t) {
        for (var e = s(t[0]), i = {
              x: 0,
              y: 0
           }, r = 0, o = t.length; r < o; r++) {
           var a = t[r];
           n.getDistance(a, i) > .5 && (e += s(a), i = a)
        }
        return e
     }, e.moveTo = a, e.lineTo = s, e.quadraticCurveTo = function (t, e) {
        return " Q" + n.round(e.x, 4) + "," + n.round(e.y, 4) + " " + n.round(t.x, 4) + "," + n.round(t.y, 4)
     }, e.cubicCurveTo = function (t, e, i) {
        return " C" + n.round(e.x, 4) + "," + n.round(e.y, 4) + " " + n.round(i.x, 4) + "," + n.round(i.y, 4) + " " + n.round(t.x, 4) + "," + n.round(t.y, 4)
     }, e.closePath = u, e.arcTo = l, e.arc = function (t, e, i, o, u, c, p) {
        if (0 == e) return "";
        r.isNumber(o) || (o = 0);
        if (0 == i && o <= 0) return "";
        if (i < o) {
           var d = i;
           i = o, o = d, r.isNumber(u) && (u = u / o * i)
        }
        360 == (e = n.min(e, 360)) && (c = 0, p = 0);
        var f = t + e,
           g = n.sin(n.min(e, 45) / 2);
        u = r.isNumber(u) ? u : i, c = c || 0, p = r.isNumber(p) ? p : c;
        var y = u / i * o,
           m = u / i * c,
           b = u / i * p;
        c = n.fitToRange(c, 0, (i - o) / 2), m = n.fitToRange(m, 0, (u - y) / 2), p = n.fitToRange(p, 0, (i - o) / 2), b = n.fitToRange(b, 0, (u - y) / 2), c = n.round(n.fitToRange(c, 0, i * g), 4), m = n.round(n.fitToRange(m, 0, u * g), 4), p = n.round(n.fitToRange(p, 0, o * g), 4), b = n.round(n.fitToRange(b, 0, y * g), 4);
        var v = Math.asin(c / i / 2) * n.DEGREES * 2,
           _ = Math.asin(m / u / 2) * n.DEGREES * 2;
        o < p && (o = p);
        y < b && (y = b);
        var x = Math.asin(p / o / 2) * n.DEGREES * 2,
           P = Math.asin(b / y / 2) * n.DEGREES * 2;
        r.isNumber(x) || (x = 0);
        r.isNumber(P) || (P = 0);
        var w = t + e / 2,
           O = {
              x: n.round(n.cos(w) * o, 4),
              y: n.sin(w) * y
           },
           S = {
              x: n.cos(t) * (o + p),
              y: n.sin(t) * (y + b)
           },
           k = {
              x: n.cos(t) * (i - c),
              y: n.sin(t) * (u - m)
           },
           T = {
              x: n.cos(f) * (i - c),
              y: n.sin(f) * (u - m)
           },
           C = {
              x: n.cos(f) * (o + p),
              y: n.sin(f) * (y + b)
           },
           j = {
              x: n.cos(t + v) * i,
              y: n.sin(t + _) * u
           },
           I = {
              x: n.cos(f - x) * o,
              y: n.sin(f - P) * y
           };
        p += p * n.sin(x / 2), b += b * n.sin(P / 2), x > (f - t) / 2 && (I = O);
        var V = "";
        360 == e ? V = a(k) : (V = a(S), V += s(k), V += h(j, c, m, !0));
        V += l(t + v, e - 2 * v, i, u), r.isNumber(o) && 0 != o ? (360 == e && 0 == c ? V += a(C) : (V += h(T, c, m, !0), V += s(C), V += h(I, p, b, !0)), V += l(f - x, -(e - 2 * x), o, y), (e < 360 || c > 0) && (V += h(S, p, b, !0)), V += s(S)) : (V += h(T, c, m, !0), e < 360 && (V += s(S)));
        return V
     }, e.arcToPoint = h, e.rectangle = function (t, e, i, n) {
        r.isNumber(i) || (i = 0);
        r.isNumber(n) || (n = 0);
        return a({
           x: i,
           y: n
        }) + s({
           x: i + t,
           y: n
        }) + s({
           x: i + t,
           y: n + e
        }) + s({
           x: i,
           y: n + e
        }) + " Z"
     }, e.rectToPath = function (t, e) {
        var i = ",",
           n = " L";
        return e ? "M" + t.x + i + t.y + n + t.x + i + (t.y + t.height) + n + (t.x + t.width) + i + (t.y + t.height) + n + (t.x + t.width) + i + t.y + n + t.x + i + t.y : "M" + t.x + i + t.y + n + (t.x + t.width) + i + t.y + n + (t.x + t.width) + i + (t.y + t.height) + n + t.x + i + (t.y + t.height) + n + t.x + i + t.y
     }, e.pathToPoints = function (t, e) {
        var i = Object(o.b)().add("path").node;
        if (i.setAttribute("d", t), i.getPointAtLength && i.getTotalLength) {
           for (var n = i.getTotalLength(), r = [], a = 0; a < e; a++) {
              var s = i.getPointAtLength(a / e * n);
              r.push({
                 x: s.x,
                 y: s.y
              })
           }
           return r
        }
        i.remove()
     };
     var n = i("Gg2j"),
        r = i("Mtpk"),
        o = i("P7v+");

     function a(t) {
        return " M" + n.round(t.x, 4) + "," + n.round(t.y, 4) + " "
     }

     function s(t) {
        return " L" + n.round(t.x, 4) + "," + n.round(t.y, 4) + " "
     }

     function u() {
        return " Z"
     }

     function l(t, e, i, o) {
        if (0 == e) return "";
        r.isNumber(o) || (o = i);
        var a = "",
           u = ",",
           l = Math.ceil(Math.abs(e) / 180),
           h = 1;
        e < 0 && (h = 0);
        var c = 0,
           p = 0,
           d = -n.cos(t) * i,
           f = -n.sin(t) * o;
        if (e < .5 && i > 3e3) {
           var g = t + e;
           return s({
              x: m = n.round(n.cos(g) * i, 4),
              y: b = n.round(n.sin(g) * o, 4)
           })
        }
        for (var y = 0; y < l; y++) {
           var m, b;
           g = t + e / l * (y + 1);
           a += " a" + i + u + o + u + 0 + u + 0 + u + h + u + (m = n.round(n.cos(g) * i + d - c, 4)) + u + (b = n.round(n.sin(g) * o + f - p, 4)), c = m, p = b
        }
        return a
     }

     function h(t, e, i, r, o, a) {
        if (0 == e) return "";
        var s = ",";
        return " A" + e + s + i + s + (a = a || 0) + s + +(o = Boolean(o)) + s + +(r = Boolean(r)) + s + n.round(t.x, 4) + s + n.round(t.y, 4)
     }
  },
  hIRz: function (t, e, i) {
     "use strict";
     i("Mvcd")("big", function (t) {
        return function () {
           return t(this, "big", "", "")
        }
     })
  },
  hJ5i: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.indexOf = o, e.any = function (t, e) {
        for (var i = t.length, n = 0; n < i; ++n)
           if (e(t[n])) return !0;
        return !1
     }, e.map = function (t, e) {
        for (var i = t.length, n = new Array(i), r = 0; r < i; ++r) n[r] = e(t[r], r);
        return n
     }, e.each = function (t, e) {
        for (var i = t.length, n = 0; n < i; ++n) e(t[n], n)
     }, e.eachReverse = function (t, e) {
        var i = t.length;
        for (; i--;) e(t[i], i)
     }, e.eachContinue = function (t, e) {
        for (var i = t.length, n = 0; n < i && e(t[n], n); ++n);
     }, e.shiftLeft = function (t, e) {
        for (var i = t.length, n = e; n < i; ++n) t[n - e] = t[n];
        t.length = i - e
     }, e.last = function (t) {
        var e = t.length;
        return e ? t[e - 1] : void 0
     }, e.first = function (t) {
        return t[0]
     }, e.insert = a, e.setIndex = function (t, e, i) {
        s(t, e), a(t, e, i)
     }, e.pushAll = function (t, e) {
        for (var i = e.length, n = 0; n < i; ++n) t.push(e[n])
     }, e.remove = s, e.move = function (t, e, i) {
        var n = o(t, e); - 1 !== n && l(t, n);
        null == i ? t.push(e) : u(t, i, e)
     }, e.add = function (t, e, i) {
        r.isNumber(i) ? 0 === i ? t.unshift(e) : t.splice(i, 0, e) : t.push(e)
     }, e.replace = function (t, e, i) {
        var n = t.indexOf(e); - 1 !== n && t.splice(n, 1);
        r.isNumber(i) ? t.splice(i, 0, e) : t.push(e)
     }, e.toArray = function (t) {
        return Array.isArray(t) ? t : [t]
     }, e.has = function (t, e) {
        return -1 !== o(t, e)
     }, e.copy = function (t) {
        for (var e = t.length, i = new Array(e), n = 0; n < e; ++n) i[n] = t[n];
        return i
     }, e.slice = function (t, e, i) {
        void 0 === i && (i = t.length);
        for (var n = new Array(i - e), r = e; r < i; ++r) n[r - e] = t[r];
        return n
     }, e.insertIndex = u, e.removeIndex = l, e.getSortedIndex = function (t, e, i) {
        var n = 0,
           r = t.length,
           o = !1;
        for (; n < r;) {
           var a = n + r >> 1,
              s = e(i, t[a]);
           s < 0 ? r = a : 0 === s ? (o = !0, n = a + 1) : n = a + 1
        }
        return {
           found: o,
           index: o ? n - 1 : n
        }
     }, e.findIndex = h, e.find = function (t, e) {
        var i = h(t, e);
        if (-1 !== i) return t[i]
     };
     var n = i("Gg2j"),
        r = i("Mtpk");

     function o(t, e) {
        for (var i = t.length, n = 0; n < i; ++n)
           if (t[n] === e) return n;
        return -1
     }

     function a(t, e, i) {
        i = n.fitToRange(i, 0, t.length), t.splice(i, 0, e)
     }

     function s(t, e) {
        var i = !1,
           n = t.indexOf(e);
        if (-1 !== n) {
           i = !0, t.splice(n, 1);
           for (var r = t.length; n < r;) t[n] === e ? (t.splice(n, 1), --r) : ++n
        }
        return i
     }

     function u(t, e, i) {
        t.splice(e, 0, i)
     }

     function l(t, e) {
        t.splice(e, 1)
     }

     function h(t, e) {
        for (var i = t.length, n = 0; n < i; ++n)
           if (e(t[n], n)) return n;
        return -1
     }
  },
  hLeK: function (t, e, i) {
     var n = i("nHHr"),
        r = i("K0ev"),
        o = i("U3hN"),
        a = i("Gb1H"),
        s = i("DvJ+"),
        u = i("snR7");
     a(a.S, "Reflect", {
        get: function t(e, i) {
           var a, l, h = arguments.length < 3 ? e : arguments[2];
           return u(e) === h ? e[i] : (a = n.f(e, i)) ? o(a, "value") ? a.value : void 0 !== a.get ? a.get.call(h) : void 0 : s(l = r(e)) ? t(l, i, h) : void 0
        }
     })
  },
  hLmE: function (t, e, i) {
     "use strict";
     i("nAZS")("trim", function (t) {
        return function () {
           return t(this, 3)
        }
     })
  },
  hcxM: function (t, e, i) {
     var n = i("DvJ+"),
        r = Math.floor;
     t.exports = function (t) {
        return !n(t) && isFinite(t) && r(t) === t
     }
  },
  heQh: function (t, e) {
     t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
  },
  hgv4: function (t, e, i) {
     "use strict";
     var n = i("hjwn").f,
        r = i("5+SK"),
        o = i("cA+3"),
        a = i("20m4"),
        s = i("ypVE"),
        u = i("hpnp"),
        l = i("Uobz"),
        h = i("36h5"),
        c = i("vdWU"),
        p = i("gD3S"),
        d = i("kFp5").fastKey,
        f = i("rFJX"),
        g = p ? "_s" : "size",
        y = function (t, e) {
           var i, n = d(e);
           if ("F" !== n) return t._i[n];
           for (i = t._f; i; i = i.n)
              if (i.k == e) return i
        };
     t.exports = {
        getConstructor: function (t, e, i, l) {
           var h = t(function (t, n) {
              s(t, h, e, "_i"), t._t = e, t._i = r(null), t._f = void 0, t._l = void 0, t[g] = 0, void 0 != n && u(n, i, t[l], t)
           });
           return o(h.prototype, {
              clear: function () {
                 for (var t = f(this, e), i = t._i, n = t._f; n; n = n.n) n.r = !0, n.p && (n.p = n.p.n = void 0), delete i[n.i];
                 t._f = t._l = void 0, t[g] = 0
              },
              delete: function (t) {
                 var i = f(this, e),
                    n = y(i, t);
                 if (n) {
                    var r = n.n,
                       o = n.p;
                    delete i._i[n.i], n.r = !0, o && (o.n = r), r && (r.p = o), i._f == n && (i._f = r), i._l == n && (i._l = o), i[g]--
                 }
                 return !!n
              },
              forEach: function (t) {
                 f(this, e);
                 for (var i, n = a(t, arguments.length > 1 ? arguments[1] : void 0, 3); i = i ? i.n : this._f;)
                    for (n(i.v, i.k, this); i && i.r;) i = i.p
              },
              has: function (t) {
                 return !!y(f(this, e), t)
              }
           }), p && n(h.prototype, "size", {
              get: function () {
                 return f(this, e)[g]
              }
           }), h
        },
        def: function (t, e, i) {
           var n, r, o = y(t, e);
           return o ? o.v = i : (t._l = o = {
              i: r = d(e, !0),
              k: e,
              v: i,
              p: n = t._l,
              n: void 0,
              r: !1
           }, t._f || (t._f = o), n && (n.n = o), t[g]++, "F" !== r && (t._i[r] = o)), t
        },
        getEntry: y,
        setStrong: function (t, e, i) {
           l(t, e, function (t, i) {
              this._t = f(t, e), this._k = i, this._l = void 0
           }, function () {
              for (var t = this._k, e = this._l; e && e.r;) e = e.p;
              return this._t && (this._l = e = e ? e.n : this._t._f) ? h(0, "keys" == t ? e.k : "values" == t ? e.v : [e.k, e.v]) : (this._t = void 0, h(1))
           }, i ? "entries" : "values", !i, !0), c(e)
        }
     }
  },
  hjwn: function (t, e, i) {
     var n = i("snR7"),
        r = i("HW78"),
        o = i("W0fk"),
        a = Object.defineProperty;
     e.f = i("gD3S") ? Object.defineProperty : function (t, e, i) {
        if (n(t), e = o(e, !0), n(i), r) try {
           return a(t, e, i)
        } catch (t) {}
        if ("get" in i || "set" in i) throw TypeError("Accessors not supported!");
        return "value" in i && (t[e] = i.value), t
     }
  },
  hpNl: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return r
     });
     var n = i("8ZqG"),
        r = function () {
           function t() {}
           return t.opacity = 1, t.strokeOpacity = 1, t.strokeWidth = 1, t.fillOpacity = 1, t.fill = Object(n.c)("#000000"), t.stroke = Object(n.c)("#000000"), t.focusable = void 0, t.tabindex = 0, t
        }()
  },
  hpnp: function (t, e, i) {
     var n = i("20m4"),
        r = i("sNEp"),
        o = i("a8UT"),
        a = i("snR7"),
        s = i("FmWr"),
        u = i("iOZG"),
        l = {},
        h = {};
     (e = t.exports = function (t, e, i, c, p) {
        var d, f, g, y, m = p ? function () {
              return t
           } : u(t),
           b = n(i, c, e ? 2 : 1),
           v = 0;
        if ("function" != typeof m) throw TypeError(t + " is not iterable!");
        if (o(m)) {
           for (d = s(t.length); d > v; v++)
              if ((y = e ? b(a(f = t[v])[0], f[1]) : b(t[v])) === l || y === h) return y
        } else
           for (g = m.call(t); !(f = g.next()).done;)
              if ((y = r(g, b, f.value, e)) === l || y === h) return y
     }).BREAK = l, e.RETURN = h
  },
  hxI2: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.rgb = function (t, e) {
        var i;
        o[t] ? i = o[t] : "#" === t.charAt(0) ? i = a(t) : t.match(/^rgba?\(/) && (i = s(t));
        i || (i = {
           r: 0,
           g: 0,
           b: 0,
           a: 1
        });
        r.hasValue(e) && (i.a = e);
        return i
     }, e.hexToRgb = a, e.rgbaToRgb = s, e.rgbToHex = function (t) {
        return "#" + u(t.r.toString(16)) + u(t.g.toString(16)) + u(t.b.toString(16))
     }, e.rgbToRGBA = function (t) {
        return r.hasValue(t.a) && 1 !== t.a ? "rgba(" + t.r + "," + t.g + "," + t.b + "," + t.a + ")" : "rgb(" + t.r + "," + t.g + "," + t.b + ")"
     }, e.pad2 = u, e.interpolate = function (t, e, i) {
        return i = n.fitToRange(i, 0, 1), t ? e ? {
           r: t.r + Math.round((e.r - t.r) * i),
           g: t.g + Math.round((e.g - t.g) * i),
           b: t.b + Math.round((e.b - t.b) * i),
           a: (t.a || 1) + Math.round(((e.a || 1) - (t.a || 1)) * i)
        } : t : e || t
     }, e.lighten = function (t, e) {
        return t ? {
           r: Math.max(0, Math.min(255, t.r + l(t.r, e))),
           g: Math.max(0, Math.min(255, t.g + l(t.g, e))),
           b: Math.max(0, Math.min(255, t.b + l(t.b, e))),
           a: t.a
        } : t
     }, e.getLightnessStep = l, e.brighten = function (t, e) {
        if (t) {
           var i = Math.min(Math.max(t.r, t.g, t.b), 230),
              n = l(i, e);
           return {
              r: Math.max(0, Math.min(255, Math.round(t.r + n))),
              g: Math.max(0, Math.min(255, Math.round(t.g + n))),
              b: Math.max(0, Math.min(255, Math.round(t.b + n))),
              a: t.a
           }
        }
        return t
     }, e.getBrightnessStep = function (t, e) {
        return Math.round(255 * e)
     }, e.saturate = function (t, e) {
        if (null == t || 1 == e) return t;
        var i = c(t);
        return i.s = e, h(i)
     }, e.hslToRgb = h, e.rgbToHsl = c, e.rgbToHsv = function (t) {
        var e = t.r / 255,
           i = t.g / 255,
           n = t.b / 255,
           r = Math.max(e, i, n),
           o = Math.min(e, i, n),
           a = 0,
           s = 0,
           u = r,
           l = r - o;
        if (s = 0 == r ? 0 : l / r, r == o) a = 0;
        else {
           switch (r) {
              case e:
                 a = (i - n) / l + (i < n ? 6 : 0);
                 break;
              case i:
                 a = (n - e) / l + 2;
                 break;
              case n:
                 a = (e - i) / l + 4
           }
           a /= 6
        }
        return {
           h: a,
           s: s,
           v: u
        }
     }, e.hsvToRgb = function (t) {
        var e = 0,
           i = 0,
           n = 0,
           r = t.h,
           o = t.s,
           a = t.v,
           s = Math.floor(6 * r),
           u = 6 * r - s,
           l = a * (1 - o),
           h = a * (1 - u * o),
           c = a * (1 - (1 - u) * o);
        switch (s % 6) {
           case 0:
              e = a, i = c, n = l;
              break;
           case 1:
              e = h, i = a, n = l;
              break;
           case 2:
              e = l, i = a, n = c;
              break;
           case 3:
              e = l, i = h, n = a;
              break;
           case 4:
              e = c, i = l, n = a;
              break;
           case 5:
              e = a, i = l, n = h
        }
        return {
           r: Math.round(255 * e),
           g: Math.round(255 * i),
           b: Math.round(255 * n)
        }
     }, e.isLight = function (t) {
        return (299 * t.r + 587 * t.g + 114 * t.b) / 1e3 >= 128
     };
     var n = i("Gg2j"),
        r = i("Mtpk"),
        o = {
           aliceblue: {
              r: 240,
              g: 248,
              b: 255
           },
           antiquewhite: {
              r: 250,
              g: 235,
              b: 215
           },
           aqua: {
              r: 0,
              g: 255,
              b: 255
           },
           aquamarine: {
              r: 127,
              g: 255,
              b: 212
           },
           azure: {
              r: 240,
              g: 255,
              b: 255
           },
           beige: {
              r: 245,
              g: 245,
              b: 220
           },
           bisque: {
              r: 255,
              g: 228,
              b: 196
           },
           black: {
              r: 0,
              g: 0,
              b: 0
           },
           blanchedalmond: {
              r: 255,
              g: 235,
              b: 205
           },
           blue: {
              r: 0,
              g: 0,
              b: 255
           },
           blueviolet: {
              r: 138,
              g: 43,
              b: 226
           },
           brown: {
              r: 165,
              g: 42,
              b: 42
           },
           burlywood: {
              r: 222,
              g: 184,
              b: 135
           },
           cadetblue: {
              r: 95,
              g: 158,
              b: 160
           },
           chartreuse: {
              r: 127,
              g: 255,
              b: 0
           },
           chocolate: {
              r: 210,
              g: 105,
              b: 30
           },
           coral: {
              r: 255,
              g: 127,
              b: 80
           },
           cornflowerblue: {
              r: 100,
              g: 149,
              b: 237
           },
           cornsilk: {
              r: 255,
              g: 248,
              b: 220
           },
           crimson: {
              r: 220,
              g: 20,
              b: 60
           },
           cyan: {
              r: 0,
              g: 255,
              b: 255
           },
           darkblue: {
              r: 0,
              g: 0,
              b: 139
           },
           darkcyan: {
              r: 0,
              g: 139,
              b: 139
           },
           darkgoldenrod: {
              r: 184,
              g: 134,
              b: 11
           },
           darkgray: {
              r: 169,
              g: 169,
              b: 169
           },
           darkgrey: {
              r: 169,
              g: 169,
              b: 169
           },
           darkgreen: {
              r: 0,
              g: 100,
              b: 0
           },
           darkkhaki: {
              r: 189,
              g: 183,
              b: 107
           },
           darkmagenta: {
              r: 139,
              g: 0,
              b: 139
           },
           darkolivegreen: {
              r: 85,
              g: 107,
              b: 47
           },
           darkorange: {
              r: 255,
              g: 140,
              b: 0
           },
           darkorchid: {
              r: 153,
              g: 50,
              b: 204
           },
           darkred: {
              r: 139,
              g: 0,
              b: 0
           },
           darksalmon: {
              r: 233,
              g: 150,
              b: 122
           },
           darkseagreen: {
              r: 143,
              g: 188,
              b: 143
           },
           darkslateblue: {
              r: 72,
              g: 61,
              b: 139
           },
           darkslategray: {
              r: 47,
              g: 79,
              b: 79
           },
           darkslategrey: {
              r: 47,
              g: 79,
              b: 79
           },
           darkturquoise: {
              r: 0,
              g: 206,
              b: 209
           },
           darkviolet: {
              r: 148,
              g: 0,
              b: 211
           },
           deeppink: {
              r: 255,
              g: 20,
              b: 147
           },
           deepskyblue: {
              r: 0,
              g: 191,
              b: 255
           },
           dimgray: {
              r: 105,
              g: 105,
              b: 105
           },
           dimgrey: {
              r: 105,
              g: 105,
              b: 105
           },
           dodgerblue: {
              r: 30,
              g: 144,
              b: 255
           },
           firebrick: {
              r: 178,
              g: 34,
              b: 34
           },
           floralwhite: {
              r: 255,
              g: 250,
              b: 240
           },
           forestgreen: {
              r: 34,
              g: 139,
              b: 34
           },
           fuchsia: {
              r: 255,
              g: 0,
              b: 255
           },
           gainsboro: {
              r: 220,
              g: 220,
              b: 220
           },
           ghostwhite: {
              r: 248,
              g: 248,
              b: 255
           },
           gold: {
              r: 255,
              g: 215,
              b: 0
           },
           goldenrod: {
              r: 218,
              g: 165,
              b: 32
           },
           gray: {
              r: 128,
              g: 128,
              b: 128
           },
           grey: {
              r: 128,
              g: 128,
              b: 128
           },
           green: {
              r: 0,
              g: 128,
              b: 0
           },
           greenyellow: {
              r: 173,
              g: 255,
              b: 47
           },
           honeydew: {
              r: 240,
              g: 255,
              b: 240
           },
           hotpink: {
              r: 255,
              g: 105,
              b: 180
           },
           indianred: {
              r: 205,
              g: 92,
              b: 92
           },
           indigo: {
              r: 75,
              g: 0,
              b: 130
           },
           ivory: {
              r: 255,
              g: 255,
              b: 240
           },
           khaki: {
              r: 240,
              g: 230,
              b: 140
           },
           lavender: {
              r: 230,
              g: 230,
              b: 250
           },
           lavenderblush: {
              r: 255,
              g: 240,
              b: 245
           },
           lawngreen: {
              r: 124,
              g: 252,
              b: 0
           },
           lemonchiffon: {
              r: 255,
              g: 250,
              b: 205
           },
           lightblue: {
              r: 173,
              g: 216,
              b: 230
           },
           lightcoral: {
              r: 240,
              g: 128,
              b: 128
           },
           lightcyan: {
              r: 224,
              g: 255,
              b: 255
           },
           lightgoldenrodyellow: {
              r: 250,
              g: 250,
              b: 210
           },
           lightgray: {
              r: 211,
              g: 211,
              b: 211
           },
           lightgrey: {
              r: 211,
              g: 211,
              b: 211
           },
           lightgreen: {
              r: 144,
              g: 238,
              b: 144
           },
           lightpink: {
              r: 255,
              g: 182,
              b: 193
           },
           lightsalmon: {
              r: 255,
              g: 160,
              b: 122
           },
           lightseagreen: {
              r: 32,
              g: 178,
              b: 170
           },
           lightskyblue: {
              r: 135,
              g: 206,
              b: 250
           },
           lightslategray: {
              r: 119,
              g: 136,
              b: 153
           },
           lightslategrey: {
              r: 119,
              g: 136,
              b: 153
           },
           lightsteelblue: {
              r: 176,
              g: 196,
              b: 222
           },
           lightyellow: {
              r: 255,
              g: 255,
              b: 224
           },
           lime: {
              r: 0,
              g: 255,
              b: 0
           },
           limegreen: {
              r: 50,
              g: 205,
              b: 50
           },
           linen: {
              r: 250,
              g: 240,
              b: 230
           },
           magenta: {
              r: 255,
              g: 0,
              b: 255
           },
           maroon: {
              r: 128,
              g: 0,
              b: 0
           },
           mediumaquamarine: {
              r: 102,
              g: 205,
              b: 170
           },
           mediumblue: {
              r: 0,
              g: 0,
              b: 205
           },
           mediumorchid: {
              r: 186,
              g: 85,
              b: 211
           },
           mediumpurple: {
              r: 147,
              g: 112,
              b: 219
           },
           mediumseagreen: {
              r: 60,
              g: 179,
              b: 113
           },
           mediumslateblue: {
              r: 123,
              g: 104,
              b: 238
           },
           mediumspringgreen: {
              r: 0,
              g: 250,
              b: 154
           },
           mediumturquoise: {
              r: 72,
              g: 209,
              b: 204
           },
           mediumvioletred: {
              r: 199,
              g: 21,
              b: 133
           },
           midnightblue: {
              r: 25,
              g: 25,
              b: 112
           },
           mintcream: {
              r: 245,
              g: 255,
              b: 250
           },
           mistyrose: {
              r: 255,
              g: 228,
              b: 225
           },
           moccasin: {
              r: 255,
              g: 228,
              b: 181
           },
           navajowhite: {
              r: 255,
              g: 222,
              b: 173
           },
           navy: {
              r: 0,
              g: 0,
              b: 128
           },
           oldlace: {
              r: 253,
              g: 245,
              b: 230
           },
           olive: {
              r: 128,
              g: 128,
              b: 0
           },
           olivedrab: {
              r: 107,
              g: 142,
              b: 35
           },
           orange: {
              r: 255,
              g: 165,
              b: 0
           },
           orangered: {
              r: 255,
              g: 69,
              b: 0
           },
           orchid: {
              r: 218,
              g: 112,
              b: 214
           },
           palegoldenrod: {
              r: 238,
              g: 232,
              b: 170
           },
           palegreen: {
              r: 152,
              g: 251,
              b: 152
           },
           paleturquoise: {
              r: 175,
              g: 238,
              b: 238
           },
           palevioletred: {
              r: 219,
              g: 112,
              b: 147
           },
           papayawhip: {
              r: 255,
              g: 239,
              b: 213
           },
           peachpuff: {
              r: 255,
              g: 218,
              b: 185
           },
           peru: {
              r: 205,
              g: 133,
              b: 63
           },
           pink: {
              r: 255,
              g: 192,
              b: 203
           },
           plum: {
              r: 221,
              g: 160,
              b: 221
           },
           powderblue: {
              r: 176,
              g: 224,
              b: 230
           },
           purple: {
              r: 128,
              g: 0,
              b: 128
           },
           rebeccapurple: {
              r: 102,
              g: 51,
              b: 153
           },
           red: {
              r: 255,
              g: 0,
              b: 0
           },
           rosybrown: {
              r: 188,
              g: 143,
              b: 143
           },
           royalblue: {
              r: 65,
              g: 105,
              b: 225
           },
           saddlebrown: {
              r: 139,
              g: 69,
              b: 19
           },
           salmon: {
              r: 250,
              g: 128,
              b: 114
           },
           sandybrown: {
              r: 244,
              g: 164,
              b: 96
           },
           seagreen: {
              r: 46,
              g: 139,
              b: 87
           },
           seashell: {
              r: 255,
              g: 245,
              b: 238
           },
           sienna: {
              r: 160,
              g: 82,
              b: 45
           },
           silver: {
              r: 192,
              g: 192,
              b: 192
           },
           skyblue: {
              r: 135,
              g: 206,
              b: 235
           },
           slateblue: {
              r: 106,
              g: 90,
              b: 205
           },
           slategray: {
              r: 112,
              g: 128,
              b: 144
           },
           slategrey: {
              r: 112,
              g: 128,
              b: 144
           },
           snow: {
              r: 255,
              g: 250,
              b: 250
           },
           springgreen: {
              r: 0,
              g: 255,
              b: 127
           },
           steelblue: {
              r: 70,
              g: 130,
              b: 180
           },
           tan: {
              r: 210,
              g: 180,
              b: 140
           },
           teal: {
              r: 0,
              g: 128,
              b: 128
           },
           thistle: {
              r: 216,
              g: 191,
              b: 216
           },
           tomato: {
              r: 255,
              g: 99,
              b: 71
           },
           turquoise: {
              r: 64,
              g: 224,
              b: 208
           },
           violet: {
              r: 238,
              g: 130,
              b: 238
           },
           wheat: {
              r: 245,
              g: 222,
              b: 179
           },
           white: {
              r: 255,
              g: 255,
              b: 255
           },
           whitesmoke: {
              r: 245,
              g: 245,
              b: 245
           },
           yellow: {
              r: 255,
              g: 255,
              b: 0
           },
           yellowgreen: {
              r: 154,
              g: 205,
              b: 50
           }
        };

     function a(t) {
        t = t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (t, e, i, n) {
           return e + e + i + i + n + n
        });
        var e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
        return e ? {
           r: parseInt(e[1], 16),
           g: parseInt(e[2], 16),
           b: parseInt(e[3], 16)
        } : void 0
     }

     function s(t) {
        var e;
        if (e = (t = t.replace(/[ ]/g, "")).match(/^rgb\(([0-9]*),([0-9]*),([0-9]*)\)/i)) e.push("1");
        else if (!(e = t.match(/^rgba\(([0-9]*),([0-9]*),([0-9]*),([.0-9]*)\)/i))) return;
        return {
           r: parseInt(e[1]),
           g: parseInt(e[2]),
           b: parseInt(e[3]),
           a: parseFloat(e[4])
        }
     }

     function u(t) {
        return 1 == t.length ? "0" + t : "" + t
     }

     function l(t, e) {
        var i = e > 0 ? 255 - t : t;
        return Math.round(i * e)
     }

     function h(t) {
        var e, i, n, r = t.h,
           o = t.s,
           a = t.l;
        if (0 == o) e = i = n = a;
        else {
           var s = function (t, e, i) {
                 return i < 0 && (i += 1), i > 1 && (i -= 1), i < 1 / 6 ? t + 6 * (e - t) * i : i < .5 ? e : i < 2 / 3 ? t + (e - t) * (2 / 3 - i) * 6 : t
              },
              u = a < .5 ? a * (1 + o) : a + o - a * o,
              l = 2 * a - u;
           e = s(l, u, r + 1 / 3), i = s(l, u, r), n = s(l, u, r - 1 / 3)
        }
        return {
           r: Math.round(255 * e),
           g: Math.round(255 * i),
           b: Math.round(255 * n)
        }
     }

     function c(t) {
        var e = t.r / 255,
           i = t.g / 255,
           n = t.b / 255,
           r = Math.max(e, i, n),
           o = Math.min(e, i, n),
           a = 0,
           s = 0,
           u = (r + o) / 2;
        if (r === o) a = s = 0;
        else {
           var l = r - o;
           switch (s = u > .5 ? l / (2 - r - o) : l / (r + o), r) {
              case e:
                 a = (i - n) / l + (i < n ? 6 : 0);
                 break;
              case i:
                 a = (n - e) / l + 2;
                 break;
              case n:
                 a = (e - i) / l + 4
           }
           a /= 6
        }
        return {
           h: a,
           s: s,
           l: u
        }
     }
  },
  iAlL: function (t, e, i) {
     var n = i("3BzE"),
        r = i("EhJv"),
        o = i("eBSV").f;
     t.exports = function (t) {
        return function (e) {
           for (var i, a = r(e), s = n(a), u = s.length, l = 0, h = []; u > l;) o.call(a, i = s[l++]) && h.push(t ? [i, a[i]] : a[i]);
           return h
        }
     }
  },
  iOZG: function (t, e, i) {
     var n = i("MfZA"),
        r = i("YEtG")("iterator"),
        o = i("9BM3");
     t.exports = i("G5U1").getIteratorMethod = function (t) {
        if (void 0 != t) return t[r] || t["@@iterator"] || o[n(t)]
     }
  },
  iTz5: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("UwWU"),
        o = String.fromCharCode,
        a = String.fromCodePoint;
     n(n.S + n.F * (!!a && 1 != a.length), "String", {
        fromCodePoint: function (t) {
           for (var e, i = [], n = arguments.length, a = 0; n > a;) {
              if (e = +arguments[a++], r(e, 1114111) !== e) throw RangeError(e + " is not a valid code point");
              i.push(e < 65536 ? o(e) : o(55296 + ((e -= 65536) >> 10), e % 1024 + 56320))
           }
           return i.join("")
        }
     })
  },
  iYyY: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("snR7"),
        o = function (t) {
           this._t = r(t), this._i = 0;
           var e, i = this._k = [];
           for (e in t) i.push(e)
        };
     i("Cekr")(o, "Object", function () {
        var t, e = this._k;
        do {
           if (this._i >= e.length) return {
              value: void 0,
              done: !0
           }
        } while (!((t = e[this._i++]) in this._t));
        return {
           value: t,
           done: !1
        }
     }), n(n.S, "Reflect", {
        enumerate: function (t) {
           return new o(t)
        }
     })
  },
  icDv: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("aZcm"),
        o = i("vJiZ"),
        a = i("FmWr"),
        s = i("DbOM"),
        u = i("L2Mu");
     n(n.P, "Array", {
        flatMap: function (t) {
           var e, i, n = o(this);
           return s(t), e = a(n.length), i = u(n, 0), r(i, n, n, e, 0, 1, t, arguments[1]), i
        }
     }), i("M/YL")("flatMap")
  },
  iuHC: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("17ao");
     n(n.S + n.F * (Number.parseInt != r), "Number", {
        parseInt: r
     })
  },
  izpu: function (t, e, i) {
     var n = i("Gb1H");
     n(n.G, {
        global: i("T9LF")
     })
  },
  j2vi: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("snR7"),
        o = Object.preventExtensions;
     n(n.S, "Reflect", {
        preventExtensions: function (t) {
           r(t);
           try {
              return o && o(t), !0
           } catch (t) {
              return !1
           }
        }
     })
  },
  jfaP: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("8ZqG"),
        a = i("aCit"),
        s = i("hGwe"),
        u = i("Gg2j"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._distance = 0, e.className = "Polyline", e.element = e.paper.add("path"), e.shapeRendering = "auto", e.fill = Object(o.c)(), e.strokeOpacity = 1, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.makePath = function () {
              this._distance = 0;
              var t = this.segments;
              if (t && t.length > 0) {
                 for (var e = "", i = 0, n = t.length; i < n; i++) {
                    var r = t[i];
                    if (r.length > 0) {
                       e += s.moveTo(r[0]);
                       for (var o = 1; o < r.length; o++) {
                          var a = r[o];
                          e += s.lineTo(a), this._distance += u.getDistance(r[o - 1], a)
                       }
                    }
                 }
                 this.path = e
              }
              this._realSegments = t
           }, Object.defineProperty(e.prototype, "segments", {
              get: function () {
                 return this.getPropertyValue("segments")
              },
              set: function (t) {
                 this.setPropertyValue("segments", t), this.makePath()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "distance", {
              get: function () {
                 return this._distance
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionToPoint = function (t) {
              var e = 0;
              t < 0 && (t = Math.abs(t), e = 180);
              var i = this._realSegments;
              if (i) {
                 for (var n = this.distance, r = 0, o = 0, a = 0, s = void 0, l = void 0, h = 0; h < i.length; h++) {
                    var c = i[h];
                    if (c.length > 1) {
                       for (var p = 1; p < c.length; p++)
                          if (s = c[p - 1], l = c[p], o = r / n, a = (r += u.getDistance(s, l)) / n, o <= t && a > t) {
                             h = i.length;
                             break
                          }
                    } else 1 == c.length && (s = c[0], l = c[0], o = 0, a = 1)
                 }
                 if (s && l) {
                    var d = (t - o) / (a - o),
                       f = u.getMidPoint(s, l, d);
                    return {
                       x: f.x,
                       y: f.y,
                       angle: e + u.getAngle(s, l)
                    }
                 }
              }
              return {
                 x: 0,
                 y: 0,
                 angle: 0
              }
           }, e
        }(r.a);
     a.b.registeredClasses.Polyline = l
  },
  jgQn: function (t, e, i) {
     i("gD3S") && "g" != /./g.flags && i("hjwn").f(RegExp.prototype, "flags", {
        configurable: !0,
        get: i("x2K9")
     })
  },
  jvLk: function (t, e, i) {
     "use strict";
     i("jgQn");
     var n = i("snR7"),
        r = i("x2K9"),
        o = i("gD3S"),
        a = /./.toString,
        s = function (t) {
           i("wDk4")(RegExp.prototype, "toString", t, !0)
        };
     i("AEc5")(function () {
        return "/a/b" != a.call({
           source: "a",
           flags: "b"
        })
     }) ? s(function () {
        var t = n(this);
        return "/".concat(t.source, "/", "flags" in t ? t.flags : !o && t instanceof RegExp ? r.call(t) : void 0)
     }) : "toString" != a.name && s(function () {
        return a.call(this)
     })
  },
  k6kv: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("Meme"),
        o = i("ND2/"),
        a = i("w4m0"),
        s = i("aCit"),
        u = i("tjMS"),
        l = i("Gg2j"),
        h = i("hGwe"),
        c = i("v9UT"),
        p = i("Mtpk"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "AxisRendererX", e.minGridDistance = 120, e.opposite = !1, e.rotation = 0, e.width = Object(u.c)(100), e.labels.template.horizontalCenter = "middle", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.setAxis = function (e) {
              t.prototype.setAxis.call(this, e), e.layout = "vertical"
           }, e.prototype.processRenderer = function () {
              t.prototype.processRenderer.call(this);
              var e = this.axis;
              if (e) {
                 e.width = Object(u.c)(100), this.line;
                 var i = e.title;
                 i.rotation = 0, i.align = "center", this.opposite ? (this.line.toFront(), i.toBack()) : (i.toFront(), this.line.toBack())
              }
           }, e.prototype.updateTooltip = function () {
              if (this.axis) {
                 var t = this.line.pixelX,
                    e = this.line.pixelY,
                    i = this.axisLength,
                    n = 1e3;
                 this.opposite ? this.inside || (e = -1e3, n = 1e3) : this.inside && (e = -1e3, n = 1e3), this.axis.updateTooltip("vertical", {
                    x: t,
                    y: e,
                    width: i,
                    height: n
                 })
              }
           }, e.prototype.updateLabelElement = function (t, e, i, n) {
              p.hasValue(n) || (n = t.location), e += (i - e) * n;
              var r = this.positionToPoint(e);
              t.isMeasured = !t.inside, !this.opposite && t.inside ? 0 == t.rotation && (t.verticalCenter = "bottom") : 0 == t.rotation && (t.verticalCenter = "top"), this.positionItem(t, r), this.toggleVisibility(t, e, this.minLabelPosition, this.maxLabelPosition)
           }, Object.defineProperty(e.prototype, "axisLength", {
              get: function () {
                 var t = this.axis;
                 return t.measuredWidth - t.pixelPaddingRight - t.pixelPaddingLeft || 0
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionToPoint = function (t) {
              return {
                 x: this.positionToCoordinate(t),
                 y: 0
              }
           }, e.prototype.pointToPosition = function (t) {
              return this.coordinateToPosition(t.x)
           }, e.prototype.getPositionRangePath = function (t, e) {
              var i = l.fitToRange(this.positionToCoordinate(t), 0, this.axisLength),
                 n = l.fitToRange(this.positionToCoordinate(e), 0, this.axisLength),
                 r = Math.abs(n - i),
                 o = this.getHeight(),
                 a = Math.min(i, n);
              return h.rectToPath({
                 x: a,
                 y: 0,
                 width: r,
                 height: o
              }, !0)
           }, e.prototype.updateBreakElement = function (e) {
              t.prototype.updateBreakElement.call(this, e);
              var i = e.startLine,
                 n = e.endLine,
                 r = e.fillShape,
                 o = e.startPoint,
                 a = e.endPoint,
                 s = e.pixelMarginLeft,
                 u = this.getHeight() - e.pixelMarginTop - e.pixelMarginBottom;
              o.x = l.fitToRange(o.x, -1, this.pixelWidth + 1), a.x = l.fitToRange(a.x, -1, this.pixelWidth + 1), o.x == a.x && (o.x < 0 || o.x > this.pixelWidth) ? e.fillShape.__disabled = !0 : e.fillShape.__disabled = !1, i.y = s, i.width = 0, i.height = u, n.y = s, n.width = 0, n.height = u, r.height = u, r.width = Math.abs(a.x - o.x), r.y = s, r.x = o.x
           }, e.prototype.updateGridElement = function (t, e, i) {
              e += (i - e) * t.location;
              var n = this.positionToPoint(e);
              t.path = h.moveTo({
                 x: 0,
                 y: 0
              }) + h.lineTo({
                 x: 0,
                 y: this.getHeight()
              }), this.positionItem(t, n), this.toggleVisibility(t, e, 0, 1)
           }, e.prototype.updateTickElement = function (t, e, i) {
              e += (i - e) * t.location;
              var n = this.positionToPoint(e),
                 r = t.length;
              this.opposite ? (n.y = 0, r *= t.inside ? 1 : -1) : (n.y = this.gridContainer.pixelHeight, r *= t.inside ? -1 : 1), t.path = h.moveTo({
                 x: 0,
                 y: 0
              }) + h.lineTo({
                 x: 0,
                 y: r
              }), this.positionItem(t, n), this.toggleVisibility(t, e, 0, 1)
           }, e.prototype.updateAxisLine = function () {
              this.line.path = h.moveTo({
                 x: 0,
                 y: 0
              }) + h.lineTo({
                 x: this.axisLength,
                 y: 0
              })
           }, e.prototype.updateBaseGridElement = function () {
              t.prototype.updateBaseGridElement.call(this);
              var e = this.axis,
                 i = this.getHeight(),
                 n = this.getWidth(),
                 r = this.baseGrid,
                 o = e.basePoint.x;
              if (o < 0 || o > n) r.hide(0);
              else {
                 var a = c.spritePointToSprite({
                    x: 0,
                    y: 0
                 }, this.gridContainer, r.parent).y;
                 r.path = h.moveTo({
                    x: 0,
                    y: 0
                 }) + h.lineTo({
                    x: 0,
                    y: i
                 }), r.moveTo({
                    x: o,
                    y: a
                 }), r.show(0)
              }
           }, e.prototype.createBreakSprites = function (t) {
              t.startLine = new o.a, t.endLine = new o.a;
              var e = new a.a;
              e.setWavedSides(!1, !0, !1, !0), t.fillShape = e
           }, e
        }(r.a);
     s.b.registeredClasses.AxisRendererX = d
  },
  kFp5: function (t, e, i) {
     var n = i("7bL/")("meta"),
        r = i("DvJ+"),
        o = i("U3hN"),
        a = i("hjwn").f,
        s = 0,
        u = Object.isExtensible || function () {
           return !0
        },
        l = !i("AEc5")(function () {
           return u(Object.preventExtensions({}))
        }),
        h = function (t) {
           a(t, n, {
              value: {
                 i: "O" + ++s,
                 w: {}
              }
           })
        },
        c = t.exports = {
           KEY: n,
           NEED: !1,
           fastKey: function (t, e) {
              if (!r(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t;
              if (!o(t, n)) {
                 if (!u(t)) return "F";
                 if (!e) return "E";
                 h(t)
              }
              return t[n].i
           },
           getWeak: function (t, e) {
              if (!o(t, n)) {
                 if (!u(t)) return !0;
                 if (!e) return !1;
                 h(t)
              }
              return t[n].w
           },
           onFreeze: function (t) {
              return l && c.NEED && u(t) && !o(t, n) && h(t), t
           }
        }
  },
  kHwJ: function (t, e, i) {
     var n = i("DVYA");
     t.exports = Array.isArray || function (t) {
        return "Array" == n(t)
     }
  },
  kJ6f: function (t, e, i) {
     "use strict";
     var n = i("snR7"),
        r = i("W0fk");
     t.exports = function (t) {
        if ("string" !== t && "number" !== t && "default" !== t) throw TypeError("Incorrect hint");
        return r(n(this), "number" != t)
     }
  },
  kQxV: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("+qIf"),
        o = i("o0Lc"),
        a = i("hD5A"),
        s = i("v9UT"),
        u = i("Qkdp"),
        l = function (t) {
           function e() {
              var e = null !== t && t.apply(this, arguments) || this;
              return e._interactionEvents = new r.a, e
           }
           return n.c(e, t), e.prototype._dispatchSpriteEvent = function (t) {
              if (!this.target.disabled && !this.target.isTemplate && this.target.events.isEnabled(t.type)) {
                 var e = u.merge(t, {
                    target: this.target
                 });
                 this.target.events.dispatchImmediately(e.type, e)
              }
           }, e.prototype._dispatchSpritePointEvent = function (t) {
              if (!this.target.disabled && !this.target.isTemplate && this.target.events.isEnabled(t.type)) {
                 var e = u.merge(t, {
                    target: this.target,
                    spritePoint: s.documentPointToSprite(t.point, this.target),
                    svgPoint: this.target.getSvgPoint(t.point)
                 });
                 this.target.events.dispatchImmediately(e.type, e)
              }
           }, e.prototype._addInteractionObjectEvent = function (t, e, i, n) {
              var r = this;
              return this._interactionEvents.insertKeyIfEmpty(t, function () {
                 var o = r.target.interactions.events.on(t, e, i, n);
                 return new a.a(function () {
                    r._interactionEvents.removeKey(t), o.dispose()
                 })
              }).increment()
           }, e.prototype._on = function (e, i, n, r, o, s) {
              var u = t.prototype._on.call(this, e, i, n, r, o, s),
                 l = [u.disposer];
              switch (i) {
                 case "hit":
                 case "track":
                 case "doublehit":
                 case "wheel":
                 case "wheelup":
                 case "wheeldown":
                 case "wheelleft":
                 case "wheelright":
                    l.push(this._addInteractionObjectEvent(i, this._dispatchSpritePointEvent, this, o));
                    break;
                 case "rightclick":
                 case "down":
                 case "up":
                 case "drag":
                 case "dragstart":
                 case "dragstop":
                 case "over":
                 case "out":
                 case "swipe":
                 case "swipeleft":
                 case "swiperight":
                 case "resize":
                 case "focus":
                 case "blur":
                 case "toggled":
                    l.push(this._addInteractionObjectEvent(i, this._dispatchSpriteEvent, this, o))
              }
              switch (i) {
                 case "hit":
                 case "doublehit":
                 case "rightclick":
                 case "down":
                 case "up":
                    this.target.clickable = !0;
                    break;
                 case "toggled":
                    this.target.togglable = !0;
                    break;
                 case "drag":
                 case "dragstart":
                 case "dragstop":
                    this.target.draggable = !0;
                    break;
                 case "track":
                    this.target.trackable = !0;
                    break;
                 case "resize":
                    this.target.resizable = !0;
                    break;
                 case "swipe":
                 case "swipeleft":
                 case "swiperight":
                    this.target.swipeable = !0;
                    break;
                 case "wheel":
                 case "wheelup":
                 case "wheeldown":
                 case "wheelleft":
                 case "wheelright":
                    this.target.wheelable = !0;
                    break;
                 case "over":
                    this.target.hoverable = !0;
                 case "out":
                    this.target.hoverable = !0;
                    break;
                 case "focus":
                 case "blur":
                    this.target.focusable = !0
              }
              return u.disposer = new a.c(l), u
           }, e
        }(o.b)
  },
  kcsd: function (t, e) {
     t.exports = function (t) {
        if (void 0 == t) throw TypeError("Can't call method on  " + t);
        return t
     }
  },
  kg8J: function (t, e, i) {
     var n = i("sxbc"),
        r = Math.pow,
        o = r(2, -52),
        a = r(2, -23),
        s = r(2, 127) * (2 - a),
        u = r(2, -126);
     t.exports = Math.fround || function (t) {
        var e, i, r = Math.abs(t),
           l = n(t);
        return r < u ? l * function (t) {
           return t + 1 / o - 1 / o
        }(r / u / a) * u * a : (i = (e = (1 + a / o) * r) - (e - r)) > s || i != i ? l * (1 / 0) : l * i
     }
  },
  l2gh: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        iaddh: function (t, e, i, n) {
           var r = t >>> 0,
              o = i >>> 0;
           return (e >>> 0) + (n >>> 0) + ((r & o | (r | o) & ~(r + o >>> 0)) >>> 31) | 0
        }
     })
  },
  l3rq: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        isubh: function (t, e, i, n) {
           var r = t >>> 0,
              o = i >>> 0;
           return (e >>> 0) - (n >>> 0) - ((~r & o | ~(r ^ o) & r - o >>> 0) >>> 31) | 0
        }
     })
  },
  l3wE: function (t, e, i) {
     i("5lay")("getOwnPropertyNames", function () {
        return i("8rbL").f
     })
  },
  l9Vx: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("oGmz")(!1);
     n(n.P, "String", {
        codePointAt: function (t) {
           return r(this, t)
        }
     })
  },
  lKl7: function (t, e, i) {
     var n = i("Gb1H");
     n(n.P, "Array", {
        fill: i("lgQj")
     }), i("M/YL")("fill")
  },
  lLkc: function (t, e, i) {
     "use strict";
     var n = i("DbOM"),
        r = i("DvJ+"),
        o = i("yOPk"),
        a = [].slice,
        s = {};
     t.exports = Function.bind || function (t) {
        var e = n(this),
           i = a.call(arguments, 1),
           u = function () {
              var n = i.concat(a.call(arguments));
              return this instanceof u ? function (t, e, i) {
                 if (!(e in s)) {
                    for (var n = [], r = 0; r < e; r++) n[r] = "a[" + r + "]";
                    s[e] = Function("F,a", "return new F(" + n.join(",") + ")")
                 }
                 return s[e](t, i)
              }(e, n.length, n) : o(e, n, t)
           };
        return r(e.prototype) && (u.prototype = e.prototype), u
     }
  },
  lgQj: function (t, e, i) {
     "use strict";
     var n = i("vJiZ"),
        r = i("UwWU"),
        o = i("FmWr");
     t.exports = function (t) {
        for (var e = n(this), i = o(e.length), a = arguments.length, s = r(a > 1 ? arguments[1] : void 0, i), u = a > 2 ? arguments[2] : void 0, l = void 0 === u ? i : r(u, i); l > s;) e[s++] = t;
        return e
     }
  },
  lhvN: function (t, e, i) {
     "use strict";
     var n = i("4BRe"),
        r = i("kcsd");
     t.exports = function (t) {
        var e = String(r(this)),
           i = "",
           o = n(t);
        if (o < 0 || o == 1 / 0) throw RangeError("Count can't be negative");
        for (; o > 0;
           (o >>>= 1) && (e += e)) 1 & o && (i += e);
        return i
     }
  },
  "m4/l": function (t, e, i) {
     "use strict";
     e.c = function (t, e) {
        function i() {
           this.constructor = t
        }
        n(t, e), t.prototype = null === e ? Object.create(e) : (i.prototype = e.prototype, new i)
     }, i.d(e, "a", function () {
        return r
     }), e.b = function (t, e, i, n) {
        return new(i || (i = Promise))(function (r, o) {
           function a(t) {
              try {
                 u(n.next(t))
              } catch (t) {
                 o(t)
              }
           }

           function s(t) {
              try {
                 u(n.throw(t))
              } catch (t) {
                 o(t)
              }
           }

           function u(t) {
              t.done ? r(t.value) : new i(function (e) {
                 e(t.value)
              }).then(a, s)
           }
           u((n = n.apply(t, e || [])).next())
        })
     }, e.d = function (t, e) {
        var i, n, r, o, a = {
           label: 0,
           sent: function () {
              if (1 & r[0]) throw r[1];
              return r[1]
           },
           trys: [],
           ops: []
        };
        return o = {
           next: s(0),
           throw: s(1),
           return: s(2)
        }, "function" == typeof Symbol && (o[Symbol.iterator] = function () {
           return this
        }), o;

        function s(o) {
           return function (s) {
              return function (o) {
                 if (i) throw new TypeError("Generator is already executing.");
                 for (; a;) try {
                    if (i = 1, n && (r = 2 & o[0] ? n.return : o[0] ? n.throw || ((r = n.return) && r.call(n), 0) : n.next) && !(r = r.call(n, o[1])).done) return r;
                    switch (n = 0, r && (o = [2 & o[0], r.value]), o[0]) {
                       case 0:
                       case 1:
                          r = o;
                          break;
                       case 4:
                          return a.label++, {
                             value: o[1],
                             done: !1
                          };
                       case 5:
                          a.label++, n = o[1], o = [0];
                          continue;
                       case 7:
                          o = a.ops.pop(), a.trys.pop();
                          continue;
                       default:
                          if (!(r = (r = a.trys).length > 0 && r[r.length - 1]) && (6 === o[0] || 2 === o[0])) {
                             a = 0;
                             continue
                          }
                          if (3 === o[0] && (!r || o[1] > r[0] && o[1] < r[3])) {
                             a.label = o[1];
                             break
                          }
                          if (6 === o[0] && a.label < r[1]) {
                             a.label = r[1], r = o;
                             break
                          }
                          if (r && a.label < r[2]) {
                             a.label = r[2], a.ops.push(o);
                             break
                          }
                          r[2] && a.ops.pop(), a.trys.pop();
                          continue
                    }
                    o = e.call(t, a)
                 } catch (t) {
                    o = [6, t], n = 0
                 } finally {
                    i = r = 0
                 }
                 if (5 & o[0]) throw o[1];
                 return {
                    value: o[0] ? o[1] : void 0,
                    done: !0
                 }
              }([o, s])
           }
        }
     }, e.g = o, e.e = a, e.f = function () {
        for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(a(arguments[e]));
        return t
     };
     var n = function (t, e) {
        return (n = Object.setPrototypeOf || {
              __proto__: []
           }
           instanceof Array && function (t, e) {
              t.__proto__ = e
           } || function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
           })(t, e)
     };
     var r = function () {
        return (r = Object.assign || function (t) {
           for (var e, i = 1, n = arguments.length; i < n; i++)
              for (var r in e = arguments[i]) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
           return t
        }).apply(this, arguments)
     };

     function o(t) {
        var e = "function" == typeof Symbol && t[Symbol.iterator],
           i = 0;
        return e ? e.call(t) : {
           next: function () {
              return t && i >= t.length && (t = void 0), {
                 value: t && t[i++],
                 done: !t
              }
           }
        }
     }

     function a(t, e) {
        var i = "function" == typeof Symbol && t[Symbol.iterator];
        if (!i) return t;
        var n, r, o = i.call(t),
           a = [];
        try {
           for (;
              (void 0 === e || e-- > 0) && !(n = o.next()).done;) a.push(n.value)
        } catch (t) {
           r = {
              error: t
           }
        } finally {
           try {
              n && !n.done && (i = o.return) && i.call(o)
           } finally {
              if (r) throw r.error
           }
        }
        return a
     }
  },
  mIpt: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("7XB+"),
        r = i("v9UT"),
        o = i("Mtpk"),
        a = function () {
           function t() {}
           return t.prototype.parse = function (t) {
              return []
           }, Object.defineProperty(t.prototype, "parsableNumbers", {
              get: function () {
                 return this.options.numberFields && this.options.numberFields.length > 0
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.maybeToNumber = function (t, e) {
              return -1 !== this.options.numberFields.indexOf(t) ? r.anyToNumber(e) : e
           }, Object.defineProperty(t.prototype, "parsableDates", {
              get: function () {
                 return this.options.dateFields && this.options.dateFields.length > 0
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.maybeToDate = function (t, e) {
              return -1 !== this.options.dateFields.indexOf(t) ? this.options.dateFormatter.parse(e, this.dateFormat) : e
           }, t.prototype.maybeToEmpty = function (t) {
              return o.hasValue(t) && "" != t || !o.hasValue(this.options.emptyAs) ? t : this.options.emptyAs
           }, Object.defineProperty(t.prototype, "dateFormatter", {
              get: function () {
                 return this.options.dateFormatter || (this.options.dateFormatter = new n.a, this.options.dateFormat && (this.options.dateFormat = this.options.dateFormat)), this.options.dateFormatter
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "dateFormat", {
              get: function () {
                 return this.options.dateFormat || this.dateFormatter.inputDateFormat
              },
              enumerable: !0,
              configurable: !0
           }), t
        }()
  },
  mL9U: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Number", {
        MAX_SAFE_INTEGER: 9007199254740991
     })
  },
  mOSd: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("iAlL")(!1);
     n(n.S, "Object", {
        values: function (t) {
           return r(t)
        }
     })
  },
  ma7z: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = n.key,
        a = n.map,
        s = n.store;
     n.exp({
        deleteMetadata: function (t, e) {
           var i = arguments.length < 3 ? void 0 : o(arguments[2]),
              n = a(r(e), i, !1);
           if (void 0 === n || !n.delete(t)) return !1;
           if (n.size) return !0;
           var u = s.get(e);
           return u.delete(i), !!u.size || s.delete(e)
        }
     })
  },
  mntN: function (t, e, i) {
     var n = i("EhJv"),
        r = i("FmWr"),
        o = i("UwWU");
     t.exports = function (t) {
        return function (e, i, a) {
           var s, u = n(e),
              l = r(u.length),
              h = o(a, l);
           if (t && i != i) {
              for (; l > h;)
                 if ((s = u[h++]) != s) return !0
           } else
              for (; l > h; h++)
                 if ((t || h in u) && u[h] === i) return t || h || 0;
           return !t && -1
        }
     }
  },
  nAZS: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("kcsd"),
        o = i("AEc5"),
        a = i("brDO"),
        s = "[" + a + "]",
        u = RegExp("^" + s + s + "*"),
        l = RegExp(s + s + "*$"),
        h = function (t, e, i) {
           var r = {},
              s = o(function () {
                 return !!a[t]() || "​" != "​" [t]()
              }),
              u = r[t] = s ? e(c) : a[t];
           i && (r[i] = u), n(n.P + n.F * s, "String", r)
        },
        c = h.trim = function (t, e) {
           return t = String(r(t)), 1 & e && (t = t.replace(u, "")), 2 & e && (t = t.replace(l, "")), t
        };
     t.exports = h
  },
  nEmP: function (t, e, i) {
     "use strict";
     i("nAZS")("trimRight", function (t) {
        return function () {
           return t(this, 2)
        }
     }, "trimEnd")
  },
  nHHr: function (t, e, i) {
     var n = i("eBSV"),
        r = i("Wbjh"),
        o = i("EhJv"),
        a = i("W0fk"),
        s = i("U3hN"),
        u = i("HW78"),
        l = Object.getOwnPropertyDescriptor;
     e.f = i("gD3S") ? l : function (t, e) {
        if (t = o(t), e = a(e, !0), u) try {
           return l(t, e)
        } catch (t) {}
        if (s(t, e)) return r(!n.f.call(t, e), t[e])
     }
  },
  nPzZ: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("Inf5"),
        o = i("Vs7R"),
        a = i("C6dT"),
        s = i("C84C"),
        u = i("Gg2j"),
        l = i("hGwe"),
        h = i("Mtpk"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "Slice3D", e.layout = "none";
              var i = e.createChild(a.a);
              e.edge = i, i.shouldClone = !1, i.isMeasured = !1;
              var n = new s.a;
              n.lightness = -.25, i.filters.push(n), i.toBack(), e._disposers.push(i), e.angle = 30, e.depth = 20;
              var r = e.createChild(o.a);
              e.sideA = r, r.shouldClone = !1, r.isMeasured = !1, r.setElement(e.paper.add("path"));
              var u = new s.a;
              u.lightness = -.25, r.filters.push(u), e._disposers.push(r);
              var l = e.createChild(o.a);
              e.sideB = l, l.shouldClone = !1, l.isMeasured = !1, l.setElement(e.paper.add("path"));
              var h = new s.a;
              return h.lightness = -.25, l.filters.push(h), e._disposers.push(l), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              for (var e = 0, i = this.edge.children.length; e < i; e++) {
                 var n = this.edge.children.getIndex(e);
                 n instanceof r.a && (n.radiusY = this.radiusY, n.radius = this.radius, n.fill = this.fill, n.startAngle = this.startAngle, n.arc = this.arc, n.cornerRadius = this.cornerRadius, n.innerRadius = this.innerRadius, n.strokeOpacity = 0)
              }
              if (0 !== this.arc && this.radius > 0 && this.depth > 0) {
                 this.sideB.show(0), this.sideA.show(0), this.edge.show(0);
                 var o = this.startAngle,
                    a = this.arc,
                    s = this.pixelInnerRadius || 0,
                    c = this.radiusY || 0,
                    p = this.cornerRadius || 0,
                    d = this.innerCornerRadius,
                    f = this.radius,
                    g = o + a,
                    y = u.sin(u.min(a, 45) / 2),
                    m = c / f * s,
                    b = c / f * p,
                    v = c / f * (d = d || p);
                 p = u.fitToRange(p, 0, (f - s) / 2), b = u.fitToRange(b, 0, (c - m) / 2), d = u.fitToRange(d, 0, (f - s) / 2), v = u.fitToRange(v, 0, (c - m) / 2), p = u.fitToRange(p, 0, f * y), b = u.fitToRange(b, 0, c * y), d = u.fitToRange(d, 0, s * y), v = u.fitToRange(v, 0, m * y), s < d && (s = d), m < v && (m = v);
                 var _ = Math.asin(d / s / 2) * u.DEGREES * 2,
                    x = Math.asin(v / m / 2) * u.DEGREES * 2;
                 h.isNumber(_) || (_ = 0), h.isNumber(x) || (x = 0);
                 var P = {
                       x: u.round(u.cos(o) * (s + d), 4),
                       y: u.round(u.sin(o) * (m + v), 4)
                    },
                    w = {
                       x: u.round(u.cos(o) * (f - p), 4),
                       y: u.round(u.sin(o) * (c - b), 4)
                    },
                    O = {
                       x: u.round(u.cos(g) * (f - p), 4),
                       y: u.round(u.sin(g) * (c - b), 4)
                    },
                    S = {
                       x: u.round(u.cos(g) * (s + d), 4),
                       y: u.round(u.sin(g) * (m + v), 4)
                    },
                    k = this.depth,
                    T = {
                       x: P.x,
                       y: P.y - k
                    },
                    C = {
                       x: w.x,
                       y: w.y - k
                    },
                    j = {
                       x: O.x,
                       y: O.y - k
                    },
                    I = {
                       x: S.x,
                       y: S.y - k
                    };
                 this.sideA.path = l.moveTo(P) + l.lineTo(w) + l.lineTo(C) + l.lineTo(T) + l.closePath(), this.sideB.path = l.moveTo(O) + l.lineTo(S) + l.lineTo(I) + l.lineTo(j) + l.closePath(), this.startAngle < 90 ? this.sideA.toBack() : this.sideA.toFront(), this.startAngle + this.arc > 90 ? this.sideB.toBack() : this.sideB.toFront()
              } else this.sideA.hide(0), this.sideB.hide(0), this.edge.hide(0)
           }, Object.defineProperty(e.prototype, "depth", {
              get: function () {
                 return this.getPropertyValue("depth")
              },
              set: function (t) {
                 if (this.setPropertyValue("depth", t, !0)) {
                    this.edge.removeChildren();
                    if (t > 0)
                       for (var e = Math.ceil(this.depth / 3), i = t / e, n = 0; n <= e; n++) {
                          var o = this.edge.createChild(r.a);
                          o.isMeasured = !1, o.y = -i * n
                       }
                    this.slice.dy = -this.depth
                 }
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "angle", {
              get: function () {
                 var t = this.getPropertyValue("angle");
                 return h.isNumber(t) || (t = 0), t
              },
              set: function (t) {
                 this.setPropertyValue("angle", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "radiusY", {
              get: function () {
                 var t = this.getPropertyValue("radiusY");
                 return h.isNumber(t) || (t = this.radius - this.radius * this.angle / 90), t
              },
              set: function (t) {
                 this.setPropertyValue("radiusY", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.edge.copyFrom(e.edge), this.sideA.copyFrom(e.sideA), this.sideB.copyFrom(e.sideB)
           }, e
        }(r.a)
  },
  nZH2: function (t, e, i) {
     var n = i("Gb1H");
     n(n.P, "Array", {
        copyWithin: i("y2pX")
     }), i("M/YL")("copyWithin")
  },
  ncT3: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("Vs7R"),
        a = i("Ybtf"),
        s = i("/e9j"),
        u = i("tjMS"),
        l = i("Qkdp"),
        h = i("hGwe"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Cone", e.angle = 30, e.radius = Object(u.c)(100), e.topRadius = Object(u.c)(100), e.top = e.createChild(a.a), e.top.shouldClone = !1, e.bottom = e.createChild(a.a), e.bottom.shouldClone = !1, e.body = e.createChild(o.a), e.body.shouldClone = !1, e.body.setElement(e.paper.add("path")), e.layout = "none", e.bodyFillModifier = new s.a, e.bodyFillModifier.lightnesses = [0, -.25, 0], e.body.fillModifier = e.bodyFillModifier, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this), l.copyProperties(this, this.top, o.b), l.copyProperties(this, this.bottom, o.b), l.copyProperties(this, this.body, o.b);
              var e, i, n, r = this.innerWidth,
                 a = this.innerHeight,
                 s = this.bottom,
                 u = this.top,
                 c = this.angle;
              "horizontal" == this.orientation ? (e = a / 2, s.y = a / 2, u.y = a / 2, u.x = r, i = (90 - c) / 90, n = 0, this.bodyFillModifier.gradient.rotation = 90) : (i = 0, n = (90 - c) / 90, e = r / 2, s.y = a, s.x = r / 2, u.x = r / 2, this.bodyFillModifier.gradient.rotation = 0);
              var p, d = this.radius.value * e,
                 f = this.topRadius.value * e;
              s.radius = d - d * i, s.radiusY = d - d * n, u.radius = f - f * i, u.radiusY = f - f * n, p = "horizontal" == this.orientation ? h.moveTo({
                 x: 0,
                 y: a / 2 - s.radiusY
              }) + h.arcTo(-90, -180, s.radius, s.radiusY) + h.lineTo({
                 x: r,
                 y: a / 2 + u.radiusY
              }) + h.arcTo(90, 180, u.radius, u.radiusY) + h.closePath() : h.moveTo({
                 x: r / 2 - u.radius,
                 y: 0
              }) + h.arcTo(180, -180, u.radius, u.radiusY) + h.lineTo({
                 x: r / 2 + s.radius,
                 y: a
              }) + h.arcTo(0, 180, s.radius, s.radiusY) + h.closePath(), this.body.path = p
           }, Object.defineProperty(e.prototype, "angle", {
              get: function () {
                 return this.getPropertyValue("angle")
              },
              set: function (t) {
                 this.setPropertyValue("angle", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "radius", {
              get: function () {
                 return this.getPropertyValue("radius")
              },
              set: function (t) {
                 this.setPropertyValue("radius", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "topRadius", {
              get: function () {
                 return this.getPropertyValue("topRadius")
              },
              set: function (t) {
                 this.setPropertyValue("topRadius", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "orientation", {
              get: function () {
                 return this.getPropertyValue("orientation")
              },
              set: function (t) {
                 this.setPropertyValue("orientation", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  necU: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Reflect", {
        has: function (t, e) {
           return e in t
        }
     })
  },
  o0Lc: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     }), i.d(e, "b", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("hD5A"),
        o = i("hJ5i"),
        a = i("/9XX"),
        s = i("Mtpk"),
        u = function () {
           function t() {
              this._listeners = [], this._killed = [], this._disabled = {}, this._iterating = 0, this._enabled = !0, this._disposed = !1
           }
           return t.prototype.isDisposed = function () {
              return this._disposed
           }, t.prototype.dispose = function () {
              if (!this._disposed) {
                 this._disposed = !0;
                 var t = this._listeners;
                 this._iterating = 1, this._listeners = null, this._disabled = null;
                 try {
                    o.each(t, function (t) {
                       t.disposer.dispose()
                    })
                 } finally {
                    this._killed = null, this._iterating = null
                 }
              }
           }, t.prototype.hasListeners = function () {
              return 0 !== this._listeners.length
           }, t.prototype.hasListenersByType = function (t) {
              return o.any(this._listeners, function (e) {
                 return (null === e.type || e.type === t) && !e.killed
              })
           }, t.prototype.enable = function () {
              this._enabled = !0
           }, t.prototype.disable = function () {
              this._enabled = !1
           }, t.prototype.enableType = function (t) {
              delete this._disabled[t]
           }, t.prototype.disableType = function (t, e) {
              void 0 === e && (e = 1 / 0), this._disabled[t] = e
           }, t.prototype._removeListener = function (t) {
              if (0 === this._iterating) {
                 var e = this._listeners.indexOf(t);
                 if (-1 === e) throw new Error("Invalid state: could not remove listener");
                 this._listeners.splice(e, 1)
              } else this._killed.push(t)
           }, t.prototype._removeExistingListener = function (t, e, i, n) {
              if (this._disposed) throw new Error("EventDispatcher is disposed");
              var r = o.findIndex(this._listeners, function (r) {
                 return r.once === t && r.type === e && r.callback === i && r.context === n
              }); - 1 !== r && this._listeners[r].disposer.dispose()
           }, t.prototype.isEnabled = function (t) {
              if (this._disposed) throw new Error("EventDispatcher is disposed");
              return this._enabled && this._listeners.length > 0 && this.hasListenersByType(t) && null == this._disabled[t]
           }, t.prototype.has = function (t, e, i) {
              return -1 !== o.findIndex(this._listeners, function (n) {
                 return !0 !== n.once && n.type === t && (!e || n.callback === e) && n.context === i
              })
           }, t.prototype._shouldDispatch = function (t) {
              if (this._disposed) throw new Error("EventDispatcher is disposed");
              var e = this._disabled[t];
              return s.isNumber(e) ? (e <= 1 ? delete this._disabled[t] : --this._disabled[t], !1) : this._enabled
           }, t.prototype._eachListener = function (t) {
              var e = this;
              ++this._iterating;
              try {
                 o.each(this._listeners, t)
              } finally {
                 --this._iterating, 0 === this._iterating && 0 !== this._killed.length && (o.each(this._killed, function (t) {
                    e._removeListener(t)
                 }), this._killed.length = 0)
              }
           }, t.prototype.dispatchImmediately = function (t, e) {
              this._shouldDispatch(t) && this._eachListener(function (i) {
                 i.killed || null !== i.type && i.type !== t || i.dispatch(t, e)
              })
           }, t.prototype.dispatch = function (t, e) {
              this._shouldDispatch(t) && this._eachListener(function (i) {
                 i.killed || null !== i.type && i.type !== t || a.e(function () {
                    i.killed || i.dispatch(t, e)
                 })
              })
           }, t.prototype._on = function (t, e, i, n, o, a) {
              var s = this;
              if (this._disposed) throw new Error("EventDispatcher is disposed");
              this._removeExistingListener(t, e, i, n);
              var u = {
                 type: e,
                 callback: i,
                 context: n,
                 shouldClone: o,
                 dispatch: a,
                 killed: !1,
                 once: t,
                 disposer: new r.b(function () {
                    u.killed = !0, s._removeListener(u)
                 })
              };
              return this._listeners.push(u), u
           }, t.prototype.onAll = function (t, e, i) {
              return void 0 === i && (i = !0), this._on(!1, null, t, e, i, function (i, n) {
                 return t.call(e, i, n)
              }).disposer
           }, t.prototype.on = function (t, e, i, n) {
              return void 0 === n && (n = !0), this._on(!1, t, e, i, n, function (t, n) {
                 return e.call(i, n)
              }).disposer
           }, t.prototype.once = function (t, e, i, n) {
              void 0 === n && (n = !0);
              var r = this._on(!0, t, e, i, n, function (t, n) {
                 r.disposer.dispose(), e.call(i, n)
              });
              return r.disposer
           }, t.prototype.off = function (t, e, i) {
              this._removeExistingListener(!1, t, e, i)
           }, t.prototype.copyFrom = function (t) {
              var e = this;
              if (this._disposed) throw new Error("EventDispatcher is disposed");
              if (t === this) throw new Error("Cannot copyFrom the same TargetedEventDispatcher");
              o.each(t._listeners, function (t) {
                 !t.killed && t.shouldClone && (null === t.type ? e.onAll(t.callback, t.context) : t.once ? e.once(t.type, t.callback, t.context) : e.on(t.type, t.callback, t.context))
              })
           }, t
        }(),
        l = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i.target = e, i
           }
           return n.c(e, t), e.prototype.copyFrom = function (t) {
              var e = this;
              if (this._disposed) throw new Error("EventDispatcher is disposed");
              if (t === this) throw new Error("Cannot copyFrom the same TargetedEventDispatcher");
              o.each(t._listeners, function (i) {
                 i.context !== t.target && !i.killed && i.shouldClone && (null === i.type ? e.onAll(i.callback, i.context) : i.once ? e.once(i.type, i.callback, i.context) : e.on(i.type, i.callback, i.context))
              })
           }, e
        }(u)
  },
  oAPj: function (t, e, i) {
     var n = i("nHHr"),
        r = i("Gb1H"),
        o = i("snR7");
     r(r.S, "Reflect", {
        getOwnPropertyDescriptor: function (t, e) {
           return n.f(o(t), e)
        }
     })
  },
  oC3T: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("1yyj"),
        a = i("Gg2j"),
        s = i("0FpR"),
        u = i("Mtpk"),
        l = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i._bboxes = [], i.morphDuration = 800, i.morphEasing = s.cubicOut, i.morphToSingle = !0, i.scaleRatio = 1, i.className = "Morpher", i.morphable = e, i.applyTheme(), i
           }
           return n.c(e, t), e.prototype.morphToPolygon = function (t, e, i) {
              var n = this.morphable.currentPoints;
              this.sortPoints(n), this.sortPoints(t), this._morphFromPointsReal = [], this._morphToPointsReal = [], u.hasValue(e) || (e = this.morphDuration), u.hasValue(i) || (i = this.morphEasing), this._morphFromPointsReal = this.normalizePoints(t, n), this._morphToPointsReal = this.normalizePoints(n, t), this.morphable.currentPoints = this._morphFromPointsReal;
              var r = new o.a(this, {
                 property: "morphProgress",
                 from: 0,
                 to: 1
              }, e, i);
              return this._disposers.push(r), r.start(), r
           }, e.prototype.normalizePoints = function (t, e) {
              for (var i = 0, n = t.length; i < n; i++) {
                 var r = t[i][0],
                    o = t[i][1],
                    s = u.getValue(a.getBBox(r)),
                    l = s.x + s.width,
                    h = s.y + s.height;
                 if (e[i] || (e[i] = []), r && !e[i][0] && (e[i][0] = [{
                       x: l,
                       y: h
                    }, {
                       x: l,
                       y: h
                    }]), e[i][0]) {
                    e[i][0] = this.addPoints(e[i][0], r.length);
                    for (var c = 1 / 0, p = 0, d = 0; d < e[i][0].length; d++) {
                       var f = a.getDistance(e[i][0][d], r[0]);
                       f < c && (p = d, c = f)
                    }
                    var g = e[i][0].slice(0, p),
                       y = e[i][0].slice(p);
                    e[i][0] = y.concat(g)
                 }
                 o && (e[i][1] || (e[i][1] = [{
                    x: l,
                    y: h
                 }, {
                    x: l,
                    y: h
                 }]), e[i][1] = this.addPoints(e[i][1], o.length))
              }
              return e
           }, e.prototype.sortPoints = function (t) {
              t.sort(function (t, e) {
                 var i = u.getValue(a.getBBox(t[0])),
                    n = u.getValue(a.getBBox(e[0]));
                 return i.width * i.height > n.width * n.height ? -1 : 1
              });
              for (var e = [], i = 0, n = t.length; i < n; i++) {
                 var r = t[i][0];
                 r && e.push(u.getValue(a.getBBox(r)))
              }
              return a.getCommonRectangle(e)
           }, e.prototype.morphToCircle = function (t, e, i) {
              var n = this.morphable.points,
                 r = this.sortPoints(n);
              this._morphFromPointsReal = [], this._morphToPointsReal = [], u.hasValue(e) || (e = this.morphDuration), u.hasValue(i) || (i = this.morphEasing);
              for (var s = 0, l = n.length; s < l; s++) {
                 var h = n[s][0],
                    c = n[s][1];
                 if (this._morphFromPointsReal[s] = [], this._morphToPointsReal[s] = [], h) {
                    var p = h,
                       d = h,
                       f = u.getValue(a.getBBox(d));
                    this.morphToSingle && (f = u.getValue(r));
                    var g = f.x + f.width / 2,
                       y = f.y + f.height / 2,
                       m = t;
                    u.isNumber(m) || (m = Math.min(f.width / 2, f.height / 2)), p = [];
                    var b = a.getAngle({
                          x: g,
                          y: y
                       }, h[0]),
                       v = 100;
                    h.length > v && (v = h.length);
                    for (var _ = 360 / ((v = (d = this.addPoints(h, v)).length) - 1), x = 0; x < v; x++) {
                       var P = _ * x + b,
                          w = {
                             x: g + m * a.cos(P),
                             y: y + m * a.sin(P)
                          };
                       p[x] = w
                    }
                    if (c && c.length > 0)
                       for (var O = 0, S = c.length; O < S; O++) p.push({
                          x: g,
                          y: y
                       });
                    this._morphFromPointsReal[s][0] = d, this._morphToPointsReal[s][0] = p
                 }
              }
              this.morphable.currentPoints = this._morphFromPointsReal;
              var k = new o.a(this, {
                 property: "morphProgress",
                 from: 0,
                 to: 1
              }, e, i);
              return this._disposers.push(k), k.start(), k
           }, e.prototype.addPoints = function (t, e) {
              for (var i = Math.round(e / t.length), n = [], r = 0, o = t.length; r < o; r++) {
                 var a = t[r],
                    s = void 0;
                 s = r == t.length - 1 ? t[0] : t[r + 1], n.push(a);
                 for (var u = 1; u < i; u++) {
                    var l = u / i,
                       h = {
                          x: a.x + (s.x - a.x) * l,
                          y: a.y + (s.y - a.y) * l
                       };
                    n.push(h)
                 }
                 n.length + t.length - r == e && (i = 0)
              }
              if (n.length < e && t.length > 0) {
                 var c = t[t.length - 1];
                 for (u = n.length; u < e; u++) n.push({
                    x: c.x,
                    y: c.y
                 })
              }
              return n
           }, e.prototype.morphToRectangle = function (t, e, i, n) {
              var r = this.morphable.points;
              this.sortPoints(r), this._morphFromPointsReal = [], this._morphToPointsReal = [], u.hasValue(i) || (i = this.morphDuration), u.hasValue(n) || (n = this.morphEasing);
              for (var a = 0, s = r.length; a < s; a++) {
                 var l = r[a][0],
                    h = r[a][1];
                 if (this._morphFromPointsReal[a] = [], this._morphToPointsReal[a] = [], l) {
                    var c = l,
                       p = l,
                       d = this._bboxes[a];
                    this.morphToSingle;
                    var f = d.x,
                       g = d.y,
                       y = t,
                       m = e;
                    if (u.isNumber(y) || (y = d.width), u.isNumber(m) || (m = d.height), c = [{
                          x: f,
                          y: g
                       }, {
                          x: f + y,
                          y: g
                       }, {
                          x: f + y,
                          y: g + m
                       }, {
                          x: f,
                          y: g + m
                       }], c = this.addPoints(c, l.length), l.length < 4)
                       for (var b = l.length; b < 4; b++) c.push({
                          x: l[b].x,
                          y: l[b].y
                       });
                    if (h && h.length > 0)
                       for (var v = d.x + d.width / 2, _ = d.y + d.height / 2, x = 0, P = h.length; x < P; x++) c.push({
                          x: v,
                          y: _
                       });
                    this._morphFromPointsReal[a][0] = p, this._morphToPointsReal[a][0] = c
                 }
              }
              this.morphable.currentPoints = this._morphFromPointsReal;
              var w = new o.a(this, {
                 property: "morphProgress",
                 from: 0,
                 to: 1
              }, i, n);
              return this._disposers.push(w), w.start(), w
           }, Object.defineProperty(e.prototype, "morphProgress", {
              get: function () {
                 return this._morphProgress
              },
              set: function (t) {
                 this._morphProgress = t;
                 var e = [];
                 if (null != t) {
                    var i = this._morphFromPointsReal,
                       n = this._morphToPointsReal;
                    if (null != i && null != n)
                       for (var r = 0, o = i.length; r < o; r++) {
                          var a = [];
                          e.push(a);
                          var s = i[r][0],
                             u = i[r][1],
                             l = n[r][0],
                             h = n[r][1];
                          if (s && s.length > 0 && l && l.length > 0) {
                             for (var c = [], p = 0, d = s.length; p < d; p++) {
                                var f = s[p],
                                   g = l[p],
                                   y = {
                                      x: f.x + (g.x * this.scaleRatio - f.x) * t,
                                      y: f.y + (g.y * this.scaleRatio - f.y) * t
                                   };
                                c.push(y)
                             }
                             a[0] = c
                          }
                          if (u && u.length > 0 && h && h.length > 0) {
                             for (var m = [], b = 0, v = u.length; b < v; b++) {
                                f = u[b], g = h[b], y = {
                                   x: f.x + (g.x * this.scaleRatio - f.x) * t,
                                   y: f.y + (g.y * this.scaleRatio - f.y) * t
                                };
                                m.push(y)
                             }
                             a[1] = m
                          }
                       }
                 }
                 this.morphable.currentPoints = e
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.morphBack = function (t, e) {
              this._morphToPointsReal = this._morphFromPointsReal, this._morphFromPointsReal = this.morphable.currentPoints, u.hasValue(t) || (t = this.morphDuration), u.hasValue(e) || (e = this.morphEasing);
              var i = new o.a(this, {
                 property: "morphProgress",
                 from: 0,
                 to: 1
              }, t, e);
              return this._disposers.push(i), i.start(), i
           }, Object.defineProperty(e.prototype, "animations", {
              get: function () {
                 return this._animations || (this._animations = [], this._disposers.push(new o.b(this._animations))), this._animations
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  oGmz: function (t, e, i) {
     var n = i("4BRe"),
        r = i("kcsd");
     t.exports = function (t) {
        return function (e, i) {
           var o, a, s = String(r(e)),
              u = n(i),
              l = s.length;
           return u < 0 || u >= l ? t ? "" : void 0 : (o = s.charCodeAt(u)) < 55296 || o > 56319 || u + 1 === l || (a = s.charCodeAt(u + 1)) < 56320 || a > 57343 ? t ? s.charAt(u) : o : t ? s.slice(u, u + 2) : a - 56320 + (o - 55296 << 10) + 65536
        }
     }
  },
  oMjf: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = n.get,
        a = n.key;
     n.exp({
        getOwnMetadata: function (t, e) {
           return o(t, r(e), arguments.length < 3 ? void 0 : a(arguments[2]))
        }
     })
  },
  oVsg: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("nHHr").f,
        o = i("snR7");
     n(n.S, "Reflect", {
        deleteProperty: function (t, e) {
           var i = r(o(t), e);
           return !(i && !i.configurable) && delete t[e]
        }
     })
  },
  "of/x": function (t, e, i) {
     "use strict";
     i("nAZS")("trimLeft", function (t) {
        return function () {
           return t(this, 1)
        }
     }, "trimStart")
  },
  ohjg: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("P7v+"),
        a = i("1yyj"),
        s = i("vMqJ"),
        u = i("Qkdp"),
        l = i("Wglt"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.properties = {}, e.isTemplate = !1, e._scale = 1, e._nonScaling = !0, e.className = "Filter", e.filterPrimitives = new s.b, e.filterPrimitives.events.on("inserted", function (t) {
                 e._disposers.push(t.newValue)
              }), e.width = 120, e.height = 120, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.appendPrimitives = function (t) {
              l.each(this.filterPrimitives.iterator(), function (e) {
                 t.add(e)
              })
           }, e.prototype.animate = function (t, e, i) {
              return new a.a(this, t, e, i).start()
           }, Object.defineProperty(e.prototype, "width", {
              get: function () {
                 return this.properties.width
              },
              set: function (t) {
                 this.properties.width = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "height", {
              get: function () {
                 return this.properties.height
              },
              set: function (t) {
                 this.properties.height = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              var i = this;
              t.prototype.copyFrom.call(this, e), u.each(e.properties, function (t, e) {
                 i[t] = e
              })
           }, Object.defineProperty(e.prototype, "paper", {
              get: function () {
                 return this._paper ? this._paper : Object(o.b)()
              },
              set: function (t) {
                 this._paper != t && (this._paper = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "animations", {
              get: function () {
                 return this._animations || (this._animations = [], this._disposers.push(new a.b(this._animations))), this._animations
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "scale", {
              get: function () {
                 return this._scale
              },
              set: function (t) {
                 this._scale = t, this.updateScale()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.updateScale = function () {}, Object.defineProperty(e.prototype, "nonScaling", {
              get: function () {
                 return this._nonScaling
              },
              set: function (t) {
                 this._nonScaling = t, t || (this._scale = 1), this.updateScale()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "sprite", {
              set: function (t) {
                 this.setSprite(t)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setSprite = function (t) {
              this._sprite && this._sprite != t && this._sprite.filters.removeValue(this), this._sprite = t
           }, e
        }(r.a)
  },
  osLN: function (t, e, i) {
     var n = i("Gb1H");
     n(n.P + n.R, "Set", {
        toJSON: i("dJEq")("Set")
     })
  },
  p3CN: function (t, e, i) {
     var n = i("hjwn"),
        r = i("snR7"),
        o = i("3BzE");
     t.exports = i("gD3S") ? Object.defineProperties : function (t, e) {
        r(t);
        for (var i, a = o(e), s = a.length, u = 0; s > u;) n.f(t, i = a[u++], e[i]);
        return t
     }
  },
  p4R3: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        trunc: function (t) {
           return (t > 0 ? Math.floor : Math.ceil)(t)
        }
     })
  },
  p9TX: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return p
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("aCit"),
        a = i("MipW"),
        s = i("hD5A"),
        u = i("MIZb"),
        l = i("Gg2j"),
        h = i("v9UT"),
        c = i("Mtpk"),
        p = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.isOversized = !1, e.className = "Label", e.fill = (new u.a).getFor("text"), e.wrap = !1, e.truncate = !1, e.fullWords = !0, e.ellipsis = "...", e.textAlign = "start", e.textValign = "top", e.layout = "absolute", e.adapter.add("readerTitle", function (t) {
                 return t || (t = e.populateString(h.plainText(h.isNotEmpty(e.html) ? e.html : e.text))), t
              }), e.events.on("maxsizechanged", function () {
                 e.inited && e.handleMaxSize()
              }, e, !1), e.events.once("validated", e.handleValidate, e, !1), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.afterDraw = function () {
              t.prototype.afterDraw.call(this), this.validatePosition()
           }, e.prototype.setPaper = function (e) {
              var i = t.prototype.setPaper.call(this, e);
              return i && this.hardInvalidate(), i
           }, e.prototype.handleValidate = function () {
              !this.currentText && !this.text || 0 != this.bbox.width && 0 != this.bbox.height || o.b.events.once("exitframe", this.hardInvalidate, this)
           }, e.prototype.handleMaxSize = function () {
              this.bbox.width > this.availableWidth || this.bbox.width < this.availableWidth && (this.isOversized || this.truncate) || this.bbox.height > this.availableHeight || this.bbox.height < this.availableHeight && this.isOversized ? this.invalidate() : this.alignSVGText()
           }, e.prototype.arrange = function () {}, e.prototype.updateCurrentText = function () {
              var t, e;
              h.isNotEmpty(this.html) && this.paper.supportsForeignObject() ? (t = "html", e = this.html) : (t = "svg", e = this.text), c.hasValue(e) && "" !== e && (e = this.populateString(e, this.dataItem));
              var i = (e = "html" == t ? this.adapter.apply("htmlOutput", e) : this.adapter.apply("textOutput", e)) != this.currentText || t != this._currentFormat;
              return this.currentText = e, this._currentFormat = t, i
           }, e.prototype.hardInvalidate = function () {
              this._prevStatus = "", this.invalidate()
           }, e.prototype.getLineBBox = function (t) {
              t.bbox = t.element.getBBox()
           }, e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.bbox.width,
                 i = this.bbox.height,
                 n = this.topParent;
              if (!n || n.maxWidth && n.maxHeight) {
                 var r = l.max(this.availableWidth - this.pixelPaddingLeft - this.pixelPaddingRight, 0),
                    o = l.max(this.availableHeight - this.pixelPaddingTop - this.pixelPaddingBottom, 0),
                    s = o + "," + r + this.wrap + this.truncate + this.fullWords + this.rtl + this.ellipsis;
                 if (this.updateCurrentText() || !this.inited || this._prevStatus != s) {
                    this._measuredWidth = 0, this._measuredHeight = 0, this.isOversized = !1;
                    var u = this._currentFormat,
                       p = this.currentText;
                    if (c.hasValue(p) && "" != p) {
                       var d = p.split("\n");
                       this._prevStatus = s, this.textAlign = this.textAlign;
                       var f = this.group.getAttr("display");
                       if ("none" == f && this.group.removeAttr("display"), "svg" === u) {
                          this.element.removeAttr("display");
                          var g = this.element;
                          this.resetBBox();
                          for (var y = 0, m = "", b = 0; b < d.length; b++) {
                             var v = d[b];
                             if ("" != v) {
                                var _ = Object(a.b)().chunk(v, null, this.ignoreFormatting),
                                   x = 0,
                                   P = !0,
                                   w = !1,
                                   O = void 0;
                                (O = this.getLineInfo(b)) ? O.element.textContent = "": (O = {
                                   element: this.getSVGLineElement("", 0),
                                   complex: !1
                                }, g.add(O.element)), O.element.removeAttr("display"), O.element.removeChildren(), this.rtl && _.reverse();
                                for (var S = 0; S < _.length; S++) {
                                   S && (O.complex = !0);
                                   var k = _[S];
                                   if ("format" === k.type) m = k.text;
                                   else {
                                      if (w) continue;
                                      if (O.text = k.text, O.style = Object(a.b)().translateStyleShortcuts(m), O.element.add(this.getSvgElement(O.text, O.style)), this.getLineBBox(O), O.bbox.width = Math.ceil(O.bbox.width), x < O.bbox.height && (x = O.bbox.height), (this.wrap || this.truncate) && O.bbox.width > r) {
                                         this.isOversized = !0;
                                         var T = O.element.textContent,
                                            C = O.bbox.width / T.length,
                                            j = l.min(Math.ceil((O.bbox.width - r) / C), T.length);
                                         if (this.truncate) {
                                            var I = !1,
                                               V = O.element.node;
                                            if (V && V.childNodes)
                                               for (var M = O.element.node.childNodes.length - 1; M >= 0; M--) {
                                                  var D = O.element.node.childNodes[M];
                                                  if (I && O.bbox.width <= r && (D.textContent += " " + this.ellipsis, O.bbox = O.element.getBBox(), O.bbox.width = Math.floor(O.bbox.width), O.bbox.width <= r)) break;
                                                  I = !1;
                                                  var E = D.textContent;
                                                  for (T = O.element.textContent, j = l.min(Math.ceil((O.bbox.width - r) / C), T.length); O.bbox.width > r && j <= T.length && j > 0;) {
                                                     (R = l.max(E.length - j - this.ellipsis.length, 1)) <= 1 && (j = 0, M > 0 && (I = !0, O.element.node.removeChild(D))), (E = h.truncateWithEllipsis(E, R, this.ellipsis, this.fullWords, this.rtl)).length > R && this.fullWords && (E = h.truncateWithEllipsis(E, R, this.ellipsis, !1, this.rtl)), D.textContent = E, O.bbox = O.element.getBBox(), O.bbox.width = Math.floor(O.bbox.width), j = Math.ceil(1.1 * j)
                                                  }
                                                  w = !0
                                               }
                                         } else {
                                            if (O.element.node) {
                                               for (var F = O.element.node.lastChild, N = void 0; O.bbox.width > r && j <= T.length && j > 0;) {
                                                  var R = l.max(k.text.length - j, 1);
                                                  P ? N = h.splitTextByCharCount(k.text, R, !0, this.rtl) : ((N = h.splitTextByCharCount(k.text, R, !0, this.rtl))[0].length > R || 1 === R) && (O.element.node.removeChild(F), j = 0), j > 0 && (F.textContent = Object(a.b)().cleanUp(h.trim(N.shift()))), O.bbox = O.element.getBBox(), O.bbox.width = Math.floor(O.bbox.width), j = Math.ceil(1.1 * j)
                                               }
                                               if (N.length > 0) {
                                                  var L = "";
                                                  c.hasValue(N) && (this.rtl ? L += N.join("") + m : L += m + N.join(""));
                                                  for (var A = S + 1; A < _.length; A++) L += _[A].text;
                                                  d.splice(b + 1, 0, L)
                                               }
                                               w = !0
                                            }
                                         }
                                      }
                                      this.bbox.width < O.bbox.width && (this.bbox.width = O.bbox.width), this.bbox.height = y + x, O.element.attr({
                                         x: "0",
                                         y: y + x,
                                         dy: l.round(-.2 * x, 3).toString()
                                      }), P = !1
                                   }
                                }
                                var B = O.element.node;
                                if (B)(F = B.lastChild) && (F.textContent = this.rtl ? h.ltrim(F.textContent) : h.rtrim(F.textContent));
                                y += x, this.addLineInfo(O, b)
                             } else {
                                var H = this.getSVGLineElement("", 0);
                                H.add(this.getSvgElement(".", Object(a.b)().translateStyleShortcuts(m))), g.add(H);
                                var G = Math.ceil(H.getBBox().height);
                                G > 0 && (y += G), g.removeElement(H)
                             }
                          }
                          this.hideOversized && (this.availableWidth < this.bbox.width || this.availableHeight < this.bbox.height ? (this.element.attr({
                             display: "none"
                          }), this.isOversized = !0) : (this.element.removeAttr("display"), this.isOversized = !1)), this._measuredWidth = l.max(this.bbox.width, this.pixelWidth - this.pixelPaddingLeft - this.pixelPaddingRight), this._measuredHeight = l.max(this.bbox.height, this.pixelHeight - this.pixelPaddingTop - this.pixelPaddingBottom), this.alignSVGText(), this.bbox.width = this._measuredWidth, this.bbox.height = this._measuredHeight, i == this._measuredHeight && e == this._measuredWidth || this.dispatch("transformed"), this.hideUnused(d.length)
                       } else {
                          this.element.removeAttr("display"), this.resetBBox(), (g = this.element).removeChildren();
                          var W = this.paper.foreignObject();
                          g.add(W);
                          r > 0 && r.toString(), o > 0 && o.toString();
                          var z = this.getHTMLLineElement(p);
                          W.node.appendChild(z), z.style.display = "inline-block";
                          var U = z.clientWidth,
                             Y = z.clientHeight;
                          z.style.display = "block", this._bbox = {
                             x: 0,
                             y: 0,
                             width: U,
                             height: Y
                          }, W.attr({
                             width: U,
                             height: Y
                          }), this._measuredWidth = l.max(this.bbox.width, this.pixelWidth - this.pixelPaddingLeft - this.pixelPaddingRight), this._measuredHeight = l.max(this.bbox.height, this.pixelHeight - this.pixelPaddingTop - this.pixelPaddingBottom), this.bbox.width = this._measuredWidth, this.bbox.height = this._measuredHeight, this.truncate && (z.style.overflow = "hidden"), (U > r || Y > o) && (this.isOversized = !0)
                       }
                       this.setStyles(), this.updateCenter(), this.updateBackground(), "none" == f && this.group.attr({
                          display: "none"
                       })
                    } else this.element.attr({
                       display: "none"
                    })
                 }
              } else n.events.once("maxsizechanged", this.hardInvalidate, this, !1)
           }, e.prototype.alignSVGText = function () {
              var t = this.element,
                 e = t.node.children || t.node.childNodes;
              if (e && (!e || 0 != e.length))
                 for (var i = this._measuredWidth, n = this._measuredHeight, r = (this.pixelPaddingLeft, this.pixelPaddingRight, this.pixelPaddingTop, this.pixelPaddingBottom, e.length - 1); r >= 0; r--) {
                    var o = e[r];
                    switch (o.setAttribute("text-anchor", this.textAlign), this.textAlign) {
                       case "middle":
                          o.setAttribute("x", (i / 2).toString() + "px");
                          break;
                       case "end":
                          this.rtl || o.setAttribute("x", i.toString());
                          break;
                       default:
                          this.rtl ? o.setAttribute("x", i.toString()) : o.removeAttribute("text-anchor")
                    }
                    var a = c.toNumber(o.getAttribute("y"));
                    switch (this.textValign) {
                       case "middle":
                          o.setAttribute("y", (a + (n - this.bbox.height) / 2).toString());
                          break;
                       case "bottom":
                          o.setAttribute("y", (a + n - this.bbox.height).toString());
                          break;
                       default:
                          o.setAttribute("y", a.toString())
                    }
                 }
           }, e.prototype.getSVGLineElement = function (t, e) {
              var i = this.paper.addGroup("text");
              return i.textContent = t, i.attr({
                 x: "0"
              }), c.hasValue(e) && i.attr({
                 y: e.toString()
              }), (this.truncate || this.wrap) && i.attr({
                 overflow: "hidden"
              }), this.rtl && i.attr({
                 direction: "rtl",
                 "unicode-bidi": "bidi-override"
              }), i
           }, e.prototype.resetBBox = function () {
              this._bbox = {
                 x: 0,
                 y: 0,
                 width: 0,
                 height: 0
              }
           }, e.prototype.getHTMLLineElement = function (t) {
              var e = document.createElement("div");
              switch (e.innerHTML = t, this.textAlign) {
                 case "middle":
                    e.style.textAlign = "center";
                    break;
                 case "end":
                    e.style.textAlign = "right"
              }
              return this.wrap ? e.style.wordWrap = "break-word" : e.style.whiteSpace = "nowrap", this.rtl && (e.style.direction = "rtl", e.style.unicodeBidi = "bidi-override"), c.hasValue(this.fill) && (e.style.color = this.fill.toString()), e
           }, e.prototype.setStyles = function () {
              var t = this.element;
              !this.selectable || this.draggable || this.resizable || this.swipeable ? t.addStyle({
                 webkitUserSelect: "none",
                 msUserSelect: "none"
              }) : this.selectable && (t.removeStyle("webkitUserSelect"), t.removeStyle("msUserSelect"))
           }, e.prototype.hideUnused = function (t) {
              this.initLineCache();
              var e = this.getCache("lineInfo");
              if (e.length >= t)
                 for (var i = t; i < e.length; i++) {
                    var n = e[i];
                    n && n.element && n.element.attr({
                       display: "none"
                    })
                 }
           }, Object.defineProperty(e.prototype, "text", {
              get: function () {
                 return this.getPropertyValue("text")
              },
              set: function (t) {
                 this.setPropertyValue("text", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "wrap", {
              get: function () {
                 return this.getPropertyValue("wrap")
              },
              set: function (t) {
                 this.resetBBox(), this.setPropertyValue("wrap", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "truncate", {
              get: function () {
                 return this.getPropertyValue("truncate")
              },
              set: function (t) {
                 this.resetBBox(), this.setPropertyValue("truncate", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "fullWords", {
              get: function () {
                 return this.getPropertyValue("fullWords")
              },
              set: function (t) {
                 this.setPropertyValue("fullWords", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "ellipsis", {
              get: function () {
                 return this.getPropertyValue("ellipsis")
              },
              set: function (t) {
                 this.setPropertyValue("ellipsis", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "selectable", {
              get: function () {
                 return this.getPropertyValue("selectable")
              },
              set: function (t) {
                 this.setPropertyValue("selectable", t, !0), this.setStyles()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "textAlign", {
              get: function () {
                 return this.getPropertyValue("textAlign")
              },
              set: function (t) {
                 this.setPropertyValue("textAlign", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "textValign", {
              get: function () {
                 return this.getPropertyValue("textValign")
              },
              set: function (t) {
                 this.setPropertyValue("textValign", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "html", {
              get: function () {
                 return this.getPropertyValue("html")
              },
              set: function (t) {
                 this.setPropertyValue("html", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hideOversized", {
              get: function () {
                 return this.getPropertyValue("hideOversized")
              },
              set: function (t) {
                 this.setPropertyValue("hideOversized", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "ignoreFormatting", {
              get: function () {
                 return this.getPropertyValue("ignoreFormatting")
              },
              set: function (t) {
                 this.setPropertyValue("ignoreFormatting", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.measureElement = function () {}, e.prototype.getLineInfo = function (t) {
              this.initLineCache();
              var e = this.getCache("lineInfo");
              return e.length > t ? e[t] : void 0
           }, e.prototype.addLineInfo = function (t, e) {
              this.initLineCache(), this.getCache("lineInfo")[e] = t
           }, e.prototype.initLineCache = function () {
              c.hasValue(this.getCache("lineInfo")) || this.setCache("lineInfo", [], 0)
           }, e.prototype.setDataItem = function (e) {
              this._sourceDataItemEvents && this._sourceDataItemEvents.dispose(), e && (this._sourceDataItemEvents = new s.c([e.events.on("valuechanged", this.invalidate, this, !1), e.events.on("workingvaluechanged", this.invalidate, this, !1), e.events.on("calculatedvaluechanged", this.invalidate, this, !1), e.events.on("propertychanged", this.invalidate, this, !1)])), t.prototype.setDataItem.call(this, e)
           }, Object.defineProperty(e.prototype, "availableWidth", {
              get: function () {
                 return c.hasValue(this.maxWidth) ? this.maxWidth : this.pixelWidth
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "availableHeight", {
              get: function () {
                 return c.hasValue(this.maxHeight) ? this.maxHeight : this.pixelHeight
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.getSvgElement = function (t, e) {
              var i = this.paper.add("tspan");
              return i.textContent = t, e && i.node.setAttribute("style", e), i
           }, e.prototype.deepInvalidate = function () {
              t.prototype.deepInvalidate.call(this), this.hardInvalidate()
           }, e
        }(r.a);
     o.b.registeredClasses.Label = p
  },
  pR7v: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return f
     }), i.d(e, "a", function () {
        return g
     });
     var n = i("m4/l"),
        r = i("AAkI"),
        o = i("OXm9"),
        a = i("hD5A"),
        s = i("aCit"),
        u = i("ZoDA"),
        l = i("Gg2j"),
        h = i("Wglt"),
        c = i("Qkdp"),
        p = i("Mtpk"),
        d = i("v9UT"),
        f = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "ValueAxisDataItem", e.values.value = {}, e.values.endValue = {}, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "value", {
              get: function () {
                 return this.values.value.value
              },
              set: function (t) {
                 this.setValue("value", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endValue", {
              get: function () {
                 return this.values.endValue.value
              },
              set: function (t) {
                 this.setValue("endValue", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.b),
        g = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._stepDecimalPlaces = 0, e._baseValue = 0, e._adjustedStart = 0, e._adjustedEnd = 1, e._extremesChanged = !1, e.calculateTotals = !1, e.className = "ValueAxis", e.axisFieldName = "value", e.setPropertyValue("maxZoomFactor", 1e3), e.setPropertyValue("extraMin", 0), e.setPropertyValue("extraMax", 0), e.setPropertyValue("strictMinMax", !1), e.setPropertyValue("maxPrecision", Number.MAX_VALUE), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.fillRule = function (t) {
              var e = t.value,
                 i = t.component;
              t.axisFill.disabled || (l.round(e / i.step / 2, 5) == Math.round(e / i.step / 2) ? t.axisFill.__disabled = !0 : t.axisFill.__disabled = !1)
           }, e.prototype.createDataItem = function () {
              return new f
           }, e.prototype.createAxisBreak = function () {
              return new u.a
           }, e.prototype.dataChangeUpdate = function () {
              this._start = 0, this._end = 1, this._maxZoomed = this._maxDefined, this._minZoomed = this._minDefined, this._maxAdjusted = this._maxDefined, this._minAdjusted = this._minDefined
           }, e.prototype.processSeriesDataItems = function () {
              if (this.calculateTotals) {
                 var t = this.series.getIndex(0),
                    e = t.startIndex;
                 if (t.dataItems.length > 0) {
                    e > 0 && e--;
                    var i = t.endIndex;
                    i < t.dataItems.length && i++;
                    for (var n = e; n < i; ++n) {
                       var r = {};
                       h.each(this.series.iterator(), function (t) {
                          var e = t.dataItems.getIndex(n);
                          e && c.each(e.values, function (t) {
                             var i = e.values[t].workingValue;
                             p.isNumber(i) && (p.isNumber(r[t]) ? r[t] += i : r[t] = i)
                          })
                       }), h.each(this.series.iterator(), function (t) {
                          var e = t.dataItems.getIndex(n);
                          e && c.each(e.values, function (t) {
                             var i = e.values[t].workingValue;
                             p.isNumber(i) && (e.setCalculatedValue(t, r[t], "total"), e.setCalculatedValue(t, 100 * i / r[t], "totalPercent"))
                          })
                       })
                    }
                 }
              }
           }, e.prototype.validate = function () {
              this.axisLength <= 0 || (t.prototype.validate.call(this), this.getMinMax(), this.fixAxisBreaks(), this.calculateZoom(), this.validateAxisElements(), this.validateAxisRanges(), this.validateBreaks(), this.hideUnusedDataItems(), this.renderer.invalidateLayout())
           }, e.prototype.calculateZoom = function () {
              if (p.isNumber(this.min) && p.isNumber(this.max)) {
                 var t = this.positionToValue(this.start),
                    e = this.positionToValue(this.end),
                    i = this.adjustDifference(t, e),
                    n = this.adjustMinMax(t, e, i, this._gridCount, !0);
                 t = n.min, e = n.max, this._adjustedStart = l.round((t - this.min) / (this.max - this.min), 5), this._adjustedEnd = l.round((e - this.min) / (this.max - this.min), 5), this._step = n.step, this._stepDecimalPlaces = d.decimalPlaces(this._step), this._minZoomed == t && this._maxZoomed == e || (this._minZoomed = t, this._maxZoomed = e, this.dispatchImmediately("selectionextremeschanged"))
              } else this._adjustedStart = this.start, this._adjustedEnd = this.end
           }, e.prototype.validateAxisElements = function () {
              var t = this;
              if (p.isNumber(this.max) && p.isNumber(this.min)) {
                 var e = this.minZoomed - 2 * this._step;
                 if (this.logarithmic) {
                    var i = Math.log(this.max) * Math.LOG10E - Math.log(this.min) * Math.LOG10E;
                    e = i > 1 ? Math.pow(10, Math.log(this.min) * Math.LOG10E) : Math.floor(this.minZoomed / this._step) * this._step
                 } else e = Math.floor(e / this._step) * this._step;
                 var n = this._maxZoomed + this._step;
                 this.resetIterators();
                 for (var r = this._dataItemsIterator, o = 0; e <= n;) {
                    if (!this.isInBreak(e)) {
                       var a = r.find(function (t) {
                          return t.value === e
                       });
                       this.appendDataItem(a), a.axisBreak = void 0, a.value != e && (a.value = e, a.text = this.formatLabel(e), a.label && a.label.invalid && a.label.validate(), a.value > this.min && a.value < this.max && a.label && (a.label.measuredWidth > this.ghostLabel.measuredWidth || a.label.measuredHeight > this.ghostLabel.measuredHeight) && (this.ghostLabel.text = a.label.text)), this.validateDataElement(a)
                    }
                    if (o++, this.logarithmic)(i = Math.log(this.max) * Math.LOG10E - Math.log(this.min) * Math.LOG10E) > 1 ? e = Math.pow(10, Math.log(this.min) * Math.LOG10E + o) : e += this._step;
                    else e += this._step
                 }
                 var s = this.axisBreaks,
                    u = this.renderer;
                 h.each(s.iterator(), function (e) {
                    if (e.breakSize > 0 && l.getDistance(e.startPoint, e.endPoint) > u.minGridDistance)
                       for (var i = e.adjustedMin; i <= e.adjustedMax;) {
                          if (i >= e.adjustedStartValue && i <= e.adjustedEndValue) {
                             var n = r.find(function (t) {
                                return t.value === i
                             });
                             t.appendDataItem(n), n.axisBreak = e, n.value != i && (n.value = i, n.text = t.formatLabel(i), n.label && n.label.invalid && n.label.validate()), t.validateDataElement(n)
                          }
                          i += e.adjustedStep
                       }
                 })
              }
           }, e.prototype.validateDataElement = function (e) {
              t.prototype.validateDataElement.call(this, e);
              var i = this.renderer,
                 n = e.value,
                 r = e.endValue,
                 o = this.valueToPosition(n);
              e.position = o;
              var a = o,
                 s = this.valueToPosition(n + this._step);
              p.isNumber(r) && (s = a = this.valueToPosition(r)), e.point = i.positionToPoint(o);
              var u = e.tick;
              u && !u.disabled && i.updateTickElement(u, o, a);
              var l = e.grid;
              l && !l.disabled && i.updateGridElement(l, o, a);
              var h = e.label;
              h && !h.disabled && i.updateLabelElement(h, o, a);
              var c = e.axisFill;
              c && !c.disabled && (i.updateFillElement(c, o, s), e.isRange || this.fillRule(e));
              var d = e.mask;
              d && i.updateFillElement(d, o, s)
           }, e.prototype.formatLabel = function (t) {
              return this.numberFormatter.format(t)
           }, Object.defineProperty(e.prototype, "basePoint", {
              get: function () {
                 var t = this._baseValue,
                    e = this.valueToPosition(t);
                 return this.renderer.positionToPoint(e)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "baseValue", {
              get: function () {
                 return this.logarithmic ? this.min : this._baseValue
              },
              set: function (t) {
                 this._baseValue = t, this.invalidateLayout()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.anyToPosition = function (t) {
              return this.valueToPosition(t)
           }, e.prototype.valueToPoint = function (t) {
              var e = this.valueToPosition(t),
                 i = this.renderer.positionToPoint(e),
                 n = this.renderer.positionToAngle(e);
              return {
                 x: i.x,
                 y: i.y,
                 angle: n
              }
           }, e.prototype.anyToPoint = function (t) {
              return this.valueToPoint(t)
           }, e.prototype.valueToPosition = function (t) {
              if (p.isNumber(t)) {
                 var e = this.min,
                    i = this.max;
                 if (p.isNumber(e) && p.isNumber(i)) {
                    var n = this._difference,
                       r = this.axisBreaks;
                    r.length > 0 && h.eachContinue(r.iterator(), function (n) {
                       var r = n.adjustedStartValue,
                          o = n.adjustedEndValue;
                       if (p.isNumber(r) && p.isNumber(o)) {
                          if (t < r) return !1;
                          if (l.intersect({
                                start: r,
                                end: o
                             }, {
                                start: e,
                                end: i
                             })) {
                             r = Math.max(r, e), o = Math.min(o, i);
                             var a = n.breakSize;
                             t > o ? e += (o - r) * (1 - a) : t < r || (t = r + (t - r) * a)
                          }
                       }
                       return !0
                    });
                    return this.logarithmic ? (Math.log(t) * Math.LOG10E - Math.log(this.min) * Math.LOG10E) / (Math.log(this.max) * Math.LOG10E - Math.log(this.min) * Math.LOG10E) : (t - e) / n
                 }
              }
              return 0
           }, e.prototype.positionToValue = function (t) {
              (t = l.round(t, 10)).toString();
              var e = this.min,
                 i = this.max;
              if (p.isNumber(e) && p.isNumber(i)) {
                 var n = i - e,
                    r = this.axisBreaks,
                    o = null;
                 return r.length > 0 && h.eachContinue(r.iterator(), function (r) {
                    var a = r.startPosition,
                       s = r.endPosition,
                       u = r.adjustedStartValue,
                       h = r.adjustedEndValue;
                    if (p.isNumber(u) && p.isNumber(h)) {
                       if (u > i) return !1;
                       if (l.intersect({
                             start: u,
                             end: h
                          }, {
                             start: e,
                             end: i
                          })) {
                          u = l.max(u, e), h = l.min(h, i);
                          var c = r.breakSize;
                          if (n -= (h - u) * (1 - c), t > s) e += (h - u) * (1 - c);
                          else if (!(t < a)) return o = u + (t - a) / (s - a) * (h - u), !1
                       }
                       return !0
                    }
                 }), p.isNumber(o) || (o = t * n + e), o
              }
           }, e.prototype.xToValue = function (t) {
              return this.positionToValue(this.pointToPosition({
                 x: t,
                 y: 0
              }))
           }, e.prototype.yToValue = function (t) {
              return this.positionToValue(this.pointToPosition({
                 x: 0,
                 y: t
              }))
           }, e.prototype.pointToPosition = function (t) {
              return this.renderer instanceof o.a ? 1 - this.renderer.pointToPosition(t) : this.renderer.pointToPosition(t)
           }, e.prototype.getMinMax = function () {
              var t = this;
              this.updateGridCount();
              var e = Number.POSITIVE_INFINITY,
                 i = Number.NEGATIVE_INFINITY;
              if (p.isNumber(this._minDefined) && p.isNumber(this._maxDefined) || h.each(this.series.iterator(), function (n) {
                    if (!n.ignoreMinMax) {
                       var r = n.min(t);
                       p.isNumber(r) && r < e && (e = r);
                       var o = n.max(t);
                       p.isNumber(o) && o > i && (i = o)
                    }
                 }), this.logarithmic && e <= 0) throw Error("Logarithmic value axis can not have vales <= 0.");
              if (0 == e && 0 == i && (i = .9, e = -.9), p.isNumber(this._minDefined) && (e = this._minDefined), p.isNumber(this._maxDefined) && (i = this._maxDefined), p.isNumber(e) && p.isNumber(i)) {
                 this._minReal = e, this._maxReal = i, e == Number.POSITIVE_INFINITY && (e = void 0), i == Number.NEGATIVE_INFINITY && (i = void 0);
                 var n = this.adjustDifference(e, i);
                 e = this.fixMin(e), i = this.fixMax(i), e == i && (e -= 1, i += 1), e -= (i - e) * this.extraMin, i += (i - e) * this.extraMax;
                 var r = this.adjustMinMax(e, i, n, this._gridCount, this.strictMinMax);
                 if (e = r.min, n = (i = r.max) - e, r = this.adjustMinMax(e, i, i - e, this._gridCount, !0), e = r.min, i = r.max, this.strictMinMax && (p.isNumber(this._minDefined) && (e = this._minDefined), p.isNumber(this._maxDefined) && (i = this._maxDefined)), (this._minAdjusted != e || this._maxAdjusted != i) && p.isNumber(e) && p.isNumber(i)) {
                    var o = this._minMaxAnimation;
                    if (this._extremesChanged && p.isNumber(this._minAdjusted) && p.isNumber(this._maxAdjusted) && this.inited) {
                       if (o && !o.isFinished() && this._finalMax == i && this._finalMin == e) return;
                       this._finalMin = e, this._finalMax = i, (o = this.animate([{
                          property: "_minAdjusted",
                          from: this._minAdjusted,
                          to: e
                       }, {
                          property: "_maxAdjusted",
                          from: this._maxAdjusted,
                          to: i
                       }], this.rangeChangeDuration)).events.on("animationprogress", this.validateDataItems, this), o.events.on("animationended", function () {
                          t.validateDataItems(), t.handleSelectionExtremesChange()
                       }), this._minMaxAnimation = o, this.validateDataItems(), this.handleSelectionExtremesChange()
                    } else {
                       if (o && !o.isFinished() && this._finalMax == i && this._finalMin == e) return;
                       this._minAdjusted = e, this._maxAdjusted = i, this._finalMin = e, this._finalMax = i, this.invalidateDataItems(), this.dispatchImmediately("extremeschanged")
                    }
                 }
                 this._extremesChanged = !1, this._difference = this.adjustDifference(e, i)
              }
           }, e.prototype.fixMin = function (t) {
              return t
           }, e.prototype.fixMax = function (t) {
              return t
           }, e.prototype.adjustMinMax = function (t, e, i, n, r) {
              n <= 1 && (n = 1), n = Math.round(n);
              var o = t,
                 a = e;
              0 === i && (i = Math.abs(e));
              var s = Math.log(Math.abs(i)) * Math.LOG10E,
                 u = Math.pow(10, Math.floor(s)),
                 h = u /= 10;
              r && (h = 0), this.logarithmic ? (t <= 0 && (t = this.baseValue), t == 1 / 0 && (t = 1), e == -1 / 0 && (e = 10), t = Math.pow(10, Math.floor(Math.log(Math.abs(t)) * Math.LOG10E)), e = Math.pow(10, Math.ceil(Math.log(Math.abs(e)) * Math.LOG10E))) : (r ? (t = Math.floor(t / u) * u, e = Math.ceil(e / u) * u) : (t = Math.ceil(t / u) * u - h, e = Math.floor(e / u) * u + h), t < 0 && o >= 0 && (t = 0), e > 0 && a <= 0 && (e = 0)), s = Math.log(Math.abs(i)) * Math.LOG10E, u = Math.pow(10, Math.floor(s)), u /= 10;
              var c = Math.ceil(i / n / u) * u,
                 p = Math.pow(10, Math.floor(Math.log(Math.abs(c)) * Math.LOG10E)),
                 d = Math.ceil(c / p);
              d > 5 ? d = 10 : d <= 5 && d > 2 && (d = 5), c = Math.ceil(c / (p * d)) * p * d, this.maxPrecision < Number.MAX_VALUE && c != l.ceil(c, this.maxPrecision) && (c = l.ceil(c, this.maxPrecision));
              var f = 0;
              if (p < 1 && (f = Math.round(Math.abs(Math.log(Math.abs(p)) * Math.LOG10E)) + 1, c = l.round(c, f)), !this.logarithmic) {
                 var g = Math.floor(t / c);
                 t = l.round(c * g, f);
                 var y = void 0;
                 (y = r ? Math.floor(e / c) : Math.ceil(e / c)) == g && y++, (e = l.round(c * y, f)) < a && (e += c), t > o && (t -= c)
              }
              return {
                 min: t,
                 max: e,
                 step: c
              }
           }, Object.defineProperty(e.prototype, "min", {
              get: function () {
                 var t = this._minAdjusted;
                 return p.isNumber(t) || (t = this._minDefined), t
              },
              set: function (t) {
                 this._minDefined != t && (this._minDefined = t, this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "extraMin", {
              get: function () {
                 return this.getPropertyValue("extraMin")
              },
              set: function (t) {
                 this.setPropertyValue("extraMin", t) && this.invalidateDataItems()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "extraMax", {
              get: function () {
                 return this.getPropertyValue("extraMax")
              },
              set: function (t) {
                 this.setPropertyValue("extraMax", t) && this.invalidateDataItems()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "step", {
              get: function () {
                 return this._step
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "max", {
              get: function () {
                 var t = this._maxAdjusted;
                 return p.isNumber(t) || (t = this._maxDefined), t
              },
              set: function (t) {
                 this._maxDefined != t && (this._maxDefined = t, this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.registerSeries = function (e) {
              return new a.c([t.prototype.registerSeries.call(this, e), e.events.on("extremeschanged", this.handleExtremesChange, this, !1), e.events.on("selectionextremeschanged", this.handleSelectionExtremesChange, this, !1), this.events.on("extremeschanged", e.invalidate, e, !1)])
           }, e.prototype.handleSelectionExtremesChange = function () {
              var t, e, i = this,
                 n = !0;
              h.each(this.series.iterator(), function (r) {
                 if (!r.ignoreMinMax) {
                    r.visible && !r.isHiding && (n = !1);
                    var o = r.selectionMin(i),
                       a = r.selectionMax(i);
                    p.isNumber(o) && (!p.isNumber(t) || o < t) && (t = o), p.isNumber(a) && (!p.isNumber(e) || a > e) && (e = a)
                 }
              }), h.each(this.series.iterator(), function (t) {
                 t.appeared || (n = !0)
              }), p.isNumber(this._minDefined) && (t = this.strictMinMax ? this._minDefined : this.min), p.isNumber(this._maxDefined) && (e = this.strictMinMax ? this._maxDefined : this.max), t == e && (t -= 1, e += 1);
              var r = this.adjustDifference(t, e),
                 o = this.adjustMinMax(t, e, r, this._gridCount);
              t = o.min, e = o.max, t -= (e - t) * this.extraMin, e += (e - t) * this.extraMax, t = l.fitToRange(t, this.min, this.max), e = l.fitToRange(e, this.min, this.max), r = this.adjustDifference(t, e), o = this.adjustMinMax(t, e, r, this._gridCount, !0), t = o.min, e = o.max, this.strictMinMax && (t = l.max(t, this._minDefined), e = l.min(e, this._maxDefined));
              var a = this.valueToPosition(t),
                 s = this.valueToPosition(e);
              n && (a = 0, s = 1), this.zoom({
                 start: a,
                 end: s
              }, !1, !1, 0)
           }, Object.defineProperty(e.prototype, "strictMinMax", {
              get: function () {
                 return this.getPropertyValue("strictMinMax")
              },
              set: function (t) {
                 this.setPropertyValue("strictMinMax", t) && this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "logarithmic", {
              get: function () {
                 return this.getPropertyValue("logarithmic")
              },
              set: function (t) {
                 this.setPropertyValue("logarithmic", t) && this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxPrecision", {
              get: function () {
                 return this.getPropertyValue("maxPrecision")
              },
              set: function (t) {
                 this.setPropertyValue("maxPrecision", t) && this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleExtremesChange = function () {
              if (this._extremesChanged = !0, this.getMinMax(), this.ghostLabel) {
                 var t = this.min,
                    e = this.max,
                    i = 0;
                 i = p.isNumber(t) && p.isNumber(e) && t.toString().length > e.toString().length ? t : e, this.ghostLabel.text = this.formatLabel(i)
              }
           }, e.prototype.getX = function (t, e, i, n) {
              var r = t.getWorkingValue(e);
              p.hasValue(n) || (n = "valueX");
              var o = t.getValue(n, "stack");
              return p.isNumber(r) || (r = this.baseValue, this.logarithmic && o > 0 && (r = 0)), this.renderer.positionToPoint(this.valueToPosition(r + o)).x
           }, e.prototype.getY = function (t, e, i, n) {
              var r = t.getWorkingValue(e);
              p.hasValue(n) || (n = "valueY");
              var o = t.getValue(n, "stack");
              return p.isNumber(r) || (r = this.baseValue, this.logarithmic && o > 0 && (r = 0)), this.renderer.positionToPoint(this.valueToPosition(r + o)).y
           }, e.prototype.getAngle = function (t, e, i, n) {
              var r = t.getWorkingValue(e),
                 o = t.getValue(n, "stack");
              return p.isNumber(r) || (r = this.baseValue), this.positionToAngle(this.valueToPosition(r + o))
           }, e.prototype.getAnyRangePath = function (t, e, i) {
              var n = this.valueToPosition(t),
                 r = this.valueToPosition(e);
              return this.getPositionRangePath(n, r)
           }, e.prototype.getTooltipText = function (t) {
              var e = l.round(this.positionToValue(t), this._stepDecimalPlaces);
              return this.adapter.apply("getTooltipText", this.tooltip.numberFormatter.format(e))
           }, e.prototype.zoomToValues = function (t, e, i, n) {
              var r = (t - this.min) / (this.max - this.min),
                 o = (e - this.min) / (this.max - this.min);
              this.zoom({
                 start: r,
                 end: o
              }, i, n)
           }, Object.defineProperty(e.prototype, "minZoomed", {
              get: function () {
                 return l.max(this.min, this._minZoomed)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maxZoomed", {
              get: function () {
                 return l.min(this.max, this._maxZoomed)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.fixAxisBreaks = function () {
              var e = this;
              t.prototype.fixAxisBreaks.call(this), h.each(this.axisBreaks.iterator(), function (t) {
                 var i = t.adjustedStartValue,
                    n = t.adjustedEndValue,
                    r = n - i,
                    o = Math.ceil(r * t.breakSize) * e._gridCount / (e.max - e.min),
                    a = e.adjustMinMax(i, n, r, o, !0);
                 t.adjustedStep = a.step, t.adjustedMin = a.min, t.adjustedMax = a.max
              }), this._difference = this.adjustDifference(this.min, this.max)
           }, e.prototype.getPositionLabel = function (t) {
              var e = this.positionToValue(t);
              return this.numberFormatter.format(e)
           }, e.prototype.showTooltipAt = function (t) {
              this.showTooltipAtPosition(this.valueToPosition(t))
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.min = e.min, this.max = e.max, this.calculateTotals = e.calculateTotals, this._baseValue = e.baseValue
           }, e
        }(r.a);
     s.b.registeredClasses.ValueAxis = g, s.b.registeredClasses.ValueAxisDataItem = f
  },
  pb4Y: function (t, e) {
     t.exports = !1
  },
  pmYy: function (t, e) {
     e.f = Object.getOwnPropertySymbols
  },
  pvlQ: function (t, e, i) {
     "use strict";
     var n = i("DvJ+"),
        r = i("K0ev"),
        o = i("YEtG")("hasInstance"),
        a = Function.prototype;
     o in a || i("hjwn").f(a, o, {
        value: function (t) {
           if ("function" != typeof this || !n(t)) return !1;
           if (!n(this.prototype)) return t instanceof this;
           for (; t = r(t);)
              if (this.prototype === t) return !0;
           return !1
        }
     })
  },
  pzs1: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return a
     });
     var n = i("58Sn"),
        r = i("Qkdp"),
        o = i("Mtpk"),
        a = function () {
           function t(t) {
              this._isDisposed = !1, this._x = 0, this._y = 0, this._rotation = 0, this._scale = 1, this.node = "string" == typeof t ? document.createElementNS(n.a, t) : t
           }
           return t.prototype.removeNode = function () {
              this.node && this.node.parentNode && this.node.parentNode.removeChild(this.node)
           }, Object.defineProperty(t.prototype, "transformString", {
              get: function () {
                 if (this.node) return this._transformString
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.transform = function () {
              var t = "translate(" + this._x + "," + this._y + ")";
              1 != this._scale && (t += (t ? " " : "") + "scale(" + this._scale + ")"), 0 != this._rotation && (t += (t ? " " : "") + "rotate(" + this._rotation + ")"), this._transformString = t, this.node.setAttribute("transform", t)
           }, t.prototype.getBBox = function () {
              var t = {
                 width: 0,
                 height: 0,
                 x: 0,
                 y: 0
              };
              if (this.node && this.node.parentNode) try {
                 var e = this.node.getBBox();
                 t.x = e.x, t.y = e.y, t.width = e.width, t.height = e.height
              } catch (t) {}
              return t
           }, t.prototype.moveTo = function (t) {
              if (t) {
                 var e = t.x,
                    i = t.y;
                 this._x == e && this._y == i || (this._x = e, this._y = i, this.transform())
              }
           }, Object.defineProperty(t.prototype, "content", {
              get: function () {
                 return this.node.innerHTML || ""
              },
              set: function (t) {
                 this.node.innerHTML = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "textContent", {
              get: function () {
                 return this.node.textContent || ""
              },
              set: function (t) {
                 this.node.textContent = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "x", {
              get: function () {
                 return this._x
              },
              set: function (t) {
                 this._x != t && (this._x = t, this.transform())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "y", {
              get: function () {
                 return this._y
              },
              set: function (t) {
                 this._y != t && (this._y = t, this.transform())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "rotation", {
              get: function () {
                 return this._rotation
              },
              set: function (t) {
                 this._rotation != t && (this._rotation = t, this.transform())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(t.prototype, "scale", {
              get: function () {
                 return this._scale
              },
              set: function (t) {
                 this._scale != t && (this._scale = t, this.transform())
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.removeAttr = function (t) {
              this.node.removeAttribute(t)
           }, t.prototype.attr = function (t) {
              var e = this;
              return r.each(t, function (t, i) {
                 o.hasValue(i) ? e.node.setAttribute(t, i) : e.node.removeAttribute(t)
              }), this
           }, t.prototype.getAttr = function (t) {
              return this.node.getAttribute(t)
           }, t.prototype.attrNS = function (t, e, i) {
              return this.node.setAttributeNS(t, e, i), this
           }, t.prototype.getAttrNS = function (t, e) {
              return this.node.getAttributeNS(t, e)
           }, t.prototype.removeStyle = function (t) {
              delete this.node.style[t]
           }, t.prototype.getStyle = function (t) {
              return this.node.style[t]
           }, t.prototype.addStyle = function (t) {
              var e = this;
              return r.each(t, function (t, i) {
                 o.hasValue(i) ? e.node.style[t] = i : e.removeStyle(t)
              }), this
           }, t.prototype.addClass = function (t) {
              n.f(this.node, t)
           }, t.prototype.removeClass = function (t) {
              n.q(this.node, t)
           }, t.prototype.setClass = function (t) {
              this.node.setAttribute("class", t)
           }, t.prototype.removeChildNodes = function () {
              for (; this.node.childNodes.length > 0;) this.node.removeChild(this.node.firstChild)
           }, t.prototype.isDisposed = function () {
              return this._isDisposed
           }, t.prototype.dispose = function () {
              this.removeNode()
           }, t
        }()
  },
  "q+2p": function (t, e, i) {
     var n = Date.prototype,
        r = n.toString,
        o = n.getTime;
     new Date(NaN) + "" != "Invalid Date" && i("wDk4")(n, "toString", function () {
        var t = o.call(this);
        return t == t ? r.call(this) : "Invalid Date"
     })
  },
  qCRI: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return n
     });
     var n = function () {
        function t() {}
        return t.grab = [{
           property: "cursor",
           value: "move"
        }, {
           property: "cursor",
           value: "grab"
        }, {
           property: "cursor",
           value: "-moz-grab"
        }, {
           property: "cursor",
           value: "-webkit-grab"
        }], t.grabbing = [{
           property: "cursor",
           value: "move"
        }, {
           property: "cursor",
           value: "grabbing"
        }, {
           property: "cursor",
           value: "-moz-grabbing"
        }, {
           property: "cursor",
           value: "-webkit-grabbing"
        }], t.pointer = [{
           property: "cursor",
           value: "pointer"
        }], t.default = [{
           property: "cursor",
           value: "default"
        }], t.horizontalResize = [{
           property: "cursor",
           value: "ew-resize"
        }], t.verticalResize = [{
           property: "cursor",
           value: "ns-resize"
        }], t
     }()
  },
  qJno: function (t, e, i) {
     "use strict";
     var n = i("m4/l"),
        r = i("58Sn"),
        o = i("MIZb"),
        a = i("+qIf"),
        s = i("hD5A"),
        u = new a.a,
        l = i("x79X"),
        h = i("vMqJ"),
        c = i("zhwk"),
        p = i("P/bD"),
        d = i("/IEW"),
        f = i("WYhe"),
        g = i("v9UT"),
        y = i("Wglt"),
        m = i("Mtpk");
     i.d(e, "a", function () {
        return b
     });
     var b = function (t) {
        function e() {
           var e = t.call(this) || this;
           return e.adapter = new l.a(e), e.closeDelay = 1e3, e._language = new s.d, e._menuTag = "ul", e._itemTag = "li", e._labelTag = "a", e._classPrefix = "amexport", e._defaultStyles = !0, e._align = "right", e._verticalAlign = "top", e._tabindex = 0, e._ignoreNextClose = !1, e._items = [{
              label: "...",
              menu: [{
                 label: "Image",
                 menu: [{
                    type: "png",
                    label: "PNG"
                 }, {
                    type: "jpg",
                    label: "JPG"
                 }, {
                    type: "gif",
                    label: "GIF"
                 }, {
                    type: "svg",
                    label: "SVG"
                 }, {
                    type: "pdf",
                    label: "PDF"
                 }]
              }, {
                 label: "Data",
                 menu: [{
                    type: "json",
                    label: "JSON"
                 }, {
                    type: "csv",
                    label: "CSV"
                 }, {
                    type: "xlsx",
                    label: "XLSX"
                 }]
              }, {
                 label: "Print",
                 type: "print"
              }]
           }], e.className = "ExportMenu", e._disposers.push(e._language), e.invalidate(), e.applyTheme(), e
        }
        return n.c(e, t), e.prototype.validate = function () {
           this.draw(), t.prototype.validate.call(this)
        }, e.prototype.draw = function () {
           var t = this;
           this._element ? (this._element.innerHTML = "", this._element.className = this.getMenuItemClass(0)) : this._element = this.createMenuElement(0), this.defaultStyles && (this._element.style.display = "none"), m.getValue(this._container).appendChild(this._element), this._items = this.adapter.apply("items", {
              items: this._items
           }).items;
           for (var e = this._items.length, i = 0; i < e; i++) this.drawBranch(this._element, this._items[i], 0);
           this._element = this.adapter.apply("menuElement", {
              menuElement: this._element
           }).menuElement, this._disposers.push(Object(c.b)().body.events.on("down", function (e) {
              e.pointer.touch || (t._ignoreNextClose = !1), t.close()
           })), this._disposers.push(Object(c.b)().body.events.on("keyup", function (e) {
              var i = f.b.getEventKey(e.event);
              switch (i) {
                 case "esc":
                    t.close();
                    break;
                 case "up":
                 case "down":
                 case "left":
                 case "right":
                    t.moveSelection(i)
              }
           })), this.defaultStyles && this.loadDefaultCSS()
        }, e.prototype.drawBranch = function (t, e, i) {
           var n = this;
           if (!0 !== (e = this.adapter.apply("branch", {
                 branch: e,
                 level: i
              }).branch).unsupported) {
              e.ascendants || (e.ascendants = new h.b);
              var r = e.type,
                 o = this.createItemElement(i, r),
                 a = this.createLabelElement(i, r);
              a.innerHTML = e.label ? this.language.translate(e.label) : "";
              var s = this.getReaderLabel(e, a.innerHTML);
              a.setAttribute("aria-label", s), o.appendChild(a), e.interactions = Object(c.b)().getInteraction(a), this.typeClickable(r) && (e.interactions.events.on("hit", function (t) {
                 if (n.events.isEnabled("hit")) {
                    var i = {
                       type: "hit",
                       event: t.event,
                       target: n,
                       branch: e
                    };
                    n.events.dispatchImmediately("hit", i)
                 }
              }), e.interactions.events.on("keyup", function (t) {
                 if (f.b.isKey(t.event, "enter") && n.events.isEnabled("enter")) {
                    var i = {
                       type: "enter",
                       event: t.event,
                       target: n,
                       branch: e
                    };
                    n.events.dispatchImmediately("enter", i)
                 }
              }));
              var u = this.getSubMenu(e);
              null != u && e.interactions.events.on("keyup", function (t) {
                 f.b.isKey(t.event, "enter") && (n.selectBranch(u[0]), n.setFocus(u[0]))
              }), e.interactions.events.on("over", function (t) {
                 if (t.pointer.touch && (n._ignoreNextClose = !0), n.selectBranch(e), n.events.isEnabled("over")) {
                    var i = {
                       type: "over",
                       event: t.event,
                       target: n,
                       branch: e
                    };
                    n.events.dispatchImmediately("over", i)
                 }
              }), e.interactions.events.on("out", function (t) {
                 if (t.pointer.touch || n.delayUnselectBranch(e), n.events.isEnabled("out")) {
                    var i = {
                       type: "out",
                       event: t.event,
                       target: n,
                       branch: e
                    };
                    n.events.dispatchImmediately("out", i)
                 }
              }), e.interactions.events.on("focus", function (t) {
                 n.selectBranch(e)
              }), e.interactions.events.on("blur", function (t) {
                 n.delayUnselectBranch(e)
              });
              var l = i + 1;
              if (e.menu) {
                 for (var p = this.createMenuElement(l), d = e.menu.length, g = 0; g < d; g++) {
                    var y = new h.b;
                    e.menu[g].ascendants = y, e.ascendants.length && y.copyFrom(e.ascendants), y.push(e), this.drawBranch(p, e.menu[g], l)
                 }
                 if ("" == p.innerHTML) return;
                 o.appendChild(p)
              }
              t.appendChild(o)
           }
        }, e.prototype.createMenuElement = function (t) {
           var e = document.createElement(this.menuTag);
           return e.className = this.getMenuItemClass(t), 0 === t && e.setAttribute("role", "menu"), e
        }, e.prototype.getMenuItemClass = function (t) {
           var e = this.classPrefix + "-menu " + this.classPrefix + "-menu-level-" + t;
           return 0 === t && (e += " " + this.classPrefix + "-menu-root " + this.classPrefix + "-" + this.align + " " + this.classPrefix + "-" + this.verticalAlign), this.adapter.apply("menuClass", {
              className: e,
              level: t
           }).className
        }, e.prototype.createItemElement = function (t, e) {
           var i = document.createElement(this.itemTag),
              n = this.classPrefix + "-item " + this.classPrefix + "-item-level-" + t + " " + this.classPrefix + "-item-" + (e || "blank");
           return i.className = this.adapter.apply("itemClass", {
              className: n,
              level: t,
              type: e
           }).className, i
        }, e.prototype.createLabelElement = function (t, e) {
           var i = document.createElement(this.labelTag),
              n = this.classPrefix + "-label " + this.classPrefix + "-label-level-" + t + " " + this.classPrefix + "-item-" + (e || "blank");
           return this.typeClickable(e) && (n += " " + this.classPrefix + "-clickable"), i.className = this.adapter.apply("labelClass", {
              className: n,
              level: t,
              type: e
           }).className, i.setAttribute("tabindex", this.tabindex.toString()), i.setAttribute("role", "menuitem"), i
        }, e.prototype.dispose = function () {
           this._disposed || (t.prototype.dispose.call(this), this._element && this._element.parentNode && this._element.parentNode.removeChild(this._element))
        }, e.prototype.typeClickable = function (t) {
           return m.hasValue(t)
        }, e.prototype.hasSubMenu = function (t) {
           return !(!t.menu || !t.menu.length)
        }, e.prototype.getSubMenu = function (t) {
           if (t.menu && t.menu.length) return t.menu
        }, e.prototype.getReaderLabel = function (t, e) {
           return e = g.stripTags(e), this.hasSubMenu(t) ? e += " [" + this.language.translate("Click, tap or press ENTER to open") + "]" : "print" == t.type ? e = this.language.translate("Click, tap or press ENTER to print.") : this.typeClickable(t.type) && (e = this.language.translate("Click, tap or press ENTER to export as %1.", void 0, e)), this.adapter.apply("rederLabel", {
              label: e,
              branch: t
           }).label
        }, Object.defineProperty(e.prototype, "container", {
           get: function () {
              return this._container
           },
           set: function (t) {
              this._container = t, this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "items", {
           get: function () {
              return this._items
           },
           set: function (t) {
              this._items = t, this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "tag", {
           set: function (t) {
              this._menuTag = t, this._itemTag = "ul" == t ? "li" : "div", this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "menuTag", {
           get: function () {
              return this.adapter.apply("menuTag", {
                 tag: this._menuTag
              }).tag
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "itemTag", {
           get: function () {
              return this.adapter.apply("itemTag", {
                 tag: this._itemTag
              }).tag
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "labelTag", {
           get: function () {
              return this.adapter.apply("labelTag", {
                 tag: this._labelTag
              }).tag
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "align", {
           get: function () {
              return this.adapter.apply("align", {
                 align: this._align
              }).align
           },
           set: function (t) {
              this._align = t, this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "verticalAlign", {
           get: function () {
              return this.adapter.apply("verticalAlign", {
                 verticalAlign: this._verticalAlign
              }).verticalAlign
           },
           set: function (t) {
              this._verticalAlign = t, this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "classPrefix", {
           get: function () {
              return this.adapter.apply("classPrefix", {
                 classPrefix: this._classPrefix
              }).classPrefix
           },
           set: function (t) {
              this._classPrefix = t, this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "defaultStyles", {
           get: function () {
              return this.adapter.apply("defaultStyles", {
                 defaultStyles: this._defaultStyles
              }).defaultStyles
           },
           set: function (t) {
              this._defaultStyles != t && (this._defaultStyles = t, t && this.loadDefaultCSS()), this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.loadDefaultCSS = function () {
           this._disposers.push(function (t) {
              var e = t || "amexport",
                 i = new o.a;
              return u.insertKeyIfEmpty(e, function () {
                 var t = new s.c([new r.c("." + e + "-menu-level-0", {
                    position: "absolute",
                    top: "5px",
                    right: "5px"
                 }), new r.c("." + e + "-menu-level-0." + e + "-left", {
                    right: "auto",
                    left: "5px"
                 }), new r.c("." + e + "-menu-level-0." + e + "-right", {
                    right: "5px",
                    left: "auto"
                 }), new r.c("." + e + "-menu-level-0." + e + "-top", {
                    top: "5px",
                    bottom: "auto"
                 }), new r.c("." + e + "-menu-level-0." + e + "-bottom", {
                    top: "auto",
                    bottom: "5px"
                 }), new r.c("." + e + "-item." + e + "-item-level-0", {
                    opacity: "0.3",
                    width: "30px",
                    height: "30px",
                    transition: "all 100ms ease-in-out"
                 }), new r.c("div:hover ." + e + "-item." + e + "-item-level-0, ." + e + "-item." + e + "-item-level-0.active", {
                    opacity: "0.9"
                 }), new r.c("." + e + "-item." + e + "-item-level-0 > a", {
                    padding: "0",
                    "text-align": "center"
                 }), new r.c("." + e + "-item." + e + "-item-level-0:before", {
                    display: "block"
                 }), new r.c("." + e + "-item", {
                    position: "relative",
                    display: "block",
                    opacity: "0",
                    "z-index": "1",
                    "border-radius": "3px",
                    "background-color": i.getFor("secondaryButton").hex,
                    padding: "0",
                    margin: "1px 1px 0 0",
                    color: i.getFor("secondaryButton").alternative.hex,
                    transition: "all 100ms ease-in-out, opacity 0.5s ease 0.5s"
                 }), new r.c("." + e + "-left ." + e + "-item", {
                    margin: "1px 0 0 1px"
                 }), new r.c("." + e + "-item:hover, ." + e + "-item.active", {
                    background: i.getFor("secondaryButtonHover").hex,
                    color: i.getFor("secondaryButtonText").hex
                 }), new r.c("." + e + "-item > ." + e + "-menu", {
                    position: "absolute",
                    top: "-1px",
                    right: "0",
                    "margin-right": "100%"
                 }), new r.c("." + e + "-left ." + e + "-item > ." + e + "-menu", {
                    left: "0",
                    right: "auto",
                    "margin-left": "100%",
                    "margin-right": "auto"
                 }), new r.c("." + e + "-right ." + e + "-item > ." + e + "-menu", {
                    left: "auto",
                    right: "0",
                    "margin-left": "auto",
                    "margin-right": "100%"
                 }), new r.c("." + e + "-top ." + e + "-item > ." + e + "-menu", {
                    top: "-1px",
                    bottom: "auto"
                 }), new r.c("." + e + "-bottom ." + e + "-item > ." + e + "-menu", {
                    top: "auto",
                    bottom: "0"
                 }), new r.c("." + e + "-item > ." + e + "-menu", {
                    display: "none"
                 }), new r.c("." + e + "-item:hover > ." + e + "-menu, ." + e + "-item.active > ." + e + "-menu", {
                    display: "block"
                 }), new r.c("." + e + "-item:hover > ." + e + "-menu > ." + e + "-item, ." + e + "-item.active > ." + e + "-menu > ." + e + "-item", {
                    opacity: "1"
                 }), new r.c("." + e + "-menu", {
                    display: "block",
                    "list-style": "none",
                    margin: "0",
                    padding: "0"
                 }), new r.c("." + e + "-label", {
                    display: "block",
                    cursor: "default",
                    padding: "0.5em 1em"
                 }), new r.c("." + e + "-clickable", {
                    cursor: "pointer"
                 })]);
                 return new s.a(function () {
                    u.removeKey(e), t.dispose()
                 })
              }).increment()
           }(this.classPrefix)), this._element && (this._element.style.display = "")
        }, Object.defineProperty(e.prototype, "tabindex", {
           get: function () {
              return this.adapter.apply("tabindex", {
                 tabindex: this._tabindex
              }).tabindex
           },
           set: function (t) {
              this._tabindex = t, this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(e.prototype, "language", {
           get: function () {
              var t = this,
                 e = this._language.get();
              return null == e && (e = new p.a, this._language.set(e, e.events.on("localechanged", function (e) {
                 t.invalidate()
              }))), e
           },
           set: function (t) {
              var e = this;
              this._language.set(t, t.events.on("localechanged", function (t) {
                 e.invalidate()
              })), this.invalidate()
           },
           enumerable: !0,
           configurable: !0
        }), e.prototype.close = function () {
           if (this._ignoreNextClose) this._ignoreNextClose = !1;
           else {
              if (this._currentSelection && (this.setBlur(this._currentSelection), this._currentSelection = void 0), this._element)
                 for (var t = this._element.getElementsByClassName("active"), e = t.length - 1; e >= 0; e--) t[e] && r.q(t[e], "active");
              this.events.dispatchImmediately("closed", {
                 type: "closed",
                 target: this
              })
           }
        }, e.prototype.selectBranch = function (t) {
           var e = this;
           if (t.closeTimeout && (this.removeDispose(t.closeTimeout), t.closeTimeout = void 0), r.f(t.interactions.element.parentElement, "active"), this._currentSelection && this._currentSelection !== t && this._currentSelection.ascendants && y.each(y.concat(y.fromArray([this._currentSelection]), this._currentSelection.ascendants.iterator()), function (i) {
                 t.ascendants.contains(i) || t === i || e.unselectBranch(i, !0)
              }), y.each(t.ascendants.iterator(), function (t) {
                 t.closeTimeout && (e.removeDispose(t.closeTimeout), t.closeTimeout = void 0), r.f(t.interactions.element.parentElement, "active")
              }), this._currentSelection = t, this.events.isEnabled("branchselected")) {
              var i = {
                 type: "branchselected",
                 target: this,
                 branch: t
              };
              this.events.dispatchImmediately("branchselected", i)
           }
        }, e.prototype.unselectBranch = function (t, e) {
           if (r.q(t.interactions.element.parentElement, "active"), this._currentSelection == t && (this._currentSelection = void 0), this.events.isEnabled("branchunselected")) {
              var i = {
                 type: "branchunselected",
                 target: this,
                 branch: t
              };
              this.events.dispatchImmediately("branchunselected", i)
           }
        }, e.prototype.delayUnselectBranch = function (t, e) {
           var i = this;
           t.closeTimeout && (this.removeDispose(t.closeTimeout), t.closeTimeout = void 0), t.closeTimeout = this.setTimeout(function () {
              i.unselectBranch(t, e)
           }, this.closeDelay), !0 !== e && t.ascendants && y.each(t.ascendants.iterator(), function (t) {
              i.delayUnselectBranch(t, !0)
           })
        }, e.prototype.moveSelection = function (t) {
           if (this._currentSelection) {
              var e;
              if ("up" == t) e = this.getPrevSibling(this._currentSelection);
              else if ("down" == t) e = this.getNextSibling(this._currentSelection);
              else if ("left" == t && "right" == this.align || "right" == t && "left" == this.align) {
                 var i = this.getSubMenu(this._currentSelection);
                 null != i && (e = i[0])
              } else("right" == t && "right" == this.align || "left" == t && "left" == this.align) && (e = this.getParentItem(this._currentSelection));
              e && e !== this._currentSelection && (this.selectBranch(e), this.setFocus(e), this._currentSelection = e)
           }
        }, e.prototype.getSiblings = function (t) {
           var e = this.getParentItem(t);
           return e && e.menu ? e.menu : []
        }, e.prototype.getParentItem = function (t) {
           return t.ascendants && t.ascendants.length ? t.ascendants.getIndex(t.ascendants.length - 1) : void 0
        }, e.prototype.getNextSibling = function (t) {
           var e = this.getSiblings(t);
           if (e.length > 1) {
              var i = e.indexOf(t) + 1;
              return e[i = e.length == i ? 0 : i].unsupported ? this.getNextSibling(e[i]) : e[i]
           }
           return t
        }, e.prototype.getPrevSibling = function (t) {
           var e = this.getSiblings(t);
           if (e.length > 1) {
              var i = e.indexOf(t) - 1;
              return e[i = -1 == i ? e.length - 1 : i].unsupported ? this.getPrevSibling(e[i]) : e[i]
           }
           return t
        }, e.prototype.setFocus = function (t) {
           t.interactions && t.interactions.element.focus()
        }, e.prototype.setBlur = function (t) {
           t.interactions && t.interactions.element.blur()
        }, e
     }(d.a)
  },
  "qUC/": function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("DG6Q"),
        o = i("Mr4Y"),
        a = i("aCit"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Column3D", e
           }
           return n.c(e, t), e.prototype.createAssets = function () {
              this.column3D = this.createChild(o.a), this.column3D.shouldClone = !1, this.column3D.strokeOpacity = 0, this.column = this.column3D
           }, e.prototype.validate = function () {
              t.prototype.validate.call(this), this.column3D && (this.column3D.width = this.pixelWidth, this.column3D.height = this.pixelHeight, this.column3D.invalid && this.column3D.validate())
           }, e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.column3D && this.column3D.copyFrom(e.column3D)
           }, e
        }(r.a);
     a.b.registeredClasses.Column3D = s
  },
  qgJR: function (t, e, i) {
     "use strict";
     var n = i("snR7"),
        r = i("DVvQ"),
        o = i("2i0j");
     i("7V6K")("search", 1, function (t, e, i, a) {
        return [function (i) {
           var n = t(this),
              r = void 0 == i ? void 0 : i[e];
           return void 0 !== r ? r.call(i, n) : new RegExp(i)[e](String(n))
        }, function (t) {
           var e = a(i, t, this);
           if (e.done) return e.value;
           var s = n(t),
              u = String(this),
              l = s.lastIndex;
           r(l, 0) || (s.lastIndex = 0);
           var h = o(s, u);
           return r(s.lastIndex, l) || (s.lastIndex = l), null === h ? -1 : h.index
        }]
     })
  },
  qzbU: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("aCit"),
        a = i("MIZb"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "Tick";
              var i = new a.a;
              return e.fillOpacity = 0, e.length = 6, e.strokeOpacity = .2, e.stroke = i.getFor("grid"), e.isMeasured = !1, e.nonScalingStroke = !0, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "length", {
              get: function () {
                 return this.disabled ? 0 : this.getPropertyValue("length")
              },
              set: function (t) {
                 this.setPropertyValue("length", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Tick = s
  },
  r7ZX: function (t, e, i) {
     i("3mH9")("Set")
  },
  rFJX: function (t, e, i) {
     var n = i("DvJ+");
     t.exports = function (t, e) {
        if (!n(t) || t._t !== e) throw TypeError("Incompatible receiver, " + e + " required!");
        return t
     }
  },
  rTLi: function (t, e, i) {
     "use strict";
     i("Mvcd")("small", function (t) {
        return function () {
           return t(this, "small", "", "")
        }
     })
  },
  "rU+O": function (t, e, i) {
     "use strict";
     var n = i("snR7"),
        r = i("vJiZ"),
        o = i("FmWr"),
        a = i("4BRe"),
        s = i("YxCF"),
        u = i("2i0j"),
        l = Math.max,
        h = Math.min,
        c = Math.floor,
        p = /\$([$&`']|\d\d?|<[^>]*>)/g,
        d = /\$([$&`']|\d\d?)/g,
        f = function (t) {
           return void 0 === t ? t : String(t)
        };
     i("7V6K")("replace", 2, function (t, e, i, g) {
        return [function (n, r) {
           var o = t(this),
              a = void 0 == n ? void 0 : n[e];
           return void 0 !== a ? a.call(n, o, r) : i.call(String(o), n, r)
        }, function (t, e) {
           var r = g(i, t, this, e);
           if (r.done) return r.value;
           var c = n(t),
              p = String(this),
              d = "function" == typeof e;
           d || (e = String(e));
           var m = c.global;
           if (m) {
              var b = c.unicode;
              c.lastIndex = 0
           }
           for (var v = [];;) {
              var _ = u(c, p);
              if (null === _) break;
              if (v.push(_), !m) break;
              "" === String(_[0]) && (c.lastIndex = s(p, o(c.lastIndex), b))
           }
           for (var x = "", P = 0, w = 0; w < v.length; w++) {
              _ = v[w];
              for (var O = String(_[0]), S = l(h(a(_.index), p.length), 0), k = [], T = 1; T < _.length; T++) k.push(f(_[T]));
              var C = _.groups;
              if (d) {
                 var j = [O].concat(k, S, p);
                 void 0 !== C && j.push(C);
                 var I = String(e.apply(void 0, j))
              } else I = y(O, p, S, k, C, e);
              S >= P && (x += p.slice(P, S) + I, P = S + O.length)
           }
           return x + p.slice(P)
        }];

        function y(t, e, n, o, a, s) {
           var u = n + t.length,
              l = o.length,
              h = d;
           return void 0 !== a && (a = r(a), h = p), i.call(s, h, function (i, r) {
              var s;
              switch (r.charAt(0)) {
                 case "$":
                    return "$";
                 case "&":
                    return t;
                 case "`":
                    return e.slice(0, n);
                 case "'":
                    return e.slice(u);
                 case "<":
                    s = a[r.slice(1, -1)];
                    break;
                 default:
                    var h = +r;
                    if (0 === h) return r;
                    if (h > l) {
                       var p = c(h / 10);
                       return 0 === p ? r : p <= l ? void 0 === o[p - 1] ? r.charAt(1) : o[p - 1] + r.charAt(1) : r
                    }
                    s = o[h - 1]
              }
              return void 0 === s ? "" : s
           })
        }
     })
  },
  rU6r: function (t, e, i) {
     i("YJIw")("Uint8", 1, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  rkh7: function (t, e, i) {
     var n = i("ODWe"),
        r = i("heQh").concat("length", "prototype");
     e.f = Object.getOwnPropertyNames || function (t) {
        return n(t, r)
     }
  },
  rutD: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("4BRe"),
        o = i("GIxq"),
        a = i("lhvN"),
        s = 1..toFixed,
        u = Math.floor,
        l = [0, 0, 0, 0, 0, 0],
        h = "Number.toFixed: incorrect invocation!",
        c = function (t, e) {
           for (var i = -1, n = e; ++i < 6;) n += t * l[i], l[i] = n % 1e7, n = u(n / 1e7)
        },
        p = function (t) {
           for (var e = 6, i = 0; --e >= 0;) i += l[e], l[e] = u(i / t), i = i % t * 1e7
        },
        d = function () {
           for (var t = 6, e = ""; --t >= 0;)
              if ("" !== e || 0 === t || 0 !== l[t]) {
                 var i = String(l[t]);
                 e = "" === e ? i : e + a.call("0", 7 - i.length) + i
              } return e
        },
        f = function (t, e, i) {
           return 0 === e ? i : e % 2 == 1 ? f(t, e - 1, i * t) : f(t * t, e / 2, i)
        };
     n(n.P + n.F * (!!s && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== (0xde0b6b3a7640080).toFixed(0)) || !i("AEc5")(function () {
        s.call({})
     })), "Number", {
        toFixed: function (t) {
           var e, i, n, s, u = o(this, h),
              l = r(t),
              g = "",
              y = "0";
           if (l < 0 || l > 20) throw RangeError(h);
           if (u != u) return "NaN";
           if (u <= -1e21 || u >= 1e21) return String(u);
           if (u < 0 && (g = "-", u = -u), u > 1e-21)
              if (i = (e = function (t) {
                    for (var e = 0, i = t; i >= 4096;) e += 12, i /= 4096;
                    for (; i >= 2;) e += 1, i /= 2;
                    return e
                 }(u * f(2, 69, 1)) - 69) < 0 ? u * f(2, -e, 1) : u / f(2, e, 1), i *= 4503599627370496, (e = 52 - e) > 0) {
                 for (c(0, i), n = l; n >= 7;) c(1e7, 0), n -= 7;
                 for (c(f(10, n, 1), 0), n = e - 1; n >= 23;) p(1 << 23), n -= 23;
                 p(1 << n), c(1, 1), p(2), y = d()
              } else c(0, i), c(1 << -e, 0), y = d() + a.call("0", l);
           return y = l > 0 ? g + ((s = y.length) <= l ? "0." + a.call("0", l - s) + y : y.slice(0, s - l) + "." + y.slice(s - l)) : g + y
        }
     })
  },
  s9al: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return y
     });
     var n = i("m4/l"),
        r = i("Vs7R"),
        o = i("C6dT"),
        a = i("sxA1"),
        s = i("aCit"),
        u = i("TXRX"),
        l = i("8ZqG"),
        h = i("vMqJ"),
        c = i("jfaP"),
        p = i("PTiM"),
        d = i("MIZb"),
        f = i("Wglt"),
        g = i("Mtpk"),
        y = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "FlowDiagramLink";
              var i = new d.a;
              return e.maskBullets = !1, e.colorMode = "fromNode", e.layout = "none", e.isMeasured = !1, e.startAngle = 0, e.endAngle = 0, e.strokeOpacity = 0, e.verticalCenter = "none", e.horizontalCenter = "none", e.tooltipText = "{fromName}→{toName}:{value.value}", e.tooltipLocation = .5, e.link = e.createChild(r.a), e.link.shouldClone = !1, e.link.setElement(e.paper.add("path")), e.link.isMeasured = !1, e.fillOpacity = .2, e.fill = i.getFor("alternativeBackground"), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.positionBullets = function () {
              var t = this;
              f.each(this.bullets.iterator(), function (e) {
                 e.parent = t.bulletsContainer, e.maxWidth = t.maxWidth, e.maxHeight = t.maxHeight, t.positionBullet(e)
              })
           }, Object.defineProperty(e.prototype, "bulletsContainer", {
              get: function () {
                 if (!this._bulletsContainer) {
                    var t = this.createChild(o.a);
                    t.shouldClone = !1, t.layout = "none", this._bulletsContainer = t
                 }
                 return this._bulletsContainer
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "bulletsMask", {
              get: function () {
                 if (!this._bulletsMask) {
                    var t = this.createChild(r.a);
                    t.shouldClone = !1, t.setElement(this.paper.add("path")), t.isMeasured = !1, this._bulletsMask = t
                 }
                 return this._bulletsMask
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.positionBullet = function (t) {
              var e = t.locationX;
              g.isNumber(e) || (e = t.locationY), g.isNumber(e) || (e = .5);
              var i = this.middleLine.positionToPoint(e);
              t.moveTo(i);
              var n, r = t.propertyFields.rotation;
              t.dataItem && (n = t.dataItem.dataContext[r]);
              g.isNumber(n) || (n = i.angle), t.rotation = n
           }, Object.defineProperty(e.prototype, "startAngle", {
              get: function () {
                 return this.getPropertyValue("startAngle")
              },
              set: function (t) {
                 this.setPropertyValue("startAngle", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endAngle", {
              get: function () {
                 return this.getPropertyValue("endAngle")
              },
              set: function (t) {
                 this.setPropertyValue("endAngle", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "colorMode", {
              get: function () {
                 return this.getPropertyValue("colorMode")
              },
              set: function (t) {
                 if ("gradient" == t) {
                    var e = this.fill;
                    this.gradient.stops.clear(), e instanceof l.a && (this.gradient.addColor(e), this.gradient.addColor(e)), this.fill = this.gradient, this.stroke = this.gradient
                 }
                 this.setPropertyValue("colorMode", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "maskBullets", {
              get: function () {
                 return this.getPropertyValue("maskBullets")
              },
              set: function (t) {
                 this.setPropertyValue("maskBullets", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tooltipLocation", {
              get: function () {
                 return this.getPropertyValue("tooltipLocation")
              },
              set: function (t) {
                 this.setPropertyValue("tooltipLocation", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setFill = function (e) {
              t.prototype.setFill.call(this, e);
              var i = this._gradient;
              i && e instanceof l.a && (i.stops.clear(), i.addColor(e), i.addColor(e))
           }, e.prototype.measureElement = function () {}, Object.defineProperty(e.prototype, "bullets", {
              get: function () {
                 var t = this;
                 return this._bullets || (this._bullets = new h.e(new u.a), this._disposers.push(new h.c(this._bullets)), this._disposers.push(this._bullets.template), this._bullets.events.on("inserted", function (e) {
                    e.newValue.events.on("propertychanged", function (e) {
                       "locationX" != e.property && "locationY" != e.property || t.positionBullet(e.target)
                    }, void 0, !1)
                 }, void 0, !1)), this._bullets
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.bullets.copyFrom(e.bullets);
              var i = this.middleLine;
              i && (i instanceof p.a && e.middleLine instanceof p.a && i.copyFrom(e.middleLine), i instanceof c.a && e.middleLine instanceof c.a && i.copyFrom(e.middleLine)), this.link.copyFrom(e.link)
           }, e.prototype.getTooltipX = function () {
              if (this.middleLine) return this.middleLine.positionToPoint(this.tooltipLocation).x
           }, e.prototype.getTooltipY = function () {
              if (this.middleLine) return this.middleLine.positionToPoint(this.tooltipLocation).y
           }, Object.defineProperty(e.prototype, "gradient", {
              get: function () {
                 return this._gradient || (this._gradient = new a.a), this._gradient
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(o.a);
     s.b.registeredClasses.FlowDiagramLink = y
  },
  sHIJ: function (t, e, i) {
     var n = i("DVYA");
     t.exports = Object("z").propertyIsEnumerable(0) ? Object : function (t) {
        return "String" == n(t) ? t.split("") : Object(t)
     }
  },
  sNEp: function (t, e, i) {
     var n = i("snR7");
     t.exports = function (t, e, i, r) {
        try {
           return r ? e(n(i)[0], i[1]) : e(i)
        } catch (e) {
           var o = t.return;
           throw void 0 !== o && n(o.call(t)), e
        }
     }
  },
  "sc+R": function (t, e, i) {
     var n = i("DbOM"),
        r = i("vJiZ"),
        o = i("sHIJ"),
        a = i("FmWr");
     t.exports = function (t, e, i, s, u) {
        n(e);
        var l = r(t),
           h = o(l),
           c = a(l.length),
           p = u ? c - 1 : 0,
           d = u ? -1 : 1;
        if (i < 2)
           for (;;) {
              if (p in h) {
                 s = h[p], p += d;
                 break
              }
              if (p += d, u ? p < 0 : c <= p) throw TypeError("Reduce of empty array with no initial value")
           }
        for (; u ? p >= 0 : c > p; p += d) p in h && (s = e(s, h[p], p, l));
        return s
     }
  },
  snR7: function (t, e, i) {
     var n = i("DvJ+");
     t.exports = function (t) {
        if (!n(t)) throw TypeError(t + " is not an object!");
        return t
     }
  },
  ssJO: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("dstF")(0),
        o = i("GQop")([].forEach, !0);
     n(n.P + n.F * !o, "Array", {
        forEach: function (t) {
           return r(this, t, arguments[1])
        }
     })
  },
  sxA1: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return c
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("vMqJ"),
        a = i("P7v+"),
        s = i("aCit"),
        u = i("Wglt"),
        l = i("Gg2j"),
        h = i("Mtpk"),
        c = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._stops = new o.b, e._rotation = 0, e.className = "LinearGradient", e._stops.events.on("setIndex", e.validate, e), e._stops.events.on("inserted", e.validate, e), e.element = e.paper.addGroup("linearGradient"), e.id = "gradient-" + s.b.getUniqueId(), e.element.attr({
                 id: e.id
              }), e._disposers.push(e.element), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.validate = function () {
              var t = this,
                 e = (this._rotation + 90) * l.RADIANS,
                 i = Math.round(50 + 50 * Math.sin(e + Math.PI)) + "%",
                 n = Math.round(50 + 50 * Math.cos(e)) + "%",
                 r = Math.round(50 + 50 * Math.sin(e)) + "%",
                 o = Math.round(50 + 50 * Math.cos(e + Math.PI)) + "%",
                 a = this.element;
              a.removeChildNodes(), a.attr({
                 x1: i,
                 x2: r,
                 y1: n,
                 y2: o
              }), u.each(u.indexed(this._stops.iterator()), function (e) {
                 var i = e[0],
                    n = e[1],
                    r = n.offset;
                 h.isNumber(r) || (r = i / (t._stops.length - 1));
                 var o = t.paper.add("stop");
                 o.attr({
                    "stop-color": n.color
                 }), h.isNumber(n.opacity) && o.attr({
                    "stop-opacity": n.opacity
                 }), h.isNumber(r) && o.attr({
                    offset: r
                 }), a.add(o)
              })
           }, e.prototype.clear = function () {
              this._stops.clear()
           }, e.prototype.addColor = function (t, e, i) {
              this._stops.push({
                 color: t,
                 opacity: e,
                 offset: i
              })
           }, Object.defineProperty(e.prototype, "stops", {
              get: function () {
                 return this._stops
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "paper", {
              get: function () {
                 return this._paper ? this._paper : Object(a.b)()
              },
              set: function (t) {
                 this._paper != t && (this._paper = t, this.validate(), t.appendDef(this.element))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "rotation", {
              get: function () {
                 return this._rotation
              },
              set: function (t) {
                 this._rotation = t, this.validate()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.stops.copyFrom(e.stops), this._rotation = e.rotation
           }, e
        }(r.a);
     s.b.registeredClasses.LinearGradient = c
  },
  sxbc: function (t, e) {
     t.exports = Math.sign || function (t) {
        return 0 == (t = +t) || t != t ? t : t < 0 ? -1 : 1
     }
  },
  t3Ma: function (t, e, i) {
     "use strict";
     i("Mvcd")("bold", function (t) {
        return function () {
           return t(this, "b", "", "")
        }
     })
  },
  tIuN: function (t, e, i) {
     var n = i("Gb1H");
     n(n.S, "Math", {
        clz32: function (t) {
           return (t >>>= 0) ? 31 - Math.floor(Math.log(t + .5) * Math.LOG2E) : 32
        }
     })
  },
  tYpR: function (t, e, i) {
     i("3mH9")("WeakMap")
  },
  tjMS: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return n
     }), e.c = function (t) {
        return new n(t)
     }, e.b = function (t) {
        return t instanceof n
     };
     var n = function () {
        function t(t) {
           this._value = t
        }
        return Object.defineProperty(t.prototype, "value", {
           get: function () {
              return this._value / 100
           },
           enumerable: !0,
           configurable: !0
        }), Object.defineProperty(t.prototype, "percent", {
           get: function () {
              return this._value
           },
           enumerable: !0,
           configurable: !0
        }), t
     }()
  },
  tzvs: function (t, e, i) {
     var n = i("EhJv"),
        r = i("nHHr").f;
     i("5lay")("getOwnPropertyDescriptor", function () {
        return function (t, e) {
           return r(n(t), e)
        }
     })
  },
  uLGy: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return p
     });
     var n = i("m4/l"),
        r = i("s9al"),
        o = i("aCit"),
        a = i("xgTw"),
        s = i("MIZb"),
        u = i("Gg2j"),
        l = i("Mtpk"),
        h = i("aFzC"),
        c = i("hGwe"),
        p = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "SankeyLink";
              new s.a;
              return e.tension = .8, e.controlPointDistance = .2, e.startAngle = 0, e.endAngle = 0, e.linkWidth = 0, e.startX = 0, e.endX = 0, e.startY = 0, e.endY = 0, e.middleLine = e.createChild(a.a), e.middleLine.shouldClone = !1, e.middleLine.strokeOpacity = 0, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.validate = function () {
              if (t.prototype.validate.call(this), !this.isTemplate) {
                 var e = this.startX,
                    i = this.startY,
                    n = this.endX,
                    r = this.endY;
                 l.isNumber(n) || (n = e), l.isNumber(r) || (r = i);
                 var o = this.startAngle,
                    a = this.endAngle,
                    s = this.linkWidth,
                    p = "",
                    d = e,
                    f = i,
                    g = n,
                    y = r,
                    m = e + s * u.sin(o),
                    b = n + s * u.sin(a),
                    v = i + s * u.cos(o),
                    _ = r + s * u.cos(a),
                    x = e + s / 2 * u.sin(o),
                    P = n + s / 2 * u.sin(a),
                    w = i + s / 2 * u.cos(o),
                    O = r + s / 2 * u.cos(a);
                 this.zIndex = this.zIndex || this.dataItem.index;
                 var S = this.tension + (1 - this.tension) * u.sin(o),
                    k = this.tension + (1 - this.tension) * u.cos(o);
                 if (this.middleLine.tensionX = S, this.middleLine.tensionY = k, l.isNumber(s) && l.isNumber(e) && l.isNumber(n) && l.isNumber(i) && l.isNumber(r)) {
                    u.round(d, 3) == u.round(g, 3) && (g += .01), u.round(f, 3) == u.round(y, 3) && (y += .01), u.round(m, 3) == u.round(b, 3) && (b += .01), u.round(v, 3) == u.round(_, 3) && (_ += .01);
                    var T = Math.min(m, b, d, g),
                       C = Math.min(v, _, f, y),
                       j = Math.max(m, b, d, g),
                       I = Math.max(v, _, f, y);
                    this._bbox = {
                       x: T,
                       y: C,
                       width: j - T,
                       height: I - C
                    };
                    var V = this.controlPointDistance,
                       M = d + (g - d) * V * u.cos(o),
                       D = f + (y - f) * V * u.sin(o),
                       E = g - (g - d) * V * u.cos(a),
                       F = y - (y - f) * V * u.sin(a),
                       N = x + (P - x) * V * u.cos(o),
                       R = w + (O - w) * V * u.sin(o),
                       L = P - (P - x) * V * u.cos(a),
                       A = O - (O - w) * V * u.sin(a),
                       B = u.getAngle({
                          x: M,
                          y: D
                       }, {
                          x: E,
                          y: F
                       }),
                       H = (s / u.cos(B) - s) / u.tan(B) * u.cos(o),
                       G = (s / u.sin(B) - s) * u.tan(B) * u.sin(o),
                       W = -H / 2 + m + (b - m) * V * u.cos(o),
                       z = -G / 2 + v + (_ - v) * V * u.sin(o),
                       U = -H / 2 + b - (b - m) * V * u.cos(a),
                       Y = -G / 2 + _ - (_ - v) * V * u.sin(a);
                    this.middleLine.segments = [
                       [{
                          x: x,
                          y: w
                       }, {
                          x: N,
                          y: R
                       }, {
                          x: L,
                          y: A
                       }, {
                          x: P,
                          y: O
                       }]
                    ], M += H / 2, D += G / 2, E += H / 2, F += G / 2, p += c.moveTo({
                       x: d,
                       y: f
                    }), p += new h.b(S, k).smooth([{
                       x: d,
                       y: f
                    }, {
                       x: M,
                       y: D
                    }, {
                       x: E,
                       y: F
                    }, {
                       x: g,
                       y: y
                    }]), p += c.lineTo({
                       x: b,
                       y: _
                    }), p += new h.b(S, k).smooth([{
                       x: b,
                       y: _
                    }, {
                       x: U,
                       y: Y
                    }, {
                       x: W,
                       y: z
                    }, {
                       x: m,
                       y: v
                    }]), p += c.closePath()
                 }
                 this.link.path = p, this.maskBullets && (this.bulletsMask.path = p, this.bulletsContainer.mask = this.bulletsMask), this.positionBullets()
              }
           }, Object.defineProperty(e.prototype, "startX", {
              get: function () {
                 return this.getPropertyValue("startX")
              },
              set: function (t) {
                 this.setPropertyValue("startX", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endX", {
              get: function () {
                 return this.getPropertyValue("endX")
              },
              set: function (t) {
                 this.setPropertyValue("endX", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "startY", {
              get: function () {
                 return this.getPropertyValue("startY")
              },
              set: function (t) {
                 this.setPropertyValue("startY", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "endY", {
              get: function () {
                 return this.getPropertyValue("endY")
              },
              set: function (t) {
                 this.setPropertyValue("endY", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "linkWidth", {
              get: function () {
                 return this.getPropertyValue("linkWidth")
              },
              set: function (t) {
                 this.setPropertyValue("linkWidth", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "controlPointDistance", {
              get: function () {
                 return this.getPropertyValue("controlPointDistance")
              },
              set: function (t) {
                 this.setPropertyValue("controlPointDistance", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tension", {
              get: function () {
                 return this.getPropertyValue("tension")
              },
              set: function (t) {
                 this.setPropertyValue("tension", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.SankeyLink = p
  },
  uWmK: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return v
     }), i.d(e, "c", function () {
        return _
     }), i.d(e, "a", function () {
        return x
     });
     var n = i("m4/l"),
        r = i("Y9w3"),
        o = i("A6AV"),
        a = i("vMqJ"),
        s = i("CnhP"),
        u = i("C6dT"),
        l = i("p9TX"),
        h = i("WYhe"),
        c = i("aCit"),
        p = i("zhwk"),
        d = i("tjMS"),
        f = i("MIZb"),
        g = i("Mtpk"),
        y = i("Vs7R"),
        m = i("hD5A"),
        b = i("qCRI"),
        v = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.childrenCreated = !1, e.className = "LegendDataItem", e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "label", {
              get: function () {
                 var t = this;
                 if (!this._label) {
                    var e = this.component.labels.create();
                    this._label = e, this.addSprite(e), this._disposers.push(e), e.parent = this.itemContainer, this._disposers.push(new m.b(function () {
                       g.hasValue(t.component) && t.component.labels.removeValue(e)
                    }))
                 }
                 return this._label
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "color", {
              get: function () {
                 return this.properties.color
              },
              set: function (t) {
                 this.setProperty("color", t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "valueLabel", {
              get: function () {
                 var t = this;
                 if (!this._valueLabel) {
                    var e = this.component.valueLabels.create();
                    this._valueLabel = e, this.addSprite(e), this._disposers.push(e), e.parent = this.itemContainer, this._disposers.push(new m.b(function () {
                       g.hasValue(t.component) && t.component.valueLabels.removeValue(e)
                    }))
                 }
                 return this._valueLabel
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "itemContainer", {
              get: function () {
                 var t = this;
                 if (!this._itemContainer) {
                    var e = this.component.itemContainers.create();
                    this._itemContainer = e, this.addSprite(e), this._disposers.push(e), this._disposers.push(new m.b(function () {
                       g.hasValue(t.component) && t.component.itemContainers.removeValue(e)
                    })), this.dataContext.uidAttr && (e.readerControls = this.dataContext.uidAttr(), e.readerLabelledBy = this.dataContext.uidAttr());
                    var i = this.dataContext;
                    (i instanceof o.a || i instanceof y.a) && (e.addDisposer(i.events.on("visibilitychanged", function (t) {
                       e.readerChecked = t.visible, e.events.disableType("toggled"), e.isActive = !t.visible, e.events.enableType("toggled")
                    }, void 0, !1)), i.addDisposer(new m.b(function () {
                       t.component && t.component.dataItems.remove(t)
                    })), i instanceof y.a && (e.addDisposer(i.events.on("hidden", function (t) {
                       e.readerChecked = !0, e.events.disableType("toggled"), e.isActive = !0, e.events.enableType("toggled")
                    }, void 0, !1)), e.addDisposer(i.events.on("shown", function (t) {
                       e.readerChecked = !1, e.events.disableType("toggled"), e.isActive = !1, e.events.enableType("toggled")
                    }, void 0, !1))))
                 }
                 return this._itemContainer
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "marker", {
              get: function () {
                 var t = this;
                 if (!this._marker) {
                    var e = this.component.markers.create();
                    this._marker = e, e.parent = this.itemContainer, this.addSprite(e), this._disposers.push(e), this._disposers.push(new m.b(function () {
                       g.hasValue(t.component) && t.component.markers.removeValue(e)
                    }))
                 }
                 return this._marker
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(o.a),
        _ = function () {
           return function () {
              this.createMarker = !0
           }
        }(),
        x = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "Legend", e.layout = "grid", e.setPropertyValue("useDefaultMarker", !1), e.setPropertyValue("contentAlign", "center");
              var i = new u.a;
              i.applyOnClones = !0, i.padding(10, 0, 10, 0), i.margin(0, 10, 0, 0), i.layout = "horizontal", i.clickable = !0, i.focusable = !0, i.role = "checkbox", i.togglable = !0, i.cursorOverStyle = b.a.pointer, i.background.fillOpacity = 0, i.events.on("toggled", function (t) {
                 e.toggleDataItem(t.target.dataItem)
              }, e), i.events.on("focus", function (t) {
                 e.focusedItem = t.target.dataItem
              }), i.events.on("blur", function (t) {
                 e.focusedItem = void 0
              }), e.itemContainers = new a.e(i), e._disposers.push(new a.c(e.itemContainers)), e._disposers.push(e.itemContainers.template), e._disposers.push(Object(p.b)().body.events.on("keyup", function (t) {
                 h.b.isKey(t.event, "enter") && e.focusedItem && e.toggleDataItem(e.focusedItem)
              }, e));
              var n = new f.a,
                 r = new u.a;
              r.width = 23, r.height = 23, r.interactionsEnabled = !1, r.applyOnClones = !0, r.setStateOnChildren = !0, r.background.fillOpacity = 0, r.background.strokeOpacity = 0, r.propertyFields.fill = "fill", r.valign = "middle";
              var o = n.getFor("disabledBackground");
              r.events.on("childadded", function (t) {
                 var e = t.newValue.states.create("active");
                 e.properties.stroke = o, e.properties.fill = o
              }), e.markers = new a.e(r), e._disposers.push(new a.c(e.markers)), e._disposers.push(e.markers.template);
              var c = r.createChild(s.a);
              c.width = Object(d.c)(100), c.height = Object(d.c)(100), c.applyOnClones = !0, c.propertyFields.fill = "fill", c.strokeOpacity = 0;
              var g = new l.a;
              g.text = "{name}", g.margin(0, 5, 0, 5), g.valign = "middle", g.applyOnClones = !0, g.states.create("active").properties.fill = n.getFor("disabledBackground"), e.labels = new a.e(g), e._disposers.push(new a.c(e.labels)), e._disposers.push(e.labels.template), g.interactionsEnabled = !1;
              var y = new l.a;
              return y.margin(0, 5, 0, 0), y.valign = "middle", y.width = 50, y.align = "right", y.textAlign = "end", y.applyOnClones = !0, y.states.create("active").properties.fill = n.getFor("disabledBackground"), y.interactionsEnabled = !1, e.valueLabels = new a.e(y), e._disposers.push(new a.c(e.valueLabels)), e._disposers.push(e.valueLabels.template), e.position = "bottom", i.states.create("active"), i.setStateOnChildren = !0, e.role = "group", e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.applyInternalDefaults = function () {
              t.prototype.applyInternalDefaults.call(this), g.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("Legend"))
           }, e.prototype.createDataItem = function () {
              return new v
           }, e.prototype.validateDataElement = function (e) {
              t.prototype.validateDataElement.call(this, e);
              var i = e.itemContainer,
                 n = e.marker,
                 r = (e.label, e.valueLabel);
              i.parent = this, i.readerChecked = e.dataContext.visible, e.dataContext.legendDataItem = e;
              var o = e.dataContext.legendSettings,
                 a = e.dataContext;
              a.createLegendMarker && !this.useDefaultMarker && (e.childrenCreated || (a.createLegendMarker(n), e.childrenCreated = !0, a.updateLegendValue && a.updateLegendValue())), r.invalid && r.validate(), "" == r.currentText || void 0 == r.currentText ? r.__disabled = !0 : r.__disabled = !1, !o || void 0 == o.itemValueText && void 0 == o.valueText || (r.__disabled = !1);
              var s = e.dataContext.visible;
              void 0 === s && (s = !0), s = g.toBoolean(s), e.dataContext.visible = s, i.events.disableType("toggled"), i.isActive = !s, i.events.enableType("toggled")
           }, Object.defineProperty(e.prototype, "position", {
              get: function () {
                 return this.getPropertyValue("position")
              },
              set: function (t) {
                 this.setPropertyValue("position", t) && ("left" == t || "right" == t ? (this.margin(10, 20, 10, 20), this.valign = "middle", this.itemContainers.template.width = Object(d.c)(100), this.valueLabels.template.width = Object(d.c)(100), this.labels.template.truncate = !0, this.labels.template.fullWords = !1) : (this.itemContainers.template.width = void 0, this.itemContainers.template.maxWidth = void 0, this.valueLabels.template.width = 50, this.labels.template.truncate = !1, this.width = Object(d.c)(100)), this.invalidate())
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "useDefaultMarker", {
              get: function () {
                 return this.getPropertyValue("useDefaultMarker")
              },
              set: function (t) {
                 this.setPropertyValue("useDefaultMarker", t, !0)
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.toggleDataItem = function (t) {
              var e = t.dataContext;
              !e.visible || e.isHiding || e instanceof y.a && e.isHidden ? (t.color = t.colorOrig, t.itemContainer.isActive = !1, !0 === e.hidden && (e.hidden = !1), e.show ? e.show() : e.visible = !0) : (t.itemContainer.isActive = !0, e.hide ? e.hide() : e.visible = !1, t.color = (new f.a).getFor("disabledBackground"))
           }, Object.defineProperty(e.prototype, "preloader", {
              get: function () {},
              enumerable: !0,
              configurable: !0
           }), e.prototype.handleDataItemPropertyChange = function (t, e) {
              t.valueLabel.invalidate(), t.label.invalidate()
           }, e
        }(r.a);
     c.b.registeredClasses.Legend = x
  },
  ua0L: function (t, e, i) {
     var n = i("DvJ+"),
        r = i("kHwJ"),
        o = i("YEtG")("species");
     t.exports = function (t) {
        var e;
        return r(t) && ("function" != typeof (e = t.constructor) || e !== Array && !r(e.prototype) || (e = void 0), n(e) && null === (e = e[o]) && (e = void 0)), void 0 === e ? Array : e
     }
  },
  "uc+e": function (t, e, i) {
     i("xdw4")("observable")
  },
  uqxK: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = n.key,
        a = n.set;
     n.exp({
        defineMetadata: function (t, e, i, n) {
           a(t, e, r(i), o(n))
        }
     })
  },
  uuf2: function (t, e, i) {
     var n = i("Gb1H"),
        r = Math.exp;
     n(n.S, "Math", {
        cosh: function (t) {
           return (r(t = +t) + r(-t)) / 2
        }
     })
  },
  ux7t: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("x79X"),
        a = i("vMqJ"),
        s = i("8ZqG"),
        u = i("tjMS"),
        l = i("v9UT"),
        h = i("0FpR"),
        c = i("Qkdp"),
        p = i("Mtpk"),
        d = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.adapter = new o.a(e), e.transitionDuration = 0, e.transitionEasing = h.cubicOut, e.properties = {}, e.propertyFields = {}, e.filters = new a.b, e.isTemplate = !1, e.className = "SpriteState", e._disposers.push(new a.c(e.filters)), e.adapter.events.on("inserted", function (t) {
                 e[t.newValue.key] = e[t.newValue.key]
              }, void 0, !1), e.adapter.events.on("removed", function (t) {
                 e[t.newValue.key] = e[t.newValue.key]
              }, void 0, !1), e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.getPropertyValue = function (t) {
              var e = this.properties[t],
                 i = this.sprite;
              if (i) {
                 var n = this.propertyFields[t];
                 if (p.hasValue(n) && i.dataItem && (e = i.dataItem.dataContext[n]), p.hasValue(e)) e = this.adapter.apply(t, e);
                 else {
                    var r = i.getPropertyValue(t);
                    (e = this.adapter.apply(t, i.getPropertyValue(t))) == r && (e = void 0)
                 }
              }
              return e
           }, e.prototype.copyFrom = function (t) {
              t && t != this && (this.transitionDuration = t.transitionDuration, this.transitionEasing = t.transitionEasing, l.copyProperties(t.properties, this.properties), l.copyProperties(t.propertyFields, this.propertyFields), this.filters.copyFrom(t.filters), this.adapter.copyFrom(t.adapter))
           }, Object.defineProperty(e.prototype, "allValues", {
              get: function () {
                 var t = this,
                    e = {};
                 c.each(this.properties, function (i, n) {
                    e[i] = t.getPropertyValue(i)
                 });
                 var i = this.adapter.keys();
                 c.each(i, function (i, n) {
                    var r = t.getPropertyValue(n);
                    e[n] = r
                 });
                 var n = this.propertyFields;
                 return c.each(n, function (i) {
                    var n = t.getPropertyValue(i);
                    e[i] = n
                 }), e
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.reset = function () {
              this.properties = {}, this.filters.clear()
           }, e.prototype.processConfig = function (e) {
              p.hasValue(e) && p.hasValue(e.properties) && c.each(e.properties, function (t, i) {
                 p.isString(i) && (i.match(/^[0-9.\-]+\%$/) ? e.properties[t] = Object(u.c)(p.toNumber(i)) : i.match(/^\#[0-9abcdef]{3,}$/i) && (e.properties[t] = Object(s.e)(i)))
              }), t.prototype.processConfig.call(this, e)
           }, e
        }(r.a)
  },
  v9UT: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.copyProperties = function (t, e) {
        return u.each(t, function (t, i) {
           o.hasValue(i) && (e[t] = i)
        }), e
     }, e.softCopyProperties = function (t, e) {
        return u.each(t, function (t, i) {
           o.hasValue(i) && !o.hasValue(e[t]) && (e[t] = i)
        }), e
     }, e.copy = function (t, e) {
        return u.each(t, function (t, i) {
           e[t] = i
        }), e
     }, e.isNotEmpty = function (t) {
        return o.hasValue(t) && "" !== t.toString()
     }, e.relativeToValue = function (t, e) {
        return o.isNumber(t) ? t : null != t && o.isNumber(t.value) && o.isNumber(e) ? e * t.value : 0
     }, e.relativeRadiusToValue = function (t, e, i) {
        var n;
        o.isNumber(t) ? (n = t) < 0 && (n = i ? e + n : e - n) : null != t && o.isNumber(t.value) && (n = e * t.value);
        return n
     }, e.valueToRelative = function (t, e) {
        return t instanceof n.a ? t.value : t / e
     }, e.getPixelRatio = function () {
        return window.devicePixelRatio || 1
     }, e.camelToDashed = function (t) {
        return t.replace(/\W+/g, "-").replace(/([a-z\d])([A-Z])/g, "$1-$2").toLowerCase()
     }, e.capitalize = function (t) {
        var e = t.split("");
        return e[0] = e[0].toUpperCase(), e.join("")
     }, e.stringify = function (t) {
        return JSON.stringify(t)
     }, e.escapeForRgex = function (t) {
        return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
     }, e.splitTextByCharCount = h, e.truncateWithEllipsis = function (t, e, i, n, r) {
        if (t.length <= e) return t;
        (e -= i.length) < 1 && (e = 1);
        return (h(t, e, n, r)[0] || "") + i
     }, e.trim = function (t) {
        return t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
     }, e.rtrim = function (t) {
        return t.replace(/[\s\uFEFF\xA0]+$/g, "")
     }, e.ltrim = function (t) {
        return t.replace(/^[\s\uFEFF\xA0]+/g, "")
     }, e.reverseString = c, e.unquote = function (t) {
        var e = t.trim();
        (e = t.replace(/^'(.*)'$/, "$1")) == t && (e = t.replace(/^"(.*)"$/, "$1"));
        return e
     }, e.padString = function (t, e, i) {
        void 0 === e && (e = 0);
        void 0 === i && (i = "0");
        "string" != typeof t && (t = t.toString());
        return e > t.length ? Array(e - t.length + 1).join(i) + t : t
     }, e.getFormat = function (t) {
        if (void 0 === t) return s.g;
        var e = (t = (t = (t = t.toLowerCase().replace(/^\[[^\]]*\]/, "")).replace(/\[[^\]]+\]/, "")).trim()).match(/\/(date|number|duration)$/);
        if (e) return e[1];
        if (t === s.c) return s.c;
        if (t === s.a) return s.a;
        if (t === s.b) return s.b;
        if (t.match(/[#0]/)) return s.c;
        if (t.match(/[ymwdhnsqaxkzgtei]/)) return s.a;
        return s.g
     }, e.cleanFormat = function (t) {
        return t.replace(/\/(date|number|duration)$/i, "")
     }, e.stripTags = p, e.plainText = function (t) {
        return t ? p(t.replace(/[\n\r]+/g, ". ")) : t
     }, e.numberToString = function (t) {
        if (o.isNaN(t)) return "NaN";
        if (t === 1 / 0) return "Infinity";
        if (t === -1 / 0) return "-Infinity";
        if (0 === t && 1 / t == -1 / 0) return "-0";
        var e = t < 0;
        t = Math.abs(t);
        var i, n = o.getValue(/^([0-9]+)(?:\.([0-9]+))?(?:e[\+\-]([0-9]+))?$/.exec("" + t)),
           r = n[1],
           s = n[2] || "";
        if (null == n[3]) i = "" === s ? r : r + "." + s;
        else {
           var u = +n[3];
           if (t < 1) {
              var l = u - 1;
              i = "0." + a.repeat("0", l) + r + s
           } else {
              var l = u - s.length;
              i = 0 === l ? r + s : l < 0 ? r + s.slice(0, l) + "." + s.slice(l) : r + s + a.repeat("0", l)
           }
        }
        return e ? "-" + i : i
     }, e.anyToDate = function (t) {
        if (o.isDate(t)) return new Date(t);
        if (o.isNumber(t)) return new Date(t);
        var e = Number(t);
        return o.isNumber(e) ? new Date(e) : new Date(t)
     }, e.anyToNumber = function (t) {
        if (o.isDate(t)) return t.getTime();
        if (o.isNumber(t)) return t;
        if (o.isString(t)) {
           var e = Number(t);
           return o.isNumber(e) ? e : void 0
        }
     }, e.getYearDay = d, e.getWeek = f, e.getMonthWeek = function (t, e) {
        void 0 === e && (e = !1);
        var i = f(new Date(t.getFullYear(), t.getMonth(), 1), e),
           n = f(t, e);
        1 == n && (n = 53);
        return n - i + 1
     }, e.getDayFromWeek = function (t, e, i, n) {
        void 0 === i && (i = 1);
        void 0 === n && (n = !1);
        var r = new Date(e, 0, 4, 0, 0, 0, 0);
        n && r.setUTCFullYear(e);
        return 7 * t + i - ((r.getDay() || 7) + 3)
     }, e.get12Hours = function (t, e) {
        t > 12 ? t -= 12 : 0 === t && (t = 12);
        return o.hasValue(e) ? t + (e - 1) : t
     }, e.getTimeZone = function (t, e, i, n) {
        void 0 === e && (e = !1);
        void 0 === i && (i = !1);
        void 0 === n && (n = !1);
        if (n) return e ? "Coordinated Universal Time" : "UTC";
        var r = t.toLocaleString("UTC"),
           o = t.toLocaleString("UTC", {
              timeZoneName: e ? "long" : "short"
           }).substr(r.length);
        !1 === i && (o = o.replace(/ (standard|daylight|summer|winter) /i, " "));
        return o
     }, e.random = function (t, e) {
        return Math.floor(Math.random() * e) + t
     }, e.fitNumber = function (t, e, i) {
        if (t > i) return i;
        if (t < e) return e;
        return t
     }, e.fitNumberRelative = function (t, e, i) {
        var n = i - e;
        t > i ? t = e + (t - n * Math.floor(t / n)) : t < e && (t = e + (t - n * Math.floor(t / n)));
        return t
     }, e.svgPointToSprite = g, e.spritePointToSvg = y, e.spritePointToSprite = function (t, e, i) {
        return g(y(t, e), i)
     }, e.svgRectToSprite = function (t, e) {
        var i = g(t, e),
           n = g({
              x: t.x + t.width,
              y: t.y + t.height
           }, e);
        return {
           x: i.x,
           y: i.y,
           width: n.x - i.x,
           height: n.y - i.y
        }
     }, e.spriteRectToSvg = function (t, e) {
        var i = y(t, e),
           n = y({
              x: t.x + t.width,
              y: t.y + t.height
           }, e);
        return {
           x: i.x,
           y: i.y,
           width: n.x - i.x,
           height: n.y - i.y
        }
     }, e.documentPointToSvg = m, e.svgPointToDocument = b, e.documentPointToSprite = function (t, e) {
        if (e) {
           var i = m(t, o.getValue(e.htmlContainer), e.svgContainer.cssScale);
           return g(i, e)
        }
        return t
     }, e.spritePointToDocument = function (t, e) {
        if (e) {
           var i = y(t, e);
           return b(i, o.getValue(e.htmlContainer))
        }
        return t
     }, e.width = function (t) {
        return t.clientWidth
     }, e.height = function (t) {
        return t.clientHeight
     }, e.decimalPlaces = function (t) {
        var e = ("" + t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
        if (!e) return 0;
        return Math.max(0, (e[1] ? e[1].length : 0) - (e[2] ? +e[2] : 0))
     }, e.parseUrl = _, e.serializeUrl = x, e.joinUrl = function (t, e) {
        var i = _(t),
           n = _(e);
        if (P(i)) throw new Error("Left URL is not absolute");
        if (P(n)) {
           if ("" !== n.path)
              if ("/" === n.path[0]) i.path = n.path;
              else {
                 var r = i.path.split(/\//),
                    o = n.path.split(/\//);
                 if (0 === r.length ? 0 !== o.length && r.push("") : r.length > 1 && r.pop(), l.pushAll(r, o), i.path = r.join("/"), "" !== i.path && "/" !== i.path[0]) throw new Error("URL path must start with /")
              } return i.query = n.query, i.hash = n.hash, x(i)
        }
        return x(n)
     };
     var n = i("tjMS"),
        r = i("Gg2j"),
        o = i("Mtpk"),
        a = i("wUYf"),
        s = i("ScGY"),
        u = i("Qkdp"),
        l = i("hJ5i");

     function h(t, e, i, n) {
        if (t.length <= e) return [t];
        var r = [];
        if (i)
           for (var o = -1, a = t.replace(/([,;:!?\\\/\.\s]+)/g, s.d + "$1" + s.d).split(s.d), u = 0; u < a.length; u++) {
              var l = a[u],
                 h = l.length;
              if (0 !== h) {
                 var p;
                 if (h > e) {
                    if (n && (l = c(l)), p = l.match(new RegExp(".{1," + e + "}", "g"))) {
                       if (n)
                          for (var d = 0; d < p.length; d++) p[d] = c(p[d]);
                       r = r.concat(p)
                    }
                 } else -1 === o && (r.push(""), o = 0), r[o].length + h + 1 > e && "" !== r[o] && (r.push(""), o++), r[o] += l;
                 o = r.length - 1
              }
           } else if (p = t.match(new RegExp(".{1," + e + "}", "g"))) {
              if (n)
                 for (d = 0; d < p.length; d++) p[d] = c(p[d]);
              r = p
           } return 1 == r.length && i && r[0].length > e && (r = []), r
     }

     function c(t) {
        return t.split("").reverse().join("")
     }

     function p(t) {
        return t ? t.replace(/<[^>]*>/g, "") : t
     }

     function d(t, e) {
        void 0 === e && (e = !1);
        var i = new Date(t.getFullYear(), 0, 1, 0, 0, 0, 0);
        return Math.floor((t.getTime() - i.getTime()) / 864e5) + 1
     }

     function f(t, e) {
        void 0 === e && (e = !1);
        var i = d(t, e) - 1,
           n = Math.floor((i - (t.getDay() || 7) + 10) / 7);
        return 0 === n ? n = 53 : 53 === n && (n = 1), n
     }

     function g(t, e) {
        var i = t.x,
           n = t.y,
           a = [];
        if (e) {
           for (; o.hasValue(e.parent);) a.push(e), e = e.parent;
           a.reverse();
           for (var s = 0; s < a.length; s++) {
              var u = a[s],
                 l = u.rotation,
                 h = i - u.pixelX - u.ex,
                 c = n - u.pixelY - u.ey;
              u.dx && (i -= u.dx), u.dy && (n -= u.dy), i = (r.cos(-l) * h - r.sin(-l) * c) / u.scale - u.pixelPaddingLeft, n = (r.cos(-l) * c + r.sin(-l) * h) / u.scale - u.pixelPaddingTop
           }
        }
        return {
           x: i,
           y: n
        }
     }

     function y(t, e) {
        var i = t.x,
           n = t.y;
        if (e)
           for (; o.hasValue(e.parent);) {
              var a = e.rotation;
              i += e.pixelPaddingLeft + e.ex, n += e.pixelPaddingTop + e.ey, e.dx && (i += e.dx), e.dy && (n += e.dy);
              var s = e.pixelX + (i * r.cos(a) - n * r.sin(a)) * e.scale,
                 u = e.pixelY + (i * r.sin(a) + n * r.cos(a)) * e.scale;
              i = s, n = u, e = e.parent
           }
        return {
           x: i,
           y: n
        }
     }

     function m(t, e, i) {
        var n = e.getBoundingClientRect();
        return o.isNumber(i) || (i = 1), {
           x: (t.x - n.left) / i,
           y: (t.y - n.top) / i
        }
     }

     function b(t, e) {
        var i = e.getBoundingClientRect();
        return {
           x: t.x + i.left,
           y: t.y + i.top
        }
     }
     var v = /^([a-zA-Z][a-zA-Z0-9\+\.\-]*:)?(?:(\/\/)([^\@]+\@)?([^\/\?\#\:]*)(\:[0-9]+)?)?([^\?\#]*)(\?[^\#]*)?(\#.*)?$/;

     function _(t) {
        var e = v.exec(t);
        return {
           protocol: e && e[1] || "",
           separator: e && e[2] || "",
           authority: e && e[3] || "",
           domain: e && e[4] || "",
           port: e && e[5] || "",
           path: e && e[6] || "",
           query: e && e[7] || "",
           hash: e && e[8] || ""
        }
     }

     function x(t) {
        return t.protocol + t.separator + t.authority + t.domain + t.port + t.path + t.query + t.hash
     }

     function P(t) {
        return "" === t.protocol && "" === t.separator && "" === t.authority && "" === t.domain && "" === t.port
     }
  },
  vDrc: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("vJiZ"),
        o = i("DbOM"),
        a = i("hjwn");
     i("gD3S") && n(n.P + i("3/+B"), "Object", {
        __defineGetter__: function (t, e) {
           a.f(r(this), t, {
              get: o(e),
              enumerable: !0,
              configurable: !0
           })
        }
     })
  },
  vFXE: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("T9LF"),
        o = i("G5U1"),
        a = i("RzG0")(),
        s = i("YEtG")("observable"),
        u = i("DbOM"),
        l = i("snR7"),
        h = i("ypVE"),
        c = i("cA+3"),
        p = i("Vng0"),
        d = i("hpnp"),
        f = d.RETURN,
        g = function (t) {
           return null == t ? void 0 : u(t)
        },
        y = function (t) {
           var e = t._c;
           e && (t._c = void 0, e())
        },
        m = function (t) {
           return void 0 === t._o
        },
        b = function (t) {
           m(t) || (t._o = void 0, y(t))
        },
        v = function (t, e) {
           l(t), this._c = void 0, this._o = t, t = new _(this);
           try {
              var i = e(t),
                 n = i;
              null != i && ("function" == typeof i.unsubscribe ? i = function () {
                 n.unsubscribe()
              } : u(i), this._c = i)
           } catch (e) {
              return void t.error(e)
           }
           m(this) && y(this)
        };
     v.prototype = c({}, {
        unsubscribe: function () {
           b(this)
        }
     });
     var _ = function (t) {
        this._s = t
     };
     _.prototype = c({}, {
        next: function (t) {
           var e = this._s;
           if (!m(e)) {
              var i = e._o;
              try {
                 var n = g(i.next);
                 if (n) return n.call(i, t)
              } catch (t) {
                 try {
                    b(e)
                 } finally {
                    throw t
                 }
              }
           }
        },
        error: function (t) {
           var e = this._s;
           if (m(e)) throw t;
           var i = e._o;
           e._o = void 0;
           try {
              var n = g(i.error);
              if (!n) throw t;
              t = n.call(i, t)
           } catch (t) {
              try {
                 y(e)
              } finally {
                 throw t
              }
           }
           return y(e), t
        },
        complete: function (t) {
           var e = this._s;
           if (!m(e)) {
              var i = e._o;
              e._o = void 0;
              try {
                 var n = g(i.complete);
                 t = n ? n.call(i, t) : void 0
              } catch (t) {
                 try {
                    y(e)
                 } finally {
                    throw t
                 }
              }
              return y(e), t
           }
        }
     });
     var x = function (t) {
        h(this, x, "Observable", "_f")._f = u(t)
     };
     c(x.prototype, {
        subscribe: function (t) {
           return new v(t, this._f)
        },
        forEach: function (t) {
           var e = this;
           return new(o.Promise || r.Promise)(function (i, n) {
              u(t);
              var r = e.subscribe({
                 next: function (e) {
                    try {
                       return t(e)
                    } catch (t) {
                       n(t), r.unsubscribe()
                    }
                 },
                 error: n,
                 complete: i
              })
           })
        }
     }), c(x, {
        from: function (t) {
           var e = "function" == typeof this ? this : x,
              i = g(l(t)[s]);
           if (i) {
              var n = l(i.call(t));
              return n.constructor === e ? n : new e(function (t) {
                 return n.subscribe(t)
              })
           }
           return new e(function (e) {
              var i = !1;
              return a(function () {
                    if (!i) {
                       try {
                          if (d(t, !1, function (t) {
                                if (e.next(t), i) return f
                             }) === f) return
                       } catch (t) {
                          if (i) throw t;
                          return void e.error(t)
                       }
                       e.complete()
                    }
                 }),
                 function () {
                    i = !0
                 }
           })
        },
        of: function () {
           for (var t = 0, e = arguments.length, i = new Array(e); t < e;) i[t] = arguments[t++];
           return new("function" == typeof this ? this : x)(function (t) {
              var e = !1;
              return a(function () {
                    if (!e) {
                       for (var n = 0; n < i.length; ++n)
                          if (t.next(i[n]), e) return;
                       t.complete()
                    }
                 }),
                 function () {
                    e = !0
                 }
           })
        }
     }), p(x.prototype, s, function () {
        return this
     }), n(n.G, {
        Observable: x
     }), i("vdWU")("Observable")
  },
  vGbf: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("C6dT"),
        o = i("MIZb"),
        a = i("Inf5"),
        s = i("p9TX"),
        u = i("aCit"),
        l = i("tjMS"),
        h = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "Preloader", e.width = Object(l.c)(100), e.height = Object(l.c)(100);
              var i = new o.a,
                 n = e.createChild(r.a);
              n.shouldClone = !1;
              var u = n.createChild(a.a);
              u.shouldClone = !1, u.radius = 53, u.arc = 360, u.fill = i.getFor("fill"), u.fillOpacity = .8, u.innerRadius = 42, u.isMeasured = !1, e.backgroundSlice = u;
              var h = n.createChild(a.a);
              h.shouldClone = !1, h.radius = 50, h.innerRadius = 45, h.fill = i.getFor("alternativeBackground"), h.fillOpacity = .2, h.isMeasured = !1, e.progressSlice = h;
              var c = n.createChild(s.a);
              return c.shouldClone = !1, c.horizontalCenter = "middle", c.verticalCenter = "middle", c.isMeasured = !1, c.fill = i.getFor("text"), c.align = "center", c.valign = "middle", c.fillOpacity = .4, e.label = c, e.background.opacity = 1, e.background.fill = i.getFor("background"), e.contentAlign = "center", e.contentValign = "middle", e.delay = 500, e.states.create("hidden").properties.opacity = 0, e.visible = !1, e.hide(0), e.__disabled = !0, e._disposers.push(e.backgroundSlice), e._disposers.push(e.progressSlice), e._disposers.push(e.label), e._disposers.push(n), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "progress", {
              get: function () {
                 return this.getPropertyValue("progress")
              },
              set: function (t) {
                 var e = this;
                 this.__disabled = !1, this.setPropertyValue("progress", t), this.progressSlice.arc = 360 * t, this.label && (this.label.text = Math.round(100 * t) + "%"), t >= 1 ? (this._started && (this._started = void 0), u.b.events.once("enterframe", function () {
                    var t = e.hide();
                    t && !t.isFinished() ? t.events.once("animationended", function () {
                       e.__disabled = !0
                    }) : e.__disabled = !0
                 }), this.interactionsEnabled = !1, this.setPropertyValue("progress", 0)) : t > 0 && (this.delay ? this._started ? this._started + this.delay >= (new Date).getTime() && (this.__disabled = !1, this.show(), this.interactionsEnabled = !0) : this._started = (new Date).getTime() : (this.__disabled = !1, this.show(), this.interactionsEnabled = !0))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "delay", {
              get: function () {
                 return this.getPropertyValue("delay")
              },
              set: function (t) {
                 this.setPropertyValue("delay", t)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  vH9k: function (t, e, i) {
     i("YJIw")("Int32", 4, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  vJiZ: function (t, e, i) {
     var n = i("kcsd");
     t.exports = function (t) {
        return Object(n(t))
     }
  },
  vMqJ: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     }), i.d(e, "d", function () {
        return l
     }), i.d(e, "c", function () {
        return h
     }), i.d(e, "b", function () {
        return p
     }), i.d(e, "e", function () {
        return d
     });
     var n = i("m4/l"),
        r = i("hD5A"),
        o = i("o0Lc"),
        a = i("hJ5i"),
        s = i("Wglt"),
        u = function () {
           function t(t, e, i) {
              this._array = t, this._start = e, this._end = i
           }
           return t.prototype.iterator = function () {
              var t = this;
              return function (e) {
                 if (t._start !== t._end)
                    if (t._start < t._end)
                       for (var i = t._start; i < t._end && e(t._array[i]); ++i);
                    else
                       for (i = t._start - 1; i >= t._end && e(t._array[i]); --i);
              }
           }, t.prototype.backwards = function () {
              return new t(this._array, this._end, this._start)
           }, t.prototype.range = function (e, i) {
              if (e <= i) {
                 if (this._start === this._end) return this;
                 if (this._start < this._end) {
                    var n = i - e;
                    return e = Math.max(this._start + e, this._start), i = Math.min(e + n, this._end), new t(this._array, e, i)
                 }
                 n = i - e;
                 return e = Math.max(this._start - e, this._end), i = Math.max(e - n, this._end), new t(this._array, e, i)
              }
              throw new Error("Start index must be lower than end index")
           }, t
        }(),
        l = function (t) {
           function e(e, i, n) {
              var r = t.call(this, [e.events.on("inserted", function (t) {
                 var i = t.newValue,
                    n = r._getKey(i),
                    o = 0;
                 s.eachContinue(e.iterator(), function (t) {
                    return t !== i && (r._getKey(t) === n && ++o, !0)
                 }), r._insert(i, n, o)
              }, void 0, !1), e.events.on("removed", function (t) {
                 r._remove(t.oldValue)
              }, void 0, !1)]) || this;
              return r._keys = [], r._groups = {}, r._getKey = i, r._sort = n, s.each(e.iterator(), function (t) {
                 r._insert(t, i(t))
              }), r
           }
           return n.c(e, t), e.prototype._insert = function (t, e, i) {
              if (null == this._groups[e]) {
                 this._groups[e] = [];
                 var n = a.getSortedIndex(this._keys, this._sort, e),
                    r = n.found,
                    o = n.index;
                 if (r) throw new Error("Key already exists: " + e);
                 a.insertIndex(this._keys, o, e)
              }
              null == i ? this._groups[e].push(t) : a.insertIndex(this._groups[e], i, t)
           }, e.prototype._remove = function (t) {
              var e = this._getKey(t),
                 i = this._groups[e];
              if (null != i && (a.remove(i, t), 0 === i.length)) {
                 delete this._groups[e];
                 var n = a.getSortedIndex(this._keys, this._sort, e),
                    r = n.found,
                    o = n.index;
                 if (!r) throw new Error("Key doesn't exist: " + e);
                 a.removeIndex(this._keys, o)
              }
           }, e.prototype.iterator = function () {
              var t = this;
              return s.flatten(s.map(s.fromArray(this._keys), function (e) {
                 return s.fromArray(t._groups[e])
              }))
           }, e
        }(r.c),
        h = function (t) {
           function e(e) {
              var i = e.events.on("removed", function (t) {
                 t.oldValue.dispose()
              }, void 0, !1);
              return t.call(this, function () {
                 i.dispose(), s.each(e.iterator(), function (t) {
                    t.dispose()
                 })
              }) || this
           }
           return n.c(e, t), e
        }(r.b);

     function c(t, e) {
        if (!(t >= 0 && t < e)) throw new Error("Index out of bounds: " + t)
     }
     var p = function () {
           function t(t) {
              void 0 === t && (t = []), this.events = new o.a, this._values = t
           }
           return Object.defineProperty(t.prototype, "values", {
              get: function () {
                 return this._values
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.contains = function (t) {
              return -1 !== this._values.indexOf(t)
           }, t.prototype.removeValue = function (t) {
              for (var e = 0, i = this._values.length; e < i;) this._values[e] === t ? (this.removeIndex(e), --i) : ++e
           }, t.prototype.indexOf = function (t) {
              return a.indexOf(this._values, t)
           }, Object.defineProperty(t.prototype, "length", {
              get: function () {
                 return this._values.length
              },
              enumerable: !0,
              configurable: !0
           }), t.prototype.hasIndex = function (t) {
              return t >= 0 && t < this._values.length
           }, t.prototype.getIndex = function (t) {
              return this._values[t]
           }, t.prototype.setIndex = function (t, e) {
              c(t, this._values.length);
              var i = this._values[t];
              return i !== e && (this._values[t] = e, this.events.isEnabled("setIndex") && this.events.dispatchImmediately("setIndex", {
                 type: "setIndex",
                 target: this,
                 index: t,
                 oldValue: i,
                 newValue: e
              }), this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
                 type: "removed",
                 target: this,
                 oldValue: i
              }), this.events.isEnabled("inserted") && this.events.dispatchImmediately("inserted", {
                 type: "inserted",
                 target: this,
                 newValue: e
              })), i
           }, t.prototype.insertIndex = function (t, e) {
              c(t, this._values.length + 1), a.insertIndex(this._values, t, e), this.events.isEnabled("insertIndex") && this.events.dispatchImmediately("insertIndex", {
                 type: "insertIndex",
                 target: this,
                 index: t,
                 newValue: e
              }), this.events.isEnabled("inserted") && this.events.dispatchImmediately("inserted", {
                 type: "inserted",
                 target: this,
                 newValue: e
              })
           }, t.prototype._sortQuicksort = function (t, e, i) {
              if (t < e) {
                 var n = this._sortPartition(t, e, i);
                 this._sortQuicksort(t, n, i), this._sortQuicksort(n + 1, e, i)
              }
           }, t.prototype._sortPartition = function (t, e, i) {
              for (var n = this._values, r = n[t], o = t - 1, a = e + 1;;) {
                 do {
                    ++o
                 } while (i(n[o], r) < 0);
                 do {
                    --a
                 } while (i(n[a], r) > 0);
                 if (o >= a) return a;
                 this.swap(o, a)
              }
           }, t.prototype.sort = function (t) {
              this._sortQuicksort(0, this._values.length - 1, t)
           }, t.prototype.swap = function (t, e) {
              var i = this._values.length;
              if (c(t, i), c(e, i), t !== e) {
                 var n = this._values[t],
                    r = this._values[e];
                 this._values[t] = r, this.events.isEnabled("setIndex") && this.events.dispatchImmediately("setIndex", {
                    type: "setIndex",
                    target: this,
                    index: t,
                    oldValue: n,
                    newValue: r
                 }), this._values[e] = n, this.events.isEnabled("setIndex") && this.events.dispatchImmediately("setIndex", {
                    type: "setIndex",
                    target: this,
                    index: e,
                    oldValue: r,
                    newValue: n
                 })
              }
           }, t.prototype.removeIndex = function (t) {
              c(t, this._values.length);
              var e = this._values[t];
              return a.removeIndex(this._values, t), this.events.isEnabled("removeIndex") && this.events.dispatchImmediately("removeIndex", {
                 type: "removeIndex",
                 target: this,
                 index: t,
                 oldValue: e
              }), this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
                 type: "removed",
                 target: this,
                 oldValue: e
              }), e
           }, t.prototype.moveValue = function (t, e) {
              var i = this.indexOf(t);
              if (-1 !== i) {
                 var n = this._values[i];
                 a.removeIndex(this._values, i), this.events.isEnabled("removeIndex") && this.events.dispatchImmediately("removeIndex", {
                    type: "removeIndex",
                    target: this,
                    index: i,
                    oldValue: n
                 })
              }
              null == e ? (e = this._values.length, this._values.push(t)) : a.insertIndex(this._values, e, t), this.events.isEnabled("insertIndex") && this.events.dispatchImmediately("insertIndex", {
                 type: "insertIndex",
                 target: this,
                 index: e,
                 newValue: t
              }), -1 === i && this.events.isEnabled("inserted") && this.events.dispatchImmediately("inserted", {
                 type: "inserted",
                 target: this,
                 newValue: t
              })
           }, t.prototype.push = function (t) {
              var e = this._values.push(t) - 1;
              return this.events.isEnabled("insertIndex") && this.events.dispatchImmediately("insertIndex", {
                 type: "insertIndex",
                 target: this,
                 index: e,
                 newValue: t
              }), this.events.isEnabled("inserted") && this.events.dispatchImmediately("inserted", {
                 type: "inserted",
                 target: this,
                 newValue: t
              }), t
           }, t.prototype.unshift = function (t) {
              return this.insertIndex(0, t)
           }, t.prototype.pushAll = function (t) {
              var e = this;
              a.each(t, function (t) {
                 e.push(t)
              })
           }, t.prototype.copyFrom = function (t) {
              this.pushAll(t._values)
           }, t.prototype.pop = function () {
              return this._values.length - 1 < 0 ? void 0 : this.removeIndex(this._values.length - 1)
           }, t.prototype.shift = function () {
              return this._values.length ? this.removeIndex(0) : void 0
           }, t.prototype.setAll = function (t) {
              var e = this,
                 i = a.copy(this._values);
              this._values.length = 0, a.each(t, function (t) {
                 e._values.push(t)
              }), this.events.isEnabled("setAll") && this.events.dispatchImmediately("setAll", {
                 type: "setAll",
                 target: this,
                 oldArray: i,
                 newArray: this._values
              }), this.events.isEnabled("removed") && a.each(i, function (t) {
                 e.events.dispatchImmediately("removed", {
                    type: "removed",
                    target: e,
                    oldValue: t
                 })
              }), this.events.isEnabled("inserted") && a.each(this._values, function (t) {
                 e.events.dispatchImmediately("inserted", {
                    type: "inserted",
                    target: e,
                    newValue: t
                 })
              })
           }, t.prototype.clear = function () {
              this.setAll([])
           }, t.prototype.iterator = function () {
              return s.fromArray(this._values)
           }, t.prototype[Symbol.iterator] = function () {
              var t, e;
              return n.d(this, function (i) {
                 switch (i.label) {
                    case 0:
                       t = this._values.length, e = 0, i.label = 1;
                    case 1:
                       return e < t ? [4, this._values[e]] : [3, 4];
                    case 2:
                       i.sent(), i.label = 3;
                    case 3:
                       return ++e, [3, 1];
                    case 4:
                       return [2]
                 }
              })
           }, t.prototype.each = function (t) {
              a.each(this._values, t)
           }, t.prototype.range = function (t, e) {
              if (t <= e) {
                 var i = e - t;
                 return t = Math.max(t, 0), e = Math.min(t + i, this._values.length), new u(this._values, t, e)
              }
              throw new Error("Start index must be lower than end index")
           }, t.prototype.backwards = function () {
              return new u(this._values, this._values.length, 0)
           }, t
        }(),
        d = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i.template = e, i
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "template", {
              get: function () {
                 return this._template
              },
              set: function (t) {
                 t.isTemplate = !0, this._template = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (t) {
              var e = this;
              s.each(t.iterator(), function (t) {
                 e.push(t.clone())
              })
           }, e.prototype.create = function (t) {
              var e = null != t ? new t : this.template.clone();
              return this.push(e), e
           }, e.prototype.clone = function () {
              for (var t = new e(this.template), i = this.values, n = i.length, r = 0; r < n; ++r) t.push(i[r].clone());
              return t
           }, e
        }(p)
  },
  vSjZ: function (t, e, i) {
     var n = i("T9LF").navigator;
     t.exports = n && n.userAgent || ""
  },
  vaBr: function (t, e, i) {
     "use strict";
     var n = i("0YcW"),
        r = i("rFJX");
     i("/Xnt")("WeakSet", function (t) {
        return function () {
           return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
     }, {
        add: function (t) {
           return n.def(r(this, "WeakSet"), t, !0)
        }
     }, n, !1, !0)
  },
  vbOF: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return h
     });
     var n = i("m4/l"),
        r = i("YotE"),
        o = i("Tjl+"),
        a = i("vMqJ"),
        s = i("+qIf"),
        u = i("zhwk"),
        l = i("Mtpk"),
        h = function (t) {
           function e(e) {
              var i = t.call(this) || this;
              return i.events = new r.a(i), i.eventDisposers = new s.a, i.replacedStyles = new s.a, i._clickable = !1, i._hoverable = !1, i._trackable = !1, i._draggable = !1, i._swipeable = !1, i._resizable = !1, i._wheelable = !1, i._inert = !1, i._isHover = !1, i._isHoverByTouch = !1, i._isDown = !1, i._isFocused = !1, i._inertiaOptions = new s.a, i.inertias = new s.a, i._hitOptions = {}, i._hoverOptions = {}, i._swipeOptions = {}, i._keyboardOptions = {}, i._cursorOptions = {
                 defaultStyle: [{
                    property: "cursor",
                    value: "default"
                 }]
              }, i._element = e, i.className = "InteractionObject", i._disposers.push(new s.b(i.inertias)), i._disposers.push(new s.b(i.eventDisposers)), i.applyTheme(), i
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "isHover", {
              get: function () {
                 return this._isHover
              },
              set: function (t) {
                 this.isHover != t && (this._isHover = t, t ? Object(u.b)().overObjects.moveValue(this) : Object(u.b)().overObjects.removeValue(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isHoverByTouch", {
              get: function () {
                 return this._isHoverByTouch
              },
              set: function (t) {
                 this.isHoverByTouch != t && (this._isHoverByTouch = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "overPointers", {
              get: function () {
                 return this._overPointers || (this._overPointers = new a.b), this._overPointers
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isDown", {
              get: function () {
                 return this._isDown
              },
              set: function (t) {
                 this.isDown != t && (this._isDown = t, t ? Object(u.b)().downObjects.moveValue(this) : Object(u.b)().downObjects.removeValue(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "downPointers", {
              get: function () {
                 return this._downPointers || (this._downPointers = new a.b), this._downPointers
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "isFocused", {
              get: function () {
                 return this._isFocused
              },
              set: function (t) {
                 this.isFocused != t && (this._isFocused = t, Object(u.b)().focusedObject = t ? this : void 0)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "clickable", {
              get: function () {
                 return this._clickable
              },
              set: function (t) {
                 this._clickable !== t && (this._clickable = t, Object(u.b)().processClickable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hoverable", {
              get: function () {
                 return this._hoverable
              },
              set: function (t) {
                 this._hoverable !== t && (this._hoverable = t, Object(u.b)().processHoverable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "trackable", {
              get: function () {
                 return this._trackable
              },
              set: function (t) {
                 this._trackable !== t && (this._trackable = t, Object(u.b)().processTrackable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "draggable", {
              get: function () {
                 return this._draggable
              },
              set: function (t) {
                 this._draggable !== t && (this._draggable = t, Object(u.b)().processDraggable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "swipeable", {
              get: function () {
                 return this._swipeable
              },
              set: function (t) {
                 this._swipeable !== t && (this._swipeable = t, Object(u.b)().processSwipeable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "resizable", {
              get: function () {
                 return this._resizable
              },
              set: function (t) {
                 this._resizable !== t && (this._resizable = t, Object(u.b)().processResizable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "wheelable", {
              get: function () {
                 return this._wheelable
              },
              set: function (t) {
                 this._wheelable !== t && (this._wheelable = t, Object(u.b)().processWheelable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inert", {
              get: function () {
                 return this._inert
              },
              set: function (t) {
                 this._inert !== t && (this._inert = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "focusable", {
              get: function () {
                 return this._focusable
              },
              set: function (t) {
                 this._focusable !== t && (this._focusable = t, this._focusable && -1 == this.tabindex && (this._tabindex = 1), Object(u.b)().processFocusable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tabindex", {
              get: function () {
                 return l.getValueDefault(this._tabindex, -1)
              },
              set: function (t) {
                 this._tabindex !== t && (this._tabindex = t, t > -1 && (this.focusable = !0), Object(u.b)().processFocusable(this))
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "element", {
              get: function () {
                 return this._element
              },
              set: function (t) {
                 this._element = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "originalPosition", {
              get: function () {
                 return this._originalPosition || {
                    x: 0,
                    y: 0
                 }
              },
              set: function (t) {
                 this._originalPosition = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "originalScale", {
              get: function () {
                 return l.getValueDefault(this._originalScale, 1)
              },
              set: function (t) {
                 this._originalScale !== t && (this._originalScale = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "originalAngle", {
              get: function () {
                 return l.getValueDefault(this._originalAngle, 0)
              },
              set: function (t) {
                 this._originalAngle !== t && (this._originalAngle = t)
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "inertiaOptions", {
              get: function () {
                 return this.sprite ? this.sprite.adapter.apply("inertiaOptions", this._inertiaOptions) : this._inertiaOptions
              },
              set: function (t) {
                 this._inertiaOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hitOptions", {
              get: function () {
                 return this.sprite ? this.sprite.adapter.apply("hitOptions", this._hitOptions) : this._hitOptions
              },
              set: function (t) {
                 this._hitOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "hoverOptions", {
              get: function () {
                 return this.sprite ? this.sprite.adapter.apply("hoverOptions", this._hoverOptions) : this._hoverOptions
              },
              set: function (t) {
                 this._hoverOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "swipeOptions", {
              get: function () {
                 return this.sprite ? this.sprite.adapter.apply("swipeOptions", this._swipeOptions) : this._swipeOptions
              },
              set: function (t) {
                 this._swipeOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "keyboardOptions", {
              get: function () {
                 return this.sprite ? this.sprite.adapter.apply("keyboardOptions", this._keyboardOptions) : this._keyboardOptions
              },
              set: function (t) {
                 this._keyboardOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "cursorOptions", {
              get: function () {
                 return this.sprite ? this.sprite.adapter.apply("cursorOptions", this._cursorOptions) : this._cursorOptions
              },
              set: function (t) {
                 this._cursorOptions = t
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.copyFrom = function (e) {
              t.prototype.copyFrom.call(this, e), this.inertiaOptions = e.inertiaOptions, this.hitOptions = e.hitOptions, this.hoverOptions = e.hoverOptions, this.swipeOptions = e.swipeOptions, this.keyboardOptions = e.keyboardOptions, this.cursorOptions = e.cursorOptions, Object(u.b)().applyCursorOverStyle(this)
           }, e.prototype.setEventDisposer = function (t, e, i) {
              var n = this.eventDisposers.getKey(t);
              e ? null == n && this.eventDisposers.setKey(t, i()) : null != n && (n.dispose(), this.eventDisposers.removeKey(t))
           }, e.prototype.dispose = function () {
              t.prototype.dispose.call(this);
              var e = Object(u.b)();
              e.overObjects.removeValue(this), e.downObjects.removeValue(this), e.trackedObjects.removeValue(this), e.transformedObjects.removeValue(this), e.focusedObject === this && (e.focusedObject = void 0)
           }, e
        }(o.b)
  },
  vdWU: function (t, e, i) {
     "use strict";
     var n = i("T9LF"),
        r = i("hjwn"),
        o = i("gD3S"),
        a = i("YEtG")("species");
     t.exports = function (t) {
        var e = n[t];
        o && e && !e[a] && r.f(e, a, {
           configurable: !0,
           get: function () {
              return this
           }
        })
     }
  },
  vsTS: function (t, e, i) {
     var n = i("hjwn"),
        r = i("nHHr"),
        o = i("K0ev"),
        a = i("U3hN"),
        s = i("Gb1H"),
        u = i("Wbjh"),
        l = i("snR7"),
        h = i("DvJ+");
     s(s.S, "Reflect", {
        set: function t(e, i, s) {
           var c, p, d = arguments.length < 4 ? e : arguments[3],
              f = r.f(l(e), i);
           if (!f) {
              if (h(p = o(e))) return t(p, i, s, d);
              f = u(0)
           }
           if (a(f, "value")) {
              if (!1 === f.writable || !h(d)) return !1;
              if (c = r.f(d, i)) {
                 if (c.get || c.set || !1 === c.writable) return !1;
                 c.value = s, n.f(d, i, c)
              } else n.f(d, i, u(0, s));
              return !0
           }
           return void 0 !== f.set && (f.set.call(d, s), !0)
        }
     })
  },
  w1yl: function (t, e, i) {
     var n = i("YEtG")("toPrimitive"),
        r = Date.prototype;
     n in r || i("Vng0")(r, n, i("kJ6f"))
  },
  w4m0: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return s
     });
     var n = i("m4/l"),
        r = i("GtDR"),
        o = i("aFzC"),
        a = i("hGwe"),
        s = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e._twaved = !0, e._rwaved = !0, e._bwaved = !0, e._lwaved = !0, e.className = "WavedRectangle", e.element = e.paper.add("path"), e.waveLength = 16, e.waveHeight = 4, e.tension = .8, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.draw = function () {
              t.prototype.draw.call(this);
              var e = this.pixelWidth,
                 i = this._pixelHeight;
              if (e > 0 && i > 0) {
                 var n = {
                       x: 0,
                       y: 0
                    },
                    r = {
                       x: e,
                       y: 0
                    },
                    s = {
                       x: e,
                       y: i
                    },
                    u = {
                       x: 0,
                       y: i
                    },
                    l = this.waveLength,
                    h = this.waveHeight,
                    c = "",
                    p = "",
                    d = "",
                    f = "";
                 this._twaved && (c = Object(o.c)(n, r, l, h, this.tension, !0)), this._rwaved && (f = Object(o.c)(r, s, l, h, this.tension, !0)), this._bwaved && (d = Object(o.c)(s, u, l, h, this.tension, !0)), this._rwaved && (p = Object(o.c)(u, n, l, h, this.tension, !0)), this.path = a.moveTo(n) + c + a.lineTo(r) + f + a.lineTo(s) + d + a.lineTo(u) + p + "z"
              }
           }, Object.defineProperty(e.prototype, "waveLength", {
              get: function () {
                 return this.getPropertyValue("waveLength")
              },
              set: function (t) {
                 this.setPropertyValue("waveLength", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "waveHeight", {
              get: function () {
                 return this.getPropertyValue("waveHeight")
              },
              set: function (t) {
                 this.setPropertyValue("waveHeight", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e.prototype.setWavedSides = function (t, e, i, n) {
              this._twaved = t, this._lwaved = e, this._bwaved = i, this._rwaved = n
           }, Object.defineProperty(e.prototype, "tension", {
              get: function () {
                 return this.getPropertyValue("tension")
              },
              set: function (t) {
                 this.setPropertyValue("tension", t), this.invalidate()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a)
  },
  wDk4: function (t, e, i) {
     var n = i("T9LF"),
        r = i("Vng0"),
        o = i("U3hN"),
        a = i("7bL/")("src"),
        s = Function.toString,
        u = ("" + s).split("toString");
     i("G5U1").inspectSource = function (t) {
        return s.call(t)
     }, (t.exports = function (t, e, i, s) {
        var l = "function" == typeof i;
        l && (o(i, "name") || r(i, "name", e)), t[e] !== i && (l && (o(i, a) || r(i, a, t[e] ? "" + t[e] : u.join(String(e)))), t === n ? t[e] = i : s ? t[e] ? t[e] = i : r(t, e, i) : (delete t[e], r(t, e, i)))
     })(Function.prototype, "toString", function () {
        return "function" == typeof this && this[a] || s.call(this)
     })
  },
  wUYf: function (t, e, i) {
     "use strict";
     Object.defineProperty(e, "__esModule", {
        value: !0
     }), e.order = function (t, e) {
        return t === e ? 0 : t < e ? -1 : 1
     }, e.repeat = function (t, e) {
        return new Array(e + 1).join(t)
     }, e.random = function (t) {
        for (var e = "", i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", n = 0; n < t; n++) e += i.charAt(Math.floor(Math.random() * i.length));
        return e
     }
  },
  wYgt: function (t, e) {
     t.exports = function (t) {
        try {
           return {
              e: !1,
              v: t()
           }
        } catch (t) {
           return {
              e: !0,
              v: t
           }
        }
     }
  },
  wdkS: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("+6ht"),
        o = i("EhJv"),
        a = i("nHHr"),
        s = i("e8Nv");
     n(n.S, "Object", {
        getOwnPropertyDescriptors: function (t) {
           for (var e, i, n = o(t), u = a.f, l = r(n), h = {}, c = 0; l.length > c;) void 0 !== (i = u(n, e = l[c++])) && s(h, e, i);
           return h
        }
     })
  },
  x2K9: function (t, e, i) {
     "use strict";
     var n = i("snR7");
     t.exports = function () {
        var t = n(this),
           e = "";
        return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.unicode && (e += "u"), t.sticky && (e += "y"), e
     }
  },
  x79X: function (t, e, i) {
     "use strict";
     i.d(e, "b", function () {
        return l
     }), i.d(e, "c", function () {
        return h
     }), i.d(e, "a", function () {
        return c
     });
     var n = i("VGgz"),
        r = i("3Cxr"),
        o = i("MlsF"),
        a = i("Wglt"),
        s = i("hJ5i"),
        u = i("Mtpk"),
        l = function () {
           function t() {
              this._callbackId = 0, this._callbacks = new n.c(function (t, e) {
                 return o.a(r.order(t.priority, e.priority), r.order(t.id, e.id))
              })
           }
           return t.prototype.addAll = function (t, e, i, n, r) {
              void 0 === n && (n = 0), this._callbacks.insert({
                 id: ++this._callbackId,
                 key: e,
                 callback: i,
                 priority: n,
                 scope: r,
                 type: t
              })
           }, t.prototype.isEnabled = function (t, e) {
              return this._callbacks.length > 0
           }, t.prototype.applyAll = function (t, e, i) {
              var n = this._callbacks.values,
                 r = n.length;
              if (0 == r) return i;
              for (var o = 0; o < r; ++o) {
                 var a = n[o];
                 a.key === e && t instanceof a.type && (i = a.callback.call(a.scope, i, t, e))
              }
              return i
           }, t
        }(),
        h = new l,
        c = function () {
           function t(t) {
              this._callbackId = 0, this._callbacks = new n.c(function (t, e) {
                 return o.a(r.order(t.priority, e.priority), r.order(t.id, e.id))
              }), this.object = t, this.events = this._callbacks.events
           }
           return t.prototype.add = function (t, e, i, n) {
              void 0 === i && (i = 0), this._callbacks.insert({
                 id: ++this._callbackId,
                 key: t,
                 callback: e,
                 priority: i,
                 scope: n
              })
           }, t.prototype.has = function (t, e, i, n) {
              return void 0 === i && (i = 0), !1
           }, t.prototype.remove = function (t, e) {
              var i = this;
              s.each(a.toArray(this._callbacks.iterator()), function (n) {
                 n.key !== t || u.isNumber(e) && e !== n.priority || i._callbacks.remove(n)
              })
           }, t.prototype.isEnabled = function (t) {
              return this._callbacks.length > 0 || h.isEnabled(this.object, t)
           }, t.prototype.apply = function (t, e) {
              var i = this._callbacks.values,
                 n = i.length;
              if (n > 0)
                 for (var r = 0; r < n; ++r) {
                    var o = i[r];
                    o.key === t && (e = o.callback.call(o.scope, e, this.object, t))
                 }
              return e = h.applyAll(this.object, t, e)
           }, t.prototype.keys = function () {
              return a.toArray(a.map(this._callbacks.iterator(), function (t) {
                 return t.key
              }))
           }, t.prototype.copyFrom = function (t) {
              var e = this;
              a.each(t._callbacks.iterator(), function (t) {
                 e.add(t.key, t.callback, t.priority, t.scope)
              })
           }, t.prototype.clear = function () {
              this._callbacks.clear()
           }, t
        }()
  },
  xCMl: function (t, e, i) {
     "use strict";
     var n = i("hgv4"),
        r = i("rFJX");
     t.exports = i("/Xnt")("Set", function (t) {
        return function () {
           return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
     }, {
        add: function (t) {
           return n.def(r(this, "Set"), t = 0 === t ? 0 : t, t)
        }
     }, n)
  },
  xDSx: function (t, e, i) {
     var n = i("DvJ+"),
        r = i("kFp5").onFreeze;
     i("5lay")("freeze", function (t) {
        return function (e) {
           return t && n(e) ? t(r(e)) : e
        }
     })
  },
  xEZ5: function (t, e, i) {
     "use strict";
     i("Mvcd")("anchor", function (t) {
        return function (e) {
           return t(this, "a", "name", e)
        }
     })
  },
  xIv9: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return l
     });
     var n = i("m4/l"),
        r = i("aGXA"),
        o = i("Vs7R"),
        a = i("MIZb"),
        s = i("aCit"),
        u = i("hGwe"),
        l = function (t) {
           function e() {
              var e = t.call(this) || this;
              e.className = "ResizeButton", e.orientation = "horizontal", e.layout = "absolute", e.horizontalCenter = "middle", e.verticalCenter = "middle", e.draggable = !0, e.padding(8, 8, 8, 8), e.background.cornerRadius(20, 20, 20, 20);
              var i = new o.a;
              i.element = e.paper.add("path");
              var n = u.moveTo({
                 x: -2,
                 y: -6
              });
              return n += u.lineTo({
                 x: -2,
                 y: 6
              }), n += u.moveTo({
                 x: 2,
                 y: -6
              }), n += u.lineTo({
                 x: 2,
                 y: 6
              }), i.path = n, i.pixelPerfect = !0, i.padding(0, 4, 0, 4), i.stroke = (new a.a).getFor("alternativeText"), i.strokeOpacity = .7, e.icon = i, e.label.dispose(), e.label = void 0, e.applyTheme(), e
           }
           return n.c(e, t), Object.defineProperty(e.prototype, "orientation", {
              set: function (t) {
                 var e = this.icon;
                 e && (e.rotation = "horizontal" == t ? 0 : -90)
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     s.b.registeredClasses.ResizeButton = l
  },
  xSzy: function (t, e, i) {
     for (var n, r = i("T9LF"), o = i("Vng0"), a = i("7bL/"), s = a("typed_array"), u = a("view"), l = !(!r.ArrayBuffer || !r.DataView), h = l, c = 0, p = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); c < 9;)(n = r[p[c++]]) ? (o(n.prototype, s, !0), o(n.prototype, u, !0)) : h = !1;
     t.exports = {
        ABV: l,
        CONSTR: h,
        TYPED: s,
        VIEW: u
     }
  },
  xdw4: function (t, e, i) {
     var n = i("T9LF"),
        r = i("G5U1"),
        o = i("pb4Y"),
        a = i("xxwE"),
        s = i("hjwn").f;
     t.exports = function (t) {
        var e = r.Symbol || (r.Symbol = o ? {} : n.Symbol || {});
        "_" == t.charAt(0) || t in e || s(e, t, {
           value: a.f(t)
        })
     }
  },
  xgTw: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return u
     });
     var n = i("m4/l"),
        r = i("jfaP"),
        o = i("aCit"),
        a = i("Gg2j"),
        s = i("hGwe"),
        u = function (t) {
           function e() {
              var e = t.call(this) || this;
              return e.className = "Polyspline", e.tensionX = .5, e.tensionY = .5, e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.makePath = function () {
              this._distance = 0;
              var t = this.segments,
                 e = this.tensionX,
                 i = this.tensionY;
              if (t && t.length > 0) {
                 var n = "";
                 this._realSegments = [];
                 for (var r = 0, o = t.length; r < o; r++) {
                    var u = t[r],
                       l = [];
                    if (this._realSegments.push(l), u.length > 0) {
                       n += s.moveTo(u[0]);
                       for (var h = 0; h < u.length - 1; h++) {
                          var c = u[h - 1],
                             p = u[h],
                             d = u[h + 1],
                             f = u[h + 2];
                          0 === h ? c = u[h] : h == u.length - 2 && (f = u[h + 1]), f || (f = d);
                          var g = a.getCubicControlPointA(c, p, d, f, e, i),
                             y = a.getCubicControlPointB(c, p, d, f, e, i);
                          n += s.cubicCurveTo(d, g, y);
                          var m = Math.ceil(a.getDistance(p, d)) / 2,
                             b = p;
                          if (m > 0)
                             for (var v = 0; v <= m; v++) {
                                var _ = a.getPointOnCubicCurve(p, d, g, y, v / m);
                                l.push(_), this._distance += a.getDistance(b, _), b = _
                             } else l.push(c)
                       }
                    }
                 }
                 this.path = n
              }
           }, Object.defineProperty(e.prototype, "tensionX", {
              get: function () {
                 return this.getPropertyValue("tensionX")
              },
              set: function (t) {
                 this.setPropertyValue("tensionX", t), this.makePath()
              },
              enumerable: !0,
              configurable: !0
           }), Object.defineProperty(e.prototype, "tensionY", {
              get: function () {
                 return this.getPropertyValue("tensionY")
              },
              set: function (t) {
                 this.setPropertyValue("tensionY", t, !0), this.makePath()
              },
              enumerable: !0,
              configurable: !0
           }), e
        }(r.a);
     o.b.registeredClasses.Polyspline = u
  },
  xwvB: function (t, e, i) {
     "use strict";
     var n = i("Gb1H"),
        r = i("DbOM"),
        o = i("vJiZ"),
        a = i("AEc5"),
        s = [].sort,
        u = [1, 2, 3];
     n(n.P + n.F * (a(function () {
        u.sort(void 0)
     }) || !a(function () {
        u.sort(null)
     }) || !i("GQop")(s)), "Array", {
        sort: function (t) {
           return void 0 === t ? s.call(o(this)) : s.call(o(this), r(t))
        }
     })
  },
  xxwE: function (t, e, i) {
     e.f = i("YEtG")
  },
  y2pX: function (t, e, i) {
     "use strict";
     var n = i("vJiZ"),
        r = i("UwWU"),
        o = i("FmWr");
     t.exports = [].copyWithin || function (t, e) {
        var i = n(this),
           a = o(i.length),
           s = r(t, a),
           u = r(e, a),
           l = arguments.length > 2 ? arguments[2] : void 0,
           h = Math.min((void 0 === l ? a : r(l, a)) - u, a - s),
           c = 1;
        for (u < s && s < u + h && (c = -1, u += h - 1, s += h - 1); h-- > 0;) u in i ? i[s] = i[u] : delete i[s], s += c, u += c;
        return i
     }
  },
  yBbu: function (t, e, i) {
     var n = i("6MWL"),
        r = i("snR7"),
        o = n.keys,
        a = n.key;
     n.exp({
        getOwnMetadataKeys: function (t) {
           return o(r(t), arguments.length < 2 ? void 0 : a(arguments[1]))
        }
     })
  },
  yOPk: function (t, e) {
     t.exports = function (t, e, i) {
        var n = void 0 === i;
        switch (e.length) {
           case 0:
              return n ? t() : t.call(i);
           case 1:
              return n ? t(e[0]) : t.call(i, e[0]);
           case 2:
              return n ? t(e[0], e[1]) : t.call(i, e[0], e[1]);
           case 3:
              return n ? t(e[0], e[1], e[2]) : t.call(i, e[0], e[1], e[2]);
           case 4:
              return n ? t(e[0], e[1], e[2], e[3]) : t.call(i, e[0], e[1], e[2], e[3])
        }
        return t.apply(i, e)
     }
  },
  ybeA: function (t, e, i) {
     var n = i("T9LF"),
        r = i("Gb1H"),
        o = i("vSjZ"),
        a = [].slice,
        s = /MSIE .\./.test(o),
        u = function (t) {
           return function (e, i) {
              var n = arguments.length > 2,
                 r = !!n && a.call(arguments, 2);
              return t(n ? function () {
                 ("function" == typeof e ? e : Function(e)).apply(this, r)
              } : e, i)
           }
        };
     r(r.G + r.B + r.F * s, {
        setTimeout: u(n.setTimeout),
        setInterval: u(n.setInterval)
     })
  },
  yl71: function (t, e, i) {
     var n = i("Gb1H"),
        r = i("EhJv"),
        o = i("FmWr");
     n(n.S, "String", {
        raw: function (t) {
           for (var e = r(t.raw), i = o(e.length), n = arguments.length, a = [], s = 0; i > s;) a.push(String(e[s++])), s < n && a.push(String(arguments[s]));
           return a.join("")
        }
     })
  },
  ypVE: function (t, e) {
     t.exports = function (t, e, i, n) {
        if (!(t instanceof e) || void 0 !== n && n in t) throw TypeError(i + ": incorrect invocation!");
        return t
     }
  },
  z9n7: function (t, e, i) {
     i("YJIw")("Float32", 4, function (t) {
        return function (e, i, n) {
           return t(this, e, i, n)
        }
     })
  },
  zAAN: function (t, e, i) {
     var n = i("0Zt3"),
        r = i("kcsd");
     t.exports = function (t, e, i) {
        if (n(e)) throw TypeError("String#" + i + " doesn't accept regex!");
        return String(r(t))
     }
  },
  zhwk: function (t, e, i) {
     "use strict";
     i.d(e, "a", function () {
        return _
     }), e.b = P;
     var n = i("m4/l"),
        r = i("Tjl+"),
        o = i("vMqJ"),
        a = i("1yyj"),
        s = i("hD5A"),
        u = i("vbOF"),
        l = i("Oe1l"),
        h = i("+qIf"),
        c = i("0PyG"),
        p = i("58Sn"),
        d = i("WYhe"),
        f = i("Rpw0"),
        g = i("0FpR"),
        y = i("Gg2j"),
        m = i("Wglt"),
        b = i("Mtpk"),
        v = i("L91H"),
        _ = function (t) {
           function e() {
              var e = t.call(this) || this;
              e._globalEventsAdded = !1, e._pointerEvents = {
                 pointerdown: "mousedown",
                 pointerup: "mouseup",
                 pointermove: "mousemove",
                 pointercancel: "mouseup",
                 pointerover: "mouseover",
                 pointerout: "mouseout",
                 wheel: "wheel"
              }, e._usePointerEventsOnly = !1, e._useTouchEventsOnly = !1, e._passiveSupported = !1, e._delayedEvents = {
                 out: []
              }, e.overObjects = new o.b, e.downObjects = new o.b, e.trackedObjects = new o.b, e.transformedObjects = new o.b, e.pointers = new h.a, e.inertiaOptions = new h.a, e.hitOptions = {
                 doubleHitTime: 300,
                 hitTolerance: 10,
                 noFocus: !0
              }, e.hoverOptions = {
                 touchOutBehavior: "leave",
                 touchOutDelay: 1e3
              }, e.swipeOptions = {
                 time: 500,
                 verticalThreshold: 75,
                 horizontalThreshold: 30
              }, e.keyboardOptions = {
                 speed: .1,
                 accelleration: 1.2,
                 accellerationDelay: 2e3
              }, e.className = "Interaction", e.body = e.getInteraction(document.body), e._disposers.push(e.body), window.hasOwnProperty("PointerEvent") ? (e._pointerEvents.pointerdown = "pointerdown", e._pointerEvents.pointerup = "pointerup", e._pointerEvents.pointermove = "pointermove", e._pointerEvents.pointercancel = "pointercancel", e._pointerEvents.pointerover = "pointerover", e._pointerEvents.pointerout = "pointerout") : window.hasOwnProperty("MSPointerEvent") ? (e._pointerEvents.pointerdown = "MSPointerDown", e._pointerEvents.pointerup = "MSPointerUp", e._pointerEvents.pointermove = "MSPointerMove", e._pointerEvents.pointercancel = "MSPointerUp", e._pointerEvents.pointerover = "MSPointerOver", e._pointerEvents.pointerout = "MSPointerOut") : "undefined" != typeof matchMedia && matchMedia("(pointer:fine)") || (e._useTouchEventsOnly = !0), "onwheel" in document.createElement("div") ? e._pointerEvents.wheel = "wheel" : b.hasValue(document.onmousewheel) && (e._pointerEvents.wheel = "mousewheel"), e.inertiaOptions.setKey("move", {
                 time: 100,
                 duration: 500,
                 factor: 1,
                 easing: g.polyOut3
              }), e.inertiaOptions.setKey("resize", {
                 time: 100,
                 duration: 500,
                 factor: 1,
                 easing: g.polyOut3
              });
              try {
                 var i = e,
                    n = Object.defineProperty({}, "passive", {
                       get: function () {
                          i._passiveSupported = !0
                       }
                    });
                 window.addEventListener("test", n, n), window.removeEventListener("test", n, n)
              } catch (t) {
                 e._passiveSupported = !1
              }
              return e.applyTheme(), e
           }
           return n.c(e, t), e.prototype.fullFF = function () {
              return window.navigator.userAgent.match(/Firefox/) && !window.navigator.userAgent.match(/Android/)
           }, e.prototype.debug = function () {}, e.prototype.addGlobalEvents = function () {
              var t = this;
              this._globalEventsAdded || (this._useTouchEventsOnly || (this._disposers.push(Object(p.g)(document, this._pointerEvents.pointerdown, function (e) {
                 t.handleGlobalPointerDown(e)
              })), this._disposers.push(Object(p.g)(document, this._pointerEvents.pointermove, function (e) {
                 t.handleGlobalPointerMove(e)
              })), this._disposers.push(Object(p.g)(document, this._pointerEvents.pointerup, function (e) {
                 t.handleGlobalPointerUp(e)
              })), this._disposers.push(Object(p.g)(document, this._pointerEvents.pointercancel, function (e) {
                 t.handleGlobalPointerUp(e, !0)
              }))), this._usePointerEventsOnly || (this._disposers.push(Object(p.g)(document, "touchstart", function (e) {
                 t.handleGlobalTouchStart(e)
              })), this._disposers.push(Object(p.g)(document, "touchmove", function (e) {
                 t.handleGlobalTouchMove(e)
              })), this._disposers.push(Object(p.g)(document, "touchend", function (e) {
                 t.handleGlobalTouchEnd(e)
              }))), this._disposers.push(Object(p.g)(document, "keydown", function (e) {
                 t.handleGlobalKeyDown(e)
              })), this._disposers.push(Object(p.g)(document, "keyup", function (e) {
                 t.handleGlobalKeyUp(e)
              })), this._globalEventsAdded = !0)
           }, e.prototype.processClickable = function (t) {
              this.processTouchable(t)
           }, e.prototype.processHoverable = function (t) {
              var e = this;
              if (t.hoverable || t.trackable) this.addGlobalEvents(), this.applyCursorOverStyle(t), t.eventDisposers.hasKey("hoverable") || t.eventDisposers.setKey("hoverable", new s.c([Object(p.g)(t.element, this._pointerEvents.pointerout, function (i) {
                 return e.handlePointerOut(t, i)
              }), Object(p.g)(t.element, this._pointerEvents.pointerover, function (i) {
                 return e.handlePointerOver(t, i)
              })])), t.trackable;
              else {
                 var i = t.eventDisposers.getKey("hoverable");
                 null != i && (i.dispose(), t.eventDisposers.removeKey("hoverable"))
              }
              this.processTouchable(t)
           }, e.prototype.processMovable = function (t) {
              (t.draggable || t.swipeable || t.trackable || t.resizable) && (this.isGlobalElement(t) || this.prepElement(t), this.applyCursorOverStyle(t)), this.processTouchable(t)
           }, e.prototype.processTrackable = function (t) {
              this.processHoverable(t), this.processMovable(t), t.trackable ? this.trackedObjects.moveValue(t) : this.trackedObjects.removeValue(t)
           }, e.prototype.processDraggable = function (t) {
              this.processMovable(t)
           }, e.prototype.processSwipeable = function (t) {
              this.processMovable(t)
           }, e.prototype.processResizable = function (t) {
              this.processMovable(t)
           }, e.prototype.processWheelable = function (t) {
              var e = this;
              if (t.wheelable) t.eventDisposers.hasKey("wheelable") || t.eventDisposers.setKey("wheelable", new s.c([Object(p.g)(t.element, this._pointerEvents.wheel, function (i) {
                 return e.handleMouseWheel(t, i)
              }, !!this._passiveSupported && {
                 passive: !1
              }), t.events.on("out", function (i) {
                 t.wheelable && e.unlockWheel()
              }), t.events.on("over", function (i) {
                 t.wheelable && e.lockWheel()
              })]));
              else {
                 var i = t.eventDisposers.getKey("wheelable");
                 null != i && (i.dispose(), t.eventDisposers.removeKey("wheelable"))
              }
           }, e.prototype.processFocusable = function (t) {
              var e = this;
              if (!0 === t.focusable && t.tabindex > -1 && !this._useTouchEventsOnly) t.eventDisposers.hasKey("focusable") || t.eventDisposers.setKey("focusable", new s.c([Object(p.g)(t.element, "focus", function (i) {
                 return e.handleFocus(t, i)
              }), Object(p.g)(t.element, "blur", function (i) {
                 return e.handleBlur(t, i)
              }), Object(p.g)(t.element, this._pointerEvents.pointerdown, function (i) {
                 return e.handleFocusBlur(t, i)
              }), Object(p.g)(t.element, "touchstart", function (i) {
                 return e.handleFocusBlur(t, i)
              }, !!this._passiveSupported && {
                 passive: !1
              })]));
              else {
                 var i = t.eventDisposers.getKey("focusable");
                 null != i && (i.dispose(), t.eventDisposers.removeKey("focusable"))
              }
           }, e.prototype.processTouchable = function (t) {
              var e = this;
              if (t.clickable || t.hoverable || t.trackable || t.draggable || t.swipeable || t.resizable) this.addGlobalEvents(), t.eventDisposers.hasKey("touchable") || (this._useTouchEventsOnly || this._usePointerEventsOnly ? this._useTouchEventsOnly ? this._usePointerEventsOnly || t.eventDisposers.setKey("touchable", Object(p.g)(t.element, "touchstart", function (i) {
                 return e.handleTouchDown(t, i)
              }, !!this._passiveSupported && {
                 passive: !1
              })) : t.eventDisposers.setKey("touchable", Object(p.g)(t.element, this._pointerEvents.pointerdown, function (i) {
                 return e.handlePointerDown(t, i)
              })) : t.eventDisposers.setKey("touchable", new s.c([Object(p.g)(t.element, this._pointerEvents.pointerdown, function (i) {
                 return e.handlePointerDown(t, i)
              }), Object(p.g)(t.element, "touchstart", function (i) {
                 return e.handleTouchDown(t, i)
              }, !!this._passiveSupported && {
                 passive: !1
              })])));
              else {
                 var i = t.eventDisposers.getKey("touchable");
                 null != i && (i.dispose(), t.eventDisposers.removeKey("touchable"))
              }
           }, e.prototype.handleFocus = function (t, e) {
              if (t.focusable) {
                 if (t.isFocused = !0, t.events.isEnabled("focus") && !f.b.isPaused) {
                    var i = {
                       type: "focus",
                       target: t,
                       event: e
                    };
                    t.events.dispatchImmediately("focus", i)
                 }
              } else e.preventDefault()
           }, e.prototype.handleFocusBlur = function (t, e) {
              !1 !== t.focusable && this.getHitOption(t, "noFocus") && t.events.once("focus", p.h)
           }, e.prototype.handleBlur = function (t, e) {
              if (t.focusable) {
                 if (t.isFocused = !1, t.events.isEnabled("blur") && !f.b.isPaused) {
                    var i = {
                       type: "blur",
                       target: t,
                       event: e
                    };
                    t.events.dispatchImmediately("blur", i)
                 }
              } else e.preventDefault()
           }, e.prototype.handleGlobalKeyDown = function (t) {
              if (this.focusedObject)
                 if (d.b.isKey(t, "esc")) p.h();
                 else if (this.focusedObject.draggable && d.b.isKey(t, ["up", "down", "left", "right"])) {
                 t.preventDefault();
                 var e = this.focusedObject;
                 if (e.eventDisposers.hasKey("interactionKeyboardObject")) return;
                 var i = new l.a(e, t);
                 switch (e.eventDisposers.setKey("interactionKeyboardObject", i), d.b.getEventKey(t)) {
                    case "up":
                       i.directionY = -1;
                       break;
                    case "down":
                       i.directionY = 1;
                       break;
                    case "left":
                       i.directionX = -1;
                       break;
                    case "right":
                       i.directionX = 1
                 }
              }
           }, e.prototype.handleGlobalKeyUp = function (t) {
              if (this.focusedObject) {
                 var e = this.focusedObject.eventDisposers.getKey("interactionKeyboardObject");
                 null != e && (t.preventDefault(), e.dispose(), this.focusedObject.eventDisposers.removeKey("interactionKeyboardObject"))
              }
           }, e.prototype.handleGlobalPointerMove = function (t) {
              var e = this.getPointer(t);
              if (e.point = this.getPointerPoint(t), this.events.isEnabled("track") && !f.b.isPaused) {
                 var i = {
                    type: "track",
                    target: this,
                    event: t,
                    pointer: e
                 };
                 this.events.dispatchImmediately("track", i)
              }
              this.addBreadCrumb(e, e.point), this.handleGlobalMove(e, t)
           }, e.prototype.handleGlobalPointerDown = function (t) {
              this.processDelayed();
              var e = this.getPointer(t);
              if (this.events.isEnabled("down") && !f.b.isPaused) {
                 var i = {
                    type: "down",
                    target: this,
                    event: t,
                    pointer: e
                 };
                 this.events.dispatchImmediately("down", i)
              }
           }, e.prototype.preventTouchAction = function (t) {
              t.defaultPrevented || t.preventDefault()
           }, e.prototype.handleGlobalPointerUp = function (t, e) {
              void 0 === e && (e = !1);
              var i = this.getPointer(t);
              if (this.events.isEnabled("up") && !f.b.isPaused) {
                 var n = {
                    type: "up",
                    target: this,
                    event: t,
                    pointer: i
                 };
                 this.events.dispatchImmediately("up", n)
              }
              this.handleGlobalUp(i, t, e)
           }, e.prototype.handleGlobalTouchMove = function (t) {
              for (var e = 0; e < t.changedTouches.length; e++) {
                 var i = this.getPointer(t.changedTouches[e]);
                 if (i.point = this.getPointerPoint(t.changedTouches[e]), this.events.isEnabled("track") && !f.b.isPaused) {
                    var n = {
                       type: "track",
                       target: this,
                       event: t,
                       pointer: i
                    };
                    this.events.dispatchImmediately("track", n)
                 }
                 this.addBreadCrumb(i, i.point), this.handleGlobalMove(i, t)
              }
           }, e.prototype.handleGlobalTouchStart = function (t) {
              this.processDelayed();
              for (var e = 0; e < t.changedTouches.length; e++) {
                 var i = this.getPointer(t.changedTouches[e]);
                 if (!this._usePointerEventsOnly && this.events.isEnabled("down") && !f.b.isPaused) {
                    var n = {
                       type: "down",
                       target: this,
                       event: t,
                       pointer: i
                    };
                    this.events.dispatchImmediately("down", n)
                 }
              }
           }, e.prototype.handleGlobalTouchEnd = function (t) {
              for (var e = 0; e < t.changedTouches.length; e++) {
                 var i = this.getPointer(t.changedTouches[e]);
                 if (this.events.isEnabled("up") && !f.b.isPaused) {
                    var n = {
                       type: "up",
                       target: this,
                       event: t,
                       pointer: i
                    };
                    this.events.dispatchImmediately("up", n)
                 }
                 this.handleGlobalUp(i, t)
              }
           }, e.prototype.handlePointerDown = function (t, e) {
              var i = this.getPointer(e);
              !i.touch && e.which > 1 || (i.button = e.which, this.resetPointer(i, e), this.handleDown(t, i, e))
           }, e.prototype.handlePointerOver = function (t, e) {
              var i = this.getPointer(e);
              this.handleOver(t, i, e)
           }, e.prototype.handlePointerOut = function (t, e) {
              var i = this.getPointer(e);
              this.handleOut(t, i, e)
           }, e.prototype.handleMouseWheel = function (t, e) {
              var i = this.getPointer(e);
              i.point = this.getPointerPoint(e);
              var n = 0,
                 r = 0,
                 o = 1;
              if (1 == e.deltaMode && (o = 50), !(e instanceof WheelEvent)) throw new Error("Invalid event type");
              n = Math.round(-1 * e.wheelDeltaX || e.deltaX) * o, r = Math.round(-1 * e.wheelDeltaY || e.deltaY) * o, this.handleWheel(t, i, n, r, e)
           }, e.prototype.handleTouchDown = function (t, e) {
              this.maybePreventDefault(t, e);
              for (var i = 0; i < e.changedTouches.length; i++) {
                 var n = this.getPointer(e.changedTouches[i]);
                 this.resetPointer(n, e.changedTouches[i]), this.handleDown(t, n, e)
              }
           }, e.prototype.handleHit = function (t, e, i) {
              var n = v.getTime();
              if (t.lastHit && t.lastHit >= n - this.getHitOption(t, "doubleHitTime")) {
                 if (n - t.lastHit < 100) return;
                 if (t.lastHit = void 0, t.lastHitPointer = void 0, t.events.isEnabled("doublehit") && !f.b.isPaused) {
                    var r = {
                       type: "doublehit",
                       target: t,
                       point: e.point,
                       event: i
                    };
                    t.events.dispatchImmediately("doublehit", r)
                 }
              } else if (t.lastHit = n, t.lastHitPointer = e, 3 === e.button) {
                 if (t.events.isEnabled("rightclick") && !f.b.isPaused) {
                    r = {
                       type: "rightclick",
                       target: t,
                       event: i
                    };
                    t.events.dispatchImmediately("rightclick", r)
                 }
              } else if (t.events.isEnabled("hit") && !f.b.isPaused) {
                 r = {
                    type: "hit",
                    target: t,
                    event: i,
                    point: e.point
                 };
                 t.events.dispatchImmediately("hit", r)
              }
           }, e.prototype.handleOver = function (t, e, i, n) {
              if (void 0 === n && (n = !1), t.hoverable && (this.processDelayed(), t.overPointers.moveValue(e), !t.isHover && (t.isHover = !0, this.overObjects.moveValue(t), this.handleTrack(this.body, e, i, !0), t.events.isEnabled("over") && !f.b.isPaused))) {
                 var r = {
                    type: "over",
                    target: t,
                    event: i,
                    pointer: e
                 };
                 t.events.dispatchImmediately("over", r)
              }
           }, e.prototype.handleOut = function (t, e, i, n, r) {
              var o = this;
              if (void 0 === n && (n = !1), void 0 === r && (r = !1), t.hoverable && (t.overPointers.removeValue(e), t.isHover && (!t.hasDelayedOut || r))) {
                 if (n && t.overPointers.length) return;
                 if (e.touch && !r && !this.old(e)) {
                    var a = this.getHoverOption(t, "touchOutBehavior");
                    if ("leave" == a) return this._delayedEvents.out.push({
                       type: "out",
                       io: t,
                       pointer: e,
                       event: i,
                       keepUntil: v.getTime() + 500
                    }), void(t.hasDelayedOut = !0);
                    if ("delay" == a && this.getHoverOption(t, "touchOutDelay")) return void this._delayedEvents.out.push({
                       type: "out",
                       io: t,
                       pointer: e,
                       event: i,
                       keepUntil: v.getTime() + 500,
                       timeout: this.setTimeout(function () {
                          o.handleOut(t, e, i, !0)
                       }, this.getHoverOption(t, "touchOutDelay"))
                    })
                 }
                 if (t.isHover = !1, this.overObjects.removeValue(t), t.events.isEnabled("out") && !f.b.isPaused) {
                    var s = {
                       type: "out",
                       target: t,
                       event: i,
                       pointer: e
                    };
                    t.events.dispatchImmediately("out", s)
                 }
                 t.overPointers.clear(), t.hasDelayedOut = !1
              }
           }, e.prototype.processDelayed = function () {
              for (var t; t = this._delayedEvents.out.pop();) t.timeout && t.timeout.dispose(), this.handleOut(t.io, t.pointer, t.event, !1, !0)
           }, e.prototype.handleDown = function (t, e, i) {
              if (this.maybePreventDefault(t, i), t.inert && this.stopInertia(t), this.handleOver(t, e, i, !0), t.downPointers.moveValue(e), this.applyCursorDownStyle(t, e), t.isDown || (!1 !== t.focusable && this.getHitOption(t, "noFocus") && this.focusedObject && p.h(), t.isDown = !0, this.downObjects.moveValue(t), t.draggable && this.processDragStart(t, e, i), t.resizable && this.processResizeStart(t, e, i)), t.events.isEnabled("down") && !f.b.isPaused) {
                 var n = {
                    type: "down",
                    target: t,
                    event: i,
                    pointer: e
                 };
                 t.events.dispatchImmediately("down", n)
              }
           }, e.prototype.handleGlobalUp = function (t, e, i) {
              var n = this;
              void 0 === i && (i = !1), m.each(this.downObjects.backwards().iterator(), function (r) {
                 r.downPointers.contains(t) && n.handleUp(r, t, e, i)
              })
           }, e.prototype.handleUp = function (t, e, i, n) {
              if (void 0 === n && (n = !1), this.restoreCursorDownStyle(t, e), t.downPointers.removeValue(e), (e.touch || this._useTouchEventsOnly) && this.handleOut(t, e, i, !0), t.isDown) {
                 if (0 == t.downPointers.length && (t.isDown = !1, this.downObjects.removeValue(t)), t.events.isEnabled("up") && !f.b.isPaused) {
                    var r = {
                       type: "up",
                       target: t,
                       event: i,
                       pointer: e
                    };
                    t.events.dispatchImmediately("up", r)
                 }
                 n || (t.swipeable && this.swiped(t, e) ? this.handleSwipe(t, e, i) : (t.clickable && !this.moved(e, this.getHitOption(t, "hitTolerance")) && this.handleHit(t, e, i), t.inert && this.moved(e, this.getHitOption(t, "hitTolerance")) ? this.handleInertia(t, e) : t.draggable && this.processDragStop(t, e, i), t.resizable && this.processResizeStop(t, e, i)))
              }
           }, e.prototype.maybePreventDefault = function (t, e) {
              b.hasValue(e) && (t.draggable || t.swipeable || t.trackable || t.resizable) && !this.isGlobalElement(t) && e.preventDefault()
           }, e.prototype.handleGlobalMove = function (t, e) {
              var i = this;
              t.touch || m.each(this.overObjects.backwards().iterator(), function (n) {
                 if (n.overPointers.contains(t) && n.hoverable) {
                    var r = !1;
                    n.element && t.lastEvent && p.i(n.element, t.lastEvent.target) || (r = !0), r && i.handleOut(n, t, e, !0)
                 }
              }), m.each(this.transformedObjects.backwards().iterator(), function (n) {
                 !n.downPointers.contains(t) || n.swipeable && i.swiping(n, t) || !n.draggable && !n.resizable || i.handleTransform(n, e)
              }), m.each(this.trackedObjects.backwards().iterator(), function (n) {
                 n.overPointers.contains(t) || i.handleTrack(n, t, e)
              })
           }, e.prototype.handleTrack = function (t, e, i, n) {
              if (void 0 === n && (n = !1), (n || this.moved(e, 0)) && t.events.isEnabled("track") && !f.b.isPaused) {
                 var r = {
                    type: "track",
                    target: t,
                    event: i,
                    point: e.point,
                    pointer: e
                 };
                 t.events.dispatchImmediately("track", r)
              }
           }, e.prototype.handleSwipe = function (t, e, i) {
              if (t.events.isEnabled("swipe") && !f.b.isPaused) {
                 var n = {
                    type: "swipe",
                    target: t,
                    event: i
                 };
                 t.events.dispatchImmediately("swipe", n)
              }
              if (e.startPoint.x < e.point.x) {
                 if (t.events.isEnabled("swiperight") && !f.b.isPaused) {
                    n = {
                       type: "swiperight",
                       target: t,
                       event: i
                    };
                    t.events.dispatchImmediately("swiperight", n)
                 }
              } else if (t.events.isEnabled("swipeleft") && !f.b.isPaused) {
                 n = {
                    type: "swipeleft",
                    target: t,
                    event: i
                 };
                 t.events.dispatchImmediately("swipeleft", n)
              }
           }, e.prototype.handleWheel = function (t, e, i, n, r) {
              var o = {
                 x: i,
                 y: n
              };
              t.events.isEnabled("wheel") && !f.b.isPaused && t.events.dispatchImmediately("wheel", {
                 type: "wheel",
                 target: t,
                 event: r,
                 point: e.point,
                 shift: o
              }), i < 0 ? t.events.isEnabled("wheelleft") && !f.b.isPaused && t.events.dispatchImmediately("wheelleft", {
                 type: "wheelleft",
                 target: t,
                 event: r,
                 point: e.point,
                 shift: o
              }) : i > 0 ? t.events.isEnabled("swiperight") && !f.b.isPaused && t.events.dispatchImmediately("wheelright", {
                 type: "wheelright",
                 target: t,
                 event: r,
                 point: e.point,
                 shift: o
              }) : n < 0 ? t.events.isEnabled("wheelup") && !f.b.isPaused && t.events.dispatchImmediately("wheelup", {
                 type: "wheelup",
                 target: t,
                 event: r,
                 point: e.point,
                 shift: o
              }) : n > 0 && t.events.isEnabled("wheeldown") && !f.b.isPaused && t.events.dispatchImmediately("wheeldown", {
                 type: "wheeldown",
                 target: t,
                 event: r,
                 point: e.point,
                 shift: o
              })
           }, e.prototype.handleInertia = function (t, e) {
              t.draggable && 0 === t.downPointers.length && this.handleMoveInertia(t, e), t.resizable && t.downPointers.length > 1 && this.handleResizeInertia(t, e)
           }, e.prototype.handleMoveInertia = function (t, e) {
              var i = t,
                 n = {
                    x: e.point.x,
                    y: e.point.y
                 },
                 r = {
                    x: e.startPoint.x,
                    y: e.startPoint.y
                 },
                 o = new c.a(i, "move", n, r),
                 s = this.getTrailPoint(e, v.getTime() - this.getInertiaOption(t, "move", "time"));
              if (void 0 !== s) {
                 var u = this.getInertiaOption(t, "move", "factor"),
                    l = [{
                       to: e.point.x + (e.point.x - s.point.x) * u,
                       property: "x"
                    }, {
                       to: e.point.y + (e.point.y - s.point.y) * u,
                       property: "y"
                    }],
                    h = new a.a(o, l, this.getInertiaOption(t, "move", "duration"), this.getInertiaOption(t, "move", "easing")).start();
                 this._disposers.push(h.events.on("animationended", function (t) {
                    o.done()
                 })), t.inertias.setKey("move", o)
              } else this.processDragStop(t, e, e.lastUpEvent)
           }, e.prototype.handleResizeInertia = function (t, e) {}, e.prototype.handleTransform = function (t, e) {
              var i, n, r, o = t.downPointers.getIndex(0),
                 a = null,
                 s = null;
              o && (a = o.point, s = o.startPoint), r = n = {
                 x: t.originalPosition.x,
                 y: t.originalPosition.y
              };
              for (var u = !0, l = 1; l < t.downPointers.length; l++) {
                 var h = t.downPointers.getIndex(l);
                 if (s.x != h.startPoint.x || s.y != h.startPoint.y) {
                    u = !1, n = (i = h).point, r = i.startPoint;
                    break
                 }
              }
              var c = o && this.moved(o, 0);
              if (t.draggable && o && o.dragStartEvents && o.dragStartEvents.length && c && t.events.isEnabled("dragstart") && !f.b.isPaused && t.events.dispatchImmediately("dragstart", o.dragStartEvents.shift()), u && t.draggable) this.handleTransformMove(t, a, s, e, c);
              else {
                 var p = i && this.moved(i, 0);
                 t.draggable && t.resizable ? (this.handleTransformMove(t, a, s, e, c && p), this.handleTransformResize(t, a, s, n, r, e, c && p)) : (t.draggable && this.handleTransformMove(t, a, s, e, c), t.resizable && this.handleTransformResize(t, a, s, n, r, e, c && p))
              }
           }, e.prototype.handleTransformMove = function (t, e, i, n, r) {
              if (r && t.events.isEnabled("drag") && !f.b.isPaused) {
                 var o = {
                    type: "drag",
                    target: t,
                    event: n,
                    shift: {
                       x: e.x - i.x,
                       y: e.y - i.y
                    },
                    startPoint: i,
                    point: e
                 };
                 t.events.dispatchImmediately("drag", o)
              }
           }, e.prototype.handleTransformResize = function (t, e, i, n, r, o, a) {
              if (t.events.isEnabled("resize") && !f.b.isPaused) {
                 var s = {
                    type: "resize",
                    target: t,
                    event: o,
                    scale: y.getScale(e, i, n, r),
                    startPoint1: i,
                    point1: e,
                    startPoint2: r,
                    point2: n
                 };
                 t.events.dispatchImmediately("resize", s)
              }
           }, e.prototype.processDragStart = function (t, e, i) {
              this.transformedObjects.moveValue(t);
              var n = {
                 type: "dragstart",
                 target: t,
                 event: i
              };
              e && (e.dragTarget = t), e && e.dragStartEvents ? e.dragStartEvents.push(n) : f.b.isPaused || t.dispatchImmediately("dragstart", n)
           }, e.prototype.processDragStop = function (t, e, i) {
              if (e || (e = this.getDragPointer(t)), e && (e.dragTarget = void 0), this.transformedObjects.removeValue(t), (!e || this.moved(e, 0)) && t.events.isEnabled("dragstop") && !f.b.isPaused) {
                 var n = {
                    type: "dragstop",
                    target: t
                 };
                 t.events.dispatchImmediately("dragstop", n)
              }
           }, e.prototype.processResizeStart = function (t, e, i) {
              this.transformedObjects.moveValue(t)
           }, e.prototype.processResizeStop = function (t, e, i) {
              this.transformedObjects.removeValue(t)
           }, e.prototype.dragStart = function (t, e) {
              (e || (e = this.getDragPointer(t))) && this.handleDown(t, e, e.lastDownEvent)
           }, e.prototype.dragStop = function (t, e) {
              (e || (e = this.getDragPointer(t))) && this.handleGlobalUp(e, e.lastUpEvent)
           }, e.prototype.getDragPointer = function (t) {
              return t ? t.downPointers.getIndex(0) : this.transformedObjects.length ? this.getDragPointer(this.transformedObjects.getIndex(0)) : void 0
           }, e.prototype.getPointerId = function (t) {
              return (b.hasValue(t.identifier) ? "" + t.identifier : b.hasValue(t.pointerId) ? "" + t.pointerId : "m").replace("-", "")
           }, e.prototype.getPointerPoint = function (t) {
              return {
                 x: t.clientX,
                 y: t.clientY
              }
           }, e.prototype.getPointer = function (t) {
              var e, i = this.getPointerId(t),
                 n = this.getPointerPoint(t);
              return this.pointers.hasKey(i) ? (e = this.pointers.getKey(i)).touch = this.isPointerTouch(t) : (e = {
                 id: i,
                 touch: this.isPointerTouch(t),
                 startPoint: n,
                 startTime: v.getTime(),
                 point: n,
                 track: [],
                 swipeCanceled: !1,
                 dragStartEvents: []
              }, this.addBreadCrumb(e, n), this.pointers.setKey(i, e)), e.lastEvent = t, e
           }, e.prototype.isPointerTouch = function (t) {
              if ("undefined" != typeof Touch && t instanceof Touch) return !0;
              if ("undefined" != typeof PointerEvent && t instanceof PointerEvent && b.hasValue(t.pointerType)) switch (t.pointerType) {
                 case "touch":
                 case "pen":
                 case 2:
                    return !0;
                 case "mouse":
                 case 4:
                    return !1;
                 default:
                    return !(t instanceof MouseEvent)
              } else if (b.hasValue(t.type) && t.type.match(/^mouse/)) return !1;
              return !0
           }, e.prototype.resetPointer = function (t, e) {
              var i = this.getPointerPoint(e);
              t.startTime = v.getTime(), t.startPoint = {
                 x: i.x,
                 y: i.y
              }, t.point = {
                 x: i.x,
                 y: i.y
              }, t.track = [], t.swipeCanceled = !1
           }, e.prototype.addBreadCrumb = function (t, e) {
              t.track.push({
                 timestamp: v.getTime(),
                 point: e
              })
           }, e.prototype.lockDocument = function () {
              this.prepElement(this.body)
           }, e.prototype.unlockDocument = function () {
              0 == this.transformedObjects.length && this.restoreAllStyles(this.body)
           }, e.prototype.lockElement = function (t) {
              this.prepElement(t)
           }, e.prototype.unlockElement = function (t) {
              this.restoreAllStyles(t)
           }, e.prototype.lockWheel = function () {
              window.addEventListener(this._pointerEvents.wheel, this.wheelLockEvent, !!this._passiveSupported && {
                 passive: !1
              })
           }, e.prototype.unlockWheel = function () {
              window.removeEventListener(this._pointerEvents.wheel, this.wheelLockEvent)
           }, e.prototype.isLocalElement = function (t, e, i) {
              var n = this.getCache("local_pointer_" + t.id);
              if (b.hasValue(n)) return n;
              var r = document.elementFromPoint(t.point.x, t.point.y),
                 o = r && (e === r || p.i(e, r));
              return this.setCache("local_pointer_" + t.id + "_" + i, o, 100), o
           }, e.prototype.wheelLockEvent = function (t) {
              return t.preventDefault(), !1
           }, e.prototype.prepElement = function (t, e) {
              var i = t.element;
              if (i) {
                 for (var n = ["touchAction", "webkitTouchAction", "MozTouchAction", "MSTouchAction", "msTouchAction", "oTouchAction", "userSelect", "webkitUserSelect", "MozUserSelect", "MSUserSelect", "msUserSelect", "oUserSelect", "touchSelect", "webkitTouchSelect", "MozTouchSelect", "MSTouchSelect", "msTouchSelect", "oTouchSelect", "touchCallout", "webkitTouchCallout", "MozTouchCallout", "MSTouchCallout", "msTouchCallout", "oTouchCallout", "contentZooming", "webkitContentZooming", "MozContentZooming", "MSContentZooming", "msContentZooming", "oContentZooming", "userDrag", "webkitUserDrag", "MozUserDrag", "MSUserDrag", "msUserDrag", "oUserDrag"], r = 0; r < n.length; r++) n[r] in i.style && this.setTemporaryStyle(t, n[r], "none");
                 this.setTemporaryStyle(t, "tapHighlightColor", "rgba(0, 0, 0, 0)")
              }
           }, e.prototype.getHitOption = function (t, e) {
              var i = t.hitOptions[e];
              return void 0 === i && (i = this.hitOptions[e]), i
           }, e.prototype.getHoverOption = function (t, e) {
              var i = t.hoverOptions[e];
              return void 0 === i && (i = this.hoverOptions[e]), i
           }, e.prototype.getSwipeOption = function (t, e) {
              var i = t.swipeOptions[e];
              return void 0 === i && (i = this.swipeOptions[e]), i
           }, e.prototype.getKeyboardOption = function (t, e) {
              var i = t.keyboardOptions[e];
              return void 0 === i && (i = this.keyboardOptions[e]), i
           }, e.prototype.getInertiaOption = function (t, e, i) {
              var n = t.inertiaOptions.getKey(e);
              return n && b.hasValue(n[e]) ? n[e] : this.inertiaOptions.getKey(e)[i]
           }, e.prototype.stopInertia = function (t) {
              for (var e, i = ["move", "resize"], n = 0; n < i.length; n++)
                 if (e = i[n], t.inertias.hasKey(e)) {
                    var r = t.inertias.getKey(e);
                    if (r) {
                       r.dispose();
                       continue
                    }
                 }
           }, e.prototype.swiping = function (t, e) {
              var i = v.getTime();
              return !(e.swipeCanceled || !t.swipeable) && (Math.abs(e.startPoint.y - e.point.y) < this.getSwipeOption(t, "verticalThreshold") && e.startTime > i - this.getSwipeOption(t, "time"))
           }, e.prototype.swiped = function (t, e) {
              var i = v.getTime();
              return !e.swipeCanceled && (Math.abs(e.startPoint.x - e.point.x) > this.getSwipeOption(t, "horizontalThreshold") && Math.abs(e.startPoint.y - e.point.y) < this.getSwipeOption(t, "verticalThreshold") && e.startTime > i - this.getSwipeOption(t, "time"))
           }, e.prototype.applyCursorOverStyle = function (t) {
              var e = t.cursorOptions;
              if (b.hasValue(e.overStyle))
                 for (var i = 0; i < e.overStyle.length; i++) p.r(t.element, e.overStyle[i].property, e.overStyle[i].value)
           }, e.prototype.applyCursorDownStyle = function (t, e) {
              if (!e.touch) {
                 var i = t.cursorOptions.downStyle;
                 if (t.downPointers.contains(e) && b.hasValue(i))
                    for (var n = 0; n < i.length; n++) this.setTemporaryStyle(this.body, i[n].property, i[n].value), this.setTemporaryStyle(t, i[n].property, i[n].value)
              }
           }, e.prototype.restoreCursorDownStyle = function (t, e) {
              if (!e.touch) {
                 var i = t.cursorOptions.downStyle;
                 if (t.downPointers.contains(e) && b.hasValue(i))
                    for (var n = 0; n < i.length; n++) this.restoreStyle(this.body, i[n].property), this.restoreStyle(t, i[n].property)
              }
           }, e.prototype.setGlobalStyle = function (t) {
              for (var e = P().body, i = b.isArray(t) ? t : [t], n = 0; n < i.length; n++) this.setTemporaryStyle(e, i[n].property, i[n].value)
           }, e.prototype.restoreGlobalStyle = function (t) {
              for (var e = P().body, i = b.isArray(t) ? t : [t], n = 0; n < i.length; n++) this.restoreStyle(e, i[n].property)
           }, e.prototype.isGlobalElement = function (t) {
              return document.body === t.element
           }, e.prototype.moved = function (t, e, i) {
              void 0 === i && (i = 300);
              var n = this.getShift(t);
              return Math.abs(n.x) > e || Math.abs(n.y) > e
           }, e.prototype.old = function (t, e) {
              return void 0 === e && (e = 300), v.getTime() - t.startTime > e
           }, e.prototype.getShift = function (t) {
              return {
                 x: t.startPoint.x - t.point.x,
                 y: t.startPoint.y - t.point.y
              }
           }, e.prototype.getTrailPoint = function (t, e) {
              for (var i, n = 0; n < t.track.length; n++)
                 if (t.track[n].timestamp >= e) {
                    i = t.track[n];
                    break
                 } return i
           }, e.prototype.pointerExists = function (t, e) {
              var i = !1;
              return t.each(function (t) {
                 t != e && (i = t.point.x == e.point.x && t.point.y == e.point.y)
              }), i
           }, e.prototype.getInteraction = function (t) {
              return new u.a(t)
           }, e.prototype.setTemporaryStyle = function (t, e, i) {
              var n = t.element;
              b.hasValue(n.style[e]) && !t.replacedStyles.hasKey(e) && t.replacedStyles.setKey(e, n.style[e]), p.r(n, e, i)
           }, e.prototype.restoreStyle = function (t, e) {
              t.replacedStyles.hasKey(e) ? (t.element.style[e] = t.replacedStyles.getKey(e), t.replacedStyles.removeKey(e)) : delete t.element.style[e]
           }, e.prototype.restoreAllStyles = function (t) {
              m.each(t.replacedStyles.iterator(), function (e) {
                 var i = e[0],
                    n = e[1];
                 t.element.style[i] = n, t.replacedStyles.removeKey(i)
              })
           }, e.prototype.dispose = function () {
              this.isDisposed || (t.prototype.dispose.call(this), this.restoreAllStyles(this.body), this.unlockWheel())
           }, e.prototype.log = function (t, e, i) {
              if (e.changedTouches)
                 for (var n = 0; n < e.changedTouches.length; n++) this.logTouch(t, e.type, e.changedTouches[n]);
              else {
                 var r = "";
                 if (e.pointerType) switch (e.pointerType) {
                    case 2:
                       r = "touch";
                       break;
                    case 4:
                       r = "mouse";
                       break;
                    default:
                       r = e.pointerType
                 } else r = "undefined" != typeof TouchEvent && e instanceof TouchEvent ? "touch" : e.type.match(/^mouse/) ? "mouse" : "???";
                 var o = "";
                 o = b.hasValue(e.identifier) ? e.identifier : b.hasValue(e.pointerId) ? e.pointerId : "???", i ? console.log(t + " (" + i.uid + ")  " + e.type + "  " + r + "  " + o) : console.log(t + "  " + e.type + "  " + r + "  " + o)
              }
           }, e.prototype.logTouch = function (t, e, i) {
              console.log(t + "  " + e + "  touch  " + i.identifier)
           }, e
        }(r.b),
        x = null;

     function P() {
        return null == x && (x = new _), x
     }
  },
  "zy/o": function (t, e, i) {
     "use strict";
     var n = i("2Nze");
     i("Gb1H")({
        target: "RegExp",
        proto: !0,
        forced: n !== /./.exec
     }, {
        exec: n
     })
  }
});
webpackJsonp(["689e"],{"2zgF":function(e,t,i){"use strict";i.d(t,"a",function(){return y});var a=i("m4/l"),n=i("Meme"),s=i("Lrmi"),r=i("yrKf"),o=i("IbTV"),l=i("aCit"),h=i("tjMS"),u=i("Gg2j"),d=i("hGwe"),c=i("v9UT"),p=i("Mtpk"),y=function(e){function t(){var t=e.call(this)||this;return t.pixelRadiusReal=0,t.layout="none",t.className="AxisRendererCircular",t.isMeasured=!1,t.startAngle=-90,t.endAngle=270,t.useChartAngles=!0,t.radius=Object(h.c)(100),t.isMeasured=!1,t.grid.template.location=0,t.labels.template.location=0,t.labels.template.radius=15,t.ticks.template.location=0,t.ticks.template.pixelPerfect=!1,t.tooltipLocation=0,t.line.strokeOpacity=0,t.applyTheme(),t}return a.c(t,e),t.prototype.setAxis=function(t){var i=this;e.prototype.setAxis.call(this,t),t.isMeasured=!1;var a=t.tooltip;a.adapter.add("dx",function(e,t){var a=c.svgPointToSprite({x:t.pixelX,y:t.pixelY},i);return i.pixelRadius*Math.cos(Math.atan2(a.y,a.x))-a.x}),a.adapter.add("dy",function(e,t){var a=c.svgPointToSprite({x:t.pixelX,y:t.pixelY},i);return i.pixelRadius*Math.sin(Math.atan2(a.y,a.x))-a.y})},t.prototype.validate=function(){this.chart&&this.chart.invalid&&this.chart.validate(),e.prototype.validate.call(this)},Object.defineProperty(t.prototype,"axisLength",{get:function(){return 2*Math.PI*this.pixelRadius},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!1,!1,10,!1)&&this.axis&&this.axis.invalidate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelRadius",{get:function(){return c.relativeRadiusToValue(this.radius,this.pixelRadiusReal)||0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!1,!1,10,!1)&&this.axis&&this.axis.invalidate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useChartAngles",{get:function(){return this.getPropertyValue("useChartAngles")},set:function(e){this.setPropertyValue("useChartAngles",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelInnerRadius",{get:function(){return c.relativeRadiusToValue(this.innerRadius,this.pixelRadiusReal)||0},enumerable:!0,configurable:!0}),t.prototype.positionToPoint=function(e){var t=this.positionToCoordinate(e),i=this.startAngle+(this.endAngle-this.startAngle)*t/this.axisLength;return{x:this.pixelRadius*u.cos(i),y:this.pixelRadius*u.sin(i)}},t.prototype.positionToAngle=function(e){var t,i=this.axis,a=(this.endAngle-this.startAngle)/(i.end-i.start);return t=i.renderer.inversed?this.startAngle+(i.end-e)*a:this.startAngle+(e-i.start)*a,u.round(t,3)},t.prototype.updateAxisLine=function(){var e=this.pixelRadius,t=this.startAngle,i=this.endAngle-t;this.line.path=d.moveTo({x:e*u.cos(t),y:e*u.sin(t)})+d.arcTo(t,i,e,e)},t.prototype.updateGridElement=function(e,t,i){t+=(i-t)*e.location;var a=this.positionToPoint(t);if(e.element){var n=u.DEGREES*Math.atan2(a.y,a.x),s=c.relativeRadiusToValue(p.hasValue(e.radius)?e.radius:Object(h.c)(100),this.pixelRadius),r=c.relativeRadiusToValue(e.innerRadius,this.pixelRadius);e.zIndex=0;var o=c.relativeRadiusToValue(p.isNumber(r)?r:this.innerRadius,this.pixelRadius,!0);e.path=d.moveTo({x:o*u.cos(n),y:o*u.sin(n)})+d.lineTo({x:s*u.cos(n),y:s*u.sin(n)})}this.toggleVisibility(e,t,0,1)},t.prototype.updateTickElement=function(e,t,i){t+=(i-t)*e.location;var a=this.positionToPoint(t);if(e.element){var n=this.pixelRadius,s=u.DEGREES*Math.atan2(a.y,a.x),r=e.length;e.inside&&(r=-r),e.zIndex=1,e.path=d.moveTo({x:n*u.cos(s),y:n*u.sin(s)})+d.lineTo({x:(n+r)*u.cos(s),y:(n+r)*u.sin(s)})}this.toggleVisibility(e,t,0,1)},t.prototype.updateLabelElement=function(e,t,i,a){p.hasValue(a)||(a=e.location),t+=(i-t)*a;var n=this.positionToPoint(t);e.fixPoint(n,this.pixelRadius),e.zIndex=2,this.positionItem(e,n),this.toggleVisibility(e,t,this.minLabelPosition,this.maxLabelPosition)},t.prototype.fitsToBounds=function(e){return!0},Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",e)&&(this.invalidateAxisItems(),this.axis&&this.axis.invalidateSeries())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e)&&(this.invalidateAxisItems(),this.axis&&this.axis.invalidateSeries())},enumerable:!0,configurable:!0}),t.prototype.getPositionRangePath=function(e,t,i,a,n){var s="";if(p.isNumber(e)&&p.isNumber(t)){p.hasValue(i)||(i=this.radius),e=u.max(e,this.axis.start),(t=u.min(t,this.axis.end))<e&&(t=e);var r=c.relativeRadiusToValue(i,this.pixelRadius),o=c.relativeRadiusToValue(a,this.pixelRadius,!0),l=this.positionToAngle(e),h=this.positionToAngle(t)-l;s=d.arc(l,h,r,o,r,n)}return s},t.prototype.createGrid=function(){return new r.a},t.prototype.createFill=function(e){return new s.a(e)},t.prototype.createLabel=function(){return new o.a},t.prototype.pointToPosition=function(e){var t=u.fitAngleToRange(u.getAngle(e),this.startAngle,this.endAngle);return this.coordinateToPosition((t-this.startAngle)/360*this.axisLength)},t}(n.a);l.b.registeredClasses.AxisRendererCircular=y},IbTV:function(e,t,i){"use strict";i.d(t,"a",function(){return h});var a=i("m4/l"),n=i("TDx+"),s=i("aCit"),r=i("Gg2j"),o=i("Mtpk"),l=i("v9UT"),h=function(e){function t(){var t=e.call(this)||this;return t.fdx=0,t.fdy=0,t.className="AxisLabelCircular",t.padding(0,0,0,0),t.location=.5,t.radius=0,t.isMeasured=!1,t.applyTheme(),t}return a.c(t,e),Object.defineProperty(t.prototype,"relativeRotation",{get:function(){return this.getPropertyValue("relativeRotation")},set:function(e){this.setPropertyValue("relativeRotation",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),t.prototype.pixelRadius=function(e){var t=1;return this.inside&&(t=-1),l.relativeToValue(this.radius,e)*t},t.prototype.fixPoint=function(e,t,i){var a=r.DEGREES*Math.atan2(e.y,e.x);o.isNumber(i)||(i=t),this.invalid&&this.validate();var n=this.relativeRotation;this.dy=-this._measuredHeight*(1-(e.y+t)/(2*t)),this.dx=-this._measuredWidth*(1-(e.x+t)/(2*t));var s=this.pixelRadius(t);if(o.isNumber(n)){var l=this.bbox.width,h=this.bbox.height;a>90||a<-90?-90==n&&(n=90,l=0):(-90==n&&(h=-h),90==n&&(n=-90,l=0,h=-h)),this.rotation=n+a+90;var u=r.sin(n)/2,d=r.cos(n)/2,c=this.rotation;this.dx=h*u*r.sin(c)-l*d*r.cos(c),this.dy=-h*u*r.cos(c)-l*d*r.sin(c);var p=this.pixelPaddingBottom,y=this.pixelPaddingTop,g=this.pixelPaddingLeft,f=this.pixelPaddingRight;this.inside?a>90||a<-90?s-=(p+y)*r.cos(n)+(g+f)*r.sin(n):s+=(p+this.bbox.height+y)*r.cos(n)+(g+f+this.bbox.width)*r.sin(n):s+=(h+p+y)*r.cos(n)+(l+g+f)*r.sin(n)}return this.fdx=this.dx,this.fdy=this.dy,e.x+=r.cos(a)*s,e.y+=r.sin(a)*s*i/t,e},t}(n.a);s.b.registeredClasses.AxisLabelCircular=h},Lrmi:function(e,t,i){"use strict";i.d(t,"a",function(){return l});var a=i("m4/l"),n=i("8EhG"),s=i("tjMS"),r=i("aCit"),o=i("Mtpk"),l=function(e){function t(t){var i=e.call(this,t)||this;return i.className="AxisFillCircular",i.element=i.paper.add("path"),i.radius=Object(s.c)(100),i.applyTheme(),i}return a.c(t,e),t.prototype.draw=function(){if(e.prototype.draw.call(this),this.axis){var t=this.axis.renderer;this.fillPath=t.getPositionRangePath(this.startPosition,this.endPosition,this.radius,o.hasValue(this.innerRadius)?this.innerRadius:t.innerRadius,this.cornerRadius),this.path=this.fillPath}},Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cornerRadius",{get:function(){return this.getPropertyValue("cornerRadius")},set:function(e){this.setPropertyValue("cornerRadius",e,!0)},enumerable:!0,configurable:!0}),t}(n.a);r.b.registeredClasses.AxisFillCircular=l},XFs4:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={};i.d(a,"GaugeChartDataItem",function(){return pe}),i.d(a,"GaugeChart",function(){return ye}),i.d(a,"RadarChartDataItem",function(){return he}),i.d(a,"RadarChart",function(){return ue}),i.d(a,"XYChartDataItem",function(){return K}),i.d(a,"XYChart",function(){return G}),i.d(a,"SerialChartDataItem",function(){return s.b}),i.d(a,"SerialChart",function(){return s.a}),i.d(a,"PieChart3DDataItem",function(){return Se}),i.d(a,"PieChart3D",function(){return Re}),i.d(a,"PieChartDataItem",function(){return Ie}),i.d(a,"PieChart",function(){return _e}),i.d(a,"SlicedChart",function(){return Oe}),i.d(a,"SlicedChartDataItem",function(){return Fe}),i.d(a,"FlowDiagramDataItem",function(){return ke.b}),i.d(a,"FlowDiagram",function(){return ke.a}),i.d(a,"SankeyDiagramDataItem",function(){return we.b}),i.d(a,"SankeyDiagram",function(){return we.a}),i.d(a,"ChordDiagramDataItem",function(){return Be}),i.d(a,"ChordDiagram",function(){return Ee}),i.d(a,"TreeMapDataItem",function(){return qe}),i.d(a,"TreeMap",function(){return Je}),i.d(a,"XYChart3DDataItem",function(){return at}),i.d(a,"XYChart3D",function(){return nt}),i.d(a,"ChartDataItem",function(){return st.b}),i.d(a,"Chart",function(){return st.a}),i.d(a,"LegendDataItem",function(){return rt.b}),i.d(a,"Legend",function(){return rt.a}),i.d(a,"LegendSettings",function(){return rt.c}),i.d(a,"HeatLegend",function(){return ot.a}),i.d(a,"SeriesDataItem",function(){return A.b}),i.d(a,"Series",function(){return A.a}),i.d(a,"XYSeriesDataItem",function(){return w}),i.d(a,"XYSeries",function(){return L}),i.d(a,"LineSeriesDataItem",function(){return ee}),i.d(a,"LineSeries",function(){return te}),i.d(a,"LineSeriesSegment",function(){return q}),i.d(a,"CandlestickSeriesDataItem",function(){return ht}),i.d(a,"CandlestickSeries",function(){return ut}),i.d(a,"OHLCSeriesDataItem",function(){return ct}),i.d(a,"OHLCSeries",function(){return pt}),i.d(a,"ColumnSeriesDataItem",function(){return Ue}),i.d(a,"ColumnSeries",function(){return He}),i.d(a,"StepLineSeriesDataItem",function(){return gt}),i.d(a,"StepLineSeries",function(){return ft}),i.d(a,"RadarSeriesDataItem",function(){return ie}),i.d(a,"RadarSeries",function(){return ae}),i.d(a,"RadarColumnSeriesDataItem",function(){return xt}),i.d(a,"RadarColumnSeries",function(){return vt}),i.d(a,"PieSeriesDataItem",function(){return Pe}),i.d(a,"PieSeries",function(){return Ce}),i.d(a,"FunnelSeries",function(){return bt.a}),i.d(a,"FunnelSeriesDataItem",function(){return bt.b}),i.d(a,"PyramidSeries",function(){return Pt}),i.d(a,"PyramidSeriesDataItem",function(){return At}),i.d(a,"PictorialStackedSeries",function(){return It}),i.d(a,"PictorialStackedSeriesDataItem",function(){return Ct}),i.d(a,"PieTick",function(){return Ae}),i.d(a,"FunnelSlice",function(){return _t.a}),i.d(a,"PieSeries3DDataItem",function(){return Te}),i.d(a,"PieSeries3D",function(){return Ve}),i.d(a,"TreeMapSeriesDataItem",function(){return Ke}),i.d(a,"TreeMapSeries",function(){return Ge}),i.d(a,"ColumnSeries3DDataItem",function(){return tt}),i.d(a,"ColumnSeries3D",function(){return it}),i.d(a,"ConeSeriesDataItem",function(){return Vt}),i.d(a,"ConeSeries",function(){return St}),i.d(a,"CurvedColumnSeries",function(){return Ot}),i.d(a,"CurvedColumnSeriesDataItem",function(){return Ft}),i.d(a,"AxisDataItem",function(){return u.b}),i.d(a,"Axis",function(){return u.a}),i.d(a,"Grid",function(){return kt.a}),i.d(a,"AxisTick",function(){return wt.a}),i.d(a,"AxisLabel",function(){return Lt.a}),i.d(a,"AxisLine",function(){return Xt.a}),i.d(a,"AxisFill",function(){return Yt.a}),i.d(a,"AxisRenderer",function(){return jt.a}),i.d(a,"AxisBreak",function(){return p.a}),i.d(a,"ValueAxisDataItem",function(){return C.b}),i.d(a,"ValueAxis",function(){return C.a}),i.d(a,"CategoryAxisDataItem",function(){return v}),i.d(a,"CategoryAxis",function(){return b}),i.d(a,"CategoryAxisBreak",function(){return y}),i.d(a,"DateAxisDataItem",function(){return S}),i.d(a,"DateAxis",function(){return R}),i.d(a,"DurationAxisDataItem",function(){return Nt}),i.d(a,"DurationAxis",function(){return Mt}),i.d(a,"DateAxisBreak",function(){return D}),i.d(a,"ValueAxisBreak",function(){return _.a}),i.d(a,"AxisRendererX",function(){return l.a}),i.d(a,"AxisRendererY",function(){return h.a}),i.d(a,"AxisRendererRadial",function(){return le}),i.d(a,"AxisLabelCircular",function(){return ve.a}),i.d(a,"AxisRendererCircular",function(){return re.a}),i.d(a,"AxisFillCircular",function(){return Bt.a}),i.d(a,"GridCircular",function(){return Et.a}),i.d(a,"AxisRendererX3D",function(){return Qe}),i.d(a,"AxisRendererY3D",function(){return $e}),i.d(a,"Tick",function(){return be.a}),i.d(a,"Bullet",function(){return Xe.a}),i.d(a,"LabelBullet",function(){return Wt.a}),i.d(a,"CircleBullet",function(){return zt}),i.d(a,"ErrorBullet",function(){return Ut}),i.d(a,"XYChartScrollbar",function(){return H}),i.d(a,"ClockHand",function(){return ce}),i.d(a,"FlowDiagramNode",function(){return Le.a}),i.d(a,"FlowDiagramLink",function(){return je.a}),i.d(a,"SankeyNode",function(){return Ht.a}),i.d(a,"SankeyLink",function(){return Kt.a}),i.d(a,"ChordNode",function(){return Ye}),i.d(a,"ChordLink",function(){return Me}),i.d(a,"NavigationBarDataItem",function(){return Qt}),i.d(a,"NavigationBar",function(){return $t}),i.d(a,"Column",function(){return We.a}),i.d(a,"Candlestick",function(){return lt}),i.d(a,"OHLC",function(){return dt}),i.d(a,"RadarColumn",function(){return mt}),i.d(a,"Column3D",function(){return et.a}),i.d(a,"ConeColumn",function(){return Tt}),i.d(a,"CurvedColumn",function(){return Rt}),i.d(a,"XYCursor",function(){return E}),i.d(a,"Cursor",function(){return N}),i.d(a,"RadarCursor",function(){return se});var n=i("m4/l"),s=i("2I/e"),r=i("C6dT"),o=i("vMqJ"),l=i("k6kv"),h=i("OXm9"),u=i("AAkI"),d=i("aCit"),c=i("+qIf"),p=i("Uslz"),y=function(e){function t(){var t=e.call(this)||this;return t.className="CategoryAxisBreak",t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"startPosition",{get:function(){if(this.axis)return this.axis.indexToPosition(this.adjustedStartValue)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endPosition",{get:function(){if(this.axis)return this.axis.indexToPosition(this.adjustedEndValue)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"startCategory",{get:function(){return this.getPropertyValue("startCategory")},set:function(e){this.setPropertyValue("startCategory",e)&&this.axis&&(this.axis.invalidateDataItems(),this.axis.invalidateSeries())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endCategory",{get:function(){return this.getPropertyValue("endCategory")},set:function(e){this.setPropertyValue("endCategory",e)&&this.axis&&(this.axis.invalidateDataItems(),this.axis.invalidateSeries())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"startValue",{get:function(){var e=this.getPropertyValue("startCategory");return e?this.axis.categoryToIndex(e):this.getPropertyValue("startValue")},set:function(e){this.setPropertyValue("startValue",e)&&this.axis&&(this.axis.invalidateDataItems(),this.axis.invalidateSeries())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endValue",{get:function(){var e=this.getPropertyValue("endCategory");return e?this.axis.categoryToIndex(e):this.getPropertyValue("endValue")},set:function(e){this.setPropertyValue("endValue",e)&&this.axis&&(this.axis.invalidateDataItems(),this.axis.invalidateSeries())},enumerable:!0,configurable:!0}),t}(p.a);d.b.registeredClasses.CategoryAxisBreak=y;var g=i("Gg2j"),f=i("Mtpk"),m=i("Wglt"),x=i("x79X"),v=function(e){function t(){var t=e.call(this)||this;return t.adapter=new x.a(t),t.className="CategoryAxisDataItem",t.text="{category}",t.locations.category=0,t.locations.endCategory=1,t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"category",{get:function(){return this.adapter.isEnabled("category")?this.adapter.apply("category",this.properties.category):this.properties.category},set:function(e){this.setProperty("category",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endCategory",{get:function(){return this.properties.endCategory},set:function(e){this.setProperty("endCategory",e)},enumerable:!0,configurable:!0}),t}(u.b),b=function(e){function t(){var t=e.call(this)||this;return t.dataItemsByCategory=new c.a,t.className="CategoryAxis",t.axisFieldName="category",t._lastDataItem=t.createDataItem(),t._lastDataItem.component=t,t._disposers.push(t._lastDataItem),t.applyTheme(),t}return n.c(t,e),t.prototype.createDataItem=function(){return new v},t.prototype.createAxisBreak=function(){return new y},t.prototype.validateDataRange=function(){var i=this;e.prototype.validateDataRange.call(this),m.each(this._series.iterator(),function(e){if(e.xAxis instanceof t&&e.yAxis instanceof t)e.invalidateDataRange();else{var a=i.getSeriesDataItem(e,i.start),n=i.getSeriesDataItem(e,i.end,!0);a?e.startIndex=a.index:e.start=i.start,n?e.endIndex=n.index+1:e.end=i.end,i.axisBreaks.length>0&&e.invalidateDataRange()}})},t.prototype.validate=function(){var t=this;e.prototype.validate.call(this);var i=this.dataItems.length,a=g.fitToRange(Math.floor(this.start*i-1),0,i),n=g.fitToRange(Math.ceil(this.end*i),0,i);this.renderer.invalid&&this.renderer.validate();var s=this.renderer.axisLength/this.renderer.minGridDistance,r=Math.min(this.dataItems.length,Math.ceil((n-a)/s));if(this._startIndex=Math.floor(a/r)*r,this._endIndex=Math.ceil(this.end*i),this.fixAxisBreaks(),this._startIndex==this._endIndex&&this._endIndex++,this._frequency=r,!(this.axisLength<=0)){this.maxZoomFactor=this.dataItems.length,this.dataItems.length<=0&&(this.maxZoomFactor=1),this.resetIterators(),a=g.max(0,this._startIndex-this._frequency),n=g.min(this.dataItems.length,this._endIndex+this._frequency);for(var o=0,l=0;l<a;l++){(u=this.dataItems.getIndex(l)).__disabled=!0}l=n;for(var h=this.dataItems.length;l<h;l++){(u=this.dataItems.getIndex(l)).__disabled=!0}for(l=a;l<n;l++)if(l<this.dataItems.length){var u=this.dataItems.getIndex(l);if(l/this._frequency==Math.round(l/this._frequency))this.isInBreak(l)||(this.appendDataItem(u),this.validateDataElement(u,o)),o++;else this.validateDataElement(u,o),u.__disabled=!0}this.appendDataItem(this._lastDataItem),this.validateDataElement(this._lastDataItem,o+1,this.dataItems.length),this.axisBreaks.each(function(e){var i=e.adjustedStartValue,a=e.adjustedEndValue;if(g.intersect({start:i,end:a},{start:t._startIndex,end:t._endIndex}))for(var n=g.fitToRange(Math.ceil(t._frequency/e.breakSize),1,a-i),s=0,r=i;r<=a;r+=n){var o=t.dataItems.getIndex(r);t.appendDataItem(o),t.validateDataElement(o,s),s++}}),this.validateBreaks(),this.validateAxisRanges(),this.ghostLabel.invalidate(),this.renderer.invalidateLayout()}},t.prototype.validateDataElement=function(t,i,a){e.prototype.validateDataElement.call(this,t);var n=this.renderer;f.isNumber(a)||(a=this.categoryToIndex(t.category));var s=this.categoryToIndex(t.endCategory);f.isNumber(s)||(s=a);var r,o,l,h=this.indexToPosition(a,t.locations.category),u=this.indexToPosition(s,t.locations.endCategory);t.position=h,t.isRange&&(r=s,o=this.indexToPosition(a,t.locations.category),l=this.indexToPosition(r,t.locations.endCategory)),t.point=n.positionToPoint(h);var d=t.tick;d&&!d.disabled&&n.updateTickElement(d,h,u);var c=t.grid;c&&!c.disabled&&n.updateGridElement(c,h,u);var p=t.label;p&&!p.disabled&&(t.isRange&&void 0!=p.text||(t.text=t.text),n.updateLabelElement(p,h,u),(t.label.measuredWidth>this.ghostLabel.measuredWidth||t.label.measuredHeight>this.ghostLabel.measuredHeight)&&(this.ghostLabel.text=t.label.currentText));var y=t.axisFill;y&&!y.disabled&&(t.isRange||(r=a+this._frequency,o=this.indexToPosition(a,y.location),l=this.indexToPosition(r,y.location)),n.updateFillElement(y,o,l),t.isRange||this.fillRule(t,i));var g=t.mask;g&&n.updateFillElement(g,o,l)},t.prototype.processDataItem=function(t,i){e.prototype.processDataItem.call(this,t,i);var a=this.dataItemsByCategory.getKey(t.category);a!=t&&this.dataItems.remove(a),this.dataItemsByCategory.setKey(t.category,t)},t.prototype.indexToPosition=function(e,t){f.isNumber(t)||(t=.5);var i=this.startIndex,a=this.endIndex,n=this.adjustDifference(i,a),s=this.startLocation;n-=s,n-=1-this.endLocation;var r=this.axisBreaks;return m.eachContinue(r.iterator(),function(t){var n=t.adjustedStartValue,s=t.adjustedEndValue;if(e<i)return!1;if(g.intersect({start:n,end:s},{start:i,end:a})){n=Math.max(i,n),s=Math.min(a,s);var r=t.breakSize;e>s?i+=(s-n)*(1-r):e<n||(e=n+(e-n)*r)}return!0}),g.round((e+t-s-i)/n,5)},t.prototype.categoryToPosition=function(e,t){var i=this.categoryToIndex(e);return this.indexToPosition(i,t)},t.prototype.categoryToPoint=function(e,t){var i=this.categoryToPosition(e,t),a=this.renderer.positionToPoint(i),n=this.renderer.positionToAngle(i);return{x:a.x,y:a.y,angle:n}},t.prototype.anyToPoint=function(e,t){return this.categoryToPoint(e,t)},t.prototype.anyToPosition=function(e,t){return this.categoryToPosition(e,t)},t.prototype.categoryToIndex=function(e){if(f.hasValue(e)){var t=this.dataItemsByCategory.getKey(e);if(t)return t.index}},t.prototype.zoomToCategories=function(e,t){this.zoomToIndexes(this.categoryToIndex(e),this.categoryToIndex(t)+1)},t.prototype.getAnyRangePath=function(e,t,i,a){var n=this.categoryToPosition(e,i),s=this.categoryToPosition(t,a);return this.getPositionRangePath(n,s)},t.prototype.roundPosition=function(e,t){var i=this.positionToIndex(e);return this.indexToPosition(i,t)},t.prototype.getSeriesDataItem=function(e,t,i){var a=this;if(f.isNumber(t)){var n=this.positionToIndex(t),s=this.dataItems.getIndex(n);if(s){var r,o=s.category;if(!i){var l=e.dataItems.getIndex(n);return e.xAxis==this&&l.categoryX==o?l:e.yAxis==this&&l.categoryY==o?l:(m.eachContinue(e.dataItems.iterator(),function(t){return e.xAxis==a&&t.categoryX==o?(r=t,!1):e.yAxis!=a||t.categoryY!=o||(r=t,!1)}),r)}for(var h=e.dataItems.length-1;h>=0;h--){var u=e.dataItems.getIndex(h);if(e.xAxis==this&&u.categoryX==o)return u;if(e.yAxis==this&&u.categoryY==o)return u}}}},t.prototype.getX=function(e,t,i){var a;return f.hasValue(t)&&(a=this.categoryToPosition(e.categories[t],i)),f.isNaN(a)?this.basePoint.x:this.renderer.positionToPoint(a).x},t.prototype.getY=function(e,t,i){var a;return f.hasValue(t)&&(a=this.categoryToPosition(e.categories[t],i)),f.isNaN(a)?this.basePoint.y:this.renderer.positionToPoint(a).y},t.prototype.getAngle=function(e,t,i,a){return this.positionToAngle(this.categoryToPosition(e.categories[t],i))},t.prototype.getCellStartPosition=function(e){return this.roundPosition(e,0)},t.prototype.getCellEndPosition=function(e){return this.roundPosition(e,1)},t.prototype.getTooltipText=function(e){var t=this.dataItems.getIndex(this.positionToIndex(e));if(t)return this.adapter.apply("getTooltipText",t.category)},t.prototype.positionToIndex=function(e){(e=g.round(e,10))<0&&(e=0);var t=this.startIndex,i=this.endIndex,a=i-t,n=this.axisBreaks,s=null;return m.eachContinue(n.iterator(),function(n){var r=n.startPosition,o=n.endPosition,l=n.adjustedStartValue,h=n.adjustedEndValue;l=g.max(l,t),h=g.min(h,i);var u=n.breakSize;if(a-=(h-l)*(1-u),e>o)t+=(h-l)*(1-u);else if(!(e<r)){var d=(e-r)/(o-r);return s=l+Math.round(d*(h-l)),!1}return!0}),f.isNumber(s)||(s=Math.floor(e*a+t)),s>=i&&s--,s},t.prototype.getPositionLabel=function(e){var t=this.dataItems.getIndex(this.positionToIndex(e));if(t)return t.category},Object.defineProperty(t.prototype,"basePoint",{get:function(){return this.renderer.positionToPoint(1)},enumerable:!0,configurable:!0}),t.prototype.initRenderer=function(){e.prototype.initRenderer.call(this),this.renderer.baseGrid.disabled=!0},t}(u.a);d.b.registeredClasses.CategoryAxis=b,d.b.registeredClasses.CategoryAxisDataItem=v;var A=i("aM7D"),P=i("Vs7R"),C=i("pR7v"),I=i("hD5A"),_=i("ZoDA"),D=function(e){function t(){var t=e.call(this)||this;return t.className="DateAxisBreak",t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"startDate",{get:function(){return this.getPropertyValue("startDate")},set:function(e){this.setPropertyValue("startDate",e)&&(this.startValue=e.getTime(),this.axis&&(this.axis.invalidate(),this.axis.invalidateSeries()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endDate",{get:function(){return this.getPropertyValue("endDate")},set:function(e){this.setPropertyValue("endDate",e)&&(this.endValue=e.getTime(),this.axis&&(this.axis.invalidate(),this.axis.invalidateSeries()))},enumerable:!0,configurable:!0}),t}(_.a);d.b.registeredClasses.DateAxisBreak=D;var T=i("L91H"),V=i("Qkdp"),S=function(e){function t(){var t=e.call(this)||this;return t.className="DateAxisDataItem",t.applyTheme(),t.values.date={},t.values.endDate={},t}return n.c(t,e),Object.defineProperty(t.prototype,"date",{get:function(){return this.dates.date},set:function(e){this.setDate("date",e),this.value=e.getTime()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endDate",{get:function(){return this.dates.endDate},set:function(e){this.setDate("endDate",e),this.endValue=e.getTime()},enumerable:!0,configurable:!0}),t}(C.b),R=function(e){function t(){var t=e.call(this)||this;return t.gridIntervals=new o.b,t.dateFormats=new c.a,t.periodChangeDateFormats=new c.a,t._baseIntervalReal={timeUnit:"day",count:1},t._minDifference={},t.className="DateAxis",t.setPropertyValue("markUnitChange",!0),t.snapTooltip=!0,t.gridIntervals.pushAll([{timeUnit:"millisecond",count:1},{timeUnit:"millisecond",count:5},{timeUnit:"millisecond",count:10},{timeUnit:"millisecond",count:50},{timeUnit:"millisecond",count:100},{timeUnit:"millisecond",count:500},{timeUnit:"second",count:1},{timeUnit:"second",count:5},{timeUnit:"second",count:10},{timeUnit:"second",count:30},{timeUnit:"minute",count:1},{timeUnit:"minute",count:5},{timeUnit:"minute",count:10},{timeUnit:"minute",count:15},{timeUnit:"minute",count:30},{timeUnit:"hour",count:1},{timeUnit:"hour",count:3},{timeUnit:"hour",count:6},{timeUnit:"hour",count:12},{timeUnit:"day",count:1},{timeUnit:"day",count:2},{timeUnit:"day",count:3},{timeUnit:"day",count:4},{timeUnit:"day",count:5},{timeUnit:"week",count:1},{timeUnit:"month",count:1},{timeUnit:"month",count:2},{timeUnit:"month",count:3},{timeUnit:"month",count:6},{timeUnit:"year",count:1},{timeUnit:"year",count:2},{timeUnit:"year",count:5},{timeUnit:"year",count:10},{timeUnit:"year",count:50},{timeUnit:"year",count:100},{timeUnit:"year",count:200},{timeUnit:"year",count:500},{timeUnit:"year",count:1e3},{timeUnit:"year",count:2e3},{timeUnit:"year",count:5e3},{timeUnit:"year",count:1e4},{timeUnit:"year",count:1e5}]),t.axisFieldName="date",t.applyTheme(),t}return n.c(t,e),t.prototype.fillRule=function(e){var t=e.value,i=e.component,a=i._gridInterval,n=T.getDuration(a.timeUnit,a.count);Math.round((t-i.min)/n)/2==Math.round(Math.round((t-i.min)/n)/2)?e.axisFill.__disabled=!0:e.axisFill.__disabled=!1},t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),this.dateFormats.hasKey("millisecond")||this.dateFormats.setKey("millisecond",this.language.translate("_date_millisecond")),this.dateFormats.hasKey("second")||this.dateFormats.setKey("second",this.language.translate("_date_second")),this.dateFormats.hasKey("minute")||this.dateFormats.setKey("minute",this.language.translate("_date_minute")),this.dateFormats.hasKey("hour")||this.dateFormats.setKey("hour",this.language.translate("_date_hour")),this.dateFormats.hasKey("day")||this.dateFormats.setKey("day",this.language.translate("_date_day")),this.dateFormats.hasKey("week")||this.dateFormats.setKey("week",this.language.translate("_date_day")),this.dateFormats.hasKey("month")||this.dateFormats.setKey("month",this.language.translate("_date_month")),this.dateFormats.hasKey("year")||this.dateFormats.setKey("year",this.language.translate("_date_year")),this.periodChangeDateFormats.hasKey("millisecond")||this.periodChangeDateFormats.setKey("millisecond",this.language.translate("_date_millisecond")),this.periodChangeDateFormats.hasKey("second")||this.periodChangeDateFormats.setKey("second",this.language.translate("_date_second")),this.periodChangeDateFormats.hasKey("minute")||this.periodChangeDateFormats.setKey("minute",this.language.translate("_date_minute")),this.periodChangeDateFormats.hasKey("hour")||this.periodChangeDateFormats.setKey("hour",this.language.translate("_date_hour")),this.periodChangeDateFormats.hasKey("day")||this.periodChangeDateFormats.setKey("day",this.language.translate("_date_day")),this.periodChangeDateFormats.hasKey("week")||this.periodChangeDateFormats.setKey("week",this.language.translate("_date_day")),this.periodChangeDateFormats.hasKey("month")||this.periodChangeDateFormats.setKey("month",this.language.translate("_date_month")+" "+this.language.translate("_date_year"))},t.prototype.createDataItem=function(){return new S},t.prototype.createAxisBreak=function(){return new D},t.prototype.validateDataItems=function(){var t=this.start,i=this.end,a=(this.max-this.min)/this.baseDuration;e.prototype.validateDataItems.call(this),this.maxZoomFactor=(this.max-this.min)/this.baseDuration,t+=(i-t)*(1-a/((this.max-this.min)/this.baseDuration)),this.zoom({start:t,end:i},!1,!0)},t.prototype.handleSelectionExtremesChange=function(){},t.prototype.calculateZoom=function(){var t=this;e.prototype.calculateZoom.call(this);var i=this.chooseInterval(0,this.adjustDifference(this._minZoomed,this._maxZoomed),this._gridCount);T.getDuration(i.timeUnit,i.count)<this.baseDuration&&(i=n.a({},this.baseInterval)),this._gridInterval=i,this._gridDate=T.round(new Date(this.min),i.timeUnit,i.count),this._nextGridUnit=T.getNextUnit(i.timeUnit),this._intervalDuration=T.getDuration(i.timeUnit,i.count);var a=Math.ceil(this._difference/this._intervalDuration);a=Math.floor(this.start*a)-3,T.add(this._gridDate,i.timeUnit,a*i.count),m.each(this.series.iterator(),function(e){if(e.baseAxis==t){var i=e.getAxisField(t),a=e.dataItems.findClosestIndex(t._minZoomed,function(e){return e[i]},"left"),n=e.dataItems.findClosestIndex(t._maxZoomed-1,function(e){return e[i]},"right")+1;e.startIndex=a,e.endIndex=n}})},t.prototype.validateData=function(){e.prototype.validateData.call(this),f.isNumber(this.baseInterval.count)||(this.baseInterval.count=1)},Object.defineProperty(t.prototype,"minDifference",{get:function(){var e=this,t=Number.MAX_VALUE;return this.series.each(function(i){t>e._minDifference[i.uid]&&(t=e._minDifference[i.uid])}),t!=Number.MAX_VALUE&&0!=t||(t=T.getDuration("day")),t},enumerable:!0,configurable:!0}),t.prototype.seriesDataChangeUpdate=function(e){this._minDifference[e.uid]=Number.MAX_VALUE},t.prototype.postProcessSeriesDataItems=function(){var e=this;m.each(this.series.iterator(),function(t){m.each(t.dataItems.iterator(),function(t){e.postProcessSeriesDataItem(t)})}),this.addEmptyUnitsBreaks()},t.prototype.postProcessSeriesDataItem=function(e){var t=this,i=this.baseInterval;V.each(e.dates,function(a){var n=e.getDate(a),s=T.round(T.copy(n),i.timeUnit,i.count),r=T.add(T.copy(s),i.timeUnit,i.count);e.setCalculatedValue(a,s.getTime(),"open"),e.setCalculatedValue(a,r.getTime(),"close"),e.component.dataItemsByAxis.getKey(t.uid).setKey(s.getTime().toString(),e)})},t.prototype.addEmptyUnitsBreaks=function(){var e=this;if(this.skipEmptyPeriods&&f.isNumber(this.min)&&f.isNumber(this.max)){var t=this.baseInterval.timeUnit,i=this.baseInterval.count;this.axisBreaks.clear();for(var a=T.round(new Date(this.min),t,i),n=void 0,s=function(){T.add(a,t,i);var s=a.getTime(),o=s.toString();m.contains(r.series.iterator(),function(t){return!!t.dataItemsByAxis.getKey(e.uid).getKey(o)})?n&&(n.endDate=new Date(s-1),n=void 0):n||((n=r.axisBreaks.create()).startDate=new Date(s))},r=this;a.getTime()<this.max-this.baseDuration;)s()}},t.prototype.fixAxisBreaks=function(){var t=this;e.prototype.fixAxisBreaks.call(this);var i=this._axisBreaks;m.each(i.iterator(),function(e){var i=Math.ceil(t._gridCount*(Math.min(t.end,e.endPosition)-Math.max(t.start,e.startPosition))/(t.end-t.start));e.gridInterval=t.chooseInterval(0,e.adjustedEndValue-e.adjustedStartValue,i);var a=T.round(new Date(e.adjustedStartValue),e.gridInterval.timeUnit,e.gridInterval.count);a.getTime()>e.startDate.getTime()&&T.add(a,e.gridInterval.timeUnit,e.gridInterval.count),e.gridDate=a})},t.prototype.getGridDate=function(e,t){var i=this._gridInterval.timeUnit,a=this._gridInterval.count;T.round(e,i);var n=e.getTime(),s=T.copy(e),r=T.add(s,i,t).getTime(),o=this.isInBreak(r);o&&(s=new Date(o.endDate.getTime()),T.round(s,i,a),s.getTime()<o.endDate.getTime()&&T.add(s,i,a),r=s.getTime());var l=this.adjustDifference(n,r);return Math.round(l/T.getDuration(i))<a?this.getGridDate(e,t+a):s},t.prototype.getBreaklessDate=function(e,t,i){var a=new Date(e.endValue);T.round(a,t,i),T.add(a,t,i);var n=a.getTime();return(e=this.isInBreak(n))?this.getBreaklessDate(e,t,i):a},t.prototype.validateAxisElements=function(){var e=this;if(f.isNumber(this.max)&&f.isNumber(this.min)){this.calculateZoom();var t=this._gridDate.getTime(),i=this._gridInterval.timeUnit,a=this._gridInterval.count,n=T.copy(this._gridDate),s=this._dataItemsIterator;this.resetIterators();for(var r=function(){var e=o.getGridDate(new Date(n),a);t=e.getTime();var r=T.copy(e);r=T.add(r,i,a);var l=o.dateFormats.getKey(i);o.markUnitChange&&n&&T.checkChange(e,n,o._nextGridUnit)&&"year"!==i&&(l=o.periodChangeDateFormats.getKey(i));var h=o.dateFormatter.format(e,l),u=s.find(function(e){return e.text===h});o.appendDataItem(u),u.axisBreak=void 0,u.date=e,u.endDate=r,u.text=h,n=e,o.validateDataElement(u)},o=this;t<=this._maxZoomed;)r();var l=this.renderer;m.each(this.axisBreaks.iterator(),function(t){if(t.breakSize>0){var i=t.gridInterval.timeUnit,a=t.gridInterval.count;if(g.getDistance(t.startPoint,t.endPoint)>4*l.minGridDistance)for(var n,r=t.gridDate.getTime(),o=0,h=function(){var l=T.copy(t.gridDate);if(r=T.add(l,i,a*o).getTime(),o++,r>t.adjustedStartValue&&r<t.adjustedEndValue){var h=T.copy(l);h=T.add(h,i,a);var u=e.dateFormats.getKey(i);e.markUnitChange&&n&&T.checkChange(l,n,e._nextGridUnit)&&"year"!==i&&(u=e.periodChangeDateFormats.getKey(i));var d=e.dateFormatter.format(l,u),c=s.find(function(e){return e.text===d});e.appendDataItem(c),c.axisBreak=t,t.dataItems.moveValue(c),c.date=l,c.endDate=h,c.text=d,n=l,e.validateDataElement(c)}};r<=t.adjustedMax;)h()}})}},t.prototype.validateDataElement=function(e){if(f.isNumber(this.max)&&f.isNumber(this.min)){var t=this.renderer,i=e.value,a=e.endValue;f.isNumber(a)||(a=i);var n=this.valueToPosition(i),s=this.valueToPosition(a),r=s;!e.isRange&&this._gridInterval.count>1&&(s=n+(s-n)/this._gridInterval.count),e.position=n;var o=e.tick;o&&!o.disabled&&t.updateTickElement(o,n,s);var l=e.grid;l&&!l.disabled&&t.updateGridElement(l,n,s);var h=e.axisFill;h&&!h.disabled&&(t.updateFillElement(h,n,r),e.isRange||this.fillRule(e));var u=e.mask;u&&t.updateFillElement(u,n,s);var d=e.label;if(d&&!d.disabled){var c=d.location;0==c&&(c=1!=this._gridInterval.count||"week"==this._gridInterval.timeUnit||e.isRange?0:.5),t.updateLabelElement(d,n,s,c)}}},Object.defineProperty(t.prototype,"baseDuration",{get:function(){return T.getDuration(this.baseInterval.timeUnit,this.baseInterval.count)},enumerable:!0,configurable:!0}),t.prototype.adjustMinMax=function(e,t){return{min:e,max:t,step:this.baseDuration}},t.prototype.fixMin=function(e){return T.round(new Date(e),this.baseInterval.timeUnit,this.baseInterval.count).getTime()+this.baseDuration*this.startLocation},t.prototype.fixMax=function(e){return T.round(new Date(e),this.baseInterval.timeUnit,this.baseInterval.count).getTime()+this.baseDuration*this.endLocation},t.prototype.chooseInterval=function(e,t,i){var a=this.gridIntervals,s=a.getIndex(e),r=T.getDuration(s.timeUnit,s.count),o=a.length-1;if(e>=o)return n.a({},a.getIndex(o));var l=Math.ceil(t/r);return t<r&&e>0?n.a({},a.getIndex(e-1)):l<=i?n.a({},a.getIndex(e)):e+1<a.length?this.chooseInterval(e+1,t,i):n.a({},a.getIndex(e))},t.prototype.formatLabel=function(e){return this.dateFormatter.format(e)},t.prototype.dateToPosition=function(e){return this.valueToPosition(e.getTime())},t.prototype.anyToPosition=function(e){return e instanceof Date?this.dateToPosition(e):this.valueToPosition(e)},t.prototype.dateToPoint=function(e){var t=this.dateToPosition(e),i=this.renderer.positionToPoint(t),a=this.renderer.positionToAngle(t);return{x:i.x,y:i.y,angle:a}},t.prototype.anyToPoint=function(e){return e instanceof Date?this.dateToPoint(e):this.valueToPoint(e)},t.prototype.positionToDate=function(e){return new Date(this.positionToValue(e))},t.prototype.getX=function(e,t,i){var a=this.getTimeByLocation(e,t,i);return f.isNumber(a)||(a=this.baseValue),this.renderer.positionToPoint(this.valueToPosition(a)).x},t.prototype.getY=function(e,t,i){var a=this.getTimeByLocation(e,t,i),n=e.getValue("valueX","stack");return f.isNumber(a)||(a=this.baseValue),this.renderer.positionToPoint(this.valueToPosition(a+n)).y},t.prototype.getAngle=function(e,t,i,a){var n=this.getTimeByLocation(e,t,i),s=e.getValue(a,"stack");return f.isNumber(n)||(n=this.baseValue),this.positionToAngle(this.valueToPosition(n+s))},t.prototype.getTimeByLocation=function(e,t,i){if(f.hasValue(t)){f.isNumber(i)||(i=e.workingLocations[t],f.isNumber(i)||(i=0));var a=e.values[t].open,n=e.values[t].close;return f.isNumber(a)&&f.isNumber(n)?a+(n-a)*i:void 0}},t.prototype.processSeriesDataItem=function(e,t){var i,a=e.component,n=e["date"+t];if(n){i=n.getTime();var s,r=e["openDate"+t],o=this._prevSeriesTime;if(r&&(s=r.getTime()),f.isNumber(s)){var l=Math.abs(i-s);this._minDifference[a.uid]>l&&(this._minDifference[a.uid]=l)}var h=i-o;h>0&&this._minDifference[a.uid]>h&&(this._minDifference[a.uid]=h),this._prevSeriesTime=i}},t.prototype.updateAxisBySeries=function(){e.prototype.updateAxisBySeries.call(this);var t=this.chooseInterval(0,this.minDifference,1);this.minDifference>=T.getDuration("day",27)&&"week"==t.timeUnit&&(t.timeUnit="month",t.count=1),this.minDifference>=T.getDuration("hour",23)&&"hour"==t.timeUnit&&(t.timeUnit="day",t.count=1),this._baseIntervalReal=t},Object.defineProperty(t.prototype,"baseInterval",{get:function(){return this._baseInterval?this._baseInterval:this._baseIntervalReal},set:function(e){this._baseInterval=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"skipEmptyPeriods",{get:function(){return this.getPropertyValue("skipEmptyPeriods")},set:function(e){if(this.setPropertyValue("skipEmptyPeriods",e)&&this.invalidateData(),e){var t=this.axisBreaks.template;t.startLine.disabled=!0,t.endLine.disabled=!0,t.fillShape.disabled=!0,t.breakSize=0}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipDateFormat",{get:function(){return this.getPropertyValue("tooltipDateFormat")},set:function(e){this.setPropertyValue("tooltipDateFormat",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"markUnitChange",{get:function(){return this.getPropertyValue("markUnitChange")},set:function(e){this.setPropertyValue("markUnitChange",e)&&this.invalidateData()},enumerable:!0,configurable:!0}),t.prototype.getTooltipText=function(e){var t,i=this.positionToDate(e);if(i=T.round(i,this.baseInterval.timeUnit,this.baseInterval.count),f.hasValue(this.tooltipDateFormat))t=this.dateFormatter.format(i,this.tooltipDateFormat);else{var a=this.dateFormats.getKey(this.baseInterval.timeUnit);t=a?this.dateFormatter.format(i,a):this.getPositionLabel(e)}return this.adapter.apply("getTooltipText",t)},t.prototype.roundPosition=function(e,t){var i=this.baseInterval,a=i.timeUnit,n=i.count,s=this.positionToDate(e);if(T.round(s,a,n),t>0&&T.add(s,a,t*n),this.isInBreak(s.getTime()))for(;s.getTime()<this.max&&(T.add(s,a,n),this.isInBreak(s.getTime())););return this.dateToPosition(s)},t.prototype.getCellStartPosition=function(e){return this.roundPosition(e,0)},t.prototype.getCellEndPosition=function(e){return this.roundPosition(e,1)},t.prototype.getSeriesDataItem=function(e,t,i){var a=this.positionToValue(t),n=T.round(new Date(a),this.baseInterval.timeUnit,this.baseInterval.count),s=e.dataItemsByAxis.getKey(this.uid).getKey(n.getTime().toString());if(!s&&i){for(var r=0,o=void 0,l=new Date(n.getTime());l.getTime()>this.minZoomed&&(l=T.add(l,this.baseInterval.timeUnit,-this.baseInterval.count),!(o=e.dataItemsByAxis.getKey(this.uid).getKey(l.getTime().toString())))&&!(++r>5e3););for(var h=0,u=void 0,d=new Date(n.getTime());d.getTime()<this.maxZoomed&&(d=T.add(d,this.baseInterval.timeUnit,this.baseInterval.count),!(u=e.dataItemsByAxis.getKey(this.uid).getKey(d.getTime().toString())))&&!(++h>5e3););if(o&&!u)return o;if(!o&&u)return u;if(o&&u)return r<h?o:u}return s},t.prototype.getPositionLabel=function(e){var t=this.positionToDate(e);return this.dateFormatter.format(t,this.getCurrentLabelFormat())},t.prototype.getCurrentLabelFormat=function(){return this.dateFormats.getKey(this._gridInterval?this._gridInterval.timeUnit:"day")},t.prototype.initRenderer=function(){e.prototype.initRenderer.call(this);var t=this.renderer;t&&(t.ticks.template.location=0,t.grid.template.location=0,t.labels.template.location=0,t.baseGrid.disabled=!0)},Object.defineProperty(t.prototype,"basePoint",{get:function(){return{x:0,y:0}},enumerable:!0,configurable:!0}),t.prototype.zoomToDates=function(e,t,i,a){e=this.dateFormatter.parse(e),t=this.dateFormatter.parse(t),this.zoomToValues(e.getTime(),t.getTime(),i,a)},t.prototype.asIs=function(t){return"baseInterval"==t||e.prototype.asIs.call(this,t)},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.dateFormats=t.dateFormats,this.periodChangeDateFormats=t.periodChangeDateFormats,t._baseInterval&&(this.baseInterval=t.baseInterval)},t.prototype.showTooltipAtPosition=function(t,i){var a=this;if(i||(t=this.toAxisPosition(t)),this.snapTooltip){var n,s=T.round(this.positionToDate(t),this.baseInterval.timeUnit,1).getTime();this.series.each(function(e){var i=a.getSeriesDataItem(e,t,!0);if(i){var r=void 0;e.xAxis==a&&(r=i.dateX),e.yAxis==a&&(r=i.dateY),n?Math.abs(n.getTime()-s)>Math.abs(r.getTime()-s)&&(n=r):n=r}}),n&&(n=T.round(new Date(n.getTime()),this.baseInterval.timeUnit,this.baseInterval.count),n=new Date(n.getTime()+this.baseDuration/2),t=this.dateToPosition(n))}e.prototype.showTooltipAtPosition.call(this,t,!0);var r=this.toGlobalPosition(t);this.series.each(function(e){e.xAxis==a&&e.showTooltipAtPosition(r,void 0),e.yAxis==a&&e.showTooltipAtPosition(void 0,r)})},Object.defineProperty(t.prototype,"snapTooltip",{get:function(){return this.getPropertyValue("snapTooltip")},set:function(e){this.setPropertyValue("snapTooltip",e)},enumerable:!0,configurable:!0}),t}(C.a);d.b.registeredClasses.DateAxis=R,d.b.registeredClasses.DateAxisDataItem=S;var F=i("v9UT"),O=i("hJ5i"),k=i("hGwe"),w=function(e){function t(){var t=e.call(this)||this;return t.className="XYSeriesDataItem",t.values.valueX={stack:0},t.values.valueY={stack:0},t.values.openValueX={},t.values.openValueY={},t.values.dateX={},t.values.dateY={},t.values.openDateX={},t.values.openDateY={},t.setLocation("dateX",.5,0),t.setLocation("dateY",.5,0),t.setLocation("categoryX",.5,0),t.setLocation("categoryY",.5,0),t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"valueX",{get:function(){return this.values.valueX.value},set:function(e){this.setValue("valueX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueY",{get:function(){return this.values.valueY.value},set:function(e){this.setValue("valueY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dateX",{get:function(){return this.getDate("dateX")},set:function(e){this.setDate("dateX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dateY",{get:function(){return this.getDate("dateY")},set:function(e){this.setDate("dateY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"categoryX",{get:function(){return this.categories.categoryX},set:function(e){this.setCategory("categoryX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"categoryY",{get:function(){return this.categories.categoryY},set:function(e){this.setCategory("categoryY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openValueX",{get:function(){return this.values.openValueX.value},set:function(e){this.setValue("openValueX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openValueY",{get:function(){return this.values.openValueY.value},set:function(e){this.setValue("openValueY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openDateX",{get:function(){return this.getDate("openDateX")},set:function(e){this.setDate("openDateX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openDateY",{get:function(){return this.getDate("openDateY")},set:function(e){this.setDate("openDateY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openCategoryX",{get:function(){return this.categories.openCategoryX},set:function(e){this.setProperty("openCategoryX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"openCategoryY",{get:function(){return this.categories.openCategoryY},set:function(e){this.setProperty("openCategoryY",e)},enumerable:!0,configurable:!0}),t.prototype.getMin=function(e,t,i){var a,n=this;return f.isNumber(i)||(i=0),O.each(e,function(e){var s;s=t?n.getWorkingValue(e):n.getValue(e),((s+=i)<a||!f.isNumber(a))&&(a=s)}),a},t.prototype.getMax=function(e,t,i){var a,n=this;return f.isNumber(i)||(i=0),O.each(e,function(e){var s;s=t?n.getWorkingValue(e):n.getValue(e),((s+=i)>a||!f.isNumber(a))&&(a=s)}),a},t}(A.b),L=function(e){function t(){var t=e.call(this)||this;return t._xAxis=new I.d,t._yAxis=new I.d,t._xValueFields=[],t._yValueFields=[],t.className="XYSeries",t.isMeasured=!1,t.cursorTooltipEnabled=!0,t.mainContainer.mask=new P.a,t.mainContainer.mask.setElement(t.paper.add("path")),t.stacked=!1,t.snapTooltip=!1,t.tooltip.pointerOrientation="horizontal",t.tooltip.events.on("hidden",function(){t.returnBulletDefaultState()},void 0,!1),t._disposers.push(t._xAxis),t._disposers.push(t._yAxis),t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("X/Y Series"))},t.prototype.createDataItem=function(){return new w},t.prototype.dataChangeUpdate=function(){this._tmin.clear(),this._tmax.clear(),this._smin.clear(),this._smax.clear(),this.xAxis&&this.xAxis.seriesDataChangeUpdate(this),this.yAxis&&this.yAxis.seriesDataChangeUpdate(this)},t.prototype.validateData=function(){if(this.defineFields(),this.data.length>0&&this.dataChangeUpdate(),e.prototype.validateData.call(this),this.updateItemReaderText(),!f.hasValue(this.dataFields[this._xField])||!f.hasValue(this.dataFields[this._yField]))throw Error('Data fields for series "'+(this.name?this.name:this.uid)+'" are not properly defined.')},t.prototype.processDataItem=function(t,i){try{e.prototype.processDataItem.call(this,t,i),t.events.disable(),this.xAxis.processSeriesDataItem(t,"X"),this.yAxis.processSeriesDataItem(t,"Y"),t.events.enable(),this.setInitialWorkingValues(t)}catch(e){this._chart.raiseCriticalError(e)}},t.prototype.setInitialWorkingValues=function(e){},t.prototype.disposeData=function(){if(e.prototype.disposeData.call(this),this.xAxis){var t=this.dataItemsByAxis.getKey(this.xAxis.uid);t&&t.clear()}if(this.yAxis){var i=this.dataItemsByAxis.getKey(this.yAxis.uid);i&&i.clear()}},t.prototype.defineFields=function(){var e=this.xAxis,t=this.yAxis,i=e.axisFieldName,a=i+"X",n="open"+F.capitalize(i)+"X",s=t.axisFieldName,r=s+"Y",o="open"+F.capitalize(s)+"Y";this._xField=a,this._yField=r,this.dataFields[n]&&(this._xOpenField=n),this.dataFields[o]&&(this._yOpenField=o),this.dataFields[o]||this.baseAxis!=this.yAxis||(this._yOpenField=r),this.dataFields[n]||this.baseAxis!=this.xAxis||(this._xOpenField=a),this.stacked&&this.baseAxis==this.xAxis&&(this._xOpenField=a),this.stacked&&this.baseAxis==this.yAxis&&(this._yOpenField=r),this.xAxis instanceof b&&this.yAxis instanceof b&&(this._yOpenField||(this._yOpenField=r)),this._xValueFields=[],this._yValueFields=[],this.addValueField(this.xAxis,this._xValueFields,this._xField),this.addValueField(this.xAxis,this._xValueFields,this._xOpenField),this.addValueField(this.yAxis,this._yValueFields,this._yField),this.addValueField(this.yAxis,this._yValueFields,this._yOpenField)},t.prototype.addValueField=function(e,t,i){e instanceof C.a&&f.hasValue(this.dataFields[i])&&-1==t.indexOf(i)&&t.push(i)},t.prototype.setCategoryAxisField=function(e,t){f.hasValue(this.dataFields[e])||(this.dataFields[e]=t.dataFields.category)},t.prototype.setDateAxisField=function(e,t){f.hasValue(this.dataFields[e])||(this.dataFields[e]=t.dataFields.date)},t.prototype.afterDraw=function(){e.prototype.afterDraw.call(this),this.createMask()},t.prototype.createMask=function(){if(this.mainContainer.mask){var e=this.getMaskPath();m.each(this.axisRanges.iterator(),function(t){t.axisFill.fillPath&&(t.axisFill.validate(),e+=t.axisFill.fillPath)}),this.mainContainer.mask.path=e}},t.prototype.getMaskPath=function(){return k.rectToPath({x:0,y:0,width:this.xAxis.axisLength,height:this.yAxis.axisLength})},t.prototype.getAxisField=function(e){return e==this.xAxis?this.xField:e==this.yAxis?this.yField:void 0},t.prototype.validateDataItems=function(){this.xAxis.updateAxisBySeries(),this.yAxis.updateAxisBySeries(),e.prototype.validateDataItems.call(this),this.xAxis.postProcessSeriesDataItems(),this.yAxis.postProcessSeriesDataItems()},t.prototype.validateDataRange=function(){this.xAxis.dataRangeInvalid&&this.xAxis.validateDataRange(),this.yAxis.dataRangeInvalid&&this.yAxis.validateDataRange(),e.prototype.validateDataRange.call(this)},t.prototype.validate=function(){this.xAxis.invalid&&this.xAxis.validate(),this.yAxis.invalid&&this.yAxis.validate(),this._showBullets=!0;var t=this.minBulletDistance;f.isNumber(t)&&this.baseAxis.axisLength/(this.endIndex-this.startIndex)<t&&(this._showBullets=!1),e.prototype.validate.call(this)},Object.defineProperty(t.prototype,"xAxis",{get:function(){if(this.chart){if(!this._xAxis.get()){var e=this.chart.xAxes.getIndex(0);if(!e)throw Error("There are no X axes on chart.");this.xAxis=e}return this._xAxis.get()}},set:function(e){var t=this._xAxis.get();t!=e&&(t&&(this.dataItemsByAxis.removeKey(t.uid),this._xAxis.dispose(),t.series.removeValue(this)),this._xAxis.set(e,e.registerSeries(this)),this.dataItemsByAxis.setKey(e.uid,new c.a),this.invalidateData())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yAxis",{get:function(){if(this.chart){if(!this._yAxis.get()){var e=this.chart.yAxes.getIndex(0);if(!e)throw Error("There are no Y axes on chart.");this.yAxis=e}return this._yAxis.get()}},set:function(e){var t=this._yAxis.get();t!=e&&(t&&(this.dataItemsByAxis.removeKey(t.uid),this._yAxis.dispose(),t.series.removeValue(this)),this._yAxis.set(e,e.registerSeries(this)),this.dataItemsByAxis.setKey(e.uid,new c.a),this.invalidateData())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"baseAxis",{get:function(){return this._baseAxis||(this.yAxis instanceof R&&(this._baseAxis=this.yAxis),this.xAxis instanceof R&&(this._baseAxis=this.xAxis),this.yAxis instanceof b&&(this._baseAxis=this.yAxis),this.xAxis instanceof b&&(this._baseAxis=this.xAxis),this._baseAxis||(this._baseAxis=this.xAxis)),this._baseAxis},set:function(e){this._baseAxis!=e&&(this._baseAxis=e,this.invalidate())},enumerable:!0,configurable:!0}),t.prototype.processValues=function(t){e.prototype.processValues.call(this,t);for(var i=this.dataItems,a=1/0,n=-1/0,s=1/0,r=-1/0,o=this.startIndex,l=this.endIndex,h=o;h<l;h++){var u=i.getIndex(h);this.getStackValue(u,t);var d=u.getValue("valueX","stack"),c=u.getValue("valueY","stack");a=g.min(u.getMin(this._xValueFields,t,d),a),s=g.min(u.getMin(this._yValueFields,t,c),s),n=g.max(u.getMax(this._xValueFields,t,d),n),r=g.max(u.getMax(this._yValueFields,t,c),r),this.stacked&&(this.baseAxis==this.xAxis&&(s=g.min(s,c)),this.baseAxis==this.yAxis&&(a=g.min(a,d)))}this.xAxis.processSeriesDataItems(),this.yAxis.processSeriesDataItems();var p=this.xAxis.uid,y=this.yAxis.uid;t||this._tmin.getKey(p)==a&&this._tmax.getKey(p)==n&&this._tmin.getKey(y)==s&&this._tmax.getKey(y)==r||(this._tmin.setKey(p,a),this._tmax.setKey(p,n),this._tmin.setKey(y,s),this._tmax.setKey(y,r),this.stackedSeries&&this.stackedSeries.processValues(!1),this.dispatchImmediately("extremeschanged")),this._smin.getKey(p)==a&&this._smax.getKey(p)==n&&this._smin.getKey(y)==s&&this._smax.getKey(y)==r||(this._smin.setKey(p,a),this._smax.setKey(p,n),this._smin.setKey(y,s),this._smax.setKey(y,r),this.appeared&&this.dispatchImmediately("selectionextremeschanged"))},t.prototype.hideTooltip=function(){e.prototype.hideTooltip.call(this),this.returnBulletDefaultState(),this._prevTooltipDataItem=void 0},t.prototype.showTooltipAtPosition=function(e,t){if(this.cursorTooltipEnabled){var i=void 0;if(this.visible&&!this.isHiding&&!this.isShowing){var a=this._xAxis.get(),s=this._yAxis.get();if(a==this.baseAxis&&(i=a.getSeriesDataItem(this,a.toAxisPosition(e),this.snapTooltip)),s==this.baseAxis&&(i=s.getSeriesDataItem(this,s.toAxisPosition(t),this.snapTooltip)),this.returnBulletDefaultState(i),i&&i.visible){this.updateLegendValue(i),this.tooltipDataItem=i;var r=this.tooltipXField,o=this.tooltipYField;if(f.hasValue(i[r])&&f.hasValue(i[o])){var l=this.getPoint(i,r,o,i.locations[r],i.locations[o]);if(l){this.tooltipX=l.x,this.tooltipY=l.y,this._prevTooltipDataItem!=i&&(this.dispatchImmediately("tooltipshownat",{type:"tooltipshownat",target:this,dataItem:i}),this._prevTooltipDataItem=i);try{for(var h=n.g(i.bullets),u=h.next();!u.done;u=h.next()){u.value[1].isHover=!0}}catch(e){d={error:e}}finally{try{u&&!u.done&&(c=h.return)&&c.call(h)}finally{if(d)throw d.error}}return this.showTooltip()?F.spritePointToSvg({x:l.x,y:l.y},this):void 0}}}if(!this.tooltipText)return}this.hideTooltip()}var d,c},t.prototype.returnBulletDefaultState=function(e){if(this._prevTooltipDataItem&&this._prevTooltipDataItem!=e)try{for(var t=n.g(this._prevTooltipDataItem.bullets),i=t.next();!i.done;i=t.next()){var a=i.value[1];a.isDisposed()?this._prevTooltipDataItem=void 0:a.isHover=!1}}catch(e){s={error:e}}finally{try{i&&!i.done&&(r=t.return)&&r.call(t)}finally{if(s)throw s.error}}var s,r},t.prototype.positionBullet=function(t){e.prototype.positionBullet.call(this,t);var i=t.dataItem,a=t.xField;f.hasValue(a)||(a=this.xField);var n=t.yField;if(f.hasValue(n)||(n=this.yField),this.xAxis instanceof C.a&&!i.hasValue([a])||this.yAxis instanceof C.a&&!i.hasValue([n]))t.visible=!1;else{var s=this.getBulletLocationX(t,a),r=this.getBulletLocationY(t,n),o=this.getPoint(i,a,n,s,r);if(o){var l=o.x,h=o.y;if(f.isNumber(t.locationX)&&this.xOpenField!=this.xField)l-=(l-this.xAxis.getX(i,this.xOpenField))*t.locationX;if(f.isNumber(t.locationY)&&this.yOpenField!=this.yField)h-=(h-this.yAxis.getY(i,this.yOpenField))*t.locationY;t.moveTo({x:l,y:h})}else t.visible=!1}},t.prototype.getBulletLocationX=function(e,t){var i=e.locationX,a=e.dataItem;return f.isNumber(i)||(i=a.workingLocations[t]),i},t.prototype.getBulletLocationY=function(e,t){var i=e.locationY,a=e.dataItem;return f.isNumber(i)||(i=a.workingLocations[t]),i},Object.defineProperty(t.prototype,"stacked",{get:function(){return this.getPropertyValue("stacked")},set:function(e){this.setPropertyValue("stacked",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"snapTooltip",{get:function(){return this.getPropertyValue("snapTooltip")},set:function(e){this.setPropertyValue("snapTooltip",e)},enumerable:!0,configurable:!0}),t.prototype.show=function(t){var i,a=this;this.xAxis instanceof C.a&&this.xAxis!=this.baseAxis&&(i=this._xValueFields),this.yAxis instanceof C.a&&this.yAxis!=this.baseAxis&&(i=this._yValueFields);var n,s=this.startIndex,r=this.endIndex,o=0,l=this.defaultState.transitionDuration;f.isNumber(t)&&(l=t),m.each(m.indexed(this.dataItems.iterator()),function(e){var t=e[0],h=e[1];a.sequencedInterpolation&&l>0&&(o=a.sequencedInterpolationDelay*t+l*(t-s)/(r-s)),n=h.show(l,o,i)});var h=e.prototype.show.call(this,t);return n&&!n.isFinished()&&(h=n),h},t.prototype.hide=function(t){var i,a,n=this,s=this.xAxis;s instanceof C.a&&s!=this.baseAxis&&(i=this._xValueFields,a=this.stacked||s.minZoomed<0&&s.maxZoomed>0||this.stackedSeries?0:s.min);var r=this.yAxis;r instanceof C.a&&r!=this.baseAxis&&(i=this._yValueFields,a=this.stacked||r.minZoomed<0&&r.maxZoomed>0||this.stackedSeries?0:r.min);var o=this.startIndex,l=this.endIndex,h=this.hiddenState.transitionDuration;f.isNumber(t)&&(h=t);var u,d=0;m.each(m.indexed(this.dataItems.iterator()),function(e){var t=e[0],s=e[1];0==h?s.hide(0,0,a,i):(n.sequencedInterpolation&&h>0&&(d=n.sequencedInterpolationDelay*t+h*(t-o)/(l-o)),u=s.hide(h,d,a,i))});var c=e.prototype.hide.call(this,h);return c&&!c.isFinished()&&c.delay(d),u&&!u.isFinished()&&(c=u),this.validateDataElements(),c},t.prototype.handleDataItemWorkingValueChange=function(t,i){e.prototype.handleDataItemWorkingValueChange.call(this,t,i);var a=this.baseAxis.series;m.each(a.iterator(),function(e){e.stacked&&e.invalidateProcessedData()})},t.prototype.getStackValue=function(e,t){var i=this;if(this.stacked){var a,n=this.chart,s=n.series.indexOf(this);this.xAxis!=this.baseAxis&&this.xAxis instanceof C.a&&(a=this.xField),this.yAxis!=this.baseAxis&&this.yAxis instanceof C.a&&(a=this.yField),e.setCalculatedValue(a,0,"stack"),m.eachContinue(n.series.range(0,s).backwards().iterator(),function(n){if(n.xAxis==i.xAxis&&n.yAxis==i.yAxis){n.stackedSeries=i;var s=n.dataItems.getIndex(e.index);if(s&&s.hasValue(i._xValueFields)&&s.hasValue(i._yValueFields)){var r=e.getValue(a),o=void 0;if(o=t?s.getWorkingValue(a)+s.getValue(a,"stack"):s.getValue(a)+s.getValue(a,"stack"),r>=0&&o>=0||r<0&&o<0)return e.setCalculatedValue(a,o,"stack"),!1}else if(!n.stacked)return!1}return!0})}},Object.defineProperty(t.prototype,"xField",{get:function(){return this._xField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yField",{get:function(){return this._yField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xOpenField",{get:function(){return this._xOpenField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yOpenField",{get:function(){return this._yOpenField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipXField",{get:function(){return this._tooltipXField?this._tooltipXField:this._xField},set:function(e){this._tooltipXField=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipYField",{get:function(){return this._tooltipYField?this._tooltipYField:this._yField},set:function(e){this._tooltipYField=e},enumerable:!0,configurable:!0}),t.prototype.min=function(e){return this._tmin.getKey(e.uid)},t.prototype.max=function(e){return this._tmax.getKey(e.uid)},t.prototype.selectionMin=function(e){var t=this._smin.getKey(e.uid);return f.isNumber(t)||(t=this.min(e)),t},t.prototype.selectionMax=function(e){var t=this._smax.getKey(e.uid);return f.isNumber(t)||(t=this.max(e)),t},t.prototype.processConfig=function(t){if(t){if(f.hasValue(t.xAxis)&&f.isString(t.xAxis)&&(this.map.hasKey(t.xAxis)?t.xAxis=this.map.getKey(t.xAxis):(this.processingErrors.push("[XYSeries ("+(this.name||"unnamed")+')] No axis with id "'+t.xAxis+'" found for `xAxis`.'),delete t.xAxis)),f.hasValue(t.yAxis)&&f.isString(t.yAxis)&&(this.map.hasKey(t.yAxis)?t.yAxis=this.map.getKey(t.yAxis):(this.processingErrors.push("[XYSeries ("+(this.name||"unnamed")+')] No axis with id "'+t.yAxis+'" found for `yAxis`.'),delete t.yAxis)),f.hasValue(t.axisRanges)&&f.isArray(t.axisRanges))for(var i=0,a=t.axisRanges.length;i<a;i++){var n=t.axisRanges[i];f.hasValue(n.type)||(n.type="AxisDataItem"),f.hasValue(n.axis)&&f.isString(n.axis)&&this.map.hasKey(n.axis)?n.component=this.map.getKey(n.axis):f.hasValue(n.component)&&f.isString(n.component)&&this.map.hasKey(n.component)&&(n.component=this.map.getKey(n.component))}f.hasValue(t.dataFields)&&f.isObject(t.dataFields)||this.processingErrors.push("`dataFields` is not set for series ["+(this.name||"unnamed")+"]")}e.prototype.processConfig.call(this,t)},t.prototype.getPoint=function(e,t,i,a,n,s,r){var o=this.xAxis.getX(e,t,a),l=this.yAxis.getY(e,i,n);return{x:o=g.fitToRange(o,-2e4,2e4),y:l=g.fitToRange(l,-2e4,2e4)}},t.prototype.updateItemReaderText=function(){var e="";V.each(this.dataFields,function(t,i){e+="{"+t+"} "}),this.itemReaderText=e},Object.defineProperty(t.prototype,"cursorTooltipEnabled",{get:function(){return this.getPropertyValue("cursorTooltipEnabled")},set:function(e){this.setPropertyValue("cursorTooltipEnabled",e)},enumerable:!0,configurable:!0}),t}(A.a);d.b.registeredClasses.XYSeries=L,d.b.registeredClasses.XYSeriesDataItem=w;var X=i("zhwk"),Y=i("tjMS"),j=i("qCRI"),N=function(e){function t(){var t=e.call(this)||this;t.point={x:0,y:0},t._stick="none",t.className="Cursor",t.width=Object(Y.c)(100),t.height=Object(Y.c)(100),t.shouldClone=!1,t.hide(0),t.trackable=!0,t.clickable=!0,t.isMeasured=!1;var i=Object(X.b)();return t._disposers.push(i.body.events.on("down",t.handleCursorDown,t)),t._disposers.push(i.body.events.on("up",t.handleCursorUp,t)),t._disposers.push(i.body.events.on("track",t.handleCursorMove,t)),t.applyTheme(),t}return n.c(t,e),t.prototype.handleCursorMove=function(e){if(this.interactionsEnabled){if(("zoom"==this._generalBehavior||"pan"==this._generalBehavior)&&this.downPoint||Object(X.b)().isLocalElement(e.pointer,this.paper.svg,this.uid)){var t=F.documentPointToSprite(e.pointer.point,this);return"hard"==this._stick&&this._stickPoint&&(t=this._stickPoint),"soft"==this._stick&&this._stickPoint&&(this.fitsToBounds(t)||(t=this._stickPoint)),this.triggerMove(t),t}this.isHidden&&this.isHiding||this.hide()}},t.prototype.hideReal=function(t){if("hard"!=this._stick&&"soft"!=this._stick||!this._stickPoint)return e.prototype.hideReal.call(this,t)},t.prototype.triggerMove=function(e,t){e.x=g.round(e.x,1),e.y=g.round(e.y,1),t&&(this._stick=t),"hard"!=t&&"soft"!=t||(this._stickPoint=e),this.triggerMoveReal(e)},t.prototype.triggerMoveReal=function(e){this.point.x==e.x&&this.point.y==e.y||(this.point=e,this.invalidatePosition(),this.fitsToBounds(e)?this.show(0):this.downPoint||this.hide(0),this.visible&&(this.getPositions(),this.dispatch("cursorpositionchanged")))},t.prototype.triggerDown=function(e){this.triggerDownReal(e)},t.prototype.triggerDownReal=function(e){switch(this._generalBehavior){case"zoom":this.dispatchImmediately("zoomstarted");break;case"select":this.dispatchImmediately("selectstarted");break;case"pan":this.dispatchImmediately("panstarted"),Object(X.b)().setGlobalStyle(j.a.grabbing)}},t.prototype.triggerUp=function(e){this.triggerUpReal(e)},t.prototype.triggerUpReal=function(e){this.updatePoint(this.upPoint);var t=Object(X.b)();if(g.getDistance(this.upPoint,this.downPoint)>t.getHitOption(this.interactions,"hitTolerance"))switch(this._generalBehavior){case"zoom":this.dispatchImmediately("zoomended");break;case"select":this.dispatchImmediately("selectended");break;case"pan":this.dispatchImmediately("panended"),t.setGlobalStyle(j.a.default)}else this.dispatchImmediately("behaviorcanceled"),t.setGlobalStyle(j.a.default);this.downPoint=void 0,this.updateSelection()},t.prototype.updateSelection=function(){},t.prototype.getPositions=function(){this.xPosition=this.point.x/this.innerWidth,this.yPosition=1-this.point.y/this.innerHeight},t.prototype.handleCursorDown=function(e){if(this.interactionsEnabled&&Object(X.b)().isLocalElement(e.pointer,this.paper.svg,this.uid)){var t=F.documentPointToSprite(e.pointer.point,this);e.event.cancelable&&this.fitsToBounds(t)&&e.event.preventDefault(),this.triggerMove(t),this.triggerDown(t)}},t.prototype.updatePoint=function(e){},t.prototype.handleCursorUp=function(e){if(this.interactionsEnabled&&(("zoom"==this._generalBehavior||"pan"==this._generalBehavior)&&this.downPoint||Object(X.b)().isLocalElement(e.pointer,this.paper.svg,this.uid))){var t=F.documentPointToSprite(e.pointer.point,this);this.triggerMove(t),this.triggerUp(t)}},Object.defineProperty(t.prototype,"chart",{get:function(){return this._chart},set:function(e){this._chart=e,f.hasValue(this._chart.plotContainer)&&Object(X.b)().lockElement(this._chart.plotContainer.interactions)},enumerable:!0,configurable:!0}),t}(r.a);d.b.registeredClasses.Cursor=N;var M=i("8ZqG"),B=i("MIZb"),E=function(e){function t(){var t=e.call(this)||this;t._lineX=new I.d,t._lineY=new I.d,t._xAxis=new I.d,t._yAxis=new I.d,t.className="XYCursor",t.behavior="zoomX",t.maxPanOut=.1;var i=new B.a,a=t.createChild(P.a);a.shouldClone=!1,a.fillOpacity=.2,a.fill=i.getFor("alternativeBackground"),a.isMeasured=!1,a.interactionsEnabled=!1,t.selection=a,t._disposers.push(t.selection);var n=t.createChild(P.a);n.shouldClone=!1,n.stroke=i.getFor("grid"),n.fill=Object(M.c)(),n.strokeDasharray="3,3",n.isMeasured=!1,n.strokeOpacity=.4,n.interactionsEnabled=!1,n.y=0,t.lineX=n,t._disposers.push(t.lineX);var s=t.createChild(P.a);return s.shouldClone=!1,s.stroke=i.getFor("grid"),s.fill=Object(M.c)(),s.strokeDasharray="3,3",s.isMeasured=!1,s.strokeOpacity=.4,s.interactionsEnabled=!1,s.x=0,t.lineY=s,t._disposers.push(t.lineY),t.events.on("sizechanged",t.updateSize,t,!1),t._disposers.push(t._lineX),t._disposers.push(t._lineY),t._disposers.push(t._xAxis),t._disposers.push(t._yAxis),t.mask=t,t.applyTheme(),t}return n.c(t,e),t.prototype.updateSize=function(){this.lineX&&(this.lineX.path=k.moveTo({x:0,y:0})+k.lineTo({x:0,y:this.innerHeight})),this.lineY&&(this.lineY.path=k.moveTo({x:0,y:0})+k.lineTo({x:this.innerWidth,y:0}))},t.prototype.updateSelection=function(){if(this._usesSelection){var e=this.downPoint;if(e){var t=this.point;this.lineX&&(t.x=this.lineX.pixelX),this.lineY&&(t.y=this.lineY.pixelY);var i=this.selection,a=Math.min(t.x,e.x),n=Math.min(t.y,e.y),s=g.round(Math.abs(e.x-t.x),this._positionPrecision),r=g.round(Math.abs(e.y-t.y),this._positionPrecision);switch(this.behavior){case"zoomX":n=0,r=this.pixelHeight;break;case"zoomY":a=0,s=this.pixelWidth;break;case"selectX":n=0,r=this.pixelHeight;break;case"selectY":a=0,s=this.pixelWidth}i.x=a,i.y=n,i.path=k.rectangle(s,r),i.validatePosition()}else this.selection.hide()}},t.prototype.fixPoint=function(e){return e.x=Math.max(0,e.x),e.y=Math.max(0,e.y),e.x=Math.min(this.pixelWidth,e.x),e.y=Math.min(this.pixelHeight,e.y),e},t.prototype.triggerMoveReal=function(t){e.prototype.triggerMoveReal.call(this,t),this.snapToSeries&&!this.snapToSeries.isHidden||this.updateLinePositions(t),this.downPoint&&g.getDistance(this.downPoint,t)>3&&"pan"==this._generalBehavior&&(this.getPanningRanges(),this.dispatch("panning"))},t.prototype.updateLinePositions=function(e){e=this.fixPoint(this.point),this.lineX&&this.lineX.visible&&!this.xAxis&&(this.lineX.x=e.x),this.lineY&&this.lineY.visible&&!this.yAxis&&(this.lineY.y=e.y),this.updateSelection()},t.prototype.triggerDownReal=function(t){if(this.visible&&!this.isHiding)if(this.fitsToBounds(t)){this.downPoint={x:t.x,y:t.y},this.updatePoint(t),this.point.x=this.downPoint.x,this.point.y=this.downPoint.y;var i=this.selection,a=this.downPoint.x,n=this.downPoint.y;this._usesSelection&&(i.x=a,i.y=n,i.path="",i.show()),e.prototype.triggerDownReal.call(this,t)}else this.downPoint=void 0;else this.downPoint=void 0},t.prototype.updatePoint=function(e){this.lineX&&(e.x=this.lineX.pixelX),this.lineY&&(e.y=this.lineY.pixelY)},t.prototype.triggerUpReal=function(t){this.downPoint&&(this.upPoint=t,this.updatePoint(this.upPoint),this.getRanges(),"selectX"==this.behavior||"selectY"==this.behavior||"selectXY"==this.behavior||this.selection.hide(),e.prototype.triggerUpReal.call(this,t)),this.downPoint=void 0,this.updateSelection()},t.prototype.getPanningRanges=function(){var e=g.round(this.downPoint.x/this.innerWidth,5),t=g.round(this.downPoint.y/this.innerHeight,5),i=e-g.round(this.point.x/this.innerWidth,5),a=-t+g.round(this.point.y/this.innerHeight,5);this.xRange={start:i,end:1+i},this.yRange={start:a,end:1+a},"panX"==this.behavior&&(this.yRange.start=0,this.yRange.end=1),"panY"==this.behavior&&(this.xRange.start=0,this.xRange.end=1)},t.prototype.getRanges=function(){this.lineX&&(this.upPoint.x=this.lineX.pixelX),this.lineY&&(this.upPoint.y=this.lineY.pixelY),this.selection;var e=g.round(this.downPoint.x/this.innerWidth,5),t=g.round(this.upPoint.x/this.innerWidth,5),i=g.round(this.downPoint.y/this.innerHeight,5),a=g.round(this.upPoint.y/this.innerHeight,5);this.xRange={start:g.min(e,t),end:g.max(e,t)},this.yRange={start:g.min(i,a),end:g.max(i,a)}},Object.defineProperty(t.prototype,"behavior",{get:function(){return this.getPropertyValue("behavior")},set:function(e){this.setPropertyValue("behavior",e,!0),this._usesSelection=!1,-1!=e.indexOf("zoom")&&(this._generalBehavior="zoom",this._usesSelection=!0),-1!=e.indexOf("select")&&(this._generalBehavior="select",this._usesSelection=!0),-1!=e.indexOf("pan")&&(this._generalBehavior="pan",this._usesSelection=!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fullWidthLineX",{get:function(){return this.getPropertyValue("fullWidthLineX")},set:function(e){this.setPropertyValue("fullWidthLineX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fullWidthLineY",{get:function(){return this.getPropertyValue("fullWidthLineY")},set:function(e){this.setPropertyValue("fullWidthLineY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxPanOut",{get:function(){return this.getPropertyValue("maxPanOut")},set:function(e){this.setPropertyValue("maxPanOut",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xAxis",{get:function(){return this._xAxis.get()},set:function(e){if(this._xAxis.get()!=e){e.chart;this._xAxis.set(e,new I.c([e.tooltip.events.on("positionchanged",this.handleXTooltipPosition,this,!1)]))}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yAxis",{get:function(){return this._yAxis.get()},set:function(e){if(this._yAxis.get()!=e){e.chart;this._yAxis.set(e,new I.c([e.tooltip.events.on("positionchanged",this.handleYTooltipPosition,this,!1)]))}},enumerable:!0,configurable:!0}),t.prototype.handleXTooltipPosition=function(e){var t=this.xAxis.tooltip,i=F.svgPointToSprite({x:t.pixelX,y:t.pixelY},this),a=i.x;if(this.lineX&&(this.lineX.x=a,this.fitsToBounds(i)||this.hide()),this.xAxis&&this.fullWidthLineX){var n=this.xAxis.currentItemStartPoint,s=this.xAxis.currentItemEndPoint;if(n&&s){this.lineX.x=a;var r=s.x-n.x;this.lineX.path=k.rectangle(r,this.innerHeight,-r/2)}}},t.prototype.handleYTooltipPosition=function(e){var t=this.yAxis.tooltip,i=F.svgPointToSprite({x:t.pixelX,y:t.pixelY},this),a=i.y;if(this.lineY&&(this.lineY.y=a,this.fitsToBounds(i)||this.hide()),this.yAxis&&this.fullWidthLineY){var n=this.yAxis.currentItemStartPoint,s=this.yAxis.currentItemEndPoint;if(n&&s){this.lineY.y=a;var r=s.y-n.y;this.lineY.path=k.rectangle(this.innerWidth,r,0,-r/2)}}},Object.defineProperty(t.prototype,"lineX",{get:function(){return this._lineX.get()},set:function(e){e?(e.setElement(this.paper.add("path")),this._lineX.set(e,e.events.on("positionchanged",this.updateSelection,this,!1)),e.interactionsEnabled=!1,e.parent=this):this._lineX.reset()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lineY",{get:function(){return this._lineY.get()},set:function(e){e?(e.setElement(this.paper.add("path")),this._lineY.set(e,e.events.on("positionchanged",this.updateSelection,this,!1)),e.parent=this,e.interactionsEnabled=!1):this._lineY.reset()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selection",{get:function(){return this._selection},set:function(e){this._selection=e,e&&(e.element=this.paper.add("path"),e.parent=this)},enumerable:!0,configurable:!0}),t.prototype.processConfig=function(t){t&&(f.hasValue(t.xAxis)&&f.isString(t.xAxis)&&(this.map.hasKey(t.xAxis)?t.xAxis=this.map.getKey(t.xAxis):(this.processingErrors.push('[XYCursor] No axis with id "'+t.xAxis+'" found for `xAxis`'),delete t.xAxis)),f.hasValue(t.yAxis)&&f.isString(t.yAxis)&&(this.map.hasKey(t.yAxis)?t.yAxis=this.map.getKey(t.yAxis):(this.processingErrors.push('[XYCursor] No axis with id "'+t.yAxis+'" found for `yAxis`'),delete t.yAxis))),e.prototype.processConfig.call(this,t)},Object.defineProperty(t.prototype,"snapToSeries",{get:function(){return this.getPropertyValue("snapToSeries")},set:function(e){this.setPropertyValue("snapToSeries",e)&&(this._snapToDisposer&&this._snapToDisposer.dispose(),e&&(this._snapToDisposer=e.events.on("tooltipshownat",this.handleSnap,this,!1)))},enumerable:!0,configurable:!0}),t.prototype.handleSnap=function(){var e=this.snapToSeries,t=e.tooltipY,i=e.tooltipX;this.xAxis&&this.xAxis.renderer.opposite&&(t-=this.pixelHeight),this.point={x:i,y:t},this.getPositions(),i-=this.pixelWidth,this.yAxis&&this.yAxis.renderer.opposite&&(i+=this.pixelWidth);var a=e.tooltip,n=a.animationDuration,s=a.animationEasing;e.baseAxis==e.xAxis&&e.yAxis.showTooltipAtPosition(this.yPosition),e.baseAxis==e.yAxis&&e.xAxis.showTooltipAtPosition(this.xPosition),this.lineX.animate([{property:"y",to:t}],n,s),this.lineY.animate([{property:"x",to:i}],n,s),this.xAxis||this.lineX.animate([{property:"x",to:i}],n,s),this.yAxis||this.lineY.animate([{property:"y",to:t}],n,s)},t}(N);d.b.registeredClasses.XYCursor=E;var W=i("BEgH"),z=i("ISWh"),U=i("85D4"),H=function(e){function t(){var t=e.call(this)||this;t._chart=new I.d,t.className="XYChartScrollbar";var i=new B.a;t.padding(0,0,0,0);var a=t.createChild(G);a.shouldClone=!1,a.margin(0,0,0,0),a.padding(0,0,0,0),a.interactionsEnabled=!1,t._scrollbarChart=a,t._disposers.push(t._scrollbarChart),t.minHeight=60,t.minWidth=60;var n=t.createChild(P.a);n.shouldClone=!1,n.setElement(t.paper.add("path")),n.fill=i.getFor("background"),n.fillOpacity=.8,n.interactionsEnabled=!1,n.isMeasured=!1,n.toBack(),t._unselectedOverlay=n,t._disposers.push(t._unselectedOverlay),a.toBack(),t.background.cornerRadius(0,0,0,0);var s=t.thumb.background;s.cornerRadius(0,0,0,0),s.fillOpacity=0,s.fill=i.getFor("background");var r=s.states.getKey("hover");r&&(r.properties.fillOpacity=.2);var o=s.states.getKey("down");return o&&(o.properties.fillOpacity=.4),t._disposers.push(t._chart),t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"series",{get:function(){return this._series||(this._series=new o.b,this._disposers.push(this._series.events.on("inserted",this.handleSeriesAdded,this,!1)),this._disposers.push(this._series.events.on("removed",this.handleSeriesRemoved,this,!1))),this._series},enumerable:!0,configurable:!0}),t.prototype.handleSeriesAdded=function(e){var t=e.newValue,i=this.scrollbarChart;i.zoomOutButton.disabled=!0,this.chart=t.chart;var a=!0,n=!0;m.each(this.series.iterator(),function(e){e!=t&&(e.xAxis==t.xAxis&&(a=!1),e.yAxis==t.yAxis&&(n=!1))});var s=new B.a,r=t.clone();if(a){var o=t.xAxis.clone();i.xAxes.moveValue(o),o.title.disabled=!0,o.rangeChangeDuration=0,o.id=t.uid,o.title.disabled=!0,(l=o.renderer).ticks.template.disabled=!0,l.inside=!0,l.line.strokeOpacity=0,l.minLabelPosition=.02,l.maxLabelPosition=.98,l.line.disabled=!0,l.axisFills.template.disabled=!0,l.baseGrid.disabled=!0,l.grid.template.strokeOpacity=.05,l.labels.template.fillOpacity=.5,r.xAxis=o}if(n){var l,h=t.yAxis.clone();i.yAxes.moveValue(h),h.title.disabled=!0,h.rangeChangeDuration=0,(l=h.renderer).ticks.template.disabled=!0,l.inside=!0,l.line.strokeOpacity=0,l.minLabelPosition=.02,l.maxLabelPosition=.98,l.line.disabled=!0,l.axisFills.template.disabled=!0,l.grid.template.stroke=s.getFor("background"),l.baseGrid.disabled=!0,l.grid.template.strokeOpacity=.05,l.labels.template.fillOpacity=.5,r.yAxis=h}r.rangeChangeDuration=0,r.interpolationDuration=0,r.defaultState.transitionDuration=0,r.showOnInit=!1,this._disposers.push(r.events.on("validated",this.zoomOutAxes,this,!1)),this._disposers.push(t.events.on("datavalidated",function(){r.data!=t.data&&(r.data=t.data)},void 0,!1)),r.defaultState.properties.visible=!0,r.filters.push(new U.a),i.series.push(r),this.updateByOrientation()},t.prototype.updateByOrientation=function(){var e=this;this._scrollbarChart&&(m.each(this._scrollbarChart.xAxes.iterator(),function(t){var i=t.renderer;"vertical"==e.orientation?(i.grid.template.disabled=!0,i.labels.template.disabled=!0,i.minGridDistance=10):(i.grid.template.disabled=!1,i.labels.template.disabled=!1,i.minGridDistance=t.clonedFrom.renderer.minGridDistance)}),m.each(this._scrollbarChart.yAxes.iterator(),function(t){var i=t.renderer;"horizontal"==e.orientation?(i.grid.template.disabled=!0,i.labels.template.disabled=!0,i.minGridDistance=10):(i.grid.template.disabled=!1,i.labels.template.disabled=!1,i.minGridDistance=t.clonedFrom.renderer.minGridDistance)}))},t.prototype.handleSeriesRemoved=function(e){e.oldValue.events.off("validated",this.zoomOutAxes,this)},Object.defineProperty(t.prototype,"scrollbarChart",{get:function(){return this._scrollbarChart},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"chart",{get:function(){return this._chart.get()},set:function(e){this._chart.get()!==e&&(this._chart.set(e,e.events.on("datavalidated",this.handleDataChanged,this,!1)),this.handleDataChanged(),this._scrollbarChart.dataProvider=e)},enumerable:!0,configurable:!0}),t.prototype.handleDataChanged=function(){this.chart.data!=this.scrollbarChart.data&&(this.scrollbarChart.data=this.chart.data)},t.prototype.zoomOutAxes=function(){var e=this.scrollbarChart;m.each(e.xAxes.iterator(),function(e){e.zoom({start:0,end:1},!0,!0)}),m.each(e.yAxes.iterator(),function(e){e.zoom({start:0,end:1},!0,!0)})},t.prototype.updateThumb=function(){if(e.prototype.updateThumb.call(this),this._unselectedOverlay){var t=this.thumb,i=t.pixelX||0,a=t.pixelY||0,n=t.pixelWidth||0,s=t.pixelHeight||0,r="";"horizontal"==this.orientation?(r=k.rectToPath({x:-1,y:0,width:i,height:s}),r+=k.rectToPath({x:i+n,y:0,width:(this.pixelWidth||0)-i-n,height:s})):(r=k.rectToPath({x:0,y:0,width:n,height:a}),r+=k.rectToPath({x:0,y:a+s,width:n,height:(this.pixelHeight||0)-a-s})),this._unselectedOverlay.path=r}},t.prototype.processConfig=function(t){if(t&&f.hasValue(t.series)&&f.isArray(t.series))for(var i=0,a=t.series.length;i<a;i++){var n=t.series[i];if(f.hasValue(n)&&f.isString(n)){if(!this.map.hasKey(n))throw Error("XYChartScrollbar error: Series with id `"+n+"` does not exist.");t.series[i]=this.map.getKey(n)}}e.prototype.processConfig.call(this,t)},t}(z.a);d.b.registeredClasses.XYChartScrollbar=H;var K=function(e){function t(){var t=e.call(this)||this;return t.className="XYChartDataItem",t.applyTheme(),t}return n.c(t,e),t}(s.b),G=function(e){function t(){var t=e.call(this)||this;t._axisRendererX=l.a,t._axisRendererY=h.a,t.className="XYChart",t.maskBullets=!0;var i=t.chartContainer;i.layout="vertical",t.padding(15,15,15,15);var a=i.createChild(r.a);a.shouldClone=!1,a.layout="vertical",a.width=Object(Y.c)(100),a.zIndex=1,t.topAxesContainer=a;var n=i.createChild(r.a);n.shouldClone=!1,n.layout="horizontal",n.width=Object(Y.c)(100),n.height=Object(Y.c)(100),n.zIndex=0,t.yAxesAndPlotContainer=n;var s=i.createChild(r.a);s.shouldClone=!1,s.width=Object(Y.c)(100),s.layout="vertical",s.zIndex=1,t.bottomAxesContainer=s;var o=n.createChild(r.a);o.shouldClone=!1,o.layout="horizontal",o.height=Object(Y.c)(100),o.contentAlign="right",o.events.on("transformed",t.updateXAxesMargins,t,!1),o.zIndex=1,t.leftAxesContainer=o;var u=n.createChild(r.a);u.shouldClone=!1,u.height=Object(Y.c)(100),u.width=Object(Y.c)(100),u.background.fillOpacity=0,t.plotContainer=u,t.mouseWheelBehavior="none",t._cursorContainer=u;var d=n.createChild(r.a);d.shouldClone=!1,d.layout="horizontal",d.height=Object(Y.c)(100),d.zIndex=1,d.events.on("transformed",t.updateXAxesMargins,t,!1),t.rightAxesContainer=d,t.seriesContainer.parent=u,t.bulletsContainer.parent=u;var c=u.createChild(W.a);return c.shouldClone=!1,c.align="right",c.valign="top",c.zIndex=Number.MAX_SAFE_INTEGER,c.marginTop=5,c.marginRight=5,c.hide(0),t.zoomOutButton=c,t._bulletMask=t.plotContainer,t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),this.zoomOutButton.exportable=!1,f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("X/Y chart"))},t.prototype.draw=function(){e.prototype.draw.call(this),this.seriesContainer.toFront(),this.bulletsContainer.toFront(),this.maskBullets&&(this.bulletsContainer.mask=this._bulletMask),this.updateSeriesLegend()},t.prototype.updatePlotElements=function(){m.each(this.series.iterator(),function(e){e.invalidate()})},t.prototype.validateData=function(){0==this._parseDataFrom&&(m.each(this.xAxes.iterator(),function(e){e.dataChangeUpdate()}),m.each(this.yAxes.iterator(),function(e){e.dataChangeUpdate()}),m.each(this.series.iterator(),function(e){e.dataChangeUpdate()})),e.prototype.validateData.call(this)},t.prototype.updateXAxesMargins=function(){var e=this.leftAxesContainer.measuredWidth,t=this.rightAxesContainer.measuredWidth,i=this.bottomAxesContainer;i.paddingLeft==e&&i.paddingRight==t||(i.paddingLeft=e,i.paddingRight=t);var a=this.topAxesContainer;a.paddingLeft==e&&a.paddingRight==t||(a.paddingLeft=e,a.paddingRight=t)},t.prototype.handleXAxisChange=function(e){this.updateXAxis(e.target)},t.prototype.handleYAxisChange=function(e){this.updateYAxis(e.target)},t.prototype.processXAxis=function(e){var t=e.newValue;t.chart=this,t.renderer=new this._axisRendererX,t.axisLetter="X",t.renderer.observe(["opposite","inside","inversed","minGridDistance"],this.handleXAxisChange,this),t.events.on("startchanged",this.handleXAxisRangeChange,this,!1),t.events.on("endchanged",this.handleXAxisRangeChange,this,!1),t.dataProvider=this,this.updateXAxis(t.renderer),this.processAxis(t)},t.prototype.processYAxis=function(e){var t=e.newValue;t.chart=this,t.renderer=new this._axisRendererY,t.axisLetter="Y",t.renderer.observe(["opposite","inside","inversed","minGridDistance"],this.handleYAxisChange,this),t.events.on("startchanged",this.handleYAxisRangeChange,this,!1),t.events.on("endchanged",this.handleYAxisRangeChange,this,!1),t.dataProvider=this,this.updateYAxis(t.renderer),this.processAxis(t)},t.prototype.handleXAxisRangeChange=function(){var e=this.getCommonAxisRange(this.xAxes);this.scrollbarX&&this.zoomAxes(this.xAxes,e,!0),this.toggleZoomOutButton(),this.updateScrollbar(this.scrollbarX,e)},t.prototype.toggleZoomOutButton=function(){if(this.zoomOutButton){var e=!1;m.eachContinue(this.xAxes.iterator(),function(t){return 0==g.round(t.start,3)&&1==g.round(t.end,3)||(e=!0,!1)}),m.eachContinue(this.yAxes.iterator(),function(t){return 0==g.round(t.start,3)&&1==g.round(t.end,3)||(e=!0,!1)}),this.seriesAppeared||(e=!1),e?this.zoomOutButton.show():this.zoomOutButton.hide()}},t.prototype.seriesAppeared=function(){var e=!1;return m.each(this.series.iterator(),function(t){if(!t.appeared)return e=!1,!1}),e},t.prototype.handleYAxisRangeChange=function(){var e=this.getCommonAxisRange(this.yAxes);this.scrollbarY&&this.zoomAxes(this.yAxes,e,!0),this.toggleZoomOutButton(),this.updateScrollbar(this.scrollbarY,e)},t.prototype.updateScrollbar=function(e,t){e&&(e.skipRangeEvents(),e.start=t.start,e.end=t.end)},t.prototype.getCommonAxisRange=function(e){var t,i;return m.each(e.iterator(),function(e){var a=e.start,n=e.end;e.renderer.inversed&&(a=1-e.end,n=1-e.start),(!f.isNumber(t)||a<t)&&(t=a),(!f.isNumber(i)||n>i)&&(i=n)}),{start:t,end:i}},t.prototype.updateXAxis=function(e){var t=e.axis;e.opposite?(t.parent=this.topAxesContainer,t.toFront()):(t.parent=this.bottomAxesContainer,t.toBack()),t.renderer&&t.renderer.processRenderer()},t.prototype.updateYAxis=function(e){var t=e.axis;e.opposite?(t.parent=this.rightAxesContainer,t.toBack()):(t.parent=this.leftAxesContainer,t.toFront()),t.renderer&&t.renderer.processRenderer()},t.prototype.processAxis=function(e){var t=this;e instanceof b&&this._dataUsers.moveValue(e);var i=e.renderer;i.gridContainer.parent=this.plotContainer,i.gridContainer.toBack(),i.breakContainer.parent=this.plotContainer,i.breakContainer.toFront(),i.breakContainer.zIndex=10,e.addDisposer(new I.b(function(){t.dataUsers.removeValue(e)})),this.plotContainer.events.on("maxsizechanged",function(){t.inited&&e.invalidateDataItems()},e,!1)},Object.defineProperty(t.prototype,"xAxes",{get:function(){return this._xAxes||(this._xAxes=new o.b,this._xAxes.events.on("inserted",this.processXAxis,this,!1),this._xAxes.events.on("removed",this.handleAxisRemoval,this,!1)),this._xAxes},enumerable:!0,configurable:!0}),t.prototype.handleAxisRemoval=function(e){var t=e.oldValue;this.dataUsers.removeValue(t),t.autoDispose&&t.dispose()},Object.defineProperty(t.prototype,"yAxes",{get:function(){return this._yAxes||(this._yAxes=new o.b,this._yAxes.events.on("inserted",this.processYAxis,this,!1),this._yAxes.events.on("removed",this.handleAxisRemoval,this,!1)),this._yAxes},enumerable:!0,configurable:!0}),t.prototype.handleSeriesAdded=function(t){try{e.prototype.handleSeriesAdded.call(this,t);var i=t.newValue;i.xAxis,i.yAxis,void 0==i.fill&&(i.fill=this.colors.next()),void 0==i.stroke&&(i.stroke=i.fill)}catch(e){this.raiseCriticalError(e)}},Object.defineProperty(t.prototype,"cursor",{get:function(){return this._cursor},set:function(e){this._cursor!=e&&(this._cursor&&this.removeDispose(this._cursor),this._cursor=e,e&&(this._disposers.push(e),e.chart=this,e.parent=this._cursorContainer,e.events.on("cursorpositionchanged",this.handleCursorPositionChange,this,!1),e.events.on("zoomstarted",this.handleCursorZoomStart,this,!1),e.events.on("zoomended",this.handleCursorZoomEnd,this,!1),e.events.on("panstarted",this.handleCursorPanStart,this,!1),e.events.on("panning",this.handleCursorPanning,this,!1),e.events.on("panended",this.handleCursorPanEnd,this,!1),e.events.on("behaviorcanceled",this.handleCursorCanceled,this,!1),e.events.on("hidden",this.handleHideCursor,this,!1),e.zIndex=Number.MAX_SAFE_INTEGER-1))},enumerable:!0,configurable:!0}),t.prototype.createCursor=function(){return new E},t.prototype.handleCursorPositionChange=function(){var e=this.cursor;if(e.visible&&!e.isHiding){var t=this.cursor.xPosition,i=this.cursor.yPosition;this.showSeriesTooltip({x:t,y:i});var a=void 0,n=e.snapToSeries;n&&(n.baseAxis==n.xAxis&&(a=n.yAxis),n.baseAxis==n.yAxis&&(a=n.xAxis)),this.showAxisTooltip(this.xAxes,t,a),this.showAxisTooltip(this.yAxes,i,a)}},t.prototype.handleHideCursor=function(){this.hideObjectTooltip(this.xAxes),this.hideObjectTooltip(this.yAxes),this.hideObjectTooltip(this.series),this.updateSeriesLegend()},t.prototype.updateSeriesLegend=function(){m.each(this.series.iterator(),function(e){e.updateLegendValue()})},t.prototype.hideObjectTooltip=function(e){m.each(e.iterator(),function(e){e.hideTooltip(0)})},t.prototype.showSeriesTooltip=function(e){var t=this;if(e){var i=F.spritePointToSvg({x:-.5,y:-.5},this.plotContainer),a=F.spritePointToSvg({x:this.plotContainer.pixelWidth+.5,y:this.plotContainer.pixelHeight+.5},this.plotContainer),n=[],s=0;this.series.each(function(r){var o=r.showTooltipAtPosition(e.x,e.y);o&&r.tooltip.setBounds({x:0,y:0,width:t.pixelWidth,height:t.pixelHeight}),o&&g.isInRectangle(o,{x:i.x,y:i.y,width:a.x-i.x,height:a.y-i.y})&&(n.push({point:o,series:r}),s+=o.y)}),n.sort(function(e,t){return e.point.y>t.point.y?1:e.point.y<t.point.y?-1:0});var r=s/n.length,o=F.svgPointToDocument({x:0,y:0},this.svgContainer.SVGContainer).y;if(n.length>0){var l=i.y,h=a.y,u=(F.spritePointToDocument({x:0,y:l},this),!1);if(r>l+(h-l)/2)for(var d=h,c=n.length-1;c>=0;c--){var p=(x=n[c].series).tooltip,y=n[c].point.y;if(p.setBounds({x:0,y:-o,width:this.pixelWidth,height:d+o}),p.invalid&&p.validate(),p.toBack(),(d=F.spritePointToSvg({x:0,y:p.label.pixelY-p.pixelY+y-p.pixelMarginTop},p).y)<-o){u=!0;break}}if(r<=l+(h-l)/2||u)for(var f=l,m=(c=0,n.length);c<m;c++){var x=n[c].series;y=n[c].point.y;(p=x.tooltip).setBounds({x:0,y:f,width:this.pixelWidth,height:h}),p.invalid&&p.validate(),p.toBack(),f=F.spritePointToSvg({x:0,y:p.label.pixelY+p.label.measuredHeight-p.pixelY+y+p.pixelMarginBottom},p).y}}}else this.series.each(function(e){e.hideTooltip()})},t.prototype.showAxisTooltip=function(e,t,i){var a=this;m.each(e.iterator(),function(e){e!=i&&(a.dataItems.length>0||e.dataItems.length>0)&&e.showTooltipAtPosition(t)})},t.prototype.getUpdatedRange=function(e,t){if(e){var i,a,n=e.renderer.inversed;e.renderer instanceof h.a&&(t=g.invertRange(t)),n?(g.invertRange(t),i=1-e.end,a=1-e.start):(i=e.start,a=e.end);var s=a-i;return{start:i+t.start*s,end:i+t.end*s}}},t.prototype.handleCursorZoomEnd=function(e){var t=this.cursor,i=t.behavior;if("zoomX"==i||"zoomXY"==i){var a=t.xRange;a&&this.xAxes.length>0&&((a=this.getUpdatedRange(this.xAxes.getIndex(0),a)).priority="start",this.zoomAxes(this.xAxes,a))}if("zoomY"==i||"zoomXY"==i){var n=t.yRange;n&&this.yAxes.length>0&&((n=this.getUpdatedRange(this.yAxes.getIndex(0),n)).priority="start",this.zoomAxes(this.yAxes,n))}this.handleHideCursor()},t.prototype.handleCursorPanStart=function(e){var t=this.xAxes.getIndex(0);t&&(this._panStartXRange={start:t.start,end:t.end});var i=this.yAxes.getIndex(0);i&&(this._panStartYRange={start:i.start,end:i.end})},t.prototype.handleCursorPanEnd=function(e){var t=this.cursor.behavior;if(this._panEndXRange&&("panX"==t||"panXY"==t)){var i=0;(a=this._panEndXRange).start<0&&(i=a.start),a.end>1&&(i=a.end-1),this.zoomAxes(this.xAxes,{start:a.start-i,end:a.end-i},!1,!0),this._panEndXRange=void 0,this._panStartXRange=void 0}if(this._panEndYRange&&("panY"==t||"panXY"==t)){var a;i=0;(a=this._panEndYRange).start<0&&(i=a.start),a.end>1&&(i=a.end-1),this.zoomAxes(this.yAxes,{start:a.start-i,end:a.end-i},!1,!0),this._panEndYRange=void 0,this._panStartYRange=void 0}},t.prototype.handleCursorCanceled=function(){this._panEndXRange=void 0,this._panStartXRange=void 0},t.prototype.handleCursorPanning=function(e){var t=this.cursor,i=t.behavior,a=t.maxPanOut;if(this._panStartXRange&&("panX"==i||"panXY"==i)){var n=this._panStartXRange,s=t.xRange,r=n.end-n.start,o=s.start,l=Math.max(-a,o+n.start),h=Math.min(s.start+n.end,1+a);l<=0&&(h=l+r),h>=1&&(l=h-r);var u={start:l,end:h};this._panEndXRange=u,this.zoomAxes(this.xAxes,u,!1,!1,t.maxPanOut)}if(this._panStartYRange&&("panY"==i||"panXY"==i)){n=this._panStartYRange,s=t.yRange,r=n.end-n.start,o=s.start,l=Math.max(-a,o+n.start),h=Math.min(s.start+n.end,1+a);l<=0&&(h=l+r),h>=1&&(l=h-r);u={start:l,end:h};this._panEndYRange=u,this.zoomAxes(this.yAxes,u,!1,!1,t.maxPanOut)}this.handleHideCursor()},t.prototype.handleCursorZoomStart=function(e){},Object.defineProperty(t.prototype,"scrollbarX",{get:function(){return this._scrollbarX},set:function(e){var t=this;this._scrollbarX&&this.removeDispose(this._scrollbarX),this._scrollbarX=e,e&&(this._disposers.push(e),e.parent=this.topAxesContainer,e.startGrip.exportable=!1,e.endGrip.exportable=!1,e.toBack(),e.orientation="horizontal",e.events.on("rangechanged",this.handleXScrollbarChange,this,!1),e.adapter.add("positionValue",function(e){var i=t.xAxes.getIndex(0);return i&&(e.value=i.getPositionLabel(e.position)),e}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollbarY",{get:function(){return this._scrollbarY},set:function(e){var t=this;this._scrollbarY&&this.removeDispose(this._scrollbarY),this._scrollbarY=e,e&&(this._disposers.push(e),e.parent=this.rightAxesContainer,e.startGrip.exportable=!1,e.endGrip.exportable=!1,e.toFront(),e.orientation="vertical",e.events.on("rangechanged",this.handleYScrollbarChange,this,!1),e.adapter.add("positionValue",function(e){var i=t.yAxes.getIndex(0);return i&&(e.value=i.getPositionLabel(e.position)),e}))},enumerable:!0,configurable:!0}),t.prototype.handleXScrollbarChange=function(e){var t=e.target,i=t.range;1==i.end&&(i.priority="end"),0==i.start&&(i.priority="start"),i=this.zoomAxes(this.xAxes,i),t.fixRange(i)},t.prototype.handleYScrollbarChange=function(e){var t=e.target,i=this.zoomAxes(this.yAxes,t.range);t.fixRange(i)},t.prototype.zoomAxes=function(e,t,i,a,n){var s={start:0,end:1};return this.showSeriesTooltip(),this.dataInvalid||m.each(e.iterator(),function(e){if(e.renderer.inversed&&(t=g.invertRange(t)),e.hideTooltip(0),a){var r=t.end-t.start;t.start=e.roundPosition(t.start+1e-4,0),t.end=t.start+r}var o=e.zoom(t,i,i,n);e.renderer.inversed&&(o=g.invertRange(o)),s=o}),s},Object.defineProperty(t.prototype,"maskBullets",{get:function(){return this.getPropertyValue("maskBullets")},set:function(e){this.setPropertyValue("maskBullets",e,!0)},enumerable:!0,configurable:!0}),t.prototype.handleWheel=function(e){var t=this.plotContainer,i=F.documentPointToSvg(e.point,this.htmlContainer,this.svgContainer.cssScale),a=F.svgPointToSprite(i,t),n=e.shift.y,s=this.getCommonAxisRange(this.xAxes),r=this.getCommonAxisRange(this.yAxes),o=this.mouseWheelBehavior;if("panX"==o||"panXY"==o){var l=s.end-s.start,h=Math.max(-0,s.start+.05*n/100),u=Math.min(s.end+.05*n/100,1);h<=0&&(u=h+l),u>=1&&(h=u-l),this.zoomAxes(this.xAxes,{start:h,end:u})}if("panY"==o||"panXY"==o){n*=-1;var d=r.end-r.start,c=Math.max(-0,r.start+.05*n/100),p=Math.min(r.end+.05*n/100,1);c<=0&&(p=c+d),p>=1&&(c=p-d),this.zoomAxes(this.yAxes,{start:c,end:p})}if("zoomX"==o||"zoomXY"==o){var y=a.x/t.maxWidth;h=Math.max(-0,s.start-.05*n/100*y);h=Math.min(h,y);u=Math.min(s.end+.05*n/100*(1-y),1);u=Math.max(u,y),this.zoomAxes(this.xAxes,{start:h,end:u})}if("zoomY"==o||"zoomXY"==o){var g=a.y/t.maxHeight;c=Math.max(-0,r.start-.05*n/100*(1-g));c=Math.min(c,g);p=Math.min(r.end+.05*n/100*g,1);p=Math.max(p,g),this.zoomAxes(this.yAxes,{start:c,end:p})}},Object.defineProperty(t.prototype,"mouseWheelBehavior",{get:function(){return this.getPropertyValue("mouseWheelBehavior")},set:function(e){this.setPropertyValue("mouseWheelBehavior",e)&&("none"!=e?(this._mouseWheelDisposer=this.plotContainer.events.on("wheel",this.handleWheel,this,!1),this._disposers.push(this._mouseWheelDisposer)):this._mouseWheelDisposer&&(this.plotContainer.wheelable=!1,this.plotContainer.hoverable=!1,this._mouseWheelDisposer.dispose()))},enumerable:!0,configurable:!0}),t.prototype.dataSourceDateFields=function(t){var i=this;return t=e.prototype.dataSourceDateFields.call(this,t),m.each(this.series.iterator(),function(e){t=i.populateDataSourceFields(t,e.dataFields,["dateX","dateY","openDateX","openDateY"])}),t},t.prototype.dataSourceNumberFields=function(t){var i=this;return t=e.prototype.dataSourceDateFields.call(this,t),m.each(this.series.iterator(),function(e){t=i.populateDataSourceFields(t,e.dataFields,["valueX","valueY","openValueX","openValueY"])}),t},t.prototype.processConfig=function(t){if(t){var i=[],a=[];if(f.hasValue(t.xAxes)&&f.isArray(t.xAxes))for(var n=0,s=t.xAxes.length;n<s;n++){if(!t.xAxes[n].type)throw Error("[XYChart error] No type set for xAxes["+n+"].");f.hasValue(t.xAxes[n].axisRanges)&&(i.push({axisRanges:t.xAxes[n].axisRanges,index:n}),delete t.xAxes[n].axisRanges)}if(f.hasValue(t.yAxes)&&f.isArray(t.yAxes))for(n=0,s=t.yAxes.length;n<s;n++){if(!t.yAxes[n].type)throw Error("[XYChart error] No type set for yAxes["+n+"].");f.hasValue(t.yAxes[n].axisRanges)&&(a.push({axisRanges:t.yAxes[n].axisRanges,index:n}),delete t.yAxes[n].axisRanges)}if(f.hasValue(t.series)&&f.isArray(t.series))for(n=0,s=t.series.length;n<s;n++)t.series[n].type=t.series[n].type||"LineSeries";if(f.hasValue(t.cursor)&&!f.hasValue(t.cursor.type)&&(t.cursor.type="XYCursor"),f.hasValue(t.scrollbarX)&&!f.hasValue(t.scrollbarX.type)&&(t.scrollbarX.type="Scrollbar"),f.hasValue(t.scrollbarY)&&!f.hasValue(t.scrollbarY.type)&&(t.scrollbarY.type="Scrollbar"),e.prototype.processConfig.call(this,t),a.length)for(n=0,s=a.length;n<s;n++)this.yAxes.getIndex(a[n].index).config={axisRanges:a[n].axisRanges};if(i.length)for(n=0,s=i.length;n<s;n++)this.xAxes.getIndex(i[n].index).config={axisRanges:i[n].axisRanges}}},t.prototype.configOrder=function(t,i){return t==i?0:"scrollbarX"==t?1:"scrollbarX"==i?-1:"scrollbarY"==t?1:"scrollbarY"==i?-1:"series"==t?1:"series"==i?-1:e.prototype.configOrder.call(this,t,i)},t.prototype.createSeries=function(){return new L},Object.defineProperty(t.prototype,"zoomOutButton",{get:function(){return this._zoomOutButton},set:function(e){var t=this;this._zoomOutButton=e,e&&e.events.on("hit",function(){t.zoomAxes(t.xAxes,{start:0,end:1}),t.zoomAxes(t.yAxes,{start:0,end:1})},void 0,!1)},enumerable:!0,configurable:!0}),t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.xAxes.copyFrom(t.xAxes),this.yAxes.copyFrom(t.yAxes),this.zoomOutButton.copyFrom(t.zoomOutButton)},t.prototype.disposeData=function(){e.prototype.disposeData.call(this);var t=this.scrollbarX;t&&t instanceof H&&t.scrollbarChart.disposeData();var i=this.scrollbarY;i&&i instanceof H&&i.scrollbarChart.disposeData(),this.xAxes.each(function(e){e.disposeData()}),this.yAxes.each(function(e){e.disposeData()})},t.prototype.addData=function(t,i){e.prototype.addData.call(this,t,i),this.scrollbarX instanceof H&&this.scrollbarX.scrollbarChart.addData(t,i),this.scrollbarY instanceof H&&this.scrollbarY.scrollbarChart.addData(t,i)},t}(s.a);d.b.registeredClasses.XYChart=G;var Z=i("aFzC"),q=function(e){function t(){var t=e.call(this)||this;t.className="LineSeriesSegment",t.isMeasured=!1,t.interactionsEnabled=!1,t.layout="none";var i=t.createChild(P.a);t.fillSprite=i,i.shouldClone=!1,i.setElement(t.paper.add("path")),i.isMeasured=!1,t._disposers.push(i);var a=t.createChild(P.a);return t.strokeSprite=a,a.shouldClone=!1,a.setElement(t.paper.add("path")),a.isMeasured=!1,t._disposers.push(a),t}return n.c(t,e),t.prototype.drawSegment=function(e,t,i,a){if(!this.disabled)if(e.length>0&&t.length>0){var n=k.moveTo({x:e[0].x-.2,y:e[0].y-.2})+k.moveTo(e[0])+new Z.b(i,a).smooth(e);0==this.strokeOpacity||0==this.strokeSprite.strokeOpacity||(this.strokeSprite.path=n),(this.fillOpacity>0||this.fillSprite.fillOpacity>0)&&(n+=k.lineTo(t[0])+new Z.b(i,a).smooth(t),n+=k.lineTo(e[0]),n+=k.closePath(),this.fillSprite.path=n)}else this.fillSprite.path="",this.strokeSprite.path=""},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t);var i=this.strokeSprite;V.copyProperties(t,i.properties,P.b),i.fillOpacity=0;var a=this.fillSprite;V.copyProperties(t,a.properties,P.b),a.strokeOpacity=0},t}(r.a);d.b.registeredClasses.LineSeriesSegment=q;var J=i("PTiM"),Q=i("p9TX"),$=i("GtDR"),ee=function(e){function t(){var t=e.call(this)||this;return t.className="LineSeriesDataItem",t}return n.c(t,e),t}(w),te=function(e){function t(){var t=e.call(this)||this;return t.minDistance=.5,t.segments=new o.e(t.createSegment()),t.segments.template.applyOnClones=!0,t._disposers.push(new o.c(t.segments)),t._disposers.push(t.segments.template),t._segmentsIterator=new m.ListIterator(t.segments,function(){return t.segments.create()}),t._segmentsIterator.createNewItems=!0,t.className="LineSeries",t.strokeOpacity=1,t.fillOpacity=0,t.connect=!0,t.tensionX=1,t.tensionY=1,t.segmentsContainer=t.mainContainer.createChild(r.a),t.segmentsContainer.isMeasured=!1,t.bulletsContainer.toFront(),t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Line Series"))},t.prototype.createSegment=function(){return new q},t.prototype.createDataItem=function(){return new ee},t.prototype.setInitialWorkingValues=function(e){if(this.appeared&&this.visible){var t=this._yAxis.get(),i=this._xAxis.get(),a=this.dataItems.getIndex(e.index-1);if(e.component=this,this.baseAxis==i&&t instanceof C.a){var n=t.minZoomed;a&&(n=a.values.valueY.workingValue),e.setWorkingValue("valueY",n,0),e.setWorkingValue("valueY",e.values.valueY.value),i instanceof R&&(e.setWorkingLocation("dateX",-.5,0),e.setWorkingLocation("dateX",.5))}if(this.baseAxis==t&&i instanceof C.a){var s=i.minZoomed;a&&(s=a.values.valueX.workingValue),e.setWorkingValue("valueX",s,0),e.setWorkingValue("valueX",e.values.valueX.value),t instanceof R&&(e.setWorkingLocation("dateY",-.5,0),e.setWorkingLocation("dateY",.5))}}},t.prototype.updateLegendValue=function(t){e.prototype.updateLegendValue.call(this,t),t&&t.segment&&(this.tooltipColorSource=t.segment)},t.prototype.validate=function(){var t=this;e.prototype.validate.call(this),this._segmentsIterator.reset(),this.openSegment(this._workingStartIndex),m.each(this.axisRanges.iterator(),function(e){t.openSegment(t._workingStartIndex,e)}),m.each(this._segmentsIterator.iterator(),function(e){e.__disabled=!0})},t.prototype.sliceData=function(){for(var e=this.startIndex,t=this.endIndex,i=this.startIndex-1;i>=0;i--){if((n=this.dataItems.getIndex(i))&&n.hasValue(this._xValueFields)&&n.hasValue(this._yValueFields)){e=i;break}}i=this.endIndex;for(var a=this.dataItems.length;i<a;i++){var n;if((n=this.dataItems.getIndex(i))&&n.hasValue(this._xValueFields)&&n.hasValue(this._yValueFields)){t=i+1;break}}this._workingStartIndex=e,this._workingEndIndex=t},t.prototype.openSegment=function(e,t){var i,a=[],n=this._workingEndIndex,s=!1,r=this._segmentsIterator.getFirst();r.__disabled=!1,t?(r.parent=t.contents,V.copyProperties(t.contents,r,P.b)):(V.copyProperties(this,r,P.b),r.filters.clear(),r.parent=this.segmentsContainer);for(var o=e;o<n;o++){var l=this.dataItems.getIndex(o);if(l.segment=r,l.hasProperties&&(o==e?this.updateSegmentProperties(l.properties,r):s=this.updateSegmentProperties(l.properties,r,!0)),l.hasValue(this._xValueFields)&&l.hasValue(this._yValueFields))this.addPoints(a,l,this.xField,this.yField);else{if(o==e)continue;if(!this.connect){i=o;break}}if(i=o,s)break}this.closeSegment(r,a,e,i,t)},t.prototype.addPoints=function(e,t,i,a,n){var s=this.getPoint(t,i,a,t.workingLocations[i],t.workingLocations[a]);n||(t.point=s),e.push(s)},t.prototype.closeSegment=function(e,t,i,a,n){var s=[];if(this.dataFields[this._xOpenField]||this.dataFields[this._yOpenField]||this.stacked)for(var r=a;r>=i;r--){var o=this.dataItems.getIndex(r);o.hasValue(this._xValueFields)&&o.hasValue(this._yValueFields)&&this.addPoints(s,o,this.xOpenField,this.yOpenField,!0)}else{var l=this.baseAxis,h=t.length,u=this.xAxis,d=this.yAxis;l==u?(s.push({x:t[h-1].x,y:d.basePoint.y}),s.push({x:t[0].x,y:d.basePoint.y})):(s.push({x:u.basePoint.x,y:t[h-1].y}),s.push({x:u.basePoint.x,y:t[0].y}))}this.drawSegment(e,t,s),a<this._workingEndIndex-1&&this.openSegment(a,n)},t.prototype.drawSegment=function(e,t,i){e.drawSegment(t,i,this.tensionX,this.tensionY)},t.prototype.updateSegmentProperties=function(e,t,i){var a=!1;return V.each(e,function(e,n){if(f.hasValue(n)){var s=t[e],r=void 0;s&&(r=s.toString?s.toString():s);var o=void 0;n&&(o=n.toString?n.toString():n),s==n||void 0!=r&&void 0!=o&&r==o||(i||(t[e]=n),a=!0)}}),a},Object.defineProperty(t.prototype,"connect",{get:function(){return this.getPropertyValue("connect")},set:function(e){this.setPropertyValue("connect",e)&&this.invalidate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tensionX",{get:function(){return this.getPropertyValue("tensionX")},set:function(e){this.setPropertyValue("tensionX",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tensionY",{get:function(){return this.getPropertyValue("tensionY")},set:function(e){this.setPropertyValue("tensionY",e,!0)},enumerable:!0,configurable:!0}),t.prototype.createLegendMarker=function(e){var t=this,i=e.pixelWidth,a=e.pixelHeight;e.disposeChildren();var n=e.createChild(J.a);if(n.shouldClone=!1,V.copyProperties(this,n,P.b),n.x2=i,n.y=a/2,n.visible=!0,this.fillOpacity>0){var s=e.createChild($.a);V.copyProperties(this,s,P.b),s.width=i,s.height=a,s.y=0,s.strokeOpacity=0,s.visible=!0,n.y=0}var r=e.dataItem;r.color=this.stroke,r.colorOrig=this.fill,m.eachContinue(this.bullets.iterator(),function(n){if(n.copyToLegendMarker){var s=!1;if(m.each(n.children.iterator(),function(e){if(e instanceof Q.a)return s=!0,!0}),!s){var r=n.clone();return r.parent=e,r.isMeasured=!0,r.tooltipText=void 0,r.x=i/2,t.fillOpacity>0?r.y=0:r.y=a/2,r.visible=!0,f.hasValue(r.fill)||(r.fill=t.fill),f.hasValue(r.stroke)||(r.stroke=t.stroke),!1}}})},t.prototype.disposeData=function(){e.prototype.disposeData.call(this),this.segments.clear()},t}(L);d.b.registeredClasses.LineSeries=te,d.b.registeredClasses.LineSeriesDataItem=ee;var ie=function(e){function t(){var t=e.call(this)||this;return t.className="RadarSeriesDataItem",t.setLocation("dateX",0,0),t.setLocation("dateY",0,0),t.setLocation("categoryX",0,0),t.setLocation("categoryY",0,0),t.applyTheme(),t}return n.c(t,e),t}(ee),ae=function(e){function t(){var t=e.call(this)||this;return t.className="RadarSeries",t.connectEnds=!0,t.applyTheme(),t}return n.c(t,e),t.prototype.validate=function(){this.chart.invalid&&this.chart.validate(),e.prototype.validate.call(this)},t.prototype.createDataItem=function(){return new ie},t.prototype.getPoint=function(e,t,i,a,n,s,r){s||(s="valueX"),r||(r="valueY");var o=this.yAxis.getX(e,i,n,r),l=this.yAxis.getY(e,i,n,r),h=g.getDistance({x:o,y:l});0==h&&(h=1e-5);var u=this.xAxis.getAngle(e,t,a,s),d=this.chart.startAngle,c=this.chart.endAngle;return u<d||u>c?void 0:{x:h*g.cos(u),y:h*g.sin(u)}},t.prototype.addPoints=function(e,t,i,a,n){var s=this.getPoint(t,i,a,t.locations[i],t.locations[a]);s&&e.push(s)},t.prototype.getMaskPath=function(){var e=this.yAxis.renderer;return k.arc(e.startAngle,e.endAngle-e.startAngle,e.pixelRadius,e.pixelInnerRadius)},t.prototype.drawSegment=function(t,i,a){var n=this.yAxis.renderer;this.connectEnds&&360==Math.abs(n.endAngle-n.startAngle)&&(this.dataFields[this._xOpenField]||this.dataFields[this._yOpenField]||this.stacked)&&(i.push(i[0]),a.length>0&&a.unshift(a[a.length-1])),e.prototype.drawSegment.call(this,t,i,a)},Object.defineProperty(t.prototype,"connectEnds",{get:function(){return this.getPropertyValue("connectEnds")},set:function(e){this.setPropertyValue("connectEnds",e,!0)},enumerable:!0,configurable:!0}),t}(te);d.b.registeredClasses.RadarSeries=ae,d.b.registeredClasses.RadarSeriesDataItem=ie;var ne=i("FzPm"),se=function(e){function t(){var t=e.call(this)||this;return t.className="RadarCursor",t.radius=Object(Y.c)(100),t.innerRadius=Object(Y.c)(0),t.applyTheme(),t.mask=void 0,t}return n.c(t,e),t.prototype.fitsToBounds=function(e){var t=g.getDistance(e);g.getAngle(e);return t<this.truePixelRadius+1&&t>this.pixelInnerRadius-1},Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e,!0)},enumerable:!0,configurable:!0}),t.prototype.triggerMoveReal=function(t){this.xAxis&&(!this.xAxis||this.xAxis.cursorTooltipEnabled&&!this.xAxis.tooltip.disabled)||this.updateLineX(this.point),this.yAxis&&(!this.yAxis||this.yAxis.cursorTooltipEnabled&&!this.yAxis.tooltip.disabled)||this.updateLineY(this.point),this.updateSelection(),e.prototype.triggerMoveReal.call(this,t)},t.prototype.updateLineX=function(e){var t=this.pixelRadius,i=this.startAngle,a=this.endAngle,n=this.pixelInnerRadius;if(t>0&&f.isNumber(i)&&f.isNumber(a)&&f.isNumber(n)){var s=g.fitAngleToRange(g.getAngle(e),i,a),r=void 0;if(this.lineX&&this.lineX.visible){if(this.lineX.moveTo({x:0,y:0}),this.xAxis&&this.fullWidthLineX){var o=this.xAxis.currentItemStartPoint,l=this.xAxis.currentItemEndPoint;if(o&&l){var h=g.fitAngleToRange(g.getAngle(o),i,a),u=g.fitAngleToRange(g.getAngle(l),i,a)-h;i<a?u<0&&(u+=360):u>0&&(u-=360),s-=u/2,r=k.moveTo({x:n*g.cos(s),y:n*g.sin(s)})+k.lineTo({x:t*g.cos(s),y:t*g.sin(s)})+k.arcTo(s,u,t)+k.lineTo({x:n*g.cos(s+u),y:n*g.sin(s+u)})+k.arcTo(s+u,-u,n)}}r||(r=k.moveTo({x:n*g.cos(s),y:n*g.sin(s)})+k.lineTo({x:t*g.cos(s),y:t*g.sin(s)})),this.lineX.path=r}}},t.prototype.updateLineY=function(e){if(this.lineY&&this.lineY.visible){var t=this.startAngle,i=this.endAngle,a=this.truePixelRadius,n=g.fitToRange(g.getDistance(e),0,this.truePixelRadius);if(f.isNumber(n)&&f.isNumber(t)){this.lineY.moveTo({x:0,y:0});var s=void 0,r=i-t;if(this.yAxis&&this.fullWidthLineY){var o=this.yAxis.currentItemStartPoint,l=this.yAxis.currentItemEndPoint;if(o&&l){var h=g.fitToRange(g.getDistance(o),0,a);n=g.fitToRange(g.getDistance(l),0,a),s=k.moveTo({x:n*g.cos(t),y:n*g.sin(t)})+k.arcTo(t,r,n),s+=k.moveTo({x:h*g.cos(i),y:h*g.sin(i)})+k.arcTo(i,-r,h)}}s||(s=k.moveTo({x:n*g.cos(t),y:n*g.sin(t)})+k.arcTo(t,i-t,n)),this.lineY.path=s}}},t.prototype.updateSelection=function(){if(this._usesSelection){var e=this.downPoint;if(e){var t=this.point,i=this.pixelRadius,a=this.truePixelRadius,n=this.pixelInnerRadius,s=Math.min(this.startAngle,this.endAngle),r=Math.max(this.startAngle,this.endAngle),o=g.fitAngleToRange(g.getAngle(e),s,r),l=g.fitAngleToRange(g.getAngle(t),s,r),h=g.getDistance(e);if(h<a){var u=g.fitToRange(g.getDistance(t),0,a);this._prevAngle=l;var d=k.moveTo({x:0,y:0}),c=g.sin(o),p=g.cos(o),y=g.sin(l),f=g.cos(l),m=this.behavior;"zoomX"==m||"selectX"==m?d+=k.lineTo({x:i*p,y:i*c})+k.arcTo(o,l-o,i)+k.lineTo({x:n*f,y:n*y})+k.arcTo(l,o-l,n):"zoomY"==m||"selectY"==m?d=k.moveTo({x:u*g.cos(s),y:u*g.sin(s)})+k.arcTo(s,r-s,u)+k.lineTo({x:h*g.cos(r),y:h*g.sin(r)})+k.arcTo(r,s-r,h)+k.closePath():"zoomXY"==m&&(d=k.moveTo({x:u*g.cos(o),y:u*g.sin(o)})+k.arcTo(o,l-o,u)+k.lineTo({x:h*g.cos(l),y:h*g.sin(l)})+k.arcTo(l,o-l,h)+k.closePath()),this.selection.path=d}this.selection.moveTo({x:0,y:0})}}},t.prototype.getPositions=function(){if(this.chart){var e=this.pixelInnerRadius,t=this.truePixelRadius-e,i=this.startAngle,a=this.endAngle,n=(g.fitAngleToRange(g.getAngle(this.point),i,a)-i)/(a-i);this.xPosition=n,this.yPosition=g.fitToRange((g.getDistance(this.point)-e)/t,0,1)}},t.prototype.updatePoint=function(e){},t.prototype.handleXTooltipPosition=function(e){if(this.xAxis.cursorTooltipEnabled){var t=this.xAxis.tooltip;this.updateLineX(F.svgPointToSprite({x:t.pixelX,y:t.pixelY},this))}},t.prototype.handleYTooltipPosition=function(e){if(this.yAxis.cursorTooltipEnabled){var t=this.yAxis.tooltip;this.updateLineY(F.svgPointToSprite({x:t.pixelX,y:t.pixelY},this))}},t.prototype.updateLinePositions=function(e){},t.prototype.getRanges=function(){var e=this.downPoint;if(e){var t=this.upPoint;if(this.chart){var i=this.pixelRadius,a=this.startAngle,n=this.endAngle,s=g.fitAngleToRange(g.getAngle(e),this.startAngle,this.endAngle),r=g.fitAngleToRange(g.getAngle(t),this.startAngle,this.endAngle),o=g.fitToRange(g.getDistance(e),0,i),l=g.fitToRange(g.getDistance(t),0,i),h=0,u=1,d=0,c=1,p=this.behavior;if("zoomX"==p||"selectX"==p||"zoomXY"==p||"selectXY"==p){var y=n-a;h=g.round((s-a)/y,5),u=g.round((r-a)/y,5)}"zoomY"!=p&&"selectY"!=p&&"zoomXY"!=p&&"selectXY"!=p||(d=g.round(o/i,5),c=g.round(l/i,5)),this.xRange={start:Math.min(h,u),end:Math.max(h,u)},this.yRange={start:Math.min(d,c),end:Math.max(d,c)},"selectX"==this.behavior||"selectY"==this.behavior||"selectXY"==this.behavior||this.selection.hide()}}},t.prototype.updateSize=function(){},Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!1,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelRadius",{get:function(){return F.relativeRadiusToValue(this.radius,this.truePixelRadius)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"truePixelRadius",{get:function(){return F.relativeToValue(Object(Y.c)(100),g.min(this.innerWidth/2,this.innerHeight/2))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!1,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelInnerRadius",{get:function(){var e=this.innerRadius;return e instanceof Y.a&&(e=Object(Y.c)(100*e.value*this.chart.innerRadiusModifyer)),F.relativeRadiusToValue(e,this.truePixelRadius)||0},enumerable:!0,configurable:!0}),t.prototype.fixPoint=function(e){return e},t}(E);d.b.registeredClasses.RadarCursor=se;var re=i("2zgF"),oe=i("Vk33"),le=function(e){function t(){var t=e.call(this)||this;return t._chart=new I.d,t.pixelRadiusReal=0,t.className="AxisRendererRadial",t.isMeasured=!1,t.startAngle=-90,t.endAngle=270,t.minGridDistance=30,t.gridType="circles",t.axisAngle=-90,t.isMeasured=!1,t.layout="none",t.radius=Object(Y.c)(100),t.line.strokeOpacity=0,t.labels.template.horizontalCenter="middle",t._disposers.push(t._chart),t.applyTheme(),t}return n.c(t,e),t.prototype.validate=function(){this.chart&&this.chart.invalid&&this.chart.validate(),e.prototype.validate.call(this)},Object.defineProperty(t.prototype,"axisLength",{get:function(){return this.pixelRadius-this.pixelInnerRadius},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!1,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelRadius",{get:function(){return F.relativeRadiusToValue(this.radius,this.pixelRadiusReal)||0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!1,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelInnerRadius",{get:function(){return F.relativeRadiusToValue(this.innerRadius,this.pixelRadiusReal)||0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"chart",{get:function(){return this._chart.get()},set:function(e){this._chart.set(e,null)},enumerable:!0,configurable:!0}),t.prototype.positionToPoint=function(e){var t=g.fitToRange(this.positionToCoordinate(e),0,1/0);return{x:t*g.cos(this.axisAngle),y:t*g.sin(this.axisAngle)}},t.prototype.updateAxisLine=function(){this.line.path=k.moveTo({x:this.pixelInnerRadius*g.cos(this.axisAngle),y:this.pixelInnerRadius*g.sin(this.axisAngle)})+k.lineTo({x:this.pixelRadius*g.cos(this.axisAngle),y:this.pixelRadius*g.sin(this.axisAngle)});var e=this.axis.title;e.valign="none",e.horizontalCenter="middle",e.verticalCenter="bottom",e.y=-this.axisLength/2;var t=90;this.opposite?this.inside||(t=-90):this.inside&&(t=-90),e.rotation=t},t.prototype.updateGridElement=function(e,t,i){t+=(i-t)*e.location;var a,n=this.positionToPoint(t),s=g.getDistance(n),r=this.startAngle,o=this.endAngle;if(f.isNumber(s)&&e.element){var l=this.chart,h=l.xAxes.getIndex(0),u=l.dataItems.length,d=l.series.getIndex(0);if("polygons"==this.gridType&&u>0&&d&&h&&h instanceof b){var c=h.renderer.grid.template.location,p=h.getAngle(d.dataItems.getIndex(0),"categoryX",c);a=k.moveTo({x:s*g.cos(p),y:s*g.sin(p)});for(var y=l.dataItems.length,m=1;m<y;m++)p=h.getAngle(d.dataItems.getIndex(m),"categoryX",c),a+=k.lineTo({x:s*g.cos(p),y:s*g.sin(p)});p=h.getAngle(d.dataItems.getIndex(y-1),"categoryX",h.renderer.cellEndLocation),a+=k.lineTo({x:s*g.cos(p),y:s*g.sin(p)})}else a=k.moveTo({x:s*g.cos(r),y:s*g.sin(r)})+k.arcTo(r,o-r,s,s);e.path=a}this.toggleVisibility(e,t,0,1)},t.prototype.updateLabelElement=function(e,t,i,a){f.hasValue(a)||(a=e.location),t+=(i-t)*a;var n=this.positionToPoint(t);this.positionItem(e,n),this.toggleVisibility(e,t,this.minLabelPosition,this.maxLabelPosition)},t.prototype.updateBaseGridElement=function(){},t.prototype.fitsToBounds=function(e){return!0},Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",e)&&this.invalidateAxisItems()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e)&&this.invalidateAxisItems()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"axisAngle",{get:function(){return this.getPropertyValue("axisAngle")},set:function(e){this.setPropertyValue("axisAngle",g.normalizeAngle(e)),this.invalidateAxisItems()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"gridType",{get:function(){return this.chart.xAxes.getIndex(0)instanceof b?this.getPropertyValue("gridType"):"circles"},set:function(e){this.setPropertyValue("gridType",e,!0)},enumerable:!0,configurable:!0}),t.prototype.getPositionRangePath=function(e,t){var i,a=this.pixelInnerRadius,n=this.axisLength+a,s=g.fitToRange(this.positionToCoordinate(e),a,n),r=g.fitToRange(this.positionToCoordinate(t),a,n),o=this.startAngle,l=this.endAngle-o,h=this.chart,u=h.xAxes.getIndex(0),d=h.dataItems.length,c=h.series.getIndex(0);if("polygons"==this.gridType&&d>0&&c&&u&&u instanceof b){var p=u.renderer.grid.template.location,y=u.getAngle(c.dataItems.getIndex(0),"categoryX",p);i=k.moveTo({x:r*g.cos(y),y:r*g.sin(y)});for(var f=h.dataItems.length,m=1;m<f;m++)y=u.getAngle(c.dataItems.getIndex(m),"categoryX",p),i+=k.lineTo({x:r*g.cos(y),y:r*g.sin(y)});y=u.getAngle(c.dataItems.getIndex(f-1),"categoryX",u.renderer.cellEndLocation),i+=k.lineTo({x:r*g.cos(y),y:r*g.sin(y)}),i+=k.moveTo({x:s*g.cos(y),y:s*g.sin(y)});for(m=f-1;m>=0;m--)y=u.getAngle(c.dataItems.getIndex(m),"categoryX",p),i+=k.lineTo({x:s*g.cos(y),y:s*g.sin(y)})}else i=k.arc(o,l,r,s);return i},t.prototype.updateBreakElement=function(e){var t=e.startLine,i=e.endLine,a=e.fillShape,n=e.startPoint,s=e.endPoint;t.radius=Math.abs(n.y),i.radius=Math.abs(s.y),a.radius=Math.abs(s.y),a.innerRadius=Math.abs(n.y)},t.prototype.createBreakSprites=function(e){e.startLine=new oe.a,e.endLine=new oe.a,e.fillShape=new oe.a},t.prototype.updateTooltip=function(){if(this.axis){var e=this.axisAngle;e<0&&(e+=360);var t="vertical";(e>45&&e<135||e>225&&e<315)&&(t="horizontal"),this.axis.updateTooltip(t,{x:-4e3,y:-4e3,width:8e3,height:8e3})}},t.prototype.updateTickElement=function(e,t){var i=this.positionToPoint(t);if(e.element){var a=g.normalizeAngle(this.axisAngle+90);a/90!=Math.round(a/90)?e.pixelPerfect=!1:e.pixelPerfect=!0;var n=-e.length;e.inside&&(n*=-1),e.path=k.moveTo({x:0,y:0})+k.lineTo({x:n*g.cos(a),y:n*g.sin(a)})}this.positionItem(e,i),this.toggleVisibility(e,t,0,1)},t.prototype.positionToCoordinate=function(e){var t,i=this.axis,a=i.axisFullLength,n=this.pixelInnerRadius;return t=i.renderer.inversed?(i.end-e)*a+n:(e-i.start)*a+n,g.round(t,1)},t.prototype.pointToPosition=function(e){var t=g.getDistance(e)-this.pixelInnerRadius;return this.coordinateToPosition(t)},t}(h.a);d.b.registeredClasses.AxisRendererRadial=le;var he=function(e){function t(){var t=e.call(this)||this;return t.className="RadarChartDataItem",t.applyTheme(),t}return n.c(t,e),t}(K),ue=function(e){function t(){var t=e.call(this)||this;t._axisRendererX=re.a,t._axisRendererY=le,t.innerRadiusModifyer=1,t.className="RadarChart",t.startAngle=-90,t.endAngle=270,t.radius=Object(Y.c)(80),t.innerRadius=0;var i=t.plotContainer.createChild(r.a);return i.shouldClone=!1,i.layout="absolute",i.align="center",i.valign="middle",t.seriesContainer.parent=i,t.radarContainer=i,t.bulletsContainer.parent=i,t._cursorContainer=i,t._bulletMask=i.createChild(ne.a),t._bulletMask.shouldClone=!1,t._bulletMask.element=t.paper.add("path"),t._bulletMask.opacity=0,t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Radar chart"))},t.prototype.processAxis=function(t){e.prototype.processAxis.call(this,t);var i=t.renderer;i.gridContainer.parent=i,i.breakContainer.parent=i,t.parent=this.radarContainer,i.toBack()},t.prototype.handleXAxisRangeChange=function(){e.prototype.handleXAxisRangeChange.call(this),m.each(this.yAxes.iterator(),function(e){e.invalidate()})},t.prototype.handleYAxisRangeChange=function(){e.prototype.handleYAxisRangeChange.call(this),m.each(this.xAxes.iterator(),function(e){e.invalidate()})},t.prototype.createCursor=function(){return new se},t.prototype.processConfig=function(t){if(t&&(f.hasValue(t.cursor)&&!f.hasValue(t.cursor.type)&&(t.cursor.type="RadarCursor"),f.hasValue(t.series)&&f.isArray(t.series)))for(var i=0,a=t.series.length;i<a;i++)t.series[i].type=t.series[i].type||"RadarSeries";e.prototype.processConfig.call(this,t)},t.prototype.beforeDraw=function(){e.prototype.beforeDraw.call(this);this.radarContainer;var t=this.plotContainer,i=g.getArcRect(this.startAngle,this.endAngle,1),a={x:0,y:0,width:0,height:0},n=t.innerWidth/i.width,s=t.innerHeight/i.height,r=this.innerRadius;if(r instanceof Y.a){var o=r.value,l=Math.min(n,s);o=Math.max(l*o,l-Math.min(t.innerHeight,t.innerWidth))/l,a=g.getArcRect(this.startAngle,this.endAngle,o),this.innerRadiusModifyer=o/r.value,r=Object(Y.c)(100*o)}i=g.getCommonRectangle([i,a]);var h=Math.min(t.innerWidth/i.width,t.innerHeight/i.height),u=2*F.relativeRadiusToValue(this.radius,h)||0,d=u/2,c=this.startAngle,p=this.endAngle;this._pixelInnerRadius=F.relativeRadiusToValue(r,d),this._bulletMask.path=k.arc(c,p-c,d,this._pixelInnerRadius),m.each(this.xAxes.iterator(),function(e){e.renderer.useChartAngles&&(e.renderer.startAngle=c,e.renderer.endAngle=p),e.width=u,e.height=u,e.renderer.pixelRadiusReal=d,e.renderer.innerRadius=r}),m.each(this.yAxes.iterator(),function(e){e.renderer.startAngle=c,e.renderer.endAngle=p,e.width=u,e.height=u,e.renderer.pixelRadiusReal=d,e.renderer.innerRadius=r});var y=this.cursor;y&&(y.width=u,y.height=u,y.startAngle=c,y.endAngle=p),this.radarContainer.definedBBox={x:d*i.x,y:d*i.y,width:d*i.width,height:d*i.height},this.radarContainer.validatePosition()},t.prototype.createSeries=function(){return new ae},Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelInnerRadius",{get:function(){return this._pixelInnerRadius},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),t.prototype.updateXAxis=function(e){e&&e.processRenderer()},t.prototype.updateYAxis=function(e){e&&e.processRenderer()},t}(G);d.b.registeredClasses.RadarChart=ue;var de=i("DziZ"),ce=function(e){function t(){var t=e.call(this)||this;t._axis=new I.d,t.className="ClockHand";var i=new B.a;t.fill=i.getFor("alternativeBackground"),t.stroke=t.fill;var a=new ne.a;a.radius=5,t.pin=a,t.isMeasured=!1,t.startWidth=5,t.endWidth=1,t.width=Object(Y.c)(100),t.height=Object(Y.c)(100),t.radius=Object(Y.c)(100),t.innerRadius=Object(Y.c)(0);var n=new de.a;return t.hand=n,t._disposers.push(t._axis),t.applyTheme(),t}return n.c(t,e),t.prototype.validate=function(){e.prototype.validate.call(this);var t=this.hand;t.width=this.pixelWidth;var i=Math.max(this.startWidth,this.endWidth);if(t.height=i,t.leftSide=Object(Y.c)(this.startWidth/i*100),t.rightSide=Object(Y.c)(this.endWidth/i*100),this.axis){var a=this.axis.renderer,n=F.relativeRadiusToValue(this.innerRadius,a.pixelRadius),s=F.relativeRadiusToValue(this.radius,a.pixelRadius);t.x=n,t.y=-i/2,t.width=s-n}},Object.defineProperty(t.prototype,"pin",{get:function(){return this._pin},set:function(e){this._pin&&this.removeDispose(this._pin),e&&(this._pin=e,e.parent=this,this._disposers.push(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hand",{get:function(){return this._hand},set:function(e){this._hand&&this.removeDispose(this._hand),e&&(this._hand=e,e.parent=this,this._disposers.push(e))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"startWidth",{get:function(){return this.getPropertyValue("startWidth")},set:function(e){this.setPropertyValue("startWidth",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endWidth",{get:function(){return this.getPropertyValue("endWidth")},set:function(e){this.setPropertyValue("endWidth",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotationDirection",{get:function(){return this.getPropertyValue("rotationDirection")},set:function(e){this.setPropertyValue("rotationDirection",e)},enumerable:!0,configurable:!0}),t.prototype.showValue=function(e,t,i){if(this._value=e,void 0!=e&&(f.isNumber(t)||(t=0),this.axis)){var a=this.axis.renderer.positionToAngle(this.axis.anyToPosition(e)),n=this.rotation;"clockWise"==this.rotationDirection&&a<n&&(this.rotation=n-360),"counterClockWise"==this.rotationDirection&&a>n&&(this.rotation=n+360),this.animate({property:"rotation",to:a},t,i)}},Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(e){this.showValue(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"axis",{get:function(){return this._axis.get()},set:function(e){if(this.axis!=e&&this._axis.set(e,new I.c([e.events.on("datavalidated",this.updateValue,this,!1),e.events.on("datarangechanged",this.updateValue,this,!1),e.events.on("dataitemsvalidated",this.updateValue,this,!1),e.events.on("propertychanged",this.invalidate,this,!1)])),e){var t=e.chart;t&&(this.rotation=t.startAngle)}this.parent=e.renderer,this.zIndex=5},enumerable:!0,configurable:!0}),t.prototype.updateValue=function(){this.value=this.value},t.prototype.processConfig=function(t){t&&f.hasValue(t.axis)&&f.isString(t.axis)&&this.map.hasKey(t.axis)&&(t.axis=this.map.getKey(t.axis)),e.prototype.processConfig.call(this,t)},t}(r.a);d.b.registeredClasses.ClockHand=ce;var pe=function(e){function t(){var t=e.call(this)||this;return t.className="GaugeChartDataItem",t.applyTheme(),t}return n.c(t,e),t}(he),ye=function(e){function t(){var t=e.call(this)||this;return t.className="GaugeChart",t.startAngle=180,t.endAngle=360,t.hands=new o.e(new ce),t.hands.events.on("inserted",t.processHand,t,!1),t._disposers.push(new o.c(t.hands)),t._disposers.push(t.hands.template),t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Gauge chart"))},t.prototype.processHand=function(e){var t=e.newValue;t.axis||(t.axis=this.xAxes.getIndex(0))},t}(ue);d.b.registeredClasses.GaugeChart=ye;var ge=i("AC2I"),fe=function(e){function t(){var t=e.call(this)||this;return t.className="PercentChartDataItem",t.applyTheme(),t}return n.c(t,e),t}(s.b),me=function(e){function t(){var t=e.call(this)||this;return t.className="PercentChart",t.align="none",t.valign="none",t.chartContainer.minHeight=50,t.chartContainer.minWidth=50,t.applyTheme(),t}return n.c(t,e),t.prototype.validateData=function(){e.prototype.validateData.call(this),this.feedLegend()},t.prototype.feedLegend=function(){var e=this.legend;if(e){var t=[];m.each(this.series.iterator(),function(i){m.each(i.dataItems.iterator(),function(a){if(!a.hiddenInLegend){t.push(a);var n=i.legendSettings;n&&(n.labelText&&(e.labels.template.text=n.labelText),n.itemLabelText&&(e.labels.template.text=n.itemLabelText),n.valueText&&(e.valueLabels.template.text=n.valueText),n.itemValueText&&(e.valueLabels.template.text=n.itemValueText))}})}),e.data=t,e.dataFields.name="category"}},t.prototype.createSeries=function(){return new ge.a},t.prototype.setLegend=function(t){e.prototype.setLegend.call(this,t),t&&(t.labels.template.text="{category}",t.valueLabels.template.text="{value.percent.formatNumber('#.0')}%",t.itemContainers.template.events.on("over",function(e){var t=e.target.dataItem.dataContext;t.visible&&!t.isHiding&&(t.slice.isHover=!0)}),t.itemContainers.template.events.on("out",function(e){e.target.dataItem.dataContext.slice.isHover=!1}))},t}(s.a);d.b.registeredClasses.PercentChart=me,d.b.registeredClasses.PercentChartDataItem=fe;var xe=i("Inf5"),ve=i("IbTV"),be=i("qzbU"),Ae=function(e){function t(){var t=e.call(this)||this;return t._label=new I.d,t._slice=new I.d,t.className="PieTick",t.element=t.paper.add("polyline"),t._disposers.push(t._label),t._disposers.push(t._slice),t.applyTheme(),t}return n.c(t,e),t.prototype.draw=function(){e.prototype.draw.call(this);var t=this.slice,i=this.label,a=t.dataItem.component;if(t&&t.radius>0&&i&&i.text){var n=t.dx+t.slice.dx+t.pixelX+t.ix*t.radius*t.scale,s=t.dy+t.slice.dy+t.pixelY+t.iy*t.radius*t.scale,r=void 0,o=void 0,l=void 0,h=void 0;if(a.alignLabels)r=i.pixelX-this.length,o=i.pixelY,l=i.pixelX,h=o,"right"==i.horizontalCenter&&(l=(r+=2*this.length)-this.length);else{var u=i.pixelRadius(t.radius);l=r=n+u*t.ix,h=o=s+u*t.iy}this.element.attr({points:[n,s,r,o,l,h]})}},Object.defineProperty(t.prototype,"slice",{get:function(){return this._slice.get()},set:function(e){this._slice.set(e,new I.c([e.events.on("transformed",this.invalidate,this),e.events.on("validated",this.invalidate,this)]))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this._label.get()},set:function(e){this._label.set(e,e.events.on("transformed",this.invalidate,this,!1))},enumerable:!0,configurable:!0}),t}(be.a);d.b.registeredClasses.PieTick=Ae;var Pe=function(e){function t(){var t=e.call(this)||this;return t.className="PieSeriesDataItem",t.values.radiusValue={},t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"radiusValue",{get:function(){return this.values.radiusValue.value},set:function(e){this.setValue("radiusValue",e)},enumerable:!0,configurable:!0}),t.prototype.hide=function(t,i,a,n){return e.prototype.hide.call(this,t,i,0,["value","radiusValue"])},t.prototype.show=function(t,i,a){return e.prototype.show.call(this,t,i,["value","radiusValue"])},t}(ge.b),Ce=function(e){function t(){var t=e.call(this)||this;return t.className="PieSeries",t.alignLabels=!0,t.startAngle=-90,t.endAngle=270,t.labels.template.radius=Object(Y.c)(5),t.applyTheme(),t}return n.c(t,e),t.prototype.createSlice=function(){return new xe.a},t.prototype.createTick=function(){return new Ae},t.prototype.createLabel=function(){return new ve.a},t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Pie Slice Series"))},t.prototype.createDataItem=function(){return new Pe},t.prototype.initSlice=function(e){e.isMeasured=!1,e.defaultState.properties.scale=1,e.observe("scale",this.handleSliceScale,this),e.observe(["dx","dy","x","y","shiftRadius"],this.handleSliceMove,this),e.tooltipText="{category}: {value.percent.formatNumber('#.#')}% ({value.value})",e.states.create("hover").properties.scale=1.05,e.defaultState.properties.shiftRadius=0,e.togglable=!0,e.events.on("toggled",function(e){e.target.hideTooltip()}),e.states.create("active").properties.shiftRadius=.1},t.prototype.validate=function(){this._leftItems=[],this._rightItems=[],this._currentStartAngle=this.startAngle,this._arcRect=g.getArcRect(this.startAngle,this.endAngle),this._maxRadiusPercent=0;for(var t=this.startIndex;t<this.endIndex;t++){var i=this.dataItems.getIndex(t).values.radiusValue.percent;i>this._maxRadiusPercent&&(this._maxRadiusPercent=i)}e.prototype.validate.call(this),this.alignLabels&&(this.startAngle>this.endAngle?this._rightItems.reverse():this._leftItems.reverse(),this._rightItems.sort(function(e,t){var i=(e.slice.middleAngle+360)%360,a=(t.slice.middleAngle+360)%360;return i>270&&(i-=360),a>270&&(a-=360),i<a?-1:1}),this._leftItems.sort(function(e,t){return(e.slice.middleAngle+360)%360<(t.slice.middleAngle+360)%360?1:-1}),this.arrangeLabels(this._rightItems),this.arrangeLabels(this._leftItems))},t.prototype.validateDataElement=function(t){if(this.pixelRadius>0){t.values.value.percent;var i=t.slice;i.radius=this.pixelRadius,f.isNumber(t.radiusValue)&&(i.radius=this.pixelInnerRadius+(this.pixelRadius-this.pixelInnerRadius)*t.values.radiusValue.percent/this._maxRadiusPercent),i.innerRadius instanceof Y.a||(i.innerRadius=this.pixelInnerRadius),i.startAngle=this._currentStartAngle,i.arc=t.values.value.percent*(this.endAngle-this.startAngle)/100;var a=t.label,n=t.tick;n.slice=i,n.label=a;var s=(i.middleAngle+360)%360,r=void 0;if(this.alignLabels){var o=a.pixelRadius(i.radius),l=n.length+o;a.dx=0,a.dy=0,a.verticalCenter="middle";var h=this._arcRect;s>=270||s<=90?(l+=(h.width+h.x)*this.pixelRadius,a.horizontalCenter="left",this._rightItems.push(t)):(l-=h.x*this.pixelRadius,a.horizontalCenter="right",this._leftItems.push(t),l*=-1);var u=i.radius+n.length+o;r={x:l,y:i.iy*u}}else{a.horizontalCenter=void 0,a.verticalCenter=void 0;l=i.ix*i.radius;var d=i.iy*i.radiusY;r=a.fixPoint({x:l,y:d},i.radius,i.radiusY)}a.moveTo(r),this._currentStartAngle+=i.arc,e.prototype.validateDataElement.call(this,t)}},Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)&&this.invalidateDataItems()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelRadius",{get:function(){return this._pixelRadius},set:function(e){this._pixelRadius!=e&&(this._pixelRadius=e,this.invalidateDataItems())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixelInnerRadius",{get:function(){return this._pixelInnerRadius},set:function(e){this._pixelInnerRadius!=e&&(this._pixelInnerRadius=e,this.invalidateDataItems())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",g.normalizeAngle(e),!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e,!0)},enumerable:!0,configurable:!0}),t.prototype.positionBullet=function(t){e.prototype.positionBullet.call(this,t);var i=t.dataItem.slice,a=t.locationX;f.isNumber(a)||(a=.5);var n=t.locationY;f.isNumber(n)||(n=1);var s=i.startAngle+i.arc*a,r=n*i.radius;t.x=r*g.cos(s),t.y=r*g.sin(s)},t.prototype.handleSliceMove=function(e){if(!this.alignLabels){var t=e.target,i=t.dataItem;if(i){var a=i.label;a&&(a.dx=a.fdx+t.dx+t.pixelX,a.dy=a.fdy+t.dy+t.pixelY)}}},Object.defineProperty(t.prototype,"bbox",{get:function(){if(this.definedBBox)return this.definedBBox;var e=this.chart;return e?g.getArcRect(e.startAngle,e.endAngle,this.pixelRadius):g.getArcRect(this.startAngle,this.endAngle,this.pixelRadius)},enumerable:!0,configurable:!0}),t}(ge.a);d.b.registeredClasses.PieSeries=Ce,d.b.registeredClasses.PieSeriesDataItem=Pe;var Ie=function(e){function t(){var t=e.call(this)||this;return t.className="PieChartDataItem",t.applyTheme(),t}return n.c(t,e),t}(fe),_e=function(e){function t(){var t=e.call(this)||this;t.className="PieChart",t.innerRadius=0,t.radius=Object(Y.c)(80),t.align="none",t.valign="none",t.startAngle=-90,t.endAngle=270;var i=t.seriesContainer;return i.isMeasured=!0,i.valign="middle",i.align="center",i.layout="absolute",i.width=void 0,i.height=void 0,t.chartContainer.minHeight=50,t.chartContainer.minWidth=50,t.chartContainer.events.on("maxsizechanged",t.updateRadius,t,!1),t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Pie chart"))},t.prototype.validateLayout=function(){e.prototype.validateLayout.call(this),this.updateRadius()},t.prototype.handleSeriesAdded=function(t){e.prototype.handleSeriesAdded.call(this,t),this.updateSeriesAngles()},t.prototype.updateSeriesAngles=function(){var e=this;this.series.each(function(t){t.startAngle=e.startAngle,t.endAngle=e.endAngle,t.defaultState.properties.startAngle=e.startAngle,t.defaultState.properties.endAngle=e.endAngle})},t.prototype.updateRadius=function(){var e=this.chartContainer,t=g.getArcRect(this.startAngle,this.endAngle,1),i={x:0,y:0,width:0,height:0},a=this.innerRadius;a instanceof Y.a&&(i=g.getArcRect(this.startAngle,this.endAngle,a.value)),t=g.getCommonRectangle([t,i]);var n=Math.min(e.innerWidth/t.width,e.innerHeight/t.height);f.isNumber(n)||(n=0);var s=F.relativeRadiusToValue(this.radius,n),r=F.relativeRadiusToValue(this.innerRadius,n),o=(s-r)/this.series.length;m.each(m.indexed(this.series.iterator()),function(e){var t=e[0],i=e[1],a=r+F.relativeRadiusToValue(i.radius,s-r),n=r+F.relativeRadiusToValue(i.innerRadius,s-r);f.isNumber(a)||(a=r+o*(t+1)),f.isNumber(n)||(n=r+o*t),i.pixelRadius=a,i.pixelInnerRadius=n}),this.seriesContainer.definedBBox={x:s*t.x,y:s*t.y,width:s*t.width,height:s*t.height},this.seriesContainer.invalidateLayout()},Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)&&this.invalidateLayout()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),t.prototype.createSeries=function(){return new Ce},Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",e)&&(this.updateRadius(),this.updateSeriesAngles())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e)&&(this.updateRadius(),this.updateSeriesAngles())},enumerable:!0,configurable:!0}),t}(me);d.b.registeredClasses.PieChart=_e,d.b.registeredClasses.PieChartDataItem=Ie;var De=i("nPzZ"),Te=function(e){function t(){var t=e.call(this)||this;return t.className="PieSeries3DDataItem",t.values.depthValue={},t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"depthValue",{get:function(){return this.values.depthValue.value},set:function(e){this.setValue("depthValue",e)},enumerable:!0,configurable:!0}),t}(Pe),Ve=function(e){function t(){var t=e.call(this)||this;return t.className="PieSeries3D",t.applyTheme(),t}return n.c(t,e),t.prototype.createDataItem=function(){return new Te},t.prototype.createSlice=function(){return new De.a},t.prototype.validateDataElement=function(t){var i=t.slice,a=this.depth;f.isNumber(a)||(a=this.chart.depth);var n=t.values.depthValue.percent;f.isNumber(n)||(n=100),i.depth=n*a/100;var s=this.angle;f.isNumber(s)||(s=this.chart.angle),i.angle=s,e.prototype.validateDataElement.call(this,t)},t.prototype.validate=function(){e.prototype.validate.call(this);for(var t=this._workingStartIndex;t<this._workingEndIndex;t++){var i=this.dataItems.getIndex(t).slice,a=i.startAngle;a>=-90&&a<90?i.toFront():a>=90&&i.toBack()}},Object.defineProperty(t.prototype,"depth",{get:function(){return this.getPropertyValue("depth")},set:function(e){this.setPropertyValue("depth",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"angle",{get:function(){return this.getPropertyValue("angle")},set:function(e){this.setPropertyValue("angle",e)},enumerable:!0,configurable:!0}),t}(Ce);d.b.registeredClasses.PieSeries3D=Ve,d.b.registeredClasses.PieSeries3DDataItem=Te;var Se=function(e){function t(){var t=e.call(this)||this;return t.className="PieChart3DDataItem",t.applyTheme(),t}return n.c(t,e),t}(Ie),Re=function(e){function t(){var t=e.call(this)||this;return t.className="PieChart3D",t.depth=20,t.angle=10,t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"depth",{get:function(){return this.getPropertyValue("depth")},set:function(e){this.setPropertyValue("depth",e)&&this.invalidateDataUsers()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"angle",{get:function(){return this.getPropertyValue("angle")},set:function(e){this.setPropertyValue("angle",e)&&this.invalidateDataUsers()},enumerable:!0,configurable:!0}),t.prototype.createSeries=function(){return new Ve},t}(_e);d.b.registeredClasses.PieChart3D=Re;var Fe=function(e){function t(){var t=e.call(this)||this;return t.className="SlicedChartDataItem",t.applyTheme(),t}return n.c(t,e),t}(fe),Oe=function(e){function t(){var t=e.call(this)||this;return t.className="SlicedChart",t.seriesContainer.layout="horizontal",t.padding(15,15,15,15),t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Sliced chart"))},t.prototype.validate=function(){e.prototype.validate.call(this)},t}(me);d.b.registeredClasses.SlicedChart=Oe,d.b.registeredClasses.SlicedChartDataItem=Fe;var ke=i("Hg48"),we=i("ZpHf"),Le=i("eske"),Xe=i("TXRX"),Ye=function(e){function t(){var t=e.call(this)||this;t.className="ChordNode",t.label=t.createChild(ve.a),t.label.location=.5,t.label.radius=5,t.label.text="{name}",t.label.zIndex=1,t.label.shouldClone=!1,t.layout="none",t.events.on("positionchanged",t.updateRotation,t,!1),t.isMeasured=!1,t.slice=t.createChild(xe.a),t.slice.isMeasured=!1;var i=t.hiddenState;return i.properties.fill=(new B.a).getFor("disabledBackground"),i.properties.opacity=.5,i.properties.visible=!0,t.setStateOnChildren=!1,t.slice.hiddenState.properties.visible=!0,t.adapter.add("tooltipX",function(e,t){return t.slice.ix*(t.slice.radius-(t.slice.radius-t.slice.pixelInnerRadius)/2)}),t.adapter.add("tooltipY",function(e,t){return t.slice.iy*(t.slice.radius-(t.slice.radius-t.slice.pixelInnerRadius)/2)}),t}return n.c(t,e),t.prototype.invalidateLinks=function(){var t=this;e.prototype.invalidateLinks.call(this);var i=this.label,a=this.slice,n=this.chart;if(n&&a){var s=this.total,r=a.arc,o=a.startAngle;this.children.each(function(e){if(e instanceof Xe.a){var t=e.locationX;f.isNumber(t)||(t=.5);var i=e.locationY;f.isNumber(i)||(i=1);var n=o+r*t,s=i*a.radius;e.x=s*g.cos(n),e.y=s*g.sin(n)}});var l=o+r*i.location,h=o+(1-s/this.adjustedTotal)*r*.5;f.isNaN(h)&&(h=o);var u={x:a.radius*g.cos(l),y:a.radius*g.sin(l)};i.fixPoint(u,a.radius),i.moveTo(u),this.nextAngle=h,this._outgoingSorted&&m.each(this._outgoingSorted,function(e){var i=e.link;i.parent=t.chart.linksContainer;var s=e.getWorkingValue("value");if(f.isNumber(s)){if(n.nonRibbon){var l=i.percentWidth;f.isNumber(l)||(l=5),l/=100,i.startAngle=o+r/2-r/2*l,i.arc=r*l}else i.arc=s*n.valueAngle,i.startAngle=t.nextAngle,t.nextAngle+=i.arc;e.toNode||(i.endAngle=i.startAngle),i.radius=a.pixelInnerRadius}}),this._incomingSorted&&m.each(this._incomingSorted,function(e){var i=e.link;if(i.radius=a.pixelInnerRadius,n.nonRibbon){var s=i.percentWidth;f.isNumber(s)||(s=5),s/=100,i.endAngle=o+r/2-r/2*s,i.arc=r*s}else{i.endAngle=t.nextAngle;var l=e.getWorkingValue("value");f.isNumber(l)&&(i.arc=l*n.valueAngle,t.nextAngle+=i.arc)}e.fromNode||(i.startAngle=i.endAngle)})}},t.prototype.updateRotation=function(){var e=this.slice,t=this.trueStartAngle+e.arc/2,i=e.radius,a=i*g.cos(t),n=i*g.sin(t),s=g.getAngle({x:a+this.pixelX,y:n+this.pixelY});e.startAngle=this.trueStartAngle+(s-t),this.dx=-this.pixelX,this.dy=-this.pixelY},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.label.copyFrom(t.label),this.slice.copyFrom(t.slice)},t}(Le.a);d.b.registeredClasses.ChordNode=Ye;var je=i("s9al"),Ne=function(e){function t(){var t=e.call(this)||this;return t.className="QuadraticCurve",t.element=t.paper.add("path"),t.pixelPerfect=!1,t.fill=Object(M.c)(),t.applyTheme(),t}return n.c(t,e),t.prototype.draw=function(){if(f.isNumber(this.x1+this.x2+this.y1+this.y2+this.cpx+this.cpy)){var e={x:this.x1,y:this.y1},t={x:this.x2,y:this.y2},i={x:this.cpx,y:this.cpy},a=k.moveTo(e)+k.quadraticCurveTo(t,i);this.path=a}},Object.defineProperty(t.prototype,"cpx",{get:function(){return this.getPropertyValue("cpx")},set:function(e){this.setPropertyValue("cpx",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cpy",{get:function(){return this.getPropertyValue("cpy")},set:function(e){this.setPropertyValue("cpy",e,!0)},enumerable:!0,configurable:!0}),t.prototype.positionToPoint=function(e){var t={x:this.x1,y:this.y1},i={x:this.cpx,y:this.cpy},a={x:this.x2,y:this.y2},n=g.getPointOnQuadraticCurve(t,a,i,e),s=g.getPointOnQuadraticCurve(t,a,i,e+.001);return{x:n.x,y:n.y,angle:g.getAngle(n,s)}},t}(J.a),Me=function(e){function t(){var t=e.call(this)||this;return t.className="ChordLink",t.middleLine=t.createChild(Ne),t.middleLine.shouldClone=!1,t.middleLine.strokeOpacity=0,t.applyTheme(),t}return n.c(t,e),t.prototype.validate=function(){if(e.prototype.validate.call(this),!this.isTemplate){var t=this.startAngle,i=this.endAngle,a=this.arc,n=this.radius,s=this.dataItem.fromNode,r=this.dataItem.toNode,o=0,l=0;s&&(o=s.pixelX+s.dx,l=s.pixelY+s.dy);var h=0,u=0;if(r&&(h=r.pixelX+r.dx,u=r.pixelY+r.dy),n>0){var d=n*g.cos(t)+o,c=n*g.sin(t)+l,p=n*g.cos(i)+h,y=n*g.sin(i)+u,f=(g.cos(i+a),g.sin(i+a),g.cos(t+a),g.sin(t+a),{x:0,y:0}),m=k.moveTo({x:d,y:c});m+=k.arcTo(t,a,n),m+=k.quadraticCurveTo({x:p,y:y},f),m+=k.arcTo(i,a,n),m+=k.quadraticCurveTo({x:d,y:c},f),this.link.path=a>0?m:"",this.maskBullets&&(this.bulletsMask.path=m,this.bulletsContainer.mask=this.bulletsMask);var x=t+a/2,v=i+a/2,b=this.middleLine;b.x1=n*g.cos(x)+o,b.y1=n*g.sin(x)+l,b.x2=n*g.cos(v)+h,b.y2=n*g.sin(v)+u,b.cpx=0,b.cpy=0,b.stroke=this.fill,this.positionBullets()}}},Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPropertyValue("radius",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"arc",{get:function(){return this.getPropertyValue("arc")},set:function(e){this.setPropertyValue("arc",e,!0)},enumerable:!0,configurable:!0}),t}(je.a);d.b.registeredClasses.ChordLink=Me;var Be=function(e){function t(){var t=e.call(this)||this;return t.className="ChordDiagramDataItem",t.applyTheme(),t}return n.c(t,e),t}(ke.b),Ee=function(e){function t(){var t=e.call(this)||this;t.valueAngle=0,t.className="ChordDiagram",t.startAngle=-90,t.endAngle=270,t.radius=Object(Y.c)(80),t.innerRadius=-15,t.nodePadding=5;var i=t.chartContainer.createChild(r.a);return i.align="center",i.valign="middle",i.shouldClone=!1,i.layout="absolute",t.chordContainer=i,t.nodesContainer.parent=i,t.linksContainer.parent=i,t.chartContainer.events.on("maxsizechanged",t.invalidate,t,!1),t.applyTheme(),t}return n.c(t,e),t.prototype.validate=function(){var t=this,i=this.chartContainer,a=(this.nodesContainer,this.endAngle),n=this.startAngle+this.nodePadding/2,s=g.getArcRect(this.startAngle,this.endAngle,1);s=g.getCommonRectangle([s,{x:0,y:0,width:0,height:0}]);var r=Math.min(i.innerWidth/s.width,i.innerHeight/s.height);f.isNumber(r)||(r=0);F.relativeRadiusToValue(this.radius,r);var o=F.relativeRadiusToValue(this.radius,r),l=F.relativeRadiusToValue(this.innerRadius,o,!0),h=this.dataItem.values.value.sum,u=0,d=0;m.each(this._sorted,function(e){var i=e[1];t.getNodeValue(i),u++;var a=i.total;i.total/h<t.minNodeSize&&(a=h*t.minNodeSize),d+=a}),this.valueAngle=(a-this.startAngle-this.nodePadding*u)/d,m.each(this._sorted,function(e){var i=e[1],s=i.slice;s.radius=o,s.innerRadius=l;var r,d=i.total;i.total/h<t.minNodeSize&&(d=h*t.minNodeSize),i.adjustedTotal=d,r=t.nonRibbon?(a-t.startAngle)/u-t.nodePadding:t.valueAngle*d,s.arc=r,s.startAngle=n,i.trueStartAngle=n,i.parent=t.nodesContainer,i.validate(),n+=r+t.nodePadding}),this.chordContainer.definedBBox={x:o*s.x,y:o*s.y,width:o*s.width,height:o*s.height},this.chordContainer.invalidateLayout(),e.prototype.validate.call(this)},t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Chord diagram"))},t.prototype.createDataItem=function(){return new Be},Object.defineProperty(t.prototype,"startAngle",{get:function(){return this.getPropertyValue("startAngle")},set:function(e){this.setPropertyValue("startAngle",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endAngle",{get:function(){return this.getPropertyValue("endAngle")},set:function(e){this.setPropertyValue("endAngle",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nonRibbon",{get:function(){return this.getPropertyValue("nonRibbon")},set:function(e){this.setPropertyValue("nonRibbon",e,!0),this.links.template.middleLine.strokeOpacity=1,this.links.template.link.fillOpacity=0},enumerable:!0,configurable:!0}),t.prototype.createNode=function(){var e=new Ye;return this._disposers.push(e),e},t.prototype.createLink=function(){var e=new Me;return this._disposers.push(e),e},t}(ke.a);d.b.registeredClasses.ChordDiagram=Ee;var We=i("DG6Q"),ze=i("CnhP"),Ue=function(e){function t(){var t=e.call(this)||this;return t.className="ColumnSeriesDataItem",t.locations.dateX=.5,t.locations.dateY=.5,t.locations.categoryX=.5,t.locations.categoryY=.5,t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"column",{get:function(){return this._column},set:function(e){this.setColumn(e)},enumerable:!0,configurable:!0}),t.prototype.setColumn=function(e){var t=this;if(this._column&&e!=this._column&&O.remove(this.sprites,this._column),this._column=e,e){var i=e.dataItem;i&&i!=this&&(i.column=void 0),this.addSprite(e),this._disposers.push(new I.b(function(){t.component&&t.component.columns.removeValue(e)}))}},Object.defineProperty(t.prototype,"rangesColumns",{get:function(){return this._rangesColumns||(this._rangesColumns=new c.a),this._rangesColumns},enumerable:!0,configurable:!0}),t}(w),He=function(e){function t(){var t=e.call(this)||this;t._startLocation=0,t._endLocation=1,t.simplifiedProcessing=!1,t.className="ColumnSeries",t.width=Object(Y.c)(100),t.height=Object(Y.c)(100),t.strokeOpacity=0,t.fillOpacity=1,t.clustered=!0;var i=t.mainContainer.createChild(r.a);return i.shouldClone=!1,i.isMeasured=!1,i.layout="none",t._columnsContainer=i,t.columns,t.columns.template.pixelPerfect=!1,t.tooltipColorSource=t.columns.template,t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"columnsContainer",{get:function(){return this._columnsContainer},enumerable:!0,configurable:!0}),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Column Series"))},t.prototype.createDataItem=function(){return new Ue},t.prototype.validate=function(){var i=this,a=this.chart.series,n=0,s=0;m.each(a.iterator(),function(e){e instanceof t&&i.baseAxis==e.baseAxis&&((!e.stacked&&e.clustered||0===n)&&n++,e==i&&(s=n-1))});var r=this.baseAxis.renderer,o=r.cellStartLocation,l=r.cellEndLocation;this._startLocation=o+s/n*(l-o),this._endLocation=o+(s+1)/n*(l-o),e.prototype.validate.call(this);for(var h=0;h<this.startIndex;h++){var u=this.dataItems.getIndex(h);this.disableUnusedColumns(u)}for(h=this.dataItems.length-1;h>this.endIndex;h--){u=this.dataItems.getIndex(h);this.disableUnusedColumns(u)}},t.prototype.validateDataElement=function(t){this.validateDataElementReal(t),e.prototype.validateDataElement.call(this,t)},t.prototype.getStartLocation=function(e){var t=this._startLocation;return this.baseAxis==this.xAxis?t+=e.locations[this.xOpenField]-.5:t+=e.locations[this.yOpenField]-.5,t},t.prototype.handleDataItemWorkingValueChange=function(t,i){this.simplifiedProcessing?this.validateDataElement(t):e.prototype.handleDataItemWorkingValueChange.call(this,t,i)},t.prototype.getEndLocation=function(e){var t=this._endLocation;return this.baseAxis==this.xAxis?t+=e.locations[this.xField]-.5:t+=e.locations[this.yField]-.5,t},t.prototype.validateDataElementReal=function(e){var t,i,a,n,s=this,r=this.getStartLocation(e),o=this.getEndLocation(e),l=this.xField,h=this.xOpenField,u=this.yField,d=this.yOpenField,c=this.columns.template,p=c.percentWidth,y=c.percentHeight,x=c.pixelWidth,v=c.pixelHeight,A=c.maxWidth,I=c.maxHeight,_=c.pixelPaddingLeft,D=c.pixelPaddingRight,T=c.pixelPaddingTop,S=c.pixelPaddingBottom,R=!1;if(this.xAxis instanceof b&&this.yAxis instanceof b){if(!e.hasValue(this._xValueFields)||!e.hasValue(this._yValueFields))return;if(r=0,o=1,!f.isNaN(p))r+=k=g.round((o-r)*(1-p/100)/2,5),o-=k;if(t=this.xAxis.getX(e,h,r),i=this.xAxis.getX(e,l,o),f.isNaN(p))t+=k=(i-t-x)/2,i-=k;if(!f.isNaN(A))t+=k=(i-t-A)/2,i-=k;if(r=0,o=1,!f.isNaN(y))r+=k=g.round((1-y/100)/2,5),o-=k;if(a=this.yAxis.getY(e,d,r),n=this.yAxis.getY(e,u,o),f.isNaN(y))n+=k=(n-a-v)/2,a-=k;if(!f.isNaN(I))n+=k=(n-a-I)/2,a-=k;i=this.fixHorizontalCoordinate(i),t=this.fixHorizontalCoordinate(t),a=this.fixVerticalCoordinate(a),n=this.fixVerticalCoordinate(n)}else if(this.baseAxis==this.xAxis){if(!e.hasValue(this._yValueFields))return;if(!f.isNaN(p))r+=k=g.round((o-r)*(1-p/100)/2,5),o-=k;if(t=this.xAxis.getX(e,h,r),i=this.xAxis.getX(e,l,o),f.isNaN(p))t+=k=(i-t-x)/2,i-=k;if(!f.isNaN(A))t+=k=(i-t-A)/2,i-=k;var F=e.locations[d],O=e.locations[u];this.yAxis instanceof C.a&&(F=0,O=0),n=this.yAxis.getY(e,d,F),a=this.yAxis.getY(e,u,O),a=this.fixVerticalCoordinate(a),n=this.fixVerticalCoordinate(n),Math.abs(i-t)-_-D==0&&(R=!0)}else{if(!e.hasValue(this._xValueFields))return;var k;if(!f.isNaN(y))r+=k=g.round((o-r)*(1-y/100)/2,5),o-=k;if(a=this.yAxis.getY(e,d,r),n=this.yAxis.getY(e,u,o),f.isNaN(y))n-=k=(n-a-v)/2,a+=k;if(!f.isNaN(I))n-=k=(n-a-I)/2,a+=k;var w=e.locations[l],L=e.locations[h];this.xAxis instanceof C.a&&(w=0,L=0),i=this.xAxis.getX(e,l,w),t=this.xAxis.getX(e,h,L),i=this.fixHorizontalCoordinate(i),t=this.fixHorizontalCoordinate(t),Math.abs(a-n)-T-S==0&&(R=!0)}var X,Y=Math.abs(i-t),j=Math.abs(n-a),N=Math.min(t,i),M=Math.min(a,n);R?this.disableUnusedColumns(e):(e.column?X=e.column:(X=this.columns.create(),V.copyProperties(this,X,P.b),V.copyProperties(this.columns.template,X,P.b),e.addSprite(X),e.column=X,this.itemsFocusable()?(X.role="menuitem",X.focusable=!0):(X.role="listitem",X.focusable=!1),X.focusable&&(X.events.once("focus",function(t){X.readerTitle=s.populateString(s.itemReaderText,e)},void 0,!1),X.events.once("blur",function(e){X.readerTitle=""},void 0,!1)),X.hoverable&&(X.events.once("over",function(t){X.readerTitle=s.populateString(s.itemReaderText,e)},void 0,!1),X.events.once("out",function(e){X.readerTitle=""},void 0,!1))),X.width=Y,X.height=j,X.x=N,X.y=M,X.realX=t,X.realY=a,X.realWidth=i-t,X.realHeight=n-a,X.parent=this.columnsContainer,X.virtualParent=this,this.setColumnStates(X),X.invalid&&X.validate(),X.__disabled=!1,m.each(this.axisRanges.iterator(),function(t){var i=e.rangesColumns.getKey(t.uid);i||(i=s.columns.create(),V.copyProperties(t.contents,i,P.b),e.addSprite(i),e.rangesColumns.setKey(t.uid,i)),i.parent=t.contents,i.width=Y,i.height=j,i.x=N,i.y=M,s.setColumnStates(i),i.invalid&&i.validate(),i.__disabled=!1}));e.itemWidth=Y,e.itemHeight=j},t.prototype.disableUnusedColumns=function(e){e&&(e.column&&(e.column.width=0,e.column.height=0,e.column.__disabled=!0),m.each(this.axisRanges.iterator(),function(t){var i=e.rangesColumns.getKey(t.uid);i&&(i.width=0,i.height=0,i.__disabled=!0)}))},t.prototype.setColumnStates=function(e){var t=e.dataItem;if(this.xAxis instanceof C.a||this.yAxis instanceof C.a){var i,a=void 0,n=void 0;this.baseAxis==this.yAxis?this.xOpenField&&this.xField&&(i=t.getValue(this.xOpenField),a=t.getValue(this.xField),n=t.getValue(this.xAxis.axisFieldName+"X","previousChange")):this.yOpenField&&this.yField&&(i=t.getValue(this.yOpenField),a=t.getValue(this.yField),n=t.getValue(this.yAxis.axisFieldName+"Y","previousChange")),a<i?(t.droppedFromOpen=!0,e.defaultState.copyFrom(this._dropFromOpenState),e.setState(this._dropFromOpenState,0)):(t.droppedFromOpen=!1,e.defaultState.copyFrom(this._riseFromOpenState),e.setState(this._riseFromOpenState,0)),n<0?(t.droppedFromPrevious=!0,e.defaultState.copyFrom(this._dropFromPreviousState),e.setState(this._dropFromPreviousState,0)):(t.droppedFromPrevious=!1,e.defaultState.copyFrom(this._riseFromPreviousState),e.setState(this._riseFromPreviousState,0))}},Object.defineProperty(t.prototype,"columns",{get:function(){return this._columns||(this._columns=new o.e(this.createColumnTemplate()),this._disposers.push(new o.c(this._columns)),this._disposers.push(this._columns.template)),this._columns},enumerable:!0,configurable:!0}),t.prototype.createColumnTemplate=function(){return new We.a},Object.defineProperty(t.prototype,"clustered",{get:function(){return this.getPropertyValue("clustered")},set:function(e){this.setPropertyValue("clustered",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropFromOpenState",{get:function(){return this._dropFromOpenState||(this._dropFromOpenState=this.states.create("dropFromOpenState")),this._dropFromOpenState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropFromPreviousState",{get:function(){return this._dropFromPreviousState||(this._dropFromPreviousState=this.states.create("dropFromPreviousState")),this._dropFromPreviousState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"riseFromOpenState",{get:function(){return this._riseFromOpenState||(this._riseFromOpenState=this.states.create("riseFromOpenState")),this._riseFromOpenState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"riseFromPreviousState",{get:function(){return this._riseFromPreviousState||(this._riseFromPreviousState=this.states.create("riseFromPreviousState")),this._riseFromPreviousState},enumerable:!0,configurable:!0}),t.prototype.updateLegendValue=function(t){var i=this;if(e.prototype.updateLegendValue.call(this,t),this.legendDataItem){var a,n,s=this.legendDataItem.marker;t&&(a=t.droppedFromOpen?this._dropFromOpenState:this._riseFromOpenState,n=t.droppedFromPrevious?this._dropFromPreviousState:this._riseFromPreviousState),m.each(s.children.iterator(),function(e){t?(e.setState(n),e.setState(a)):(e.setState(i._riseFromPreviousState),e.setState(i._riseFromOpenState))})}},t.prototype.createLegendMarker=function(e){var t=e.pixelWidth,i=e.pixelHeight;e.removeChildren();var a=e.createChild(ze.a);a.shouldClone=!1,V.copyProperties(this,a,P.b),a.copyFrom(this.columns.template),a.padding(0,0,0,0),a.width=t,a.height=i;var n=e.dataItem;n.color=this.fill,n.colorOrig=this.fill},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.columns.template.copyFrom(t.columns.template)},t.prototype.getBulletLocationX=function(t,i){return this.baseAxis==this.xAxis?(this._startLocation+this._endLocation)/2:e.prototype.getBulletLocationX.call(this,t,i)},t.prototype.getBulletLocationY=function(t,i){return this.baseAxis==this.yAxis?(this._startLocation+this._endLocation)/2:e.prototype.getBulletLocationY.call(this,t,i)},t.prototype.fixVerticalCoordinate=function(e){var t=this.columns.template.pixelPaddingBottom,i=-this.columns.template.pixelPaddingTop,a=this.yAxis.axisLength+t;return g.fitToRange(e,i,a)},t.prototype.fixHorizontalCoordinate=function(e){var t=this.columns.template.pixelPaddingLeft,i=this.columns.template.pixelPaddingRight,a=-t,n=this.xAxis.axisLength+i;return g.fitToRange(e,a,n)},t}(L);d.b.registeredClasses.ColumnSeries=He,d.b.registeredClasses.ColumnSeriesDataItem=Ue;var Ke=function(e){function t(){var t=e.call(this)||this;return t.className="TreeMapSeriesDataItem",t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"parentName",{get:function(){var e=this.treeMapDataItem;if(e&&e.parent)return e.parent.name},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.treeMapDataItem.value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"treeMapDataItem",{get:function(){return this._dataContext},enumerable:!0,configurable:!0}),t}(Ue),Ge=function(e){function t(){var t=e.call(this)||this;t.className="TreeMapSeries",t.applyTheme(),t.fillOpacity=1,t.strokeOpacity=1,t.minBulletDistance=0,t.columns.template.tooltipText="{parentName} {name}: {value}",t.columns.template.configField="config";var i=new B.a;return t.stroke=i.getFor("background"),t.dataFields.openValueX="x0",t.dataFields.valueX="x1",t.dataFields.openValueY="y0",t.dataFields.valueY="y1",t.sequencedInterpolation=!1,t.showOnInit=!1,t.columns.template.pixelPerfect=!1,t}return n.c(t,e),t.prototype.processDataItem=function(t,i){i.seriesDataItem=t,e.prototype.processDataItem.call(this,t,i)},t.prototype.createDataItem=function(){return new Ke},t.prototype.show=function(t){var i=this.defaultState.transitionDuration;f.isNumber(t)&&(i=t),this.dataItems.each(function(e){e.treeMapDataItem.setWorkingValue("value",e.treeMapDataItem.values.value.value)});var a=e.prototype.showReal.call(this,i),n=this.chart;return n&&(a&&!a.isFinished()?a.events.on("animationended",function(){n.invalidateLayout()}):n.invalidateLayout(),n.invalidateLayout()),a},t.prototype.hide=function(t){var i=this.defaultState.transitionDuration;f.isNumber(t)&&(i=t);var a=e.prototype.hideReal.call(this,i);this.dataItems.each(function(e){e.treeMapDataItem.setWorkingValue("value",0)});var n=this.chart;return n&&(a&&!a.isFinished()?a.events.on("animationended",function(){n.invalidateLayout()}):n.invalidateLayout(),n.invalidateLayout()),a},t.prototype.processValues=function(){},t.prototype.dataChangeUpdate=function(){},t.prototype.processConfig=function(t){t&&(f.hasValue(t.dataFields)&&f.isObject(t.dataFields)||(t.dataFields={})),e.prototype.processConfig.call(this,t)},t.prototype.createLegendMarker=function(e){var t=e.pixelWidth,i=e.pixelHeight;e.removeChildren();var a=e.createChild(ze.a);a.shouldClone=!1,V.copyProperties(this,a,P.b),a.padding(0,0,0,0),a.width=t,a.height=i;var n=e.dataItem;n.color=a.fill,n.colorOrig=a.fill},t}(He);d.b.registeredClasses.TreeMapSeries=Ge,d.b.registeredClasses.TreeMapSeriesDataItem=Ke;var Ze=i("DHte"),qe=function(e){function t(){var t=e.call(this)||this;return t.rows=[],t.className="TreeMapDataItem",t.values.value={},t.values.x0={},t.values.y0={},t.values.x1={},t.values.y1={},t.hasChildren.children=!0,t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"value",{get:function(){var e=this.values.value.workingValue;return f.isNumber(e)||(e=0,this.children&&m.each(this.children.iterator(),function(t){f.isNumber(t.value)&&(e+=t.value)})),e},set:function(e){this.setValue("value",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"percent",{get:function(){return this.parent?this.value/this.parent.value*100:100},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"x0",{get:function(){return this.values.x0.value},set:function(e){this.setValue("x0",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"x1",{get:function(){return this.values.x1.value},set:function(e){this.setValue("x1",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y0",{get:function(){return this.values.y0.value},set:function(e){this.setValue("y0",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y1",{get:function(){return this.values.y1.value},set:function(e){this.setValue("y1",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this.properties.name},set:function(e){this.setProperty("name",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this.properties.children},set:function(e){this.setProperty("children",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"level",{get:function(){return this.parent?this.parent.level+1:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"color",{get:function(){var e=this.properties.color;return void 0==e&&this.parent&&(e=this.parent.color),void 0==e&&this.component&&(e=this.component.colors.getIndex(this.component.colors.step*this.index)),e},set:function(e){this.setProperty("color",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"series",{get:function(){return this._series},set:function(e){this._series&&(this.component.series.removeValue(this._series),this._series.dispose()),this._series=e,this._disposers.push(e)},enumerable:!0,configurable:!0}),t}(K),Je=function(e){function t(){var t=e.call(this)||this;t.layoutAlgorithm=t.squarify,t.zoomable=!0,t.className="TreeMap",t.maxLevels=2,t.currentLevel=0,t.colors=new Ze.a,t.sorting="descending";var i=t.xAxes.push(new C.a);i.title.disabled=!0,i.strictMinMax=!0;var a=i.renderer;a.inside=!0,a.labels.template.disabled=!0,a.ticks.template.disabled=!0,a.grid.template.disabled=!0,a.axisFills.template.disabled=!0,a.minGridDistance=100,a.line.disabled=!0,a.baseGrid.disabled=!0;var n=t.yAxes.push(new C.a);n.title.disabled=!0,n.strictMinMax=!0;var s=n.renderer;s.inside=!0,s.labels.template.disabled=!0,s.ticks.template.disabled=!0,s.grid.template.disabled=!0,s.axisFills.template.disabled=!0,s.minGridDistance=100,s.line.disabled=!0,s.baseGrid.disabled=!0,s.inversed=!0,t.xAxis=i,t.yAxis=n;var r=new Ge;return t.seriesTemplates=new c.c(r),t._disposers.push(new c.b(t.seriesTemplates)),t._disposers.push(r),t.zoomOutButton.events.on("hit",function(){t.zoomToChartDataItem(t._homeDataItem)},void 0,!1),t.seriesTemplates.events.on("insertKey",function(e){e.newValue.isTemplate=!0},void 0,!1),t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"navigationBar",{get:function(){return this._navigationBar},set:function(e){var t=this;this._navigationBar!=e&&(this._navigationBar=e,e.parent=this,e.toBack(),e.links.template.events.on("hit",function(e){var i=e.target.dataItem.dataContext;t.zoomToChartDataItem(i),t.createTreeSeries(i)},void 0,!0),this._disposers.push(e))},enumerable:!0,configurable:!0}),t.prototype.validateData=function(){this.series.clear(),e.prototype.validateData.call(this),this._homeDataItem&&this._homeDataItem.dispose();var t=this.dataItems.template.clone();this._homeDataItem=t,m.each(this.dataItems.iterator(),function(e){e.parent=t}),t.children=this.dataItems,t.x0=0,t.y0=0,t.name=this._homeText;var i=1e3*this.pixelHeight/this.pixelWidth||1e3;t.x1=1e3,t.y1=i,this.xAxis.min=0,this.xAxis.max=1e3,this.yAxis.min=0,this.yAxis.max=i,this.layoutItems(t),this.createTreeSeries(t)},t.prototype.layoutItems=function(e,t){if(e){var i=e.children;t||(t=this.sorting),"ascending"==t&&i.values.sort(function(e,t){return e.value-t.value}),"descending"==t&&i.values.sort(function(e,t){return t.value-e.value}),this._updateDataItemIndexes(0),this.layoutAlgorithm(e);for(var a=0,n=i.length;a<n;a++){var s=i.getIndex(a);s.children&&this.layoutItems(s)}}},t.prototype.createTreeSeries=function(e){var t=this;this._tempSeries=[];for(var i=[e],a=e.parent;void 0!=a;)this.initSeries(a),i.push(a),a=a.parent;i.reverse(),this.navigationBar&&(this.navigationBar.data=i),this.createTreeSeriesReal(e),O.each(this._tempSeries,function(e){-1==t.series.indexOf(e)&&t.series.push(e),e.zIndex=e.level})},t.prototype.createTreeSeriesReal=function(e){if(e.children&&e.level<this.currentLevel+this.maxLevels){this.initSeries(e);for(var t=0;t<e.children.length;t++){var i=e.children.getIndex(t);i.children&&this.createTreeSeriesReal(i)}}},t.prototype.seriesAppeared=function(){return!0},t.prototype.initSeries=function(e){var t=this;if(!e.series){var i=void 0,a=this.seriesTemplates.getKey(e.level.toString());(i=a?a.clone():this.series.create()).name=e.name,i.parentDataItem=e,e.series=i;var n=e.level;i.level=n;var s=e.dataContext;s&&(i.config=s.config),this.dataUsers.removeValue(i),i.data=e.children.values,i.fill=e.color,i.columnsContainer.hide(0),i.bulletsContainer.hide(0),i.columns.template.adapter.add("fill",function(e,t){var i=t.dataItem;if(i){var a=i.treeMapDataItem;if(a)return t.fill=a.color,t.adapter.remove("fill"),a.color}}),this.zoomable&&(e.level>this.currentLevel||e.children&&e.children.length>0)&&(i.columns.template.cursorOverStyle=j.a.pointer,this.zoomable&&i.columns.template.events.on("hit",function(i){var a=i.target.dataItem;e.level>t.currentLevel?t.zoomToChartDataItem(a.treeMapDataItem.parent):t.zoomToSeriesDataItem(a)},this,void 0))}this._tempSeries.push(e.series)},t.prototype.toggleBullets=function(e){var t=this;m.each(this.series.iterator(),function(i){-1==t._tempSeries.indexOf(i)?(i.columnsContainer.hide(),i.bulletsContainer.hide(e)):(i.columnsContainer.show(),i.bulletsContainer.show(e),i.level<t.currentLevel&&i.bulletsContainer.hide(e))})},t.prototype.zoomToSeriesDataItem=function(e){this.zoomToChartDataItem(e.treeMapDataItem)},t.prototype.zoomToChartDataItem=function(e){var t=this;if(e&&e.children){this.xAxis.zoomToValues(e.x0,e.x1),this.yAxis.zoomToValues(e.y0,e.y1),this.currentLevel=e.level,this.currentlyZoomed=e,this.createTreeSeries(e);var i=this.xAxis.rangeChangeAnimation||this.yAxis.rangeChangeAnimation;i&&!i.isFinished()?(this._dataDisposers.push(i),i.events.once("animationended",function(){t.toggleBullets()})):this.toggleBullets()}},t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("TreeMap chart"))},t.prototype.createDataItem=function(){return new qe},Object.defineProperty(t.prototype,"maxLevels",{get:function(){return this.getPropertyValue("maxLevels")},set:function(e){this.setPropertyValue("maxLevels",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentLevel",{get:function(){return this.getPropertyValue("currentLevel")},set:function(e){this.setPropertyValue("currentLevel",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sorting",{get:function(){return this.getPropertyValue("sorting")},set:function(e){this.setPropertyValue("sorting",e,!0)},enumerable:!0,configurable:!0}),t.prototype.createSeries=function(){return new Ge},Object.defineProperty(t.prototype,"homeText",{get:function(){return this._homeText},set:function(e){this._homeText=e,this._homeDataItem&&(this._homeDataItem.name=this._homeText)},enumerable:!0,configurable:!0}),t.prototype.processConfig=function(t){if(t){if(f.hasValue(t.layoutAlgorithm)&&f.isString(t.layoutAlgorithm))switch(t.layoutAlgorithm){case"squarify":t.layoutAlgorithm=this.squarify;break;case"binaryTree":t.layoutAlgorithm=this.binaryTree;break;case"slice":t.layoutAlgorithm=this.slice;break;case"dice":t.layoutAlgorithm=this.dice;break;case"sliceDice":t.layoutAlgorithm=this.sliceDice;break;default:delete t.layoutAlgorithm}f.hasValue(t.navigationBar)&&!f.hasValue(t.navigationBar.type)&&(t.navigationBar.type="NavigationBar"),e.prototype.processConfig.call(this,t)}},t.prototype.validateLayout=function(){e.prototype.validateLayout.call(this),this.layoutItems(this.currentlyZoomed)},t.prototype.validateDataItems=function(){e.prototype.validateDataItems.call(this),this.layoutItems(this._homeDataItem),m.each(this.series.iterator(),function(e){e.validateRawData()}),this.zoomToChartDataItem(this._homeDataItem)},t.prototype.binaryTree=function(e){var t,i,a=e.children,n=a.length,s=new Array(n+1);for(s[0]=i=t=0;t<n;++t)s[t+1]=i+=a.getIndex(t).value;!function e(t,i,n,r,o,l,h){if(t>=i-1){var u=a.getIndex(t);return u.x0=r,u.y0=o,u.x1=l,void(u.y1=h)}var d=s[t],c=n/2+d,p=t+1,y=i-1;for(;p<y;){var g=p+y>>>1;s[g]<c?p=g+1:y=g}c-s[p-1]<s[p]-c&&t+1<p&&--p;var f=s[p]-d,m=n-f;if(l-r>h-o){var x=(r*m+l*f)/n;e(t,p,f,r,o,x,h),e(p,i,m,x,o,l,h)}else{var v=(o*m+h*f)/n;e(t,p,f,r,o,l,v),e(p,i,m,r,v,l,h)}}(0,n,e.value,e.x0,e.y0,e.x1,e.y1)},t.prototype.slice=function(e){for(var t,i=e.x0,a=e.x1,n=e.y0,s=e.y1,r=e.children,o=-1,l=r.length,h=e.value&&(s-n)/e.value;++o<l;)(t=r.getIndex(o)).x0=i,t.x1=a,t.y0=n,t.y1=n+=t.value*h},t.prototype.dice=function(e){for(var t,i=e.x0,a=e.x1,n=e.y0,s=e.y1,r=e.children,o=-1,l=r.length,h=e.value&&(a-i)/e.value;++o<l;)(t=r.getIndex(o)).y0=n,t.y1=s,t.x0=i,t.x1=i+=t.value*h},t.prototype.sliceDice=function(e){1&e.level?this.slice(e):this.dice(e)},t.prototype.squarify=function(e){for(var t,i,a,n,s,r,o,l,h,u,d=(1+Math.sqrt(5))/2,c=e.x0,p=e.x1,y=e.y0,g=e.y1,f=e.children,m=0,x=0,v=f.length,b=e.value;m<v;){i=p-c,a=g-y;do{n=f.getIndex(x++).value}while(!n&&x<v);for(s=r=n,u=n*n*(h=Math.max(a/i,i/a)/(b*d)),l=Math.max(r/u,u/s);x<v;++x){if(n+=t=f.getIndex(x).value,t<s&&(s=t),t>r&&(r=t),u=n*n*h,(o=Math.max(r/u,u/s))>l){n-=t;break}l=o}var A=this.dataItems.template.clone();A.value=n,A.dice=i<a,A.children=f.slice(m,x),A.x0=c,A.y0=y,A.x1=p,A.y1=g,A.dice?(A.y1=b?y+=a*n/b:g,this.dice(A)):(A.x1=b?c+=i*n/b:p,this.slice(A)),b-=n,m=x}},t.prototype.handleDataItemValueChange=function(e,t){"value"==t&&this.invalidateDataItems()},t.prototype.handleDataItemWorkingValueChange=function(e,t){"value"==t&&this.invalidateDataItems()},t.prototype.feedLegend=function(){var e=this.legend;if(e){var t=[];m.each(this.series.iterator(),function(e){1==e.level&&(e.hiddenInLegend||t.push(e))}),e.dataFields.name="name",e.data=t}},t.prototype.disposeData=function(){e.prototype.disposeData.call(this),this._homeDataItem=void 0,this.series.clear(),this.navigationBar&&this.navigationBar.disposeData(),this.xAxis.disposeData(),this.yAxis.disposeData()},t}(G);d.b.registeredClasses.TreeMap=Je;var Qe=function(e){function t(){var t=e.call(this)||this;return t._chart=new I.d,t.className="AxisRendererX3D",t._disposers.push(t._chart),t.applyTheme(),t}return n.c(t,e),t.prototype.updateGridElement=function(e,t,i){t+=(i-t)*e.location;var a=this.positionToPoint(t);if(e.element){var n=this.chart.dx3D,s=this.chart.dy3D,r=this.getHeight();e.path=k.moveTo({x:n,y:s})+k.lineTo({x:n,y:r+s})+k.lineTo({x:0,y:r})}this.positionItem(e,a),this.toggleVisibility(e,t,0,1)},t.prototype.updateBaseGridElement=function(){e.prototype.updateBaseGridElement.call(this);var t=this.getHeight(),i=this.chart.dx3D,a=this.chart.dy3D;this.baseGrid.path=k.moveTo({x:i,y:a})+k.lineTo({x:i,y:t+a})+k.lineTo({x:0,y:t})},Object.defineProperty(t.prototype,"chart",{get:function(){return this._chart.get()},set:function(e){e&&this._chart.set(e,e.events.on("propertychanged",this.handle3DChanged,this,!1))},enumerable:!0,configurable:!0}),t.prototype.handle3DChanged=function(e){"depth"!=e.property&&"angle"!=e.property||this.invalidate()},t}(l.a);d.b.registeredClasses.AxisRendererX3D=Qe;var $e=function(e){function t(){var t=e.call(this)||this;return t._chart=new I.d,t.className="AxisRendererY3D",t._disposers.push(t._chart),t.applyTheme(),t}return n.c(t,e),t.prototype.updateGridElement=function(e,t,i){t+=(i-t)*e.location;var a=this.positionToPoint(t);if(e.element){var n=this.chart.dx3D,s=this.chart.dy3D,r=this.getWidth();e.path=k.moveTo({x:0,y:0})+k.lineTo({x:n,y:s})+k.lineTo({x:r+n,y:s})}this.positionItem(e,a),this.toggleVisibility(e,t,0,1)},t.prototype.updateBaseGridElement=function(){e.prototype.updateBaseGridElement.call(this);var t=this.getWidth();this.baseGrid.path=k.moveTo({x:0,y:0})+k.lineTo({x:t,y:0})+k.lineTo({x:t+this.chart.dx3D,y:this.chart.dy3D})},Object.defineProperty(t.prototype,"chart",{get:function(){return this._chart.get()},set:function(e){e&&this._chart.set(e,e.events.on("propertychanged",this.handle3DChanged,this,!1))},enumerable:!0,configurable:!0}),t.prototype.handle3DChanged=function(e){"depth"!=e.property&&"angle"!=e.property||this.invalidate()},t}(h.a),et=i("qUC/"),tt=function(e){function t(){var t=e.call(this)||this;return t.className="ColumnSeries3DDataItem",t.applyTheme(),t}return n.c(t,e),t}(Ue),it=function(e){function t(){var t=e.call(this)||this;return t.className="ColumnSeries3D",t.columns.template.column3D.applyOnClones=!0,t.columns.template.hiddenState.properties.visible=!0,t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"columnsContainer",{get:function(){return this.chart&&this.chart.columnsContainer?this.chart.columnsContainer:this._columnsContainer},enumerable:!0,configurable:!0}),t.prototype.validateDataElementReal=function(t){e.prototype.validateDataElementReal.call(this,t),t.column&&(t.column.dx=this.dx,t.column.dy=this.dy)},t.prototype.validateDataElements=function(){e.prototype.validateDataElements.call(this),this.chart&&this.chart.invalidateLayout()},t.prototype.createColumnTemplate=function(){return new et.a},Object.defineProperty(t.prototype,"depth",{get:function(){return this.getPropertyValue("depth")},set:function(e){this.setPropertyValue("depth",e,!0),this.columns.template.column3D.depth=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"angle",{get:function(){return this.getPropertyValue("angle")},set:function(e){this.setPropertyValue("angle",e),this.columns.template.column3D.angle=e},enumerable:!0,configurable:!0}),t}(He);d.b.registeredClasses.ColumnSeries3D=it,d.b.registeredClasses.ColumnSeries3DDataItem=tt;var at=function(e){function t(){var t=e.call(this)||this;return t.className="XYChart3DDataItem",t.applyTheme(),t}return n.c(t,e),t}(K),nt=function(e){function t(){var t=e.call(this)||this;t._axisRendererX=Qe,t._axisRendererY=$e,t.className="XYChart3D",t.depth=30,t.angle=30;var i=t.seriesContainer.createChild(r.a);return i.shouldClone=!1,i.isMeasured=!1,i.layout="none",t.columnsContainer=i,t.columnsContainer.mask=t.createChild(P.a),t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"depth",{get:function(){return this.getPropertyValue("depth")},set:function(e){this.setPropertyValue("depth",e),this.fixLayout(),this.invalidateDataUsers()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"angle",{get:function(){return this.getPropertyValue("angle")},set:function(e){this.setPropertyValue("angle",e),this.fixLayout(),this.invalidateDataUsers()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dx3D",{get:function(){return g.cos(this.angle)*this.depth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dy3D",{get:function(){return-g.sin(this.angle)*this.depth},enumerable:!0,configurable:!0}),t.prototype.validateLayout=function(){e.prototype.validateLayout.call(this),this.fixLayout()},t.prototype.fixLayout=function(){this.chartContainer.marginTop=-this.dy3D,this.chartContainer.paddingRight=this.dx3D,this.scrollbarX&&(this.scrollbarX.dy=this.dy3D,this.scrollbarX.dx=this.dx3D),this.scrollbarY&&(this.scrollbarY.dy=this.dy3D,this.scrollbarY.dx=this.dx3D),this.fixColumns()},t.prototype.fixColumns=function(){var e=this,t=1,i=0;m.each(this.series.iterator(),function(e){e instanceof it&&(!e.clustered&&i>0&&t++,e.depthIndex=t-1,i++)});var a=0;m.each(this.series.iterator(),function(i){if(i instanceof it){i.depth=e.depth/t,i.angle=e.angle,i.dx=e.depth/t*g.cos(e.angle)*i.depthIndex,i.dy=-e.depth/t*g.sin(e.angle)*i.depthIndex;var n=1;i.columns.each(function(e){e.zIndex=1e3*n+a-100*i.depthIndex,n++}),a++}}),this.maskColumns()},t.prototype.processConfig=function(t){if(t&&f.hasValue(t.series)&&f.isArray(t.series))for(var i=0,a=t.series.length;i<a;i++)t.series[i].type=t.series[i].type||"ColumnSeries3D";e.prototype.processConfig.call(this,t)},t.prototype.maskColumns=function(){var e=this.plotContainer.pixelWidth,t=this.plotContainer.pixelHeight,i=this.dx3D,a=this.dy3D,n=k.moveTo({x:0,y:0})+k.lineTo({x:i,y:a})+k.lineTo({x:e+i,y:a})+k.lineTo({x:e+i,y:t+a})+k.lineTo({x:e,y:t})+k.lineTo({x:e,y:t})+k.lineTo({x:0,y:t})+k.closePath(),s=this.columnsContainer;s&&s.mask&&(s.mask.path=n)},t}(G);d.b.registeredClasses.XYChart3D=nt;var st=i("VIOb"),rt=i("uWmK"),ot=i("2OXf"),lt=function(e){function t(){var t=e.call(this)||this;return t.className="Candlestick",t.layout="none",t}return n.c(t,e),t.prototype.createAssets=function(){e.prototype.createAssets.call(this),this.lowLine=this.createChild(J.a),this.lowLine.shouldClone=!1,this.highLine=this.createChild(J.a),this.highLine.shouldClone=!1},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.lowLine&&this.lowLine.copyFrom(t.lowLine),this.highLine&&this.highLine.copyFrom(t.highLine)},t}(We.a);d.b.registeredClasses.Candlestick=lt;var ht=function(e){function t(){var t=e.call(this)||this;return t.values.lowValueX={},t.values.lowValueY={},t.values.highValueX={},t.values.highValueY={},t.className="CandlestickSeriesDataItem",t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"lowValueX",{get:function(){return this.values.lowValueX.value},set:function(e){this.setValue("lowValueX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lowValueY",{get:function(){return this.values.lowValueY.value},set:function(e){this.setValue("lowValueY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"highValueX",{get:function(){return this.values.highValueX.value},set:function(e){this.setValue("highValueX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"highValueY",{get:function(){return this.values.highValueY.value},set:function(e){this.setValue("highValueY",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"closeValueX",{get:function(){return this.values.valueX.value},set:function(e){this.setValue("valueX",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"closeValueY",{get:function(){return this.values.valueY.value},set:function(e){this.setValue("valueY",e)},enumerable:!0,configurable:!0}),t}(Ue),ut=function(e){function t(){var t=e.call(this)||this;t.className="CandlestickSeries",t.strokeOpacity=1;var i=new B.a,a=i.getFor("positive"),n=i.getFor("negative");return t.dropFromOpenState.properties.fill=n,t.dropFromOpenState.properties.stroke=n,t.riseFromOpenState.properties.fill=a,t.riseFromOpenState.properties.stroke=a,t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Candlestick Series"))},t.prototype.createDataItem=function(){return new ht},t.prototype.validateDataElementReal=function(t){e.prototype.validateDataElementReal.call(this,t),this.validateCandlestick(t)},t.prototype.validateCandlestick=function(e){var t=e.column;if(t){var i=t.lowLine,a=t.highLine;if(this.baseAxis==this.xAxis){var n=t.pixelWidth/2;i.x=n,a.x=n;var s=e.getWorkingValue(this.yOpenField),r=e.getWorkingValue(this.yField),o=this.yAxis.getY(e,this.yOpenField),l=this.yAxis.getY(e,this.yField),h=this.yAxis.getY(e,this.yLowField),u=this.yAxis.getY(e,this.yHighField),d=t.pixelY;i.y1=h-d,a.y1=u-d,s<r?(i.y2=o-d,a.y2=l-d):(i.y2=l-d,a.y2=o-d)}if(this.baseAxis==this.yAxis){var c=t.pixelHeight/2;i.y=c,a.y=c;var p=e.getWorkingValue(this.xOpenField),y=e.getWorkingValue(this.xField),g=this.xAxis.getX(e,this.xOpenField),f=this.xAxis.getX(e,this.xField),x=this.xAxis.getX(e,this.xLowField),v=this.xAxis.getX(e,this.xHighField),b=t.pixelX;i.x1=x-b,a.x1=v-b,p<y?(i.x2=g-b,a.x2=f-b):(i.x2=f-b,a.x2=g-b)}m.each(this.axisRanges.iterator(),function(t){var n=e.rangesColumns.getKey(t.uid);if(n){var s=n.lowLine;s.x=i.x,s.y=i.y,s.x1=i.x1,s.x2=i.x2,s.y1=i.y1,s.y2=i.y2;var r=n.highLine;r.x=a.x,r.y=a.y,r.x1=a.x1,r.x2=a.x2,r.y1=a.y1,r.y2=a.y2}})}},Object.defineProperty(t.prototype,"xLowField",{get:function(){return this._xLowField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yLowField",{get:function(){return this._yLowField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xHighField",{get:function(){return this._xHighField},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"yHighField",{get:function(){return this._yHighField},enumerable:!0,configurable:!0}),t.prototype.defineFields=function(){if(e.prototype.defineFields.call(this),this.baseAxis==this.xAxis){var t=F.capitalize(this.yAxis.axisFieldName);this._yLowField="low"+t+"Y",this._yHighField="high"+t+"Y"}if(this.baseAxis==this.yAxis){var i=F.capitalize(this.xAxis.axisFieldName);this._xLowField="low"+i+"X",this._xHighField="high"+i+"X"}this.addValueField(this.xAxis,this._xValueFields,this._xLowField),this.addValueField(this.xAxis,this._xValueFields,this._xHighField),this.addValueField(this.yAxis,this._yValueFields,this._yLowField),this.addValueField(this.yAxis,this._yValueFields,this._yHighField)},t.prototype.createLegendMarker=function(e){var t=e.pixelWidth,i=e.pixelHeight;e.removeChildren();var a,n,s=e.createChild(lt);s.shouldClone=!1,s.copyFrom(this.columns.template);var r=s.lowLine,o=s.highLine;this.baseAxis==this.yAxis?(a=t/3,n=i,r.y=i/2,o.y=i/2,r.x2=t/3,o.x2=t/3,o.x=t/3*2,s.column.x=t/3):(a=t,n=i/3,r.x=t/2,o.x=t/2,r.y2=i/3,o.y2=i/3,o.y=i/3*2,s.column.y=i/3),s.width=a,s.height=n,V.copyProperties(this,e,P.b),V.copyProperties(this.columns.template,s,P.b),s.stroke=this.riseFromOpenState.properties.stroke,s.fill=s.stroke;var l=e.dataItem;l.color=s.fill,l.colorOrig=s.fill},t.prototype.createColumnTemplate=function(){return new lt},t}(He);d.b.registeredClasses.CandlestickSeries=ut,d.b.registeredClasses.CandlestickSeriesDataItem=ht;var dt=function(e){function t(){var t=e.call(this)||this;return t.className="OHLC",t.layout="none",t}return n.c(t,e),t.prototype.createAssets=function(){this.openLine=this.createChild(J.a),this.openLine.shouldClone=!1,this.highLowLine=this.createChild(J.a),this.highLowLine.shouldClone=!1,this.closeLine=this.createChild(J.a),this.closeLine.shouldClone=!1},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.openLine&&this.openLine.copyFrom(t.openLine),this.highLowLine&&this.highLowLine.copyFrom(t.highLowLine),this.closeLine&&this.closeLine.copyFrom(t.closeLine)},t}(lt);d.b.registeredClasses.OHLC=dt;var ct=function(e){function t(){var t=e.call(this)||this;return t.className="OHLCSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(ht),pt=function(e){function t(){var t=e.call(this)||this;return t.className="OHLCSeries",t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("OHLC Series"))},t.prototype.createDataItem=function(){return new ct},t.prototype.validateCandlestick=function(e){var t=e.column;if(t){var i=t.openLine,a=t.highLowLine,n=t.closeLine;if(this.baseAxis==this.xAxis){var s=t.pixelWidth/2;a.x=s;e.getWorkingValue(this.yOpenField),e.getWorkingValue(this.yField);var r=this.yAxis.getY(e,this.yOpenField),o=this.yAxis.getY(e,this.yField),l=this.yAxis.getY(e,this.yLowField),h=this.yAxis.getY(e,this.yHighField),u=t.pixelY;i.y1=r-u,i.y2=r-u,i.x1=0,i.x2=s,n.y1=o-u,n.y2=o-u,n.x1=s,n.x2=2*s,a.y1=h-u,a.y2=l-u}if(this.baseAxis==this.yAxis){var d=t.pixelHeight/2;a.y=d;e.getWorkingValue(this.xOpenField),e.getWorkingValue(this.xField);var c=this.xAxis.getX(e,this.xOpenField),p=this.xAxis.getX(e,this.xField),y=this.xAxis.getX(e,this.xLowField),g=this.xAxis.getX(e,this.xHighField),f=t.pixelX;i.x1=c-f,i.x2=c-f,i.y1=d,i.y2=2*d,n.x1=p-f,n.x2=p-f,n.y1=0,n.y2=d,a.x1=g-f,a.x2=y-f}m.each(this.axisRanges.iterator(),function(t){var s=e.rangesColumns.getKey(t.uid);if(s){var r=s.openLine;r.x=i.x,r.y=i.y,r.x1=i.x1,r.x2=i.x2,r.y1=i.y1,r.y2=i.y2;var o=s.closeLine;o.x=n.x,o.y=n.y,o.x1=n.x1,o.x2=n.x2,o.y1=n.y1,o.y2=n.y2;var l=s.highLowLine;l.x=a.x,l.y=a.y,l.x1=a.x1,l.x2=a.x2,l.y1=a.y1,l.y2=a.y2}})}},t.prototype.createLegendMarker=function(e){var t=e.pixelWidth,i=e.pixelHeight;e.removeChildren();var a,n,s=e.createChild(dt);s.shouldClone=!1,s.copyFrom(this.columns.template);var r=s.openLine,o=s.closeLine,l=s.highLowLine;this.baseAxis==this.yAxis?(a=t/3,n=i,l.y=i/2,l.x2=t,r.x=t/3*2,r.y2=i/2,o.x=t/3,o.y2=i,o.y1=i/2):(a=t,n=i/3,l.x=t/2,l.y2=i,r.y=i/3*2,r.x2=t/2,o.y=i/3,o.x2=t,o.x1=t/2),s.width=a,s.height=n,V.copyProperties(this,e,P.b),V.copyProperties(this.columns.template,s,P.b),s.stroke=this.riseFromOpenState.properties.stroke;var h=e.dataItem;h.color=s.stroke,h.colorOrig=s.stroke},t.prototype.createColumnTemplate=function(){return new dt},t}(ut);d.b.registeredClasses.OHLCSeries=pt,d.b.registeredClasses.OHLCSeriesDataItem=ct;var yt=function(e){function t(){var t=e.call(this)||this;return t.className="StepLineSeriesSegment",t}return n.c(t,e),t.prototype.drawSegment=function(e,t,i,a,n,s){if(e.length>0&&t.length>0)if(n){var r=k.moveTo(e[0]);if(e.length>0)for(var o=1;o<e.length;o++){var l=e[o];o/2==Math.round(o/2)?r+=k.moveTo(l):r+=k.lineTo(l)}this.strokeSprite.path=r,(this.fillOpacity>0||this.fillSprite.fillOpacity>0)&&(r=k.moveTo(e[0])+k.polyline(e),r+=k.lineTo(t[0])+k.polyline(t),r+=k.lineTo(e[0]),r+=k.closePath(),this.fillSprite.path=r)}else{r=k.moveTo(e[0])+k.polyline(e);this.strokeSprite.path=r,(this.fillOpacity>0||this.fillSprite.fillOpacity>0)&&(r+=k.lineTo(t[0])+k.polyline(t),r+=k.lineTo(e[0]),r+=k.closePath(),this.fillSprite.path=r)}},t}(q);d.b.registeredClasses.StepLineSeriesSegment=yt;var gt=function(e){function t(){var t=e.call(this)||this;return t.className="StepLineSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(ee),ft=function(e){function t(){var t=e.call(this)||this;return t.className="StepLineSeries",t.applyTheme(),t.startLocation=0,t.endLocation=1,t}return n.c(t,e),t.prototype.createDataItem=function(){return new gt},t.prototype.addPoints=function(e,t,i,a,n){var s=this.startLocation,r=this.endLocation,o=this.xAxis.getX(t,i,s),l=this.yAxis.getY(t,a,s),h=this.xAxis.getX(t,i,r),u=this.yAxis.getY(t,a,r);if(o=g.fitToRange(o,-2e4,2e4),l=g.fitToRange(l,-2e4,2e4),h=g.fitToRange(h,-2e4,2e4),u=g.fitToRange(u,-2e4,2e4),!this.noRisers&&this.connect&&e.length>1){var d=e[e.length-1];this.baseAxis==this.xAxis&&(n?e.push({x:d.x,y:u}):e.push({x:o,y:d.y})),this.baseAxis==this.yAxis&&(n?e.push({x:h,y:d.y}):e.push({x:d.x,y:l}))}var c={x:o,y:l},p={x:h,y:u};n?e.push(p,c):e.push(c,p)},t.prototype.drawSegment=function(e,t,i){var a=!1;this.yAxis==this.baseAxis&&(a=!0),e.drawSegment(t,i,this.tensionX,this.tensionY,this.noRisers,a)},t.prototype.createSegment=function(){return new yt},Object.defineProperty(t.prototype,"noRisers",{get:function(){return this.getPropertyValue("noRisers")},set:function(e){this.setPropertyValue("noRisers",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"startLocation",{get:function(){return this.getPropertyValue("startLocation")},set:function(e){this.setPropertyValue("startLocation",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"endLocation",{get:function(){return this.getPropertyValue("endLocation")},set:function(e){this.setPropertyValue("endLocation",e,!0)},enumerable:!0,configurable:!0}),t}(te);d.b.registeredClasses.StepLineSeries=ft,d.b.registeredClasses.StepLineSeriesDataItem=gt;var mt=function(e){function t(){var t=e.call(this)||this;return t.className="RadarColumn",t}return n.c(t,e),t.prototype.createAssets=function(){this.radarColumn=this.createChild(xe.a),this.radarColumn.shouldClone=!1,this.radarColumn.strokeOpacity=void 0,this.column=this.radarColumn},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.radarColumn&&this.radarColumn.copyFrom(t.radarColumn)},t.prototype.getTooltipX=function(){var e=this.getPropertyValue("tooltipX");return f.isNumber(e)||(e=this.radarColumn.tooltipX),e},t.prototype.getTooltipY=function(){var e=this.getPropertyValue("tooltipX");return f.isNumber(e)||(e=this.radarColumn.tooltipY),e},t}(We.a);d.b.registeredClasses.RadarColumn=mt;var xt=function(e){function t(){var t=e.call(this)||this;return t.className="ColumnSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(Ue),vt=function(e){function t(){var t=e.call(this)||this;return t.className="RadarColumnSeries",t.applyTheme(),t}return n.c(t,e),t.prototype.createColumnTemplate=function(){return new mt},t.prototype.validate=function(){this.chart.invalid&&this.chart.validate(),e.prototype.validate.call(this)},t.prototype.validateDataElementReal=function(e){var t,i,a,n,s=this,r=this.chart.startAngle,o=this.chart.endAngle,l=this.yField,h=this.yOpenField,u=this.xField,d=this.xOpenField,c=this.getStartLocation(e),p=this.getEndLocation(e),y=(o-r)/(this.dataItems.length*(this.end-this.start));r+=c*y,o-=(1-p)*y;var x=this.columns.template.percentWidth;f.isNaN(x)&&(x=100);var v=g.round((p-c)*(1-x/100)/2,5);if(c+=v,p-=v,this.baseAxis==this.xAxis?(a=g.getDistance({x:this.yAxis.getX(e,l,e.locations[l],"valueY"),y:this.yAxis.getY(e,l,e.locations[l],"valueY")}),n=g.getDistance({x:this.yAxis.getX(e,h,e.locations[h],"valueY"),y:this.yAxis.getY(e,h,e.locations[h],"valueY")}),t=this.xAxis.getAngle(e,d,c,"valueX"),i=this.xAxis.getAngle(e,u,p,"valueX")):(a=g.getDistance({x:this.yAxis.getX(e,l,c,"valueY"),y:this.yAxis.getY(e,l,c,"valueY")}),n=g.getDistance({x:this.yAxis.getX(e,h,p,"valueY"),y:this.yAxis.getY(e,h,p,"valueY")}),t=this.xAxis.getAngle(e,u,e.locations[u],"valueX"),i=this.xAxis.getAngle(e,d,e.locations[d],"valueX")),i<t){var b=i;i=t,t=b}t=g.fitToRange(t,r,o),i=g.fitToRange(i,r,o);var A=e.column;A||(A=this.columns.create(),e.column=A,V.forceCopyProperties(this.columns.template,A,P.b),e.addSprite(A),this.setColumnStates(A));var C=A.radarColumn;C.startAngle=t;var I=i-t;I>0?(C.arc=I,C.radius=a,C.innerRadius=n,A.__disabled=!1,A.parent=this.columnsContainer,m.each(this.axisRanges.iterator(),function(i){var r=e.rangesColumns.getKey(i.uid);r||(r=s.columns.create(),V.forceCopyProperties(s.columns.template,r,P.b),V.copyProperties(i.contents,r,P.b),r.dataItem&&O.remove(r.dataItem.sprites,r),e.addSprite(r),s.setColumnStates(r),e.rangesColumns.setKey(i.uid,r));var o=A.radarColumn;o.startAngle=t,o.arc=I,o.radius=a,o.innerRadius=n,o.invalid&&o.validate(),r.__disabled=!1,r.parent=s.columnsContainer})):this.disableUnusedColumns(e)},t.prototype.getPoint=function(e,t,i,a,n,s,r){s||(s="valueX"),r||(r="valueY");var o=this.yAxis.getX(e,i,n,r),l=this.yAxis.getY(e,i,n,r),h=g.getDistance({x:o,y:l});0==h&&(h=1e-5);var u=this.xAxis.getAngle(e,t,a,s);return{x:h*g.cos(u),y:h*g.sin(u)}},t.prototype.getMaskPath=function(){var e=this.yAxis.renderer;return k.arc(e.startAngle,e.endAngle-e.startAngle,e.pixelRadius,e.pixelInnerRadius)},t}(He);d.b.registeredClasses.RadarColumnSeries=vt,d.b.registeredClasses.RadarColumnSeriesDataItem=xt;var bt=i("HfWV"),At=function(e){function t(){var t=e.call(this)||this;return t.className="PyramidSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(bt.b),Pt=function(e){function t(){var t=e.call(this)||this;return t.className="PyramidSeries",t.topWidth=Object(Y.c)(0),t.bottomWidth=Object(Y.c)(100),t.pyramidHeight=Object(Y.c)(100),t.valueIs="area",t.sliceLinks.template.width=0,t.sliceLinks.template.height=0,t.applyTheme(),t}return n.c(t,e),t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Pyramid Series"))},t.prototype.createDataItem=function(){return new At},t.prototype.validate=function(){e.prototype.validate.call(this),this._nextWidth=void 0},t.prototype.getNextValue=function(e){var t=e.index,i=e.getWorkingValue("value");t<this.dataItems.length-1&&(i=this.dataItems.getIndex(t+1).getWorkingValue("value"));return 0==i&&(i=1e-6),i},t.prototype.validateDataElements=function(){var t=this,i=this.slicesContainer.innerWidth,a=this.slicesContainer.innerHeight;if(this.dataItems.each(function(e){var n=e.getWorkingValue("value")/e.value,s=e.sliceLink;"vertical"==t.orientation?a-=s.pixelHeight*n:i-=s.pixelWidth*n}),this._pyramidHeight=F.relativeToValue(this.pyramidHeight,a),this._pyramidWidth=F.relativeToValue(this.pyramidHeight,i),"vertical"==this.orientation){var n=(a-this._pyramidHeight)/2;this.slicesContainer.y=n,this.labelsContainer.y=n,this.ticksContainer.y=n}else{var s=(i-this._pyramidWidth)/2;this.slicesContainer.x=s,this.labelsContainer.x=s,this.ticksContainer.x=s}e.prototype.validateDataElements.call(this)},t.prototype.decorateSlice=function(e){var t=this.dataItem.values.value.sum;if(0!=t){var i=e.slice,a=e.sliceLink,n=e.label,s=e.tick,r=(this.getNextValue(e),e.getWorkingValue("value"));0==r&&(r=1e-6);var o=this._pyramidWidth,l=this._pyramidHeight,h=this.slicesContainer.innerWidth,u=this.slicesContainer.innerHeight,d=a.pixelWidth,c=a.pixelHeight;if("vertical"==this.orientation){var p=F.relativeToValue(this.topWidth,h);f.isNumber(this._nextWidth)||(this._nextWidth=p);var y=F.relativeToValue(this.bottomWidth,h),g=this._nextWidth,m=Math.atan2(l,p-y);0==(P=Math.tan(Math.PI/2-m))&&(P=1e-8);var x=void 0,v=void 0;if("area"==this.valueIs){var b=(p+y)/2*l*r/t,A=Math.abs(g*g-2*b*P);v=(2*b-(x=(g-Math.sqrt(A))/P)*g)/x}else{v=g-(x=l*r/this.dataItem.values.value.sum)*P}i.height=x,i.width=h,i.bottomWidth=v,i.topWidth=g,a.topWidth=i.bottomWidth,a.bottomWidth=i.bottomWidth,i.y=this._nextY,this.alignLabels?n.x=0:n.x=h/2,n.y=i.pixelY+i.pixelHeight*s.locationY,this._nextY+=i.pixelHeight+c*r/e.value,a.y=this._nextY-c,a.x=h/2}else{p=F.relativeToValue(this.topWidth,u);f.isNumber(this._nextWidth)||(this._nextWidth=p);var P;y=F.relativeToValue(this.bottomWidth,u),g=this._nextWidth,m=Math.atan2(o,p-y);0==(P=Math.tan(Math.PI/2-m))&&(P=1e-8);var C=void 0;v=void 0;if("area"==this.valueIs)v=(2*(b=(p+y)/2*o*r/this.dataItem.values.value.sum)-(C=(g-Math.sqrt(g*g-2*b*P))/P)*g)/C;else v=g-(C=o*r/this.dataItem.values.value.sum)*P;i.width=C,i.height=u,i.bottomWidth=v,i.topWidth=g,a.topWidth=i.bottomWidth,a.bottomWidth=i.bottomWidth,i.x=this._nextY,this.alignLabels?n.y=this.labelsContainer.measuredHeight:n.y=u/2,n.x=i.pixelX+i.pixelWidth*s.locationX,this._nextY+=i.pixelWidth+d*r/e.value,a.x=this._nextY-d,a.y=u/2}this._nextWidth=i.bottomWidth}},Object.defineProperty(t.prototype,"topWidth",{get:function(){return this.getPropertyValue("topWidth")},set:function(e){this.setPercentProperty("topWidth",e,!1,!1,10,!1)&&this.invalidate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pyramidHeight",{get:function(){return this.getPropertyValue("pyramidHeight")},set:function(e){this.setPercentProperty("pyramidHeight",e,!1,!1,10,!1)&&this.invalidate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bottomWidth",{get:function(){return this.getPropertyValue("bottomWidth")},set:function(e){this.setPercentProperty("bottomWidth",e,!1,!1,10,!1)&&this.invalidate()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueIs",{get:function(){return this.getPropertyValue("valueIs")},set:function(e){this.setPropertyValue("valueIs",e)&&this.invalidate()},enumerable:!0,configurable:!0}),t}(bt.a);d.b.registeredClasses.PyramidSeries=Pt,d.b.registeredClasses.PyramidSeriesDataItem=At;var Ct=function(e){function t(){var t=e.call(this)||this;return t.className="PictorialStackedSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(At),It=function(e){function t(){var t=e.call(this)||this;return t.className="PictorialStackedSeries",t.topWidth=Object(Y.c)(100),t.bottomWidth=Object(Y.c)(100),t.valueIs="height",t.applyTheme(),t._maskSprite=t.slicesContainer.createChild(P.a),t._maskSprite.visible=!1,t._maskSprite.zIndex=100,t}return n.c(t,e),t.prototype.validateDataElements=function(){var t=this.slicesContainer.maxWidth,i=this.slicesContainer.maxHeight,a=this._maskSprite,n=a.measuredWidth/a.scale,s=a.measuredHeight/a.scale,r=g.min(i/s,t/n);r==1/0&&(r=1),r=g.max(.001,r);var o=g.min(t,n*r),l=g.min(i,s*r);a.scale=r,"vertical"==this.orientation?(this.topWidth=o+4,this.bottomWidth=o+4,this.pyramidHeight=l,a.x=t/2,a.y=l/2):(this.topWidth=l+4,this.bottomWidth=l+4,this.pyramidHeight=o,a.valign="middle",a.x=o/2,a.y=i/2),a.verticalCenter="middle",a.horizontalCenter="middle",this.slicesContainer.mask=this._maskSprite,e.prototype.validateDataElements.call(this)},t.prototype.applyInternalDefaults=function(){e.prototype.applyInternalDefaults.call(this),f.hasValue(this.readerTitle)||(this.readerTitle=this.language.translate("Pyramid Series"))},t.prototype.createDataItem=function(){return new Ct},Object.defineProperty(t.prototype,"maskSprite",{get:function(){return this._maskSprite},enumerable:!0,configurable:!0}),t.prototype.initSlice=function(t){e.prototype.initSlice.call(this,t);var i=t.states.getKey("hover");i&&(i.properties.expandDistance=0)},t}(Pt);d.b.registeredClasses.PictorialStackedSeries=It,d.b.registeredClasses.PictorialStackedSeriesDataItem=Ct;var _t=i("d+vC"),Dt=i("ncT3"),Tt=function(e){function t(){var t=e.call(this)||this;return t.className="ConeColumn",t}return n.c(t,e),t.prototype.createAssets=function(){this.coneColumn=this.createChild(Dt.a),this.coneColumn.shouldClone=!1,this.column=this.coneColumn},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.coneColumn&&this.coneColumn.copyFrom(t.coneColumn)},t}(We.a);d.b.registeredClasses.ConeColumn=Tt;var Vt=function(e){function t(){var t=e.call(this)||this;return t.className="ConeSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(Ue),St=function(e){function t(){var t=e.call(this)||this;return t.className="ConeSeries",t.applyTheme(),t}return n.c(t,e),t.prototype.createColumnTemplate=function(){return new Tt},t.prototype.getMaskPath=function(){var e=0,t=0,i=this.columns.getIndex(0);if(i)return this.baseAxis==this.xAxis?t=i.coneColumn.bottom.radiusY+1:e=i.coneColumn.bottom.radiusY+1,k.rectToPath({x:-e,y:0,width:this.xAxis.axisLength+e,height:this.yAxis.axisLength+t})},t.prototype.validateDataElementReal=function(t){if(e.prototype.validateDataElementReal.call(this,t),t.column){var i=t.column.coneColumn;i.fill=t.column.fill,this.baseAxis==this.yAxis?i.orientation="horizontal":i.orientation="vertical"}},t}(He);d.b.registeredClasses.ConeSeries=St,d.b.registeredClasses.ConeSeriesDataItem=Vt;var Rt=function(e){function t(){var t=e.call(this)||this;return t.className="CurvedColumn",t}return n.c(t,e),t.prototype.createAssets=function(){this.curvedColumn=this.createChild(P.a),this.curvedColumn.shouldClone=!1,this.setPropertyValue("tension",.7),this.width=Object(Y.c)(120),this.height=Object(Y.c)(120),this.column=this.curvedColumn},t.prototype.draw=function(){e.prototype.draw.call(this);var t,i=this.realWidth,a=this.realHeight,n=this.realX-this.pixelX,s=this.realY-this.pixelY,r=(this.width,1),o=1;"vertical"==this.orientation?(r=this.tension,t=[{x:0,y:a+s},{x:i/2,y:s},{x:i,y:a+s}]):(o=this.tension,t=[{x:n,y:0},{x:n+i,y:a/2},{x:n,y:a}]);var l=k.moveTo(t[0])+new Z.b(r,o).smooth(t);this.column.path=l},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.curvedColumn&&this.curvedColumn.copyFrom(t.curvedColumn)},Object.defineProperty(t.prototype,"tension",{get:function(){return this.getPropertyValue("tension")},set:function(e){this.setPropertyValue("tension",e,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"orientation",{get:function(){return this.getPropertyValue("orientation")},set:function(e){this.setPropertyValue("orientation",e,!0)},enumerable:!0,configurable:!0}),t}(We.a);d.b.registeredClasses.CurvedColumn=Rt;var Ft=function(e){function t(){var t=e.call(this)||this;return t.className="CurvedColumnSeriesDataItem",t.applyTheme(),t}return n.c(t,e),t}(Ue),Ot=function(e){function t(){var t=e.call(this)||this;return t.className="CurvedColumnSeries",t.applyTheme(),t}return n.c(t,e),t.prototype.createColumnTemplate=function(){return new Rt},t.prototype.validateDataElementReal=function(t){var i=t.column;i&&(t.column.curvedColumn.fill=t.column.fill,this.baseAxis==this.yAxis?i.orientation="horizontal":i.orientation="vertical");e.prototype.validateDataElementReal.call(this,t)},t}(He);d.b.registeredClasses.CurvedColumnSeries=Ot,d.b.registeredClasses.CurvedColumnSeriesDataItem=Ft;var kt=i("AaJ4"),wt=i("eN1s"),Lt=i("TDx+"),Xt=i("eAid"),Yt=i("8EhG"),jt=i("Meme"),Nt=function(e){function t(){var t=e.call(this)||this;return t.className="DurationAxisDataItem",t.applyTheme(),t}return n.c(t,e),t}(C.b),Mt=function(e){function t(){var t=e.call(this)||this;return t._baseUnit="second",t.className="DurationAxis",t.setPropertyValue("maxZoomFactor",1e6),t.applyTheme(),t}return n.c(t,e),t.prototype.formatLabel=function(e,t){return this.durationFormatter.format(e,t||this.axisDurationFormat)},t.prototype.adjustMinMax=function(t,i,a,s,r){var o,l,h,u=this.baseUnit;if(this.setPropertyValue("maxPrecision",0),"millisecond"==u||"second"==u||"minute"==u||"hour"==u){s<=1&&(s=1),s=Math.round(s);var d=t,c=i;0===a&&(a=Math.abs(i));var p,y=[60,30,20,15,10,2,1],f=1;"hour"==u&&(y=[24,12,6,4,2,1]);try{for(var m=n.g(y),x=m.next();!x.done;x=m.next()){var v=x.value;if(a/v>s){f=v;break}}}catch(e){l={error:e}}finally{try{x&&!x.done&&(h=m.return)&&h.call(m)}finally{if(l)throw l.error}}var b=Math.ceil((i-t)/f/s),A=Math.log(Math.abs(b))*Math.LOG10E,P=Math.pow(10,Math.floor(A))/10,C=b/P;p=f*(b=g.closest(y,C)*P);this.durationFormatter.getValueUnit(p,this.baseUnit);t=Math.floor(t/p)*p,i=Math.ceil(i/p)*p,r&&((t-=p)<0&&d>=0&&(t=0),(i+=p)>0&&c<=0&&(i=0)),o={min:t,max:i,step:p}}else o=e.prototype.adjustMinMax.call(this,t,i,a,s,r);return this.axisDurationFormat=this.durationFormatter.getFormat(o.step,o.max,this.baseUnit),o},Object.defineProperty(t.prototype,"tooltipDurationFormat",{get:function(){return this._tooltipDurationFormat},set:function(e){this._tooltipDurationFormat=e},enumerable:!0,configurable:!0}),t.prototype.getTooltipText=function(e){var t=g.round(this.positionToValue(e),this._stepDecimalPlaces);return this.adapter.apply("getTooltipText",this.formatLabel(t,this.tooltipDurationFormat))},Object.defineProperty(t.prototype,"baseUnit",{get:function(){return this._baseUnit},set:function(e){this._baseUnit!=e&&(this._baseUnit=e,this.durationFormatter.baseUnit=e,this.invalidate())},enumerable:!0,configurable:!0}),t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.baseUnit=t.baseUnit},t}(C.a);d.b.registeredClasses.DurationAxis=Mt,d.b.registeredClasses.DurationAxisDataItem=Nt;var Bt=i("Lrmi"),Et=i("yrKf"),Wt=i("Jwb0"),zt=function(e){function t(){var t=e.call(this)||this;t.className="CircleBullet";var i=t.createChild(ne.a);return i.shouldClone=!1,i.radius=5,i.isMeasured=!1,t.circle=i,t}return n.c(t,e),t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.circle.copyFrom(t.circle)},t}(Xe.a);d.b.registeredClasses.CircleBullet=zt;var Ut=function(e){function t(){var t=e.call(this)||this;return t.className="ErrorBullet",t.errorLine=t.createChild(P.a),t.errorLine.shouldClone=!1,t.width=20,t.height=20,t.strokeOpacity=1,t.isDynamic=!0,t}return n.c(t,e),t.prototype.validatePosition=function(){e.prototype.validatePosition.call(this);var t=this.pixelWidth/2,i=this.pixelHeight/2;this.errorLine.path=k.moveTo({x:-t,y:-i})+k.lineTo({x:t,y:-i})+k.moveTo({x:0,y:-i})+k.lineTo({x:0,y:i})+k.moveTo({x:-t,y:i})+k.lineTo({x:t,y:i})},t.prototype.copyFrom=function(t){e.prototype.copyFrom.call(this,t),this.errorLine.copyFrom(t.errorLine)},t}(Xe.a);d.b.registeredClasses.ErrorBullet=Ut;var Ht=i("MtRv"),Kt=i("uLGy"),Gt=i("Y9w3"),Zt=i("A6AV"),qt=i("Trvg"),Jt=i("Rnbi"),Qt=function(e){function t(){var t=e.call(this)||this;return t.className="NavigationBarDataItem",t.applyTheme(),t}return n.c(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return this.properties.name},set:function(e){this.setProperty("name",e)},enumerable:!0,configurable:!0}),t}(Zt.a),$t=function(e){function t(){var t=e.call(this)||this;t.className="NavigationBar";var i=new B.a,a=new qt.a;a.valign="middle",a.paddingTop=8,a.paddingBottom=8,t.paddingBottom=2,t.links=new o.e(a),t._disposers.push(new o.c(t.links)),t._disposers.push(a),t._linksIterator=new m.ListIterator(t.links,function(){return t.links.create()}),t._linksIterator.createNewItems=!0;var n=new Jt.a;n.direction="right",n.width=8,n.height=12,n.fill=i.getFor("alternativeBackground"),n.fillOpacity=.5,n.valign="middle",n.marginLeft=10,n.marginRight=10,t.separators=new o.e(n),t._disposers.push(new o.c(t.separators)),t._disposers.push(n);var s=new qt.a;return t.activeLink=s,s.copyFrom(a),s.valign="middle",s.fontWeight="bold",t.width=Object(Y.c)(100),t.layout="grid",t.dataFields.name="name",t.applyTheme(),t}return n.c(t,e),t.prototype.validateDataElements=function(){this.removeChildren(),this._linksIterator.reset(),e.prototype.validateDataElements.call(this)},t.prototype.validateDataElement=function(t){var i;if(e.prototype.validateDataElement.call(this,t),t.index<this.dataItems.length-1){(i=this._linksIterator.getLast()).parent=this;var a=this.separators.create();a.parent=this,a.valign="middle"}else(i=this.activeLink).events.copyFrom(this.links.template.events),i.hide(0),i.show(),i.parent=this;i.dataItem=t,i.text=t.name,i.validate()},t}(Gt.a);d.b.registeredClasses.NavigationBar=$t,d.b.registeredClasses.NavigationBarDataItem=Qt,window.am4charts=a},yrKf:function(e,t,i){"use strict";i.d(t,"a",function(){return r});var a=i("m4/l"),n=i("AaJ4"),s=i("aCit"),r=function(e){function t(){var t=e.call(this)||this;return t.className="GridCircular",t.pixelPerfect=!1,t.applyTheme(),t}return a.c(t,e),Object.defineProperty(t.prototype,"innerRadius",{get:function(){return this.getPropertyValue("innerRadius")},set:function(e){this.setPercentProperty("innerRadius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this.getPropertyValue("radius")},set:function(e){this.setPercentProperty("radius",e,!0,!1,10,!1)},enumerable:!0,configurable:!0}),t}(n.a);s.b.registeredClasses.GridCircular=r}},["XFs4"]);
webpackJsonp(["ab45"],{lhmh:function(t,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=a("ux7t"),e=a("Y9w3"),o=a("ISWh"),r=a("cxKZ"),s=a("aM7D"),d=a("AC2I"),u=a("ZpHf"),c=a("HfWV"),p=a("1pVS"),f=a("d+vC"),h=a("DG6Q"),S=a("qUC/"),D=a("Inf5"),l=a("vGbf"),y=a("VIOb"),I=function(t){t instanceof i.a&&(t.transitionDuration=400),t instanceof e.a&&(t.rangeChangeDuration=700,t.interpolationDuration=700,t.sequencedInterpolation=!1,t instanceof u.a&&(t.sequencedInterpolation=!0),t instanceof c.a&&(t.sequencedInterpolation=!0)),t instanceof y.a&&(t.defaultState.transitionDuration=2e3,t.hiddenState.transitionDuration=1e3),t instanceof r.a&&(t.animationDuration=400,t.defaultState.transitionDuration=400,t.hiddenState.transitionDuration=400),t instanceof o.a&&(t.animationDuration=700),t instanceof s.a&&(t.defaultState.transitionDuration=1e3,t.hiddenState.transitionDuration=700,t.hiddenState.properties.opacity=1,t.showOnInit=!0),t instanceof p.a&&(t.hiddenState.properties.opacity=0),t instanceof d.a&&(t.hiddenState.properties.opacity=0),t instanceof f.a&&(t.defaultState.transitionDuration=800,t.hiddenState.transitionDuration=1e3,t.hiddenState.properties.opacity=1),t instanceof D.a&&(t.defaultState.transitionDuration=700,t.hiddenState.transitionDuration=1e3,t.hiddenState.properties.opacity=1),t instanceof l.a&&(t.hiddenState.transitionDuration=2e3),t instanceof h.a&&(t.defaultState.transitionDuration=700,t.hiddenState.transitionDuration=1e3,t.hiddenState.properties.opacity=1),t instanceof S.a&&(t.hiddenState.properties.opacity=0)};window.am4themes_animated=I}},["lhmh"]);
webpackJsonp(["356d"],{"J7F+":function(t,e,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var b=c("8ZqG"),o=c("MIZb"),r=c("ISWh"),n=function(t){t instanceof o.a&&(t.setFor("stroke",Object(b.c)("#000000")),t.setFor("fill",Object(b.c)("#2b2b2b")),t.setFor("primaryButton",Object(b.c)("#6794dc").lighten(-.2)),t.setFor("primaryButtonHover",Object(b.c)("#6771dc").lighten(-.2)),t.setFor("primaryButtonDown",Object(b.c)("#68dc75").lighten(-.2)),t.setFor("primaryButtonActive",Object(b.c)("#68dc75").lighten(-.2)),t.setFor("primaryButtonText",Object(b.c)("#FFFFFF")),t.setFor("primaryButtonStroke",Object(b.c)("#6794dc")),t.setFor("secondaryButton",Object(b.c)("#3b3b3b")),t.setFor("secondaryButtonHover",Object(b.c)("#3b3b3b").lighten(.1)),t.setFor("secondaryButtonDown",Object(b.c)("#3b3b3b").lighten(.15)),t.setFor("secondaryButtonActive",Object(b.c)("#3b3b3b").lighten(.15)),t.setFor("secondaryButtonText",Object(b.c)("#bbbbbb")),t.setFor("secondaryButtonStroke",Object(b.c)("#3b3b3b").lighten(-.2)),t.setFor("grid",Object(b.c)("#bbbbbb")),t.setFor("background",Object(b.c)("#000000")),t.setFor("alternativeBackground",Object(b.c)("#ffffff")),t.setFor("text",Object(b.c)("#ffffff")),t.setFor("alternativeText",Object(b.c)("#000000")),t.setFor("disabledBackground",Object(b.c)("#bbbbbb"))),t instanceof r.a&&(t.background.fillOpacity=.4,t.thumb.background.fillOpacity=.5)};window.am4themes_dark=n}},["J7F+"]);
/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return $(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?o['offset'+e]+n['margin'+('Height'===e?'Top':'Left')]+n['margin'+('Height'===e?'Bottom':'Right')]:0)}function c(){var e=document.body,t=document.documentElement,o=r(10)&&getComputedStyle(t);return{height:h('Height',e,t,o),width:h('Width',e,t,o)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c():{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&'HTML'===o.nodeName&&(a.top=$(a.top,0),a.left=$(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var y=parseFloat(m.marginTop,10),w=parseFloat(m.marginLeft,10);b.top-=h-y,b.bottom-=h-y,b.left-=c-w,b.right-=c-w,b.marginTop=y,b.marginLeft=w}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function y(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=$(o.clientWidth,window.innerWidth||0),r=$(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function w(e){var n=e.nodeName;return'BODY'===n||'HTML'===n?!1:'fixed'===t(e,'position')||w(o(e))}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=y(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!w(d)){var m=c(),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}return s.left+=i,s.top+=i,s.right-=i,s.bottom-=i,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),n=parseFloat(t.marginLeft)+parseFloat(t.marginRight),i={width:e.offsetWidth+n,height:e.offsetHeight+o};return i}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function I(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function F(){this.state.eventsEnabled||(this.state=I(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function j(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function K(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function G(e){return'end'===e?'start':'start'===e?'end':e}function z(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=me.indexOf(e),n=me.slice(o+1).concat(me.slice(0,o));return t?n.reverse():n}function V(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?$(document.documentElement.clientHeight,window.innerHeight||0):$(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function _(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return V(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function X(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:_(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var J=Math.min,Q=Math.round,Z=Math.floor,$=Math.max,ee='undefined'!=typeof window&&'undefined'!=typeof document,te=['Edge','Trident','Firefox'],oe=0,ne=0;ne<te.length;ne+=1)if(ee&&0<=navigator.userAgent.indexOf(te[ne])){oe=1;break}var i=ee&&window.Promise,ie=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=ee&&!!(window.MSInputMethodContext&&document.documentMode),pe=ee&&/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},fe=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],me=fe.slice(3),he={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ce=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return F.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ce.Utils=('undefined'==typeof window?global:window).PopperUtils,ce.placements=fe,ce.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:X,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=$(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h={left:Z(i.left),top:Q(i.top),bottom:Q(i.bottom),right:Z(i.right)},c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?-f.height+h.bottom:h.top,s='right'==g?-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==g?-1:1;m[c]=d*y,m[g]=s*w,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return j(e.instance.popper,e.styles),K(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&j(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),j(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ce});!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t(e.bootstrap={},e.jQuery)}(this,function(e,t){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function l(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},t=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.forEach(function(e){var t,n,i;t=r,i=o[n=e],n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i})}return r}for(var r,n,o,a,c,u,f,h,d,p,m,g,_,v,y,E,b,w,C,T,S,D,A,I,O,N,k,x,P,L,j,H,M,F,W,R,U,B,q,K,Q,Y,V,z,G,J,Z,X,$,ee,te,ne,ie,re,oe,se,ae,le,ce,ue,fe,he,de,pe,me,ge,_e,ve,ye,Ee,be,we=function(i){var t="transitionend";function e(e){var t=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(t)},e),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},getSelectorFromElement:function(e){var t=e.getAttribute("data-target");t&&"#"!==t||(t=e.getAttribute("href")||"");try{return document.querySelector(t)?t:null}catch(e){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var t=i(e).css("transition-duration");return parseFloat(t)?(t=t.split(",")[0],1e3*parseFloat(t)):0},reflow:function(e){return e.offsetHeight},triggerTransitionEnd:function(e){i(e).trigger(t)},supportsTransitionEnd:function(){return Boolean(t)},isElement:function(e){return(e[0]||e).nodeType},typeCheckConfig:function(e,t,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=t[i],s=o&&l.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=e,i.event.special[l.TRANSITION_END]={bindType:t,delegateType:t,handle:function(e){if(i(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}},l}(t=t&&t.hasOwnProperty("default")?t.default:t),Ce=(n="alert",a="."+(o="bs.alert"),c=(r=t).fn[n],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",h="fade",d="show",p=function(){function i(e){this._element=e}var e=i.prototype;return e.close=function(e){var t=this._element;e&&(t=this._getRootElement(e)),this._triggerCloseEvent(t).isDefaultPrevented()||this._removeElement(t)},e.dispose=function(){r.removeData(this._element,o),this._element=null},e._getRootElement=function(e){var t=we.getSelectorFromElement(e),n=!1;return t&&(n=document.querySelector(t)),n||(n=r(e).closest("."+f)[0]),n},e._triggerCloseEvent=function(e){var t=r.Event(u.CLOSE);return r(e).trigger(t),t},e._removeElement=function(t){var n=this;if(r(t).removeClass(d),r(t).hasClass(h)){var e=we.getTransitionDurationFromElement(t);r(t).one(we.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(e)}else this._destroyElement(t)},e._destroyElement=function(e){r(e).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var e=r(this),t=e.data(o);t||(t=new i(this),e.data(o,t)),"close"===n&&t[n](this)})},i._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),r(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),r.fn[n]=p._jQueryInterface,r.fn[n].Constructor=p,r.fn[n].noConflict=function(){return r.fn[n]=c,p._jQueryInterface},p),Te=(g="button",v="."+(_="bs.button"),y=".data-api",E=(m=t).fn[g],b="active",w="btn",T='[data-toggle^="button"]',S='[data-toggle="buttons"]',D="input",A=".active",I=".btn",O={CLICK_DATA_API:"click"+v+y,FOCUS_BLUR_DATA_API:(C="focus")+v+y+" blur"+v+y},N=function(){function n(e){this._element=e}var e=n.prototype;return e.toggle=function(){var e=!0,t=!0,n=m(this._element).closest(S)[0];if(n){var i=this._element.querySelector(D);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(b))e=!1;else{var r=n.querySelector(A);r&&m(r).removeClass(b)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(b),m(i).trigger("change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(b)),e&&m(this._element).toggleClass(b)},e.dispose=function(){m.removeData(this._element,_),this._element=null},n._jQueryInterface=function(t){return this.each(function(){var e=m(this).data(_);e||(e=new n(this),m(this).data(_,e)),"toggle"===t&&e[t]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}(),m(document).on(O.CLICK_DATA_API,T,function(e){e.preventDefault();var t=e.target;m(t).hasClass(w)||(t=m(t).closest(I)),N._jQueryInterface.call(m(t),"toggle")}).on(O.FOCUS_BLUR_DATA_API,T,function(e){var t=m(e.target).closest(I)[0];m(t).toggleClass(C,/^focus(in)?$/.test(e.type))}),m.fn[g]=N._jQueryInterface,m.fn[g].Constructor=N,m.fn[g].noConflict=function(){return m.fn[g]=E,N._jQueryInterface},N),Se=(x="carousel",L="."+(P="bs.carousel"),j=".data-api",H=(k=t).fn[x],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},F={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},W="next",R="prev",U="left",B="right",q={SLIDE:"slide"+L,SLID:"slid"+L,KEYDOWN:"keydown"+L,MOUSEENTER:"mouseenter"+L,MOUSELEAVE:"mouseleave"+L,TOUCHEND:"touchend"+L,LOAD_DATA_API:"load"+L+j,CLICK_DATA_API:"click"+L+j},K="carousel",Q="active",Y="slide",V="carousel-item-right",z="carousel-item-left",G="carousel-item-next",J="carousel-item-prev",Z=".active",X=".active.carousel-item",$=".carousel-item",ee=".carousel-item-next, .carousel-item-prev",te=".carousel-indicators",ne="[data-slide], [data-slide-to]",ie='[data-ride="carousel"]',re=function(){function o(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(t),this._element=k(e)[0],this._indicatorsElement=this._element.querySelector(te),this._addEventListeners()}var e=o.prototype;return e.next=function(){this._isSliding||this._slide(W)},e.nextWhenVisible=function(){!document.hidden&&k(this._element).is(":visible")&&"hidden"!==k(this._element).css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide(R)},e.pause=function(e){e||(this._isPaused=!0),this._element.querySelector(ee)&&(we.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(e){var t=this;this._activeElement=this._element.querySelector(X);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)k(this._element).one(q.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=n<e?W:R;this._slide(i,this._items[e])}},e.dispose=function(){k(this._element).off(L),k.removeData(this._element,P),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(e){return e=l({},M,e),we.typeCheckConfig(x,e,F),e},e._addEventListeners=function(){var t=this;this._config.keyboard&&k(this._element).on(q.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(k(this._element).on(q.MOUSEENTER,function(e){return t.pause(e)}).on(q.MOUSELEAVE,function(e){return t.cycle(e)}),"ontouchstart"in document.documentElement&&k(this._element).on(q.TOUCHEND,function(){t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval)}))},e._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case 37:e.preventDefault(),this.prev();break;case 39:e.preventDefault(),this.next()}},e._getItemIndex=function(e){return this._items=e&&e.parentNode?[].slice.call(e.parentNode.querySelectorAll($)):[],this._items.indexOf(e)},e._getItemByDirection=function(e,t){var n=e===W,i=e===R,r=this._getItemIndex(t),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return t;var s=(r+(e===R?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(this._element.querySelector(X)),r=k.Event(q.SLIDE,{relatedTarget:e,direction:t,from:i,to:n});return k(this._element).trigger(r),r},e._setActiveIndicatorElement=function(e){if(this._indicatorsElement){var t=[].slice.call(this._indicatorsElement.querySelectorAll(Z));k(t).removeClass(Q);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&k(n).addClass(Q)}},e._slide=function(e,t){var n,i,r,o=this,s=this._element.querySelector(X),a=this._getItemIndex(s),l=t||s&&this._getItemByDirection(e,s),c=this._getItemIndex(l),u=Boolean(this._interval);if(e===W?(n=z,i=G,r=U):(n=V,i=J,r=B),l&&k(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l);var f=k.Event(q.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(k(this._element).hasClass(Y)){k(l).addClass(i),we.reflow(l),k(s).addClass(n),k(l).addClass(n);var h=we.getTransitionDurationFromElement(s);k(s).one(we.TRANSITION_END,function(){k(l).removeClass(n+" "+i).addClass(Q),k(s).removeClass(Q+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return k(o._element).trigger(f)},0)}).emulateTransitionEnd(h)}else k(s).removeClass(Q),k(l).addClass(Q),this._isSliding=!1,k(this._element).trigger(f);u&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var e=k(this).data(P),t=l({},M,k(this).data());"object"==typeof i&&(t=l({},t,i));var n="string"==typeof i?i:t.slide;if(e||(e=new o(this,t),k(this).data(P,e)),"number"==typeof i)e.to(i);else if("string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}else t.interval&&(e.pause(),e.cycle())})},o._dataApiClickHandler=function(e){var t=we.getSelectorFromElement(this);if(t){var n=k(t)[0];if(n&&k(n).hasClass(K)){var i=l({},k(n).data(),k(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(k(n),i),r&&k(n).data(P).to(r),e.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return M}}]),o}(),k(document).on(q.CLICK_DATA_API,ne,re._dataApiClickHandler),k(window).on(q.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(ie)),t=0,n=e.length;t<n;t++){var i=k(e[t]);re._jQueryInterface.call(i,i.data())}}),k.fn[x]=re._jQueryInterface,k.fn[x].Constructor=re,k.fn[x].noConflict=function(){return k.fn[x]=H,re._jQueryInterface},re),De=(se="collapse",le="."+(ae="bs.collapse"),ce=(oe=t).fn[se],ue={toggle:!0,parent:""},fe={toggle:"boolean",parent:"(string|element)"},he={SHOW:"show"+le,SHOWN:"shown"+le,HIDE:"hide"+le,HIDDEN:"hidden"+le,CLICK_DATA_API:"click"+le+".data-api"},de="show",pe="collapse",me="collapsing",ge="collapsed",_e="width",ve="height",ye=".show, .collapsing",Ee='[data-toggle="collapse"]',be=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=oe.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Ee)),i=0,r=n.length;i<r;i++){var o=n[i],s=we.getSelectorFromElement(o),a=[].slice.call(document.querySelectorAll(s)).filter(function(e){return e===t});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=a.prototype;return e.toggle=function(){oe(this._element).hasClass(de)?this.hide():this.show()},e.show=function(){var e,t,n=this;if(!this._isTransitioning&&!oe(this._element).hasClass(de)&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(ye)).filter(function(e){return e.getAttribute("data-parent")===n._config.parent})).length&&(e=null),!(e&&(t=oe(e).not(this._selector).data(ae))&&t._isTransitioning))){var i=oe.Event(he.SHOW);if(oe(this._element).trigger(i),!i.isDefaultPrevented()){e&&(a._jQueryInterface.call(oe(e).not(this._selector),"hide"),t||oe(e).data(ae,null));var r=this._getDimension();oe(this._element).removeClass(pe).addClass(me),this._element.style[r]=0,this._triggerArray.length&&oe(this._triggerArray).removeClass(ge).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=we.getTransitionDurationFromElement(this._element);oe(this._element).one(we.TRANSITION_END,function(){oe(n._element).removeClass(me).addClass(pe).addClass(de),n._element.style[r]="",n.setTransitioning(!1),oe(n._element).trigger(he.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},e.hide=function(){var e=this;if(!this._isTransitioning&&oe(this._element).hasClass(de)){var t=oe.Event(he.HIDE);if(oe(this._element).trigger(t),!t.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",we.reflow(this._element),oe(this._element).addClass(me).removeClass(pe).removeClass(de);var i=this._triggerArray.length;if(0<i)for(var r=0;r<i;r++){var o=this._triggerArray[r],s=we.getSelectorFromElement(o);if(null!==s)oe([].slice.call(document.querySelectorAll(s))).hasClass(de)||oe(o).addClass(ge).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=we.getTransitionDurationFromElement(this._element);oe(this._element).one(we.TRANSITION_END,function(){e.setTransitioning(!1),oe(e._element).removeClass(me).addClass(pe).trigger(he.HIDDEN)}).emulateTransitionEnd(a)}}},e.setTransitioning=function(e){this._isTransitioning=e},e.dispose=function(){oe.removeData(this._element,ae),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(e){return(e=l({},ue,e)).toggle=Boolean(e.toggle),we.typeCheckConfig(se,e,fe),e},e._getDimension=function(){return oe(this._element).hasClass(_e)?_e:ve},e._getParent=function(){var n=this,e=null;we.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var t='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(e.querySelectorAll(t));return oe(i).each(function(e,t){n._addAriaAndCollapsedClass(a._getTargetFromElement(t),[t])}),e},e._addAriaAndCollapsedClass=function(e,t){if(e){var n=oe(e).hasClass(de);t.length&&oe(t).toggleClass(ge,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(e){var t=we.getSelectorFromElement(e);return t?document.querySelector(t):null},a._jQueryInterface=function(i){return this.each(function(){var e=oe(this),t=e.data(ae),n=l({},ue,e.data(),"object"==typeof i&&i?i:{});if(!t&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),t||(t=new a(this,n),e.data(ae,t)),"string"==typeof i){if("undefined"==typeof t[i])throw new TypeError('No method named "'+i+'"');t[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ue}}]),a}(),oe(document).on(he.CLICK_DATA_API,Ee,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var n=oe(this),t=we.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(t));oe(i).each(function(){var e=oe(this),t=e.data(ae)?"toggle":n.data();be._jQueryInterface.call(e,t)})}),oe.fn[se]=be._jQueryInterface,oe.fn[se].Constructor=be,oe.fn[se].noConflict=function(){return oe.fn[se]=ce,be._jQueryInterface},be),Ae="undefined"!=typeof window&&"undefined"!=typeof document,Ie=["Edge","Trident","Firefox"],Oe=0,Ne=0;Ne<Ie.length;Ne+=1)if(Ae&&0<=navigator.userAgent.indexOf(Ie[Ne])){Oe=1;break}var ke=Ae&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},Oe))}};function xe(e){return e&&"[object Function]"==={}.toString.call(e)}function Pe(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function Le(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function je(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=Pe(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/(auto|scroll|overlay)/.test(n+r+i)?e:je(Le(e))}var He=Ae&&!(!window.MSInputMethodContext||!document.documentMode),Me=Ae&&/MSIE 10/.test(navigator.userAgent);function Fe(e){return 11===e?He:10===e?Me:He||Me}function We(e){if(!e)return document.documentElement;for(var t=Fe(10)?document.body:null,n=e.offsetParent;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===Pe(n,"position")?We(n):n:e?e.ownerDocument.documentElement:document.documentElement}function Re(e){return null!==e.parentNode?Re(e.parentNode):e}function Ue(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,r=n?t:e,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(e!==l&&t!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&We(s.firstElementChild)!==s?We(l):l;var c=Re(e);return c.host?Ue(c.host,t):Ue(e,Re(t).host)}function Be(e){var t="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var i=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||i)[t]}return e[t]}function qe(e,t){var n="x"===t?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+i+"Width"],10)}function Ke(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],Fe(10)?n["offset"+e]+i["margin"+("Height"===e?"Top":"Left")]+i["margin"+("Height"===e?"Bottom":"Right")]:0)}function Qe(){var e=document.body,t=document.documentElement,n=Fe(10)&&getComputedStyle(t);return{height:Ke("Height",e,t,n),width:Ke("Width",e,t,n)}}var Ye=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}(),Ve=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},ze=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};function Ge(e){return ze({},e,{right:e.left+e.width,bottom:e.top+e.height})}function Je(e){var t={};try{if(Fe(10)){t=e.getBoundingClientRect();var n=Be(e,"top"),i=Be(e,"left");t.top+=n,t.left+=i,t.bottom+=n,t.right+=i}else t=e.getBoundingClientRect()}catch(e){}var r={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},o="HTML"===e.nodeName?Qe():{},s=o.width||e.clientWidth||r.right-r.left,a=o.height||e.clientHeight||r.bottom-r.top,l=e.offsetWidth-s,c=e.offsetHeight-a;if(l||c){var u=Pe(e);l-=qe(u,"x"),c-=qe(u,"y"),r.width-=l,r.height-=c}return Ge(r)}function Ze(e,t){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Fe(10),r="HTML"===t.nodeName,o=Je(e),s=Je(t),a=je(e),l=Pe(t),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&"HTML"===t.nodeName&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=Ge({top:o.top-s.top-c,left:o.left-s.left-u,width:o.width,height:o.height});if(f.marginTop=0,f.marginLeft=0,!i&&r){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);f.top-=c-h,f.bottom-=c-h,f.left-=u-d,f.right-=u-d,f.marginTop=h,f.marginLeft=d}return(i&&!n?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(f=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Be(t,"top"),r=Be(t,"left"),o=n?-1:1;return e.top+=i*o,e.bottom+=i*o,e.left+=r*o,e.right+=r*o,e}(f,t)),f}function Xe(e){if(!e||!e.parentElement||Fe())return document.documentElement;for(var t=e.parentElement;t&&"none"===Pe(t,"transform");)t=t.parentElement;return t||document.documentElement}function $e(e,t,n,i){var r=4<arguments.length&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=r?Xe(e):Ue(e,t);if("viewport"===i)o=function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,i=Ze(e,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=t?0:Be(n),a=t?0:Be(n,"left");return Ge({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:r,height:o})}(s,r);else{var a=void 0;"scrollParent"===i?"BODY"===(a=je(Le(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===i?e.ownerDocument.documentElement:i;var l=Ze(a,s,r);if("HTML"!==a.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===Pe(t,"position")||e(Le(t)))}(s))o=l;else{var c=Qe(),u=c.height,f=c.width;o.top+=l.top-l.marginTop,o.bottom=u+l.top,o.left+=l.left-l.marginLeft,o.right=f+l.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function et(e,t,i,n,r){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=$e(i,n,o,r),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},l=Object.keys(a).map(function(e){return ze({key:e},a[e],{area:(t=a[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),c=l.filter(function(e){var t=e.width,n=e.height;return t>=i.clientWidth&&n>=i.clientHeight}),u=0<c.length?c[0].key:l[0].key,f=e.split("-")[1];return u+(f?"-"+f:"")}function tt(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return Ze(n,i?Xe(t):Ue(t,n),i)}function nt(e){var t=getComputedStyle(e),n=parseFloat(t.marginTop)+parseFloat(t.marginBottom),i=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function it(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function rt(e,t,n){n=n.split("-")[0];var i=nt(e),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=t[s]+t[l]/2-i[l]/2,r[a]=n===a?t[a]-i[c]:t[it(a)],r}function ot(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function st(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var i=ot(e,function(e){return e[t]===n});return e.indexOf(i)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&xe(t)&&(n.offsets.popper=Ge(n.offsets.popper),n.offsets.reference=Ge(n.offsets.reference),n=t(n,e))}),n}function at(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}function lt(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i<t.length;i++){var r=t[i],o=r?""+r+n:e;if("undefined"!=typeof document.body.style[o])return o}return null}function ct(e){var t=e.ownerDocument;return t?t.defaultView:window}function ut(e,t,n,i){n.updateBound=i,ct(e).addEventListener("resize",n.updateBound,{passive:!0});var r=je(e);return function e(t,n,i,r){var o="BODY"===t.nodeName,s=o?t.ownerDocument.defaultView:t;s.addEventListener(n,i,{passive:!0}),o||e(je(s.parentNode),n,i,r),r.push(s)}(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function ft(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,ct(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function ht(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function dt(n,i){Object.keys(i).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&ht(i[e])&&(t="px"),n.style[e]=i[e]+t})}function pt(e,t,n){var i=ot(e,function(e){return e.name===t}),r=!!i&&e.some(function(e){return e.name===n&&e.enabled&&e.order<i.order});if(!r){var o="`"+t+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}var mt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],gt=mt.slice(3);function _t(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=gt.indexOf(e),i=gt.slice(n+1).concat(gt.slice(0,n));return t?i.reverse():i}var vt="flip",yt="clockwise",Et="counterclockwise";function bt(e,r,o,t){var s=[0,0],a=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),i=n.indexOf(ot(n,function(e){return-1!==e.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(e,t){var n=(1===t?!a:a)?"height":"width",i=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,i){var r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return e;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Ge(a)[t]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,n,r,o)})})).forEach(function(n,i){n.forEach(function(e,t){ht(e)&&(s[i]+=e*("-"===n[t-1]?-1:1))})}),s}var wt={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var r=e.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:Ve({},l,o[l]),end:Ve({},l,o[l]+o[c]-s[c])};e.offsets.popper=ze({},s,u[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,r=e.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=ht(+n)?[+n,0]:bt(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,i){var t=i.boundariesElement||We(e.instance.popper);e.instance.reference===t&&(t=We(t));var n=lt("transform"),r=e.instance.popper.style,o=r.top,s=r.left,a=r[n];r.top="",r.left="",r[n]="";var l=$e(e.instance.popper,e.instance.reference,i.padding,t,e.positionFixed);r.top=o,r.left=s,r[n]=a,i.boundaries=l;var c=i.priority,u=e.offsets.popper,f={primary:function(e){var t=u[e];return u[e]<l[e]&&!i.escapeWithReference&&(t=Math.max(u[e],l[e])),Ve({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=u[t];return u[e]>l[e]&&!i.escapeWithReference&&(n=Math.min(u[t],l[e]-("right"===e?u.width:u.height))),Ve({},t,n)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";u=ze({},u,f[t](e))}),e.offsets.popper=u,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,r=e.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(e.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(e.offsets.popper[l]=o(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!pt(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",u=l?"Top":"Left",f=u.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=nt(i)[c];a[d]-p<s[f]&&(e.offsets.popper[f]-=s[f]-(a[d]-p)),a[f]+p>s[d]&&(e.offsets.popper[f]+=a[f]+p-s[d]),e.offsets.popper=Ge(e.offsets.popper);var m=a[f]+a[c]/2-p/2,g=Pe(e.instance.popper),_=parseFloat(g["margin"+u],10),v=parseFloat(g["border"+u+"Width"],10),y=m-e.offsets.popper[f]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),e.arrowElement=i,e.offsets.arrow=(Ve(n={},f,Math.round(y)),Ve(n,h,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,m){if(at(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var g=$e(p.instance.popper,p.instance.reference,m.padding,m.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=it(_),y=p.placement.split("-")[1]||"",E=[];switch(m.behavior){case vt:E=[_,v];break;case yt:E=_t(_);break;case Et:E=_t(_,!0);break;default:E=m.behavior}return E.forEach(function(e,t){if(_!==e||E.length===t+1)return p;_=p.placement.split("-")[0],v=it(_);var n,i=p.offsets.popper,r=p.offsets.reference,o=Math.floor,s="left"===_&&o(i.right)>o(r.left)||"right"===_&&o(i.left)<o(r.right)||"top"===_&&o(i.bottom)>o(r.top)||"bottom"===_&&o(i.top)<o(r.bottom),a=o(i.left)<o(g.left),l=o(i.right)>o(g.right),c=o(i.top)<o(g.top),u=o(i.bottom)>o(g.bottom),f="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&u,h=-1!==["top","bottom"].indexOf(_),d=!!m.flipVariations&&(h&&"start"===y&&a||h&&"end"===y&&l||!h&&"start"===y&&c||!h&&"end"===y&&u);(s||f||d)&&(p.flipped=!0,(s||f)&&(_=E[t+1]),d&&(y="end"===(n=y)?"start":"start"===n?"end":n),p.placement=_+(y?"-"+y:""),p.offsets.popper=ze({},p.offsets.popper,rt(p.instance.popper,p.offsets.reference,p.placement)),p=st(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),e.placement=it(t),e.offsets.popper=Ge(r),e}},hide:{order:800,enabled:!0,fn:function(e){if(!pt(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=ot(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,i=t.y,r=e.offsets.popper,o=ot(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:t.gpuAcceleration,a=Je(We(e.instance.popper)),l={position:r.position},c={left:Math.floor(r.left),top:Math.round(r.top),bottom:Math.round(r.bottom),right:Math.floor(r.right)},u="bottom"===n?"top":"bottom",f="right"===i?"left":"right",h=lt("transform"),d=void 0,p=void 0;if(p="bottom"===u?-a.height+c.bottom:c.top,d="right"===f?-a.width+c.right:c.left,s&&h)l[h]="translate3d("+d+"px, "+p+"px, 0)",l[u]=0,l[f]=0,l.willChange="transform";else{var m="bottom"===u?-1:1,g="right"===f?-1:1;l[u]=p*m,l[f]=d*g,l.willChange=u+", "+f}var _={"x-placement":e.placement};return e.attributes=ze({},_,e.attributes),e.styles=ze({},l,e.styles),e.arrowStyles=ze({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return dt(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)}),e.arrowElement&&Object.keys(e.arrowStyles).length&&dt(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,i,r){var o=tt(r,t,e,n.positionFixed),s=et(n.placement,o,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",s),dt(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Ct=function(){function o(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=ke(this.update.bind(this)),this.options=ze({},o.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(ze({},o.Defaults.modifiers,i.modifiers)).forEach(function(e){n.options.modifiers[e]=ze({},o.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return ze({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&xe(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Ye(o,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=tt(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=et(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=rt(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=st(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,at(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[lt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ut(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return ft.call(this)}}]),o}();Ct.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ct.placements=mt,Ct.Defaults=wt;var Tt,St,Dt,At,It,Ot,Nt,kt,xt,Pt,Lt,jt,Ht,Mt,Ft,Wt,Rt,Ut,Bt,qt,Kt,Qt,Yt,Vt,zt,Gt,Jt,Zt,Xt,$t,en,tn,nn,rn,on,sn,an,ln,cn,un,fn,hn,dn,pn,mn,gn,_n,vn,yn,En,bn,wn,Cn,Tn,Sn,Dn,An,In,On,Nn,kn,xn,Pn,Ln,jn,Hn,Mn,Fn,Wn,Rn,Un,Bn,qn,Kn,Qn,Yn,Vn,zn,Gn,Jn,Zn,Xn,$n,ei,ti,ni,ii,ri,oi,si,ai,li,ci,ui,fi,hi,di,pi,mi,gi,_i,vi,yi,Ei,bi,wi,Ci,Ti,Si,Di,Ai,Ii,Oi,Ni,ki,xi,Pi,Li,ji,Hi,Mi,Fi,Wi,Ri,Ui,Bi=(St="dropdown",At="."+(Dt="bs.dropdown"),It=".data-api",Ot=(Tt=t).fn[St],Nt=new RegExp("38|40|27"),kt={HIDE:"hide"+At,HIDDEN:"hidden"+At,SHOW:"show"+At,SHOWN:"shown"+At,CLICK:"click"+At,CLICK_DATA_API:"click"+At+It,KEYDOWN_DATA_API:"keydown"+At+It,KEYUP_DATA_API:"keyup"+At+It},xt="disabled",Pt="show",Lt="dropup",jt="dropright",Ht="dropleft",Mt="dropdown-menu-right",Ft="position-static",Wt='[data-toggle="dropdown"]',Rt=".dropdown form",Ut=".dropdown-menu",Bt=".navbar-nav",qt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Kt="top-start",Qt="top-end",Yt="bottom-start",Vt="bottom-end",zt="right-start",Gt="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Xt=function(){function c(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=c.prototype;return e.toggle=function(){if(!this._element.disabled&&!Tt(this._element).hasClass(xt)){var e=c._getParentFromElement(this._element),t=Tt(this._menu).hasClass(Pt);if(c._clearMenus(),!t){var n={relatedTarget:this._element},i=Tt.Event(kt.SHOW,n);if(Tt(e).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof Ct)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=e:we.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&Tt(e).addClass(Ft),this._popper=new Ct(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===Tt(e).closest(Bt).length&&Tt(document.body).children().on("mouseover",null,Tt.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Tt(this._menu).toggleClass(Pt),Tt(e).toggleClass(Pt).trigger(Tt.Event(kt.SHOWN,n))}}}},e.dispose=function(){Tt.removeData(this._element,Dt),Tt(this._element).off(At),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;Tt(this._element).on(kt.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(e){return e=l({},this.constructor.Default,Tt(this._element).data(),e),we.typeCheckConfig(St,e,this.constructor.DefaultType),e},e._getMenuElement=function(){if(!this._menu){var e=c._getParentFromElement(this._element);e&&(this._menu=e.querySelector(Ut))}return this._menu},e._getPlacement=function(){var e=Tt(this._element.parentNode),t=Yt;return e.hasClass(Lt)?(t=Kt,Tt(this._menu).hasClass(Mt)&&(t=Qt)):e.hasClass(jt)?t=zt:e.hasClass(Ht)?t=Gt:Tt(this._menu).hasClass(Mt)&&(t=Vt),t},e._detectNavbar=function(){return 0<Tt(this._element).closest(".navbar").length},e._getPopperConfig=function(){var t=this,e={};"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(t){return this.each(function(){var e=Tt(this).data(Dt);if(e||(e=new c(this,"object"==typeof t?t:null),Tt(this).data(Dt,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},c._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var t=[].slice.call(document.querySelectorAll(Wt)),n=0,i=t.length;n<i;n++){var r=c._getParentFromElement(t[n]),o=Tt(t[n]).data(Dt),s={relatedTarget:t[n]};if(e&&"click"===e.type&&(s.clickEvent=e),o){var a=o._menu;if(Tt(r).hasClass(Pt)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&Tt.contains(r,e.target))){var l=Tt.Event(kt.HIDE,s);Tt(r).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&Tt(document.body).children().off("mouseover",null,Tt.noop),t[n].setAttribute("aria-expanded","false"),Tt(a).removeClass(Pt),Tt(r).removeClass(Pt).trigger(Tt.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(e){var t,n=we.getSelectorFromElement(e);return n&&(t=document.querySelector(n)),t||e.parentNode},c._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||Tt(e.target).closest(Ut).length)):Nt.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!Tt(this).hasClass(xt))){var t=c._getParentFromElement(this),n=Tt(t).hasClass(Pt);if((n||27===e.which&&32===e.which)&&(!n||27!==e.which&&32!==e.which)){var i=[].slice.call(t.querySelectorAll(qt));if(0!==i.length){var r=i.indexOf(e.target);38===e.which&&0<r&&r--,40===e.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===e.which){var o=t.querySelector(Wt);Tt(o).trigger("focus")}Tt(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}(),Tt(document).on(kt.KEYDOWN_DATA_API,Wt,Xt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,Ut,Xt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Xt._clearMenus).on(kt.CLICK_DATA_API,Wt,function(e){e.preventDefault(),e.stopPropagation(),Xt._jQueryInterface.call(Tt(this),"toggle")}).on(kt.CLICK_DATA_API,Rt,function(e){e.stopPropagation()}),Tt.fn[St]=Xt._jQueryInterface,Tt.fn[St].Constructor=Xt,Tt.fn[St].noConflict=function(){return Tt.fn[St]=Ot,Xt._jQueryInterface},Xt),qi=(en="modal",nn="."+(tn="bs.modal"),rn=($t=t).fn[en],on={backdrop:!0,keyboard:!0,focus:!0,show:!0},sn={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},an={HIDE:"hide"+nn,HIDDEN:"hidden"+nn,SHOW:"show"+nn,SHOWN:"shown"+nn,FOCUSIN:"focusin"+nn,RESIZE:"resize"+nn,CLICK_DISMISS:"click.dismiss"+nn,KEYDOWN_DISMISS:"keydown.dismiss"+nn,MOUSEUP_DISMISS:"mouseup.dismiss"+nn,MOUSEDOWN_DISMISS:"mousedown.dismiss"+nn,CLICK_DATA_API:"click"+nn+".data-api"},ln="modal-scrollbar-measure",cn="modal-backdrop",un="modal-open",fn="fade",hn="show",dn=".modal-dialog",pn='[data-toggle="modal"]',mn='[data-dismiss="modal"]',gn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",_n=".sticky-top",vn=function(){function r(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=e.querySelector(dn),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var e=r.prototype;return e.toggle=function(e){return this._isShown?this.hide():this.show(e)},e.show=function(e){var t=this;if(!this._isTransitioning&&!this._isShown){$t(this._element).hasClass(fn)&&(this._isTransitioning=!0);var n=$t.Event(an.SHOW,{relatedTarget:e});$t(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),$t(document.body).addClass(un),this._setEscapeEvent(),this._setResizeEvent(),$t(this._element).on(an.CLICK_DISMISS,mn,function(e){return t.hide(e)}),$t(this._dialog).on(an.MOUSEDOWN_DISMISS,function(){$t(t._element).one(an.MOUSEUP_DISMISS,function(e){$t(e.target).is(t._element)&&(t._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return t._showElement(e)}))}},e.hide=function(e){var t=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var n=$t.Event(an.HIDE);if($t(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=$t(this._element).hasClass(fn);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),$t(document).off(an.FOCUSIN),$t(this._element).removeClass(hn),$t(this._element).off(an.CLICK_DISMISS),$t(this._dialog).off(an.MOUSEDOWN_DISMISS),i){var r=we.getTransitionDurationFromElement(this._element);$t(this._element).one(we.TRANSITION_END,function(e){return t._hideModal(e)}).emulateTransitionEnd(r)}else this._hideModal()}}},e.dispose=function(){$t.removeData(this._element,tn),$t(window,document,this._element,this._backdrop).off(nn),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(e){return e=l({},on,e),we.typeCheckConfig(en,e,sn),e},e._showElement=function(e){var t=this,n=$t(this._element).hasClass(fn);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&we.reflow(this._element),$t(this._element).addClass(hn),this._config.focus&&this._enforceFocus();var i=$t.Event(an.SHOWN,{relatedTarget:e}),r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,$t(t._element).trigger(i)};if(n){var o=we.getTransitionDurationFromElement(this._element);$t(this._dialog).one(we.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},e._enforceFocus=function(){var t=this;$t(document).off(an.FOCUSIN).on(an.FOCUSIN,function(e){document!==e.target&&t._element!==e.target&&0===$t(t._element).has(e.target).length&&t._element.focus()})},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?$t(this._element).on(an.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||$t(this._element).off(an.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?$t(window).on(an.RESIZE,function(e){return t.handleUpdate(e)}):$t(window).off(an.RESIZE)},e._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){$t(document.body).removeClass(un),e._resetAdjustments(),e._resetScrollbar(),$t(e._element).trigger(an.HIDDEN)})},e._removeBackdrop=function(){this._backdrop&&($t(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(e){var t=this,n=$t(this._element).hasClass(fn)?fn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=cn,n&&this._backdrop.classList.add(n),$t(this._backdrop).appendTo(document.body),$t(this._element).on(an.CLICK_DISMISS,function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"===t._config.backdrop?t._element.focus():t.hide())}),n&&we.reflow(this._backdrop),$t(this._backdrop).addClass(hn),!e)return;if(!n)return void e();var i=we.getTransitionDurationFromElement(this._backdrop);$t(this._backdrop).one(we.TRANSITION_END,e).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){$t(this._backdrop).removeClass(hn);var r=function(){t._removeBackdrop(),e&&e()};if($t(this._element).hasClass(fn)){var o=we.getTransitionDurationFromElement(this._backdrop);$t(this._backdrop).one(we.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else e&&e()},e._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(gn)),t=[].slice.call(document.querySelectorAll(_n));$t(e).each(function(e,t){var n=t.style.paddingRight,i=$t(t).css("padding-right");$t(t).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),$t(t).each(function(e,t){var n=t.style.marginRight,i=$t(t).css("margin-right");$t(t).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=$t(document.body).css("padding-right");$t(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},e._resetScrollbar=function(){var e=[].slice.call(document.querySelectorAll(gn));$t(e).each(function(e,t){var n=$t(t).data("padding-right");$t(t).removeData("padding-right"),t.style.paddingRight=n||""});var t=[].slice.call(document.querySelectorAll(""+_n));$t(t).each(function(e,t){var n=$t(t).data("margin-right");"undefined"!=typeof n&&$t(t).css("margin-right",n).removeData("margin-right")});var n=$t(document.body).data("padding-right");$t(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var e=document.createElement("div");e.className=ln,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},r._jQueryInterface=function(n,i){return this.each(function(){var e=$t(this).data(tn),t=l({},on,$t(this).data(),"object"==typeof n&&n?n:{});if(e||(e=new r(this,t),$t(this).data(tn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](i)}else t.show&&e.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return on}}]),r}(),$t(document).on(an.CLICK_DATA_API,pn,function(e){var t,n=this,i=we.getSelectorFromElement(this);i&&(t=document.querySelector(i));var r=$t(t).data(tn)?"toggle":l({},$t(t).data(),$t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var o=$t(t).one(an.SHOW,function(e){e.isDefaultPrevented()||o.one(an.HIDDEN,function(){$t(n).is(":visible")&&n.focus()})});vn._jQueryInterface.call($t(t),r,this)}),$t.fn[en]=vn._jQueryInterface,$t.fn[en].Constructor=vn,$t.fn[en].noConflict=function(){return $t.fn[en]=rn,vn._jQueryInterface},vn),Ki=(En="tooltip",wn="."+(bn="bs.tooltip"),Cn=(yn=t).fn[En],Tn="bs-tooltip",Sn=new RegExp("(^|\\s)"+Tn+"\\S+","g"),In={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(An={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Dn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},Nn="out",kn={HIDE:"hide"+wn,HIDDEN:"hidden"+wn,SHOW:(On="show")+wn,SHOWN:"shown"+wn,INSERTED:"inserted"+wn,CLICK:"click"+wn,FOCUSIN:"focusin"+wn,FOCUSOUT:"focusout"+wn,MOUSEENTER:"mouseenter"+wn,MOUSELEAVE:"mouseleave"+wn},xn="fade",Pn="show",Ln=".tooltip-inner",jn=".arrow",Hn="hover",Mn="focus",Fn="click",Wn="manual",Rn=function(){function i(e,t){if("undefined"==typeof Ct)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=yn(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),yn(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(yn(this.getTipElement()).hasClass(Pn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),yn.removeData(this.element,this.constructor.DATA_KEY),yn(this.element).off(this.constructor.EVENT_KEY),yn(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&yn(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===yn(this.element).css("display"))throw new Error("Please use show on visible elements");var e=yn.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){yn(this.element).trigger(e);var n=yn.contains(this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=we.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&yn(i).addClass(xn);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:yn(document).find(this.config.container);yn(i).data(this.constructor.DATA_KEY,this),yn.contains(this.element.ownerDocument.documentElement,this.tip)||yn(i).appendTo(a),yn(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Ct(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:jn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),yn(i).addClass(Pn),"ontouchstart"in document.documentElement&&yn(document.body).children().on("mouseover",null,yn.noop);var l=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,yn(t.element).trigger(t.constructor.Event.SHOWN),e===Nn&&t._leave(null,t)};if(yn(this.tip).hasClass(xn)){var c=we.getTransitionDurationFromElement(this.tip);yn(this.tip).one(we.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},e.hide=function(e){var t=this,n=this.getTipElement(),i=yn.Event(this.constructor.Event.HIDE),r=function(){t._hoverState!==On&&n.parentNode&&n.parentNode.removeChild(n),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),yn(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(yn(this.element).trigger(i),!i.isDefaultPrevented()){if(yn(n).removeClass(Pn),"ontouchstart"in document.documentElement&&yn(document.body).children().off("mouseover",null,yn.noop),this._activeTrigger[Fn]=!1,this._activeTrigger[Mn]=!1,this._activeTrigger[Hn]=!1,yn(this.tip).hasClass(xn)){var o=we.getTransitionDurationFromElement(n);yn(n).one(we.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){yn(this.getTipElement()).addClass(Tn+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||yn(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(yn(e.querySelectorAll(Ln)),this.getTitle()),yn(e).removeClass(xn+" "+Pn)},e.setElementContent=function(e,t){var n=this.config.html;"object"==typeof t&&(t.nodeType||t.jquery)?n?yn(t).parent().is(e)||e.empty().append(t):e.text(yn(t).text()):e[n?"html":"text"](t)},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},e._getAttachment=function(e){return An[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)yn(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==Wn){var t=e===Hn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Hn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;yn(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}yn(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||yn(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),yn(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Mn:Hn]=!0),yn(t.getTipElement()).hasClass(Pn)||t._hoverState===On?t._hoverState=On:(clearTimeout(t._timeout),t._hoverState=On,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===On&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||yn(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),yn(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Mn:Hn]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=Nn,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===Nn&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){return"number"==typeof(e=l({},this.constructor.Default,yn(this.element).data(),"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),we.typeCheckConfig(En,e,this.constructor.DefaultType),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=yn(this.getTipElement()),t=e.attr("class").match(Sn);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(yn(e).removeClass(xn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=yn(this).data(bn),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),yn(this).data(bn,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return In}},{key:"NAME",get:function(){return En}},{key:"DATA_KEY",get:function(){return bn}},{key:"Event",get:function(){return kn}},{key:"EVENT_KEY",get:function(){return wn}},{key:"DefaultType",get:function(){return Dn}}]),i}(),yn.fn[En]=Rn._jQueryInterface,yn.fn[En].Constructor=Rn,yn.fn[En].noConflict=function(){return yn.fn[En]=Cn,Rn._jQueryInterface},Rn),Qi=(Bn="popover",Kn="."+(qn="bs.popover"),Qn=(Un=t).fn[Bn],Yn="bs-popover",Vn=new RegExp("(^|\\s)"+Yn+"\\S+","g"),zn=l({},Ki.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Gn=l({},Ki.DefaultType,{content:"(string|element|function)"}),Jn="fade",Xn=".popover-header",$n=".popover-body",ei={HIDE:"hide"+Kn,HIDDEN:"hidden"+Kn,SHOW:(Zn="show")+Kn,SHOWN:"shown"+Kn,INSERTED:"inserted"+Kn,CLICK:"click"+Kn,FOCUSIN:"focusin"+Kn,FOCUSOUT:"focusout"+Kn,MOUSEENTER:"mouseenter"+Kn,MOUSELEAVE:"mouseleave"+Kn},ti=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(e){Un(this.getTipElement()).addClass(Yn+"-"+e)},r.getTipElement=function(){return this.tip=this.tip||Un(this.config.template)[0],this.tip},r.setContent=function(){var e=Un(this.getTipElement());this.setElementContent(e.find(Xn),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find($n),t),e.removeClass(Jn+" "+Zn)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var e=Un(this.getTipElement()),t=e.attr("class").match(Vn);null!==t&&0<t.length&&e.removeClass(t.join(""))},i._jQueryInterface=function(n){return this.each(function(){var e=Un(this).data(qn),t="object"==typeof n?n:null;if((e||!/destroy|hide/.test(n))&&(e||(e=new i(this,t),Un(this).data(qn,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return zn}},{key:"NAME",get:function(){return Bn}},{key:"DATA_KEY",get:function(){return qn}},{key:"Event",get:function(){return ei}},{key:"EVENT_KEY",get:function(){return Kn}},{key:"DefaultType",get:function(){return Gn}}]),i}(Ki),Un.fn[Bn]=ti._jQueryInterface,Un.fn[Bn].Constructor=ti,Un.fn[Bn].noConflict=function(){return Un.fn[Bn]=Qn,ti._jQueryInterface},ti),Yi=(ii="scrollspy",oi="."+(ri="bs.scrollspy"),si=(ni=t).fn[ii],ai={offset:10,method:"auto",target:""},li={offset:"number",method:"string",target:"(string|element)"},ci={ACTIVATE:"activate"+oi,SCROLL:"scroll"+oi,LOAD_DATA_API:"load"+oi+".data-api"},ui="dropdown-item",fi="active",hi='[data-spy="scroll"]',di=".active",pi=".nav, .list-group",mi=".nav-link",gi=".nav-item",_i=".list-group-item",vi=".dropdown",yi=".dropdown-item",Ei=".dropdown-toggle",bi="offset",wi="position",Ci=function(){function n(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+mi+","+this._config.target+" "+_i+","+this._config.target+" "+yi,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,ni(this._scrollElement).on(ci.SCROLL,function(e){return n._process(e)}),this.refresh(),this._process()}var e=n.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?bi:wi,r="auto"===this._config.method?e:this._config.method,o=r===wi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(e){var t,n=we.getSelectorFromElement(e);if(n&&(t=document.querySelector(n)),t){var i=t.getBoundingClientRect();if(i.width||i.height)return[ni(t)[r]().top+o,n]}return null}).filter(function(e){return e}).sort(function(e,t){return e[0]-t[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){ni.removeData(this._element,ri),ni(this._scrollElement).off(oi),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(e){if("string"!=typeof(e=l({},ai,"object"==typeof e&&e?e:{})).target){var t=ni(e.target).attr("id");t||(t=we.getUID(ii),ni(e.target).attr("id",t)),e.target="#"+t}return we.typeCheckConfig(ii,e,li),e},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),n<=e){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",");e=e.map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'});var n=ni([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass(ui)?(n.closest(vi).find(Ei).addClass(fi),n.addClass(fi)):(n.addClass(fi),n.parents(pi).prev(mi+", "+_i).addClass(fi),n.parents(pi).prev(gi).children(mi).addClass(fi)),ni(this._scrollElement).trigger(ci.ACTIVATE,{relatedTarget:t})},e._clear=function(){var e=[].slice.call(document.querySelectorAll(this._selector));ni(e).filter(di).removeClass(fi)},n._jQueryInterface=function(t){return this.each(function(){var e=ni(this).data(ri);if(e||(e=new n(this,"object"==typeof t&&t),ni(this).data(ri,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ai}}]),n}(),ni(window).on(ci.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(hi)),t=e.length;t--;){var n=ni(e[t]);Ci._jQueryInterface.call(n,n.data())}}),ni.fn[ii]=Ci._jQueryInterface,ni.fn[ii].Constructor=Ci,ni.fn[ii].noConflict=function(){return ni.fn[ii]=si,Ci._jQueryInterface},Ci),Vi=(Di="."+(Si="bs.tab"),Ai=(Ti=t).fn.tab,Ii={HIDE:"hide"+Di,HIDDEN:"hidden"+Di,SHOW:"show"+Di,SHOWN:"shown"+Di,CLICK_DATA_API:"click"+Di+".data-api"},Oi="dropdown-menu",Ni="active",ki="disabled",xi="fade",Pi="show",Li=".dropdown",ji=".nav, .list-group",Hi=".active",Mi="> li > .active",Fi='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Wi=".dropdown-toggle",Ri="> .dropdown-menu .active",Ui=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&Ti(this._element).hasClass(Ni)||Ti(this._element).hasClass(ki))){var e,i,t=Ti(this._element).closest(ji)[0],r=we.getSelectorFromElement(this._element);if(t){var o="UL"===t.nodeName?Mi:Hi;i=(i=Ti.makeArray(Ti(t).find(o)))[i.length-1]}var s=Ti.Event(Ii.HIDE,{relatedTarget:this._element}),a=Ti.Event(Ii.SHOW,{relatedTarget:i});if(i&&Ti(i).trigger(s),Ti(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,t);var l=function(){var e=Ti.Event(Ii.HIDDEN,{relatedTarget:n._element}),t=Ti.Event(Ii.SHOWN,{relatedTarget:i});Ti(i).trigger(e),Ti(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){Ti.removeData(this._element,Si),this._element=null},e._activate=function(e,t,n){var i=this,r=("UL"===t.nodeName?Ti(t).find(Mi):Ti(t).children(Hi))[0],o=n&&r&&Ti(r).hasClass(xi),s=function(){return i._transitionComplete(e,r,n)};if(r&&o){var a=we.getTransitionDurationFromElement(r);Ti(r).one(we.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},e._transitionComplete=function(e,t,n){if(t){Ti(t).removeClass(Pi+" "+Ni);var i=Ti(t.parentNode).find(Ri)[0];i&&Ti(i).removeClass(Ni),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(Ti(e).addClass(Ni),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),we.reflow(e),Ti(e).addClass(Pi),e.parentNode&&Ti(e.parentNode).hasClass(Oi)){var r=Ti(e).closest(Li)[0];if(r){var o=[].slice.call(r.querySelectorAll(Wi));Ti(o).addClass(Ni)}e.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=Ti(this),t=e.data(Si);if(t||(t=new i(this),e.data(Si,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),Ti(document).on(Ii.CLICK_DATA_API,Fi,function(e){e.preventDefault(),Ui._jQueryInterface.call(Ti(this),"show")}),Ti.fn.tab=Ui._jQueryInterface,Ti.fn.tab.Constructor=Ui,Ti.fn.tab.noConflict=function(){return Ti.fn.tab=Ai,Ui._jQueryInterface},Ui);!function(e){if("undefined"==typeof e)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(t),e.Util=we,e.Alert=Ce,e.Button=Te,e.Carousel=Se,e.Collapse=De,e.Dropdown=Bi,e.Modal=qi,e.Popover=Qi,e.Scrollspy=Yi,e.Tab=Vi,e.Tooltip=Ki,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=bootstrap.bundle.min.js.map
/*!
  * Bootstrap v4.1.3 (https://getbootstrap.com/)
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,h){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},e=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=o[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}e=e&&e.hasOwnProperty("default")?e.default:e,h=h&&h.hasOwnProperty("default")?h.default:h;var r,n,o,a,c,u,f,d,g,_,m,p,v,y,E,C,T,b,S,I,A,D,w,N,O,k,P,j,H,L,R,x,W,U,q,F,K,M,Q,B,V,Y,z,J,Z,G,$,X,tt,et,nt,it,rt,ot,st,at,lt,ct,ht,ut,ft,dt,gt,_t,mt,pt,vt,yt,Et,Ct,Tt,bt,St,It,At,Dt,wt,Nt,Ot,kt,Pt,jt,Ht,Lt,Rt,xt,Wt,Ut,qt,Ft,Kt,Mt,Qt,Bt,Vt,Yt,zt,Jt,Zt,Gt,$t,Xt,te,ee,ne,ie,re,oe,se,ae,le,ce,he,ue,fe,de,ge,_e,me,pe,ve,ye,Ee,Ce,Te,be,Se,Ie,Ae,De,we,Ne,Oe,ke,Pe,je,He,Le,Re,xe,We,Ue,qe,Fe,Ke,Me,Qe,Be,Ve,Ye,ze,Je,Ze,Ge,$e,Xe,tn,en,nn,rn,on,sn,an,ln,cn,hn,un,fn,dn,gn,_n,mn,pn,vn,yn,En,Cn,Tn,bn,Sn,In,An,Dn,wn,Nn,On,kn,Pn,jn,Hn,Ln,Rn,xn,Wn,Un,qn,Fn=function(i){var e="transitionend";function t(t){var e=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(e)},t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");e&&"#"!==e||(e=t.getAttribute("href")||"");try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i(t).css("transition-duration");return parseFloat(e)?(e=e.split(",")[0],1e3*parseFloat(e)):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=e[i],s=o&&l.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=t,i.event.special[l.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(i(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}},l}(e),Kn=(n="alert",a="."+(o="bs.alert"),c=(r=e).fn[n],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",g="show",_=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){r.removeData(this._element,o),this._element=null},t._getRootElement=function(t){var e=Fn.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=r(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=r.Event(u.CLOSE);return r(t).trigger(e),e},t._removeElement=function(e){var n=this;if(r(e).removeClass(g),r(e).hasClass(d)){var t=Fn.getTransitionDurationFromElement(e);r(e).one(Fn.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){r(t).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=r(this),e=t.data(o);e||(e=new i(this),t.data(o,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),r(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',_._handleDismiss(new _)),r.fn[n]=_._jQueryInterface,r.fn[n].Constructor=_,r.fn[n].noConflict=function(){return r.fn[n]=c,_._jQueryInterface},_),Mn=(p="button",y="."+(v="bs.button"),E=".data-api",C=(m=e).fn[p],T="active",b="btn",I='[data-toggle^="button"]',A='[data-toggle="buttons"]',D="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+y+E,FOCUS_BLUR_DATA_API:(S="focus")+y+E+" blur"+y+E},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=m(this._element).closest(A)[0];if(n){var i=this._element.querySelector(D);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(T))t=!1;else{var r=n.querySelector(w);r&&m(r).removeClass(T)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(T),m(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(T)),t&&m(this._element).toggleClass(T)},t.dispose=function(){m.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=m(this).data(v);t||(t=new n(this),m(this).data(v,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}(),m(document).on(O.CLICK_DATA_API,I,function(t){t.preventDefault();var e=t.target;m(e).hasClass(b)||(e=m(e).closest(N)),k._jQueryInterface.call(m(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,I,function(t){var e=m(t.target).closest(N)[0];m(e).toggleClass(S,/^focus(in)?$/.test(t.type))}),m.fn[p]=k._jQueryInterface,m.fn[p].Constructor=k,m.fn[p].noConflict=function(){return m.fn[p]=C,k._jQueryInterface},k),Qn=(j="carousel",L="."+(H="bs.carousel"),R=".data-api",x=(P=e).fn[j],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},q="next",F="prev",K="left",M="right",Q={SLIDE:"slide"+L,SLID:"slid"+L,KEYDOWN:"keydown"+L,MOUSEENTER:"mouseenter"+L,MOUSELEAVE:"mouseleave"+L,TOUCHEND:"touchend"+L,LOAD_DATA_API:"load"+L+R,CLICK_DATA_API:"click"+L+R},B="carousel",V="active",Y="slide",z="carousel-item-right",J="carousel-item-left",Z="carousel-item-next",G="carousel-item-prev",$=".active",X=".active.carousel-item",tt=".carousel-item",et=".carousel-item-next, .carousel-item-prev",nt=".carousel-indicators",it="[data-slide], [data-slide-to]",rt='[data-ride="carousel"]',ot=function(){function o(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(e),this._element=P(t)[0],this._indicatorsElement=this._element.querySelector(nt),this._addEventListeners()}var t=o.prototype;return t.next=function(){this._isSliding||this._slide(q)},t.nextWhenVisible=function(){!document.hidden&&P(this._element).is(":visible")&&"hidden"!==P(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(F)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(et)&&(Fn.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(X);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?q:F;this._slide(i,this._items[t])}},t.dispose=function(){P(this._element).off(L),P.removeData(this._element,H),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},W,t),Fn.typeCheckConfig(j,t,U),t},t._addEventListeners=function(){var e=this;this._config.keyboard&&P(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(P(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&P(this._element).on(Q.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(tt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===q,i=t===F,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===F?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(X)),r=P.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return P(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll($));P(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&P(n).addClass(V)}},t._slide=function(t,e){var n,i,r,o=this,s=this._element.querySelector(X),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(t===q?(n=J,i=Z,r=K):(n=z,i=G,r=M),l&&P(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=P.Event(Q.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(P(this._element).hasClass(Y)){P(l).addClass(i),Fn.reflow(l),P(s).addClass(n),P(l).addClass(n);var f=Fn.getTransitionDurationFromElement(s);P(s).one(Fn.TRANSITION_END,function(){P(l).removeClass(n+" "+i).addClass(V),P(s).removeClass(V+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return P(o._element).trigger(u)},0)}).emulateTransitionEnd(f)}else P(s).removeClass(V),P(l).addClass(V),this._isSliding=!1,P(this._element).trigger(u);h&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var t=P(this).data(H),e=l({},W,P(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new o(this,e),P(this).data(H,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},o._dataApiClickHandler=function(t){var e=Fn.getSelectorFromElement(this);if(e){var n=P(e)[0];if(n&&P(n).hasClass(B)){var i=l({},P(n).data(),P(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(P(n),i),r&&P(n).data(H).to(r),t.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return W}}]),o}(),P(document).on(Q.CLICK_DATA_API,it,ot._dataApiClickHandler),P(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(rt)),e=0,n=t.length;e<n;e++){var i=P(t[e]);ot._jQueryInterface.call(i,i.data())}}),P.fn[j]=ot._jQueryInterface,P.fn[j].Constructor=ot,P.fn[j].noConflict=function(){return P.fn[j]=x,ot._jQueryInterface},ot),Bn=(at="collapse",ct="."+(lt="bs.collapse"),ht=(st=e).fn[at],ut={toggle:!0,parent:""},ft={toggle:"boolean",parent:"(string|element)"},dt={SHOW:"show"+ct,SHOWN:"shown"+ct,HIDE:"hide"+ct,HIDDEN:"hidden"+ct,CLICK_DATA_API:"click"+ct+".data-api"},gt="show",_t="collapse",mt="collapsing",pt="collapsed",vt="width",yt="height",Et=".show, .collapsing",Ct='[data-toggle="collapse"]',Tt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=st.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Ct)),i=0,r=n.length;i<r;i++){var o=n[i],s=Fn.getSelectorFromElement(o),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){st(this._element).hasClass(gt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!st(this._element).hasClass(gt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Et)).filter(function(t){return t.getAttribute("data-parent")===n._config.parent})).length&&(t=null),!(t&&(e=st(t).not(this._selector).data(lt))&&e._isTransitioning))){var i=st.Event(dt.SHOW);if(st(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(st(t).not(this._selector),"hide"),e||st(t).data(lt,null));var r=this._getDimension();st(this._element).removeClass(_t).addClass(mt),this._element.style[r]=0,this._triggerArray.length&&st(this._triggerArray).removeClass(pt).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=Fn.getTransitionDurationFromElement(this._element);st(this._element).one(Fn.TRANSITION_END,function(){st(n._element).removeClass(mt).addClass(_t).addClass(gt),n._element.style[r]="",n.setTransitioning(!1),st(n._element).trigger(dt.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&st(this._element).hasClass(gt)){var e=st.Event(dt.HIDE);if(st(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",Fn.reflow(this._element),st(this._element).addClass(mt).removeClass(_t).removeClass(gt);var i=this._triggerArray.length;if(0<i)for(var r=0;r<i;r++){var o=this._triggerArray[r],s=Fn.getSelectorFromElement(o);if(null!==s)st([].slice.call(document.querySelectorAll(s))).hasClass(gt)||st(o).addClass(pt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=Fn.getTransitionDurationFromElement(this._element);st(this._element).one(Fn.TRANSITION_END,function(){t.setTransitioning(!1),st(t._element).removeClass(mt).addClass(_t).trigger(dt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){st.removeData(this._element,lt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},ut,t)).toggle=Boolean(t.toggle),Fn.typeCheckConfig(at,t,ft),t},t._getDimension=function(){return st(this._element).hasClass(vt)?vt:yt},t._getParent=function(){var n=this,t=null;Fn.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return st(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){if(t){var n=st(t).hasClass(gt);e.length&&st(e).toggleClass(pt,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(t){var e=Fn.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=st(this),e=t.data(lt),n=l({},ut,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(lt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ut}}]),a}(),st(document).on(dt.CLICK_DATA_API,Ct,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=st(this),e=Fn.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));st(i).each(function(){var t=st(this),e=t.data(lt)?"toggle":n.data();Tt._jQueryInterface.call(t,e)})}),st.fn[at]=Tt._jQueryInterface,st.fn[at].Constructor=Tt,st.fn[at].noConflict=function(){return st.fn[at]=ht,Tt._jQueryInterface},Tt),Vn=(St="dropdown",At="."+(It="bs.dropdown"),Dt=".data-api",wt=(bt=e).fn[St],Nt=new RegExp("38|40|27"),Ot={HIDE:"hide"+At,HIDDEN:"hidden"+At,SHOW:"show"+At,SHOWN:"shown"+At,CLICK:"click"+At,CLICK_DATA_API:"click"+At+Dt,KEYDOWN_DATA_API:"keydown"+At+Dt,KEYUP_DATA_API:"keyup"+At+Dt},kt="disabled",Pt="show",jt="dropup",Ht="dropright",Lt="dropleft",Rt="dropdown-menu-right",xt="position-static",Wt='[data-toggle="dropdown"]',Ut=".dropdown form",qt=".dropdown-menu",Ft=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Mt="top-start",Qt="top-end",Bt="bottom-start",Vt="bottom-end",Yt="right-start",zt="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Gt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!bt(this._element).hasClass(kt)){var t=c._getParentFromElement(this._element),e=bt(this._menu).hasClass(Pt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=bt.Event(Ot.SHOW,n);if(bt(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof h)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=t:Fn.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&bt(t).addClass(xt),this._popper=new h(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===bt(t).closest(Ft).length&&bt(document.body).children().on("mouseover",null,bt.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),bt(this._menu).toggleClass(Pt),bt(t).toggleClass(Pt).trigger(bt.Event(Ot.SHOWN,n))}}}},t.dispose=function(){bt.removeData(this._element,It),bt(this._element).off(At),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;bt(this._element).on(Ot.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,bt(this._element).data(),t),Fn.typeCheckConfig(St,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=bt(this._element.parentNode),e=Bt;return t.hasClass(jt)?(e=Mt,bt(this._menu).hasClass(Rt)&&(e=Qt)):t.hasClass(Ht)?e=Yt:t.hasClass(Lt)?e=zt:bt(this._menu).hasClass(Rt)&&(e=Vt),e},t._detectNavbar=function(){return 0<bt(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=bt(this).data(It);if(t||(t=new c(this,"object"==typeof e?e:null),bt(this).data(It,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Wt)),n=0,i=e.length;n<i;n++){var r=c._getParentFromElement(e[n]),o=bt(e[n]).data(It),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var a=o._menu;if(bt(r).hasClass(Pt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&bt.contains(r,t.target))){var l=bt.Event(Ot.HIDE,s);bt(r).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&bt(document.body).children().off("mouseover",null,bt.noop),e[n].setAttribute("aria-expanded","false"),bt(a).removeClass(Pt),bt(r).removeClass(Pt).trigger(bt.Event(Ot.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=Fn.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||bt(t.target).closest(qt).length)):Nt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!bt(this).hasClass(kt))){var e=c._getParentFromElement(this),n=bt(e).hasClass(Pt);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var o=e.querySelector(Wt);bt(o).trigger("focus")}bt(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}(),bt(document).on(Ot.KEYDOWN_DATA_API,Wt,Gt._dataApiKeydownHandler).on(Ot.KEYDOWN_DATA_API,qt,Gt._dataApiKeydownHandler).on(Ot.CLICK_DATA_API+" "+Ot.KEYUP_DATA_API,Gt._clearMenus).on(Ot.CLICK_DATA_API,Wt,function(t){t.preventDefault(),t.stopPropagation(),Gt._jQueryInterface.call(bt(this),"toggle")}).on(Ot.CLICK_DATA_API,Ut,function(t){t.stopPropagation()}),bt.fn[St]=Gt._jQueryInterface,bt.fn[St].Constructor=Gt,bt.fn[St].noConflict=function(){return bt.fn[St]=wt,Gt._jQueryInterface},Gt),Yn=(Xt="modal",ee="."+(te="bs.modal"),ne=($t=e).fn[Xt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},re={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},oe={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-scrollbar-measure",ae="modal-backdrop",le="modal-open",ce="fade",he="show",ue=".modal-dialog",fe='[data-toggle="modal"]',de='[data-dismiss="modal"]',ge=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",_e=".sticky-top",me=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(ue),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isTransitioning&&!this._isShown){$t(this._element).hasClass(ce)&&(this._isTransitioning=!0);var n=$t.Event(oe.SHOW,{relatedTarget:t});$t(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),$t(document.body).addClass(le),this._setEscapeEvent(),this._setResizeEvent(),$t(this._element).on(oe.CLICK_DISMISS,de,function(t){return e.hide(t)}),$t(this._dialog).on(oe.MOUSEDOWN_DISMISS,function(){$t(e._element).one(oe.MOUSEUP_DISMISS,function(t){$t(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var n=$t.Event(oe.HIDE);if($t(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=$t(this._element).hasClass(ce);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),$t(document).off(oe.FOCUSIN),$t(this._element).removeClass(he),$t(this._element).off(oe.CLICK_DISMISS),$t(this._dialog).off(oe.MOUSEDOWN_DISMISS),i){var r=Fn.getTransitionDurationFromElement(this._element);$t(this._element).one(Fn.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){$t.removeData(this._element,te),$t(window,document,this._element,this._backdrop).off(ee),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),Fn.typeCheckConfig(Xt,t,re),t},t._showElement=function(t){var e=this,n=$t(this._element).hasClass(ce);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&Fn.reflow(this._element),$t(this._element).addClass(he),this._config.focus&&this._enforceFocus();var i=$t.Event(oe.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,$t(e._element).trigger(i)};if(n){var o=Fn.getTransitionDurationFromElement(this._element);$t(this._dialog).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},t._enforceFocus=function(){var e=this;$t(document).off(oe.FOCUSIN).on(oe.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===$t(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?$t(this._element).on(oe.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||$t(this._element).off(oe.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?$t(window).on(oe.RESIZE,function(t){return e.handleUpdate(t)}):$t(window).off(oe.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){$t(document.body).removeClass(le),t._resetAdjustments(),t._resetScrollbar(),$t(t._element).trigger(oe.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&($t(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=$t(this._element).hasClass(ce)?ce:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ae,n&&this._backdrop.classList.add(n),$t(this._backdrop).appendTo(document.body),$t(this._element).on(oe.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&Fn.reflow(this._backdrop),$t(this._backdrop).addClass(he),!t)return;if(!n)return void t();var i=Fn.getTransitionDurationFromElement(this._backdrop);$t(this._backdrop).one(Fn.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){$t(this._backdrop).removeClass(he);var r=function(){e._removeBackdrop(),t&&t()};if($t(this._element).hasClass(ce)){var o=Fn.getTransitionDurationFromElement(this._backdrop);$t(this._backdrop).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(ge)),e=[].slice.call(document.querySelectorAll(_e));$t(t).each(function(t,e){var n=e.style.paddingRight,i=$t(e).css("padding-right");$t(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),$t(e).each(function(t,e){var n=e.style.marginRight,i=$t(e).css("margin-right");$t(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=$t(document.body).css("padding-right");$t(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(ge));$t(t).each(function(t,e){var n=$t(e).data("padding-right");$t(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+_e));$t(e).each(function(t,e){var n=$t(e).data("margin-right");"undefined"!=typeof n&&$t(e).css("margin-right",n).removeData("margin-right")});var n=$t(document.body).data("padding-right");$t(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=se,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=$t(this).data(te),e=l({},ie,$t(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new r(this,e),$t(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ie}}]),r}(),$t(document).on(oe.CLICK_DATA_API,fe,function(t){var e,n=this,i=Fn.getSelectorFromElement(this);i&&(e=document.querySelector(i));var r=$t(e).data(te)?"toggle":l({},$t(e).data(),$t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var o=$t(e).one(oe.SHOW,function(t){t.isDefaultPrevented()||o.one(oe.HIDDEN,function(){$t(n).is(":visible")&&n.focus()})});me._jQueryInterface.call($t(e),r,this)}),$t.fn[Xt]=me._jQueryInterface,$t.fn[Xt].Constructor=me,$t.fn[Xt].noConflict=function(){return $t.fn[Xt]=ne,me._jQueryInterface},me),zn=(ve="tooltip",Ee="."+(ye="bs.tooltip"),Ce=(pe=e).fn[ve],Te="bs-tooltip",be=new RegExp("(^|\\s)"+Te+"\\S+","g"),Ae={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=Ue(this).data(Fe),e="object"==typeof n?n:null;if((t||!/destroy|hide/.test(n))&&(t||(t=new i(this,e),Ue(this).data(Fe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ve}},{key:"NAME",get:function(){return qe}},{key:"DATA_KEY",get:function(){return Fe}},{key:"Event",get:function(){return $e}},{key:"EVENT_KEY",get:function(){return Ke}},{key:"DefaultType",get:function(){return Ye}}]),i}(zn),Ue.fn[qe]=Xe._jQueryInterface,Ue.fn[qe].Constructor=Xe,Ue.fn[qe].noConflict=function(){return Ue.fn[qe]=Me,Xe._jQueryInterface},Xe),Zn=(en="scrollspy",rn="."+(nn="bs.scrollspy"),on=(tn=e).fn[en],sn={offset:10,method:"auto",target:""},an={offset:"number",method:"string",target:"(string|element)"},ln={ACTIVATE:"activate"+rn,SCROLL:"scroll"+rn,LOAD_DATA_API:"load"+rn+".data-api"},cn="dropdown-item",hn="active",un='[data-spy="scroll"]',fn=".active",dn=".nav, .list-group",gn=".nav-link",_n=".nav-item",mn=".list-group-item",pn=".dropdown",vn=".dropdown-item",yn=".dropdown-toggle",En="offset",Cn="position",Tn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+gn+","+this._config.target+" "+mn+","+this._config.target+" "+vn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,tn(this._scrollElement).on(ln.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?En:Cn,r="auto"===this._config.method?t:this._config.method,o=r===Cn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=Fn.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[tn(e)[r]().top+o,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){tn.removeData(this._element,nn),tn(this._scrollElement).off(rn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},sn,"object"==typeof t&&t?t:{})).target){var e=tn(t.target).attr("id");e||(e=Fn.getUID(en),tn(t.target).attr("id",e)),t.target="#"+e}return Fn.typeCheckConfig(en,t,an),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=tn([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(cn)?(n.closest(pn).find(yn).addClass(hn),n.addClass(hn)):(n.addClass(hn),n.parents(dn).prev(gn+", "+mn).addClass(hn),n.parents(dn).prev(_n).children(gn).addClass(hn)),tn(this._scrollElement).trigger(ln.ACTIVATE,{relatedTarget:e})},t._clear=function(){var t=[].slice.call(document.querySelectorAll(this._selector));tn(t).filter(fn).removeClass(hn)},n._jQueryInterface=function(e){return this.each(function(){var t=tn(this).data(nn);if(t||(t=new n(this,"object"==typeof e&&e),tn(this).data(nn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return sn}}]),n}(),tn(window).on(ln.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(un)),e=t.length;e--;){var n=tn(t[e]);Tn._jQueryInterface.call(n,n.data())}}),tn.fn[en]=Tn._jQueryInterface,tn.fn[en].Constructor=Tn,tn.fn[en].noConflict=function(){return tn.fn[en]=on,Tn._jQueryInterface},Tn),Gn=(In="."+(Sn="bs.tab"),An=(bn=e).fn.tab,Dn={HIDE:"hide"+In,HIDDEN:"hidden"+In,SHOW:"show"+In,SHOWN:"shown"+In,CLICK_DATA_API:"click"+In+".data-api"},wn="dropdown-menu",Nn="active",On="disabled",kn="fade",Pn="show",jn=".dropdown",Hn=".nav, .list-group",Ln=".active",Rn="> li > .active",xn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Wn=".dropdown-toggle",Un="> .dropdown-menu .active",qn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&bn(this._element).hasClass(Nn)||bn(this._element).hasClass(On))){var t,i,e=bn(this._element).closest(Hn)[0],r=Fn.getSelectorFromElement(this._element);if(e){var o="UL"===e.nodeName?Rn:Ln;i=(i=bn.makeArray(bn(e).find(o)))[i.length-1]}var s=bn.Event(Dn.HIDE,{relatedTarget:this._element}),a=bn.Event(Dn.SHOW,{relatedTarget:i});if(i&&bn(i).trigger(s),bn(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(t=document.querySelector(r)),this._activate(this._element,e);var l=function(){var t=bn.Event(Dn.HIDDEN,{relatedTarget:n._element}),e=bn.Event(Dn.SHOWN,{relatedTarget:i});bn(i).trigger(t),bn(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){bn.removeData(this._element,Sn),this._element=null},t._activate=function(t,e,n){var i=this,r=("UL"===e.nodeName?bn(e).find(Rn):bn(e).children(Ln))[0],o=n&&r&&bn(r).hasClass(kn),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var a=Fn.getTransitionDurationFromElement(r);bn(r).one(Fn.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){bn(e).removeClass(Pn+" "+Nn);var i=bn(e.parentNode).find(Un)[0];i&&bn(i).removeClass(Nn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(bn(t).addClass(Nn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),Fn.reflow(t),bn(t).addClass(Pn),t.parentNode&&bn(t.parentNode).hasClass(wn)){var r=bn(t).closest(jn)[0];if(r){var o=[].slice.call(r.querySelectorAll(Wn));bn(o).addClass(Nn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=bn(this),e=t.data(Sn);if(e||(e=new i(this),t.data(Sn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),bn(document).on(Dn.CLICK_DATA_API,xn,function(t){t.preventDefault(),qn._jQueryInterface.call(bn(this),"show")}),bn.fn.tab=qn._jQueryInterface,bn.fn.tab.Constructor=qn,bn.fn.tab.noConflict=function(){return bn.fn.tab=An,qn._jQueryInterface},qn);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=Fn,t.Alert=Kn,t.Button=Mn,t.Carousel=Qn,t.Collapse=Bn,t.Dropdown=Vn,t.Modal=Yn,t.Popover=Jn,t.Scrollspy=Zn,t.Tab=Gn,t.Tooltip=zn,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=bootstrap.min.js.map
/*!
 * Chart.js
 * http://chartjs.org/
 * Version: 2.6.0
 *
 * Copyright 2017 Nick Downie
 * Released under the MIT license
 * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md
 */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Chart=t()}}(function(){return function t(e,n,i){function a(r,l){if(!n[r]){if(!e[r]){var s="function"==typeof require&&require;if(!l&&s)return s(r,!0);if(o)return o(r,!0);var u=new Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}var d=n[r]={exports:{}};e[r][0].call(d.exports,function(t){var n=e[r][1][t];return a(n?n:t)},d,d.exports,t,e,n,i)}return n[r].exports}for(var o="function"==typeof require&&require,r=0;r<i.length;r++)a(i[r]);return a}({1:[function(t,e,n){},{}],2:[function(t,e,n){function i(t){if(t){var e=/^#([a-fA-F0-9]{3})$/,n=/^#([a-fA-F0-9]{6})$/,i=/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,a=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,o=/(\w+)/,r=[0,0,0],l=1,s=t.match(e);if(s){s=s[1];for(var u=0;u<r.length;u++)r[u]=parseInt(s[u]+s[u],16)}else if(s=t.match(n)){s=s[1];for(var u=0;u<r.length;u++)r[u]=parseInt(s.slice(2*u,2*u+2),16)}else if(s=t.match(i)){for(var u=0;u<r.length;u++)r[u]=parseInt(s[u+1]);l=parseFloat(s[4])}else if(s=t.match(a)){for(var u=0;u<r.length;u++)r[u]=Math.round(2.55*parseFloat(s[u+1]));l=parseFloat(s[4])}else if(s=t.match(o)){if("transparent"==s[1])return[0,0,0,0];if(r=y[s[1]],!r)return}for(var u=0;u<r.length;u++)r[u]=b(r[u],0,255);return l=l||0==l?b(l,0,1):1,r[3]=l,r}}function a(t){if(t){var e=/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/,n=t.match(e);if(n){var i=parseFloat(n[4]),a=b(parseInt(n[1]),0,360),o=b(parseFloat(n[2]),0,100),r=b(parseFloat(n[3]),0,100),l=b(isNaN(i)?1:i,0,1);return[a,o,r,l]}}}function o(t){if(t){var e=/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/,n=t.match(e);if(n){var i=parseFloat(n[4]),a=b(parseInt(n[1]),0,360),o=b(parseFloat(n[2]),0,100),r=b(parseFloat(n[3]),0,100),l=b(isNaN(i)?1:i,0,1);return[a,o,r,l]}}}function r(t){var e=i(t);return e&&e.slice(0,3)}function l(t){var e=a(t);return e&&e.slice(0,3)}function s(t){var e=i(t);return e?e[3]:(e=a(t))?e[3]:(e=o(t))?e[3]:void 0}function u(t){return"#"+x(t[0])+x(t[1])+x(t[2])}function d(t,e){return e<1||t[3]&&t[3]<1?c(t,e):"rgb("+t[0]+", "+t[1]+", "+t[2]+")"}function c(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+e+")"}function h(t,e){if(e<1||t[3]&&t[3]<1)return f(t,e);var n=Math.round(t[0]/255*100),i=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+n+"%, "+i+"%, "+a+"%)"}function f(t,e){var n=Math.round(t[0]/255*100),i=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgba("+n+"%, "+i+"%, "+a+"%, "+(e||t[3]||1)+")"}function g(t,e){return e<1||t[3]&&t[3]<1?p(t,e):"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"}function p(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+e+")"}function m(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"}function v(t){return k[t.slice(0,3)]}function b(t,e,n){return Math.min(Math.max(e,t),n)}function x(t){var e=t.toString(16).toUpperCase();return e.length<2?"0"+e:e}var y=t(6);e.exports={getRgba:i,getHsla:a,getRgb:r,getHsl:l,getHwb:o,getAlpha:s,hexString:u,rgbString:d,rgbaString:c,percentString:h,percentaString:f,hslString:g,hslaString:p,hwbString:m,keyword:v};var k={};for(var w in y)k[y[w]]=w},{6:6}],3:[function(t,e,n){var i=t(5),a=t(2),o=function(t){if(t instanceof o)return t;if(!(this instanceof o))return new o(t);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var e;"string"==typeof t?(e=a.getRgba(t),e?this.setValues("rgb",e):(e=a.getHsla(t))?this.setValues("hsl",e):(e=a.getHwb(t))&&this.setValues("hwb",e)):"object"==typeof t&&(e=t,void 0!==e.r||void 0!==e.red?this.setValues("rgb",e):void 0!==e.l||void 0!==e.lightness?this.setValues("hsl",e):void 0!==e.v||void 0!==e.value?this.setValues("hsv",e):void 0!==e.w||void 0!==e.whiteness?this.setValues("hwb",e):void 0===e.c&&void 0===e.cyan||this.setValues("cmyk",e))};o.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues("alpha",t),this)},red:function(t){return this.setChannel("rgb",0,t)},green:function(t){return this.setChannel("rgb",1,t)},blue:function(t){return this.setChannel("rgb",2,t)},hue:function(t){return t&&(t%=360,t=t<0?360+t:t),this.setChannel("hsl",0,t)},saturation:function(t){return this.setChannel("hsl",1,t)},lightness:function(t){return this.setChannel("hsl",2,t)},saturationv:function(t){return this.setChannel("hsv",1,t)},whiteness:function(t){return this.setChannel("hwb",1,t)},blackness:function(t){return this.setChannel("hwb",2,t)},value:function(t){return this.setChannel("hsv",2,t)},cyan:function(t){return this.setChannel("cmyk",0,t)},magenta:function(t){return this.setChannel("cmyk",1,t)},yellow:function(t){return this.setChannel("cmyk",2,t)},black:function(t){return this.setChannel("cmyk",3,t)},hexString:function(){return a.hexString(this.values.rgb)},rgbString:function(){return a.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return a.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return a.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return a.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return a.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return a.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return a.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],n=0;n<t.length;n++){var i=t[n]/255;e[n]=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),n=t.luminosity();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb,e=(299*t[0]+587*t[1]+114*t[2])/1e3;return e<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=this,i=t,a=void 0===e?.5:e,o=2*a-1,r=n.alpha()-i.alpha(),l=((o*r===-1?o:(o+r)/(1+o*r))+1)/2,s=1-l;return this.rgb(l*n.red()+s*i.red(),l*n.green()+s*i.green(),l*n.blue()+s*i.blue()).alpha(n.alpha()*a+i.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new o,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],e={}.toString.call(t),"[object Array]"===e?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return n}},o.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i<t.length;i++)n[t.charAt(i)]=e[t][i];return 1!==e.alpha&&(n.a=e.alpha),n},o.prototype.setValues=function(t,e){var n,a=this.values,o=this.spaces,r=this.maxes,l=1;if(this.valid=!0,"alpha"===t)l=e;else if(e.length)a[t]=e.slice(0,t.length),l=e[t.length];else if(void 0!==e[t.charAt(0)]){for(n=0;n<t.length;n++)a[t][n]=e[t.charAt(n)];l=e.a}else if(void 0!==e[o[t][0]]){var s=o[t];for(n=0;n<t.length;n++)a[t][n]=e[s[n]];l=e.alpha}if(a.alpha=Math.max(0,Math.min(1,void 0===l?a.alpha:l)),"alpha"===t)return!1;var u;for(n=0;n<t.length;n++)u=Math.max(0,Math.min(r[t][n],a[t][n])),a[t][n]=Math.round(u);for(var d in o)d!==t&&(a[d]=i[t][d](a[t]));return!0},o.prototype.setSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n),this)},o.prototype.setChannel=function(t,e,n){var i=this.values[t];return void 0===n?i[e]:n===i[e]?this:(i[e]=n,this.setValues(t,i),this)},"undefined"!=typeof window&&(window.Color=o),e.exports=o},{2:2,5:5}],4:[function(t,e,n){function i(t){var e,n,i,a=t[0]/255,o=t[1]/255,r=t[2]/255,l=Math.min(a,o,r),s=Math.max(a,o,r),u=s-l;return s==l?e=0:a==s?e=(o-r)/u:o==s?e=2+(r-a)/u:r==s&&(e=4+(a-o)/u),e=Math.min(60*e,360),e<0&&(e+=360),i=(l+s)/2,n=s==l?0:i<=.5?u/(s+l):u/(2-s-l),[e,100*n,100*i]}function a(t){var e,n,i,a=t[0],o=t[1],r=t[2],l=Math.min(a,o,r),s=Math.max(a,o,r),u=s-l;return n=0==s?0:u/s*1e3/10,s==l?e=0:a==s?e=(o-r)/u:o==s?e=2+(r-a)/u:r==s&&(e=4+(a-o)/u),e=Math.min(60*e,360),e<0&&(e+=360),i=s/255*1e3/10,[e,n,i]}function o(t){var e=t[0],n=t[1],a=t[2],o=i(t)[0],r=1/255*Math.min(e,Math.min(n,a)),a=1-1/255*Math.max(e,Math.max(n,a));return[o,100*r,100*a]}function l(t){var e,n,i,a,o=t[0]/255,r=t[1]/255,l=t[2]/255;return a=Math.min(1-o,1-r,1-l),e=(1-o-a)/(1-a)||0,n=(1-r-a)/(1-a)||0,i=(1-l-a)/(1-a)||0,[100*e,100*n,100*i,100*a]}function s(t){return Z[JSON.stringify(t)]}function u(t){var e=t[0]/255,n=t[1]/255,i=t[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92;var a=.4124*e+.3576*n+.1805*i,o=.2126*e+.7152*n+.0722*i,r=.0193*e+.1192*n+.9505*i;return[100*a,100*o,100*r]}function d(t){var e,n,i,a=u(t),o=a[0],r=a[1],l=a[2];return o/=95.047,r/=100,l/=108.883,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,l=l>.008856?Math.pow(l,1/3):7.787*l+16/116,e=116*r-16,n=500*(o-r),i=200*(r-l),[e,n,i]}function c(t){return B(d(t))}function h(t){var e,n,i,a,o,r=t[0]/360,l=t[1]/100,s=t[2]/100;if(0==l)return o=255*s,[o,o,o];n=s<.5?s*(1+l):s+l-s*l,e=2*s-n,a=[0,0,0];for(var u=0;u<3;u++)i=r+1/3*-(u-1),i<0&&i++,i>1&&i--,o=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*o;return a}function f(t){var e,n,i=t[0],a=t[1]/100,o=t[2]/100;return 0===o?[0,0,0]:(o*=2,a*=o<=1?o:2-o,n=(o+a)/2,e=2*a/(o+a),[i,100*e,100*n])}function p(t){return o(h(t))}function m(t){return l(h(t))}function v(t){return s(h(t))}function x(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,o=e-Math.floor(e),r=255*i*(1-n),l=255*i*(1-n*o),s=255*i*(1-n*(1-o)),i=255*i;switch(a){case 0:return[i,s,r];case 1:return[l,i,r];case 2:return[r,i,s];case 3:return[r,l,i];case 4:return[s,r,i];case 5:return[i,r,l]}}function y(t){var e,n,i=t[0],a=t[1]/100,o=t[2]/100;return n=(2-a)*o,e=a*o,e/=n<=1?n:2-n,e=e||0,n/=2,[i,100*e,100*n]}function k(t){return o(x(t))}function w(t){return l(x(t))}function M(t){return s(x(t))}function S(t){var e,n,i,a,o=t[0]/360,l=t[1]/100,s=t[2]/100,u=l+s;switch(u>1&&(l/=u,s/=u),e=Math.floor(6*o),n=1-s,i=6*o-e,0!=(1&e)&&(i=1-i),a=l+i*(n-l),e){default:case 6:case 0:r=n,g=a,b=l;break;case 1:r=a,g=n,b=l;break;case 2:r=l,g=n,b=a;break;case 3:r=l,g=a,b=n;break;case 4:r=a,g=l,b=n;break;case 5:r=n,g=l,b=a}return[255*r,255*g,255*b]}function C(t){return i(S(t))}function D(t){return a(S(t))}function I(t){return l(S(t))}function A(t){return s(S(t))}function P(t){var e,n,i,a=t[0]/100,o=t[1]/100,r=t[2]/100,l=t[3]/100;return e=1-Math.min(1,a*(1-l)+l),n=1-Math.min(1,o*(1-l)+l),i=1-Math.min(1,r*(1-l)+l),[255*e,255*n,255*i]}function _(t){return i(P(t))}function T(t){return a(P(t))}function F(t){return o(P(t))}function R(t){return s(P(t))}function L(t){var e,n,i,a=t[0]/100,o=t[1]/100,r=t[2]/100;return e=3.2406*a+o*-1.5372+r*-.4986,n=a*-.9689+1.8758*o+.0415*r,i=.0557*a+o*-.204+1.057*r,e=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,e=Math.min(Math.max(0,e),1),n=Math.min(Math.max(0,n),1),i=Math.min(Math.max(0,i),1),[255*e,255*n,255*i]}function V(t){var e,n,i,a=t[0],o=t[1],r=t[2];return a/=95.047,o/=100,r/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,e=116*o-16,n=500*(a-o),i=200*(o-r),[e,n,i]}function O(t){return B(V(t))}function z(t){var e,n,i,a,o=t[0],r=t[1],l=t[2];return o<=8?(n=100*o/903.3,a=7.787*(n/100)+16/116):(n=100*Math.pow((o+16)/116,3),a=Math.pow(n/100,1/3)),e=e/95.047<=.008856?e=95.047*(r/500+a-16/116)/7.787:95.047*Math.pow(r/500+a,3),i=i/108.883<=.008859?i=108.883*(a-l/200-16/116)/7.787:108.883*Math.pow(a-l/200,3),[e,n,i]}function B(t){var e,n,i,a=t[0],o=t[1],r=t[2];return e=Math.atan2(r,o),n=360*e/2/Math.PI,n<0&&(n+=360),i=Math.sqrt(o*o+r*r),[a,i,n]}function W(t){return L(z(t))}function N(t){var e,n,i,a=t[0],o=t[1],r=t[2];return i=r/360*2*Math.PI,e=o*Math.cos(i),n=o*Math.sin(i),[a,e,n]}function E(t){return z(N(t))}function H(t){return W(N(t))}function q(t){return J[t]}function j(t){return i(q(t))}function Y(t){return a(q(t))}function U(t){return o(q(t))}function X(t){return l(q(t))}function K(t){return d(q(t))}function G(t){return u(q(t))}e.exports={rgb2hsl:i,rgb2hsv:a,rgb2hwb:o,rgb2cmyk:l,rgb2keyword:s,rgb2xyz:u,rgb2lab:d,rgb2lch:c,hsl2rgb:h,hsl2hsv:f,hsl2hwb:p,hsl2cmyk:m,hsl2keyword:v,hsv2rgb:x,hsv2hsl:y,hsv2hwb:k,hsv2cmyk:w,hsv2keyword:M,hwb2rgb:S,hwb2hsl:C,hwb2hsv:D,hwb2cmyk:I,hwb2keyword:A,cmyk2rgb:P,cmyk2hsl:_,cmyk2hsv:T,cmyk2hwb:F,cmyk2keyword:R,keyword2rgb:q,keyword2hsl:j,keyword2hsv:Y,keyword2hwb:U,keyword2cmyk:X,keyword2lab:K,keyword2xyz:G,xyz2rgb:L,xyz2lab:V,xyz2lch:O,lab2xyz:z,lab2rgb:W,lab2lch:B,lch2lab:N,lch2xyz:E,lch2rgb:H};var J={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Z={};for(var Q in J)Z[JSON.stringify(J[Q])]=Q},{}],5:[function(t,e,n){var i=t(4),a=function(){return new u};for(var o in i){a[o+"Raw"]=function(t){return function(e){return"number"==typeof e&&(e=Array.prototype.slice.call(arguments)),i[t](e)}}(o);var r=/(\w+)2(\w+)/.exec(o),l=r[1],s=r[2];a[l]=a[l]||{},a[l][s]=a[o]=function(t){return function(e){"number"==typeof e&&(e=Array.prototype.slice.call(arguments));var n=i[t](e);if("string"==typeof n||void 0===n)return n;for(var a=0;a<n.length;a++)n[a]=Math.round(n[a]);return n}}(o)}var u=function(){this.convs={}};u.prototype.routeSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n))},u.prototype.setValues=function(t,e){return this.space=t,this.convs={},this.convs[t]=e,this},u.prototype.getValues=function(t){var e=this.convs[t];if(!e){var n=this.space,i=this.convs[n];e=a[n][t](i),this.convs[t]=e}return e},["rgb","hsl","hsv","cmyk","keyword"].forEach(function(t){u.prototype[t]=function(e){return this.routeSpace(t,arguments)}}),e.exports=a},{4:4}],6:[function(t,e,n){e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],7:[function(t,e,n){var i=t(28)();t(26)(i),t(40)(i),t(22)(i),t(25)(i),t(30)(i),t(21)(i),t(23)(i),t(24)(i),t(29)(i),t(32)(i),t(33)(i),t(31)(i),t(27)(i),t(34)(i),t(35)(i),t(36)(i),t(37)(i),t(38)(i),t(46)(i),t(44)(i),t(45)(i),t(47)(i),t(48)(i),t(49)(i),t(15)(i),t(16)(i),t(17)(i),t(18)(i),t(19)(i),t(20)(i),t(8)(i),t(9)(i),t(10)(i),t(11)(i),t(12)(i),t(13)(i),t(14)(i);var a=[];a.push(t(41)(i),t(42)(i),t(43)(i)),i.plugins.register(a),e.exports=i,"undefined"!=typeof window&&(window.Chart=i)},{10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,36:36,37:37,38:38,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,8:8,9:9}],8:[function(t,e,n){"use strict";e.exports=function(t){t.Bar=function(e,n){return n.type="bar",new t(e,n)}}},{}],9:[function(t,e,n){"use strict";e.exports=function(t){t.Bubble=function(e,n){return n.type="bubble",new t(e,n)}}},{}],10:[function(t,e,n){"use strict";e.exports=function(t){t.Doughnut=function(e,n){return n.type="doughnut",new t(e,n)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t){t.Line=function(e,n){return n.type="line",new t(e,n)}}},{}],12:[function(t,e,n){"use strict";e.exports=function(t){t.PolarArea=function(e,n){return n.type="polarArea",new t(e,n)}}},{}],13:[function(t,e,n){"use strict";e.exports=function(t){t.Radar=function(e,n){return n.type="radar",new t(e,n)}}},{}],14:[function(t,e,n){"use strict";e.exports=function(t){var e={hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-1"}],yAxes:[{type:"linear",position:"left",id:"y-axis-1"}]},tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}};t.defaults.scatter=e,t.controllers.scatter=t.controllers.line,t.Scatter=function(e,n){return n.type="scatter",new t(e,n)}}},{}],15:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.bar={hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}},t.controllers.bar=t.DatasetController.extend({dataElementType:t.elements.Rectangle,initialize:function(){var e,n=this;t.DatasetController.prototype.initialize.apply(n,arguments),e=n.getMeta(),e.stack=n.getDataset().stack,e.bar=!0},update:function(t){var e,n,i=this,a=i.getMeta().data;for(i._ruler=i.getRuler(),e=0,n=a.length;e<n;++e)i.updateElement(a[e],e,t)},updateElement:function(t,n,i){var a=this,o=a.chart,r=a.getMeta(),l=a.getDataset(),s=t.custom||{},u=o.options.elements.rectangle;t._xScale=a.getScaleForId(r.xAxisID),t._yScale=a.getScaleForId(r.yAxisID),t._datasetIndex=a.index,t._index=n,t._model={datasetLabel:l.label,label:o.data.labels[n],borderSkipped:s.borderSkipped?s.borderSkipped:u.borderSkipped,backgroundColor:s.backgroundColor?s.backgroundColor:e.getValueAtIndexOrDefault(l.backgroundColor,n,u.backgroundColor),borderColor:s.borderColor?s.borderColor:e.getValueAtIndexOrDefault(l.borderColor,n,u.borderColor),borderWidth:s.borderWidth?s.borderWidth:e.getValueAtIndexOrDefault(l.borderWidth,n,u.borderWidth)},a.updateElementGeometry(t,n,i),t.pivot()},updateElementGeometry:function(t,e,n){var i=this,a=t._model,o=i.getValueScale(),r=o.getBasePixel(),l=o.isHorizontal(),s=i._ruler||i.getRuler(),u=i.calculateBarValuePixels(i.index,e),d=i.calculateBarIndexPixels(i.index,e,s);a.horizontal=l,a.base=n?r:u.base,a.x=l?n?r:u.head:d.center,a.y=l?d.center:n?r:u.head,a.height=l?d.size:void 0,a.width=l?void 0:d.size},getValueScaleId:function(){return this.getMeta().yAxisID},getIndexScaleId:function(){return this.getMeta().xAxisID},getValueScale:function(){return this.getScaleForId(this.getValueScaleId())},getIndexScale:function(){return this.getScaleForId(this.getIndexScaleId())},getStackCount:function(t){var e,n,i=this,a=i.chart,o=i.getIndexScale(),r=o.options.stacked,l=void 0===t?a.data.datasets.length:t+1,s=[];for(e=0;e<l;++e)n=a.getDatasetMeta(e),n.bar&&a.isDatasetVisible(e)&&(r===!1||r===!0&&s.indexOf(n.stack)===-1||void 0===r&&(void 0===n.stack||s.indexOf(n.stack)===-1))&&s.push(n.stack);return s.length},getStackIndex:function(t){return this.getStackCount(t)-1},getRuler:function(){var t=this,n=t.getIndexScale(),i=n.options,a=t.getStackCount(),o=n.isHorizontal()?n.width:n.height,r=o/n.ticks.length,l=r*i.categoryPercentage,s=l/a,u=s*i.barPercentage;return u=Math.min(e.getValueOrDefault(i.barThickness,u),e.getValueOrDefault(i.maxBarThickness,1/0)),{stackCount:a,tickSize:r,categorySize:l,categorySpacing:r-l,fullBarSize:s,barSize:u,barSpacing:s-u,scale:n}},calculateBarValuePixels:function(t,e){var n,i,a,o,r,l,s=this,u=s.chart,d=s.getMeta(),c=s.getValueScale(),h=u.data.datasets,f=Number(h[t].data[e]),g=c.options.stacked,p=d.stack,m=0;if(g||void 0===g&&void 0!==p)for(n=0;n<t;++n)i=u.getDatasetMeta(n),i.bar&&i.stack===p&&i.controller.getValueScaleId()===c.id&&u.isDatasetVisible(n)&&(a=Number(h[n].data[e]),(f<0&&a<0||f>=0&&a>0)&&(m+=a));return o=c.getPixelForValue(m),r=c.getPixelForValue(m+f),l=(r-o)/2,{size:l,base:o,head:r,center:r+l/2}},calculateBarIndexPixels:function(t,e,n){var i=this,a=n.scale,o=i.chart.isCombo,r=i.getStackIndex(t),l=a.getPixelForValue(null,e,t,o),s=n.barSize;return l-=o?n.tickSize/2:0,l+=n.fullBarSize*r,l+=n.categorySpacing/2,l+=n.barSpacing/2,{size:s,base:l,head:l+s,center:l+s/2}},draw:function(){var t,n=this,i=n.chart,a=n.getMeta().data,o=n.getDataset(),r=a.length,l=0;for(e.canvas.clipArea(i.ctx,i.chartArea);l<r;++l)t=o.data[l],null===t||void 0===t||isNaN(t)||a[l].draw();e.canvas.unclipArea(i.ctx)},setHoverStyle:function(t){var n=this.chart.data.datasets[t._datasetIndex],i=t._index,a=t.custom||{},o=t._model;o.backgroundColor=a.hoverBackgroundColor?a.hoverBackgroundColor:e.getValueAtIndexOrDefault(n.hoverBackgroundColor,i,e.getHoverColor(o.backgroundColor)),o.borderColor=a.hoverBorderColor?a.hoverBorderColor:e.getValueAtIndexOrDefault(n.hoverBorderColor,i,e.getHoverColor(o.borderColor)),o.borderWidth=a.hoverBorderWidth?a.hoverBorderWidth:e.getValueAtIndexOrDefault(n.hoverBorderWidth,i,o.borderWidth)},removeHoverStyle:function(t){var n=this.chart.data.datasets[t._datasetIndex],i=t._index,a=t.custom||{},o=t._model,r=this.chart.options.elements.rectangle;o.backgroundColor=a.backgroundColor?a.backgroundColor:e.getValueAtIndexOrDefault(n.backgroundColor,i,r.backgroundColor),o.borderColor=a.borderColor?a.borderColor:e.getValueAtIndexOrDefault(n.borderColor,i,r.borderColor),o.borderWidth=a.borderWidth?a.borderWidth:e.getValueAtIndexOrDefault(n.borderWidth,i,r.borderWidth)}}),t.defaults.horizontalBar={hover:{mode:"label"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(t,e){var n="";return t.length>0&&(t[0].yLabel?n=t[0].yLabel:e.labels.length>0&&t[0].index<e.labels.length&&(n=e.labels[t[0].index])),n},label:function(t,e){var n=e.datasets[t.datasetIndex].label||"";return n+": "+t.xLabel}}}},t.controllers.horizontalBar=t.controllers.bar.extend({getValueScaleId:function(){return this.getMeta().xAxisID},getIndexScaleId:function(){return this.getMeta().yAxisID}})}},{}],16:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.bubble={hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(t,e){var n=e.datasets[t.datasetIndex].label||"",i=e.datasets[t.datasetIndex].data[t.index];return n+": ("+t.xLabel+", "+t.yLabel+", "+i.r+")"}}}},t.controllers.bubble=t.DatasetController.extend({dataElementType:t.elements.Point,update:function(t){var n=this,i=n.getMeta(),a=i.data;e.each(a,function(e,i){n.updateElement(e,i,t)})},updateElement:function(n,i,a){var o=this,r=o.getMeta(),l=o.getScaleForId(r.xAxisID),s=o.getScaleForId(r.yAxisID),u=n.custom||{},d=o.getDataset(),c=d.data[i],h=o.chart.options.elements.point,f=o.index;e.extend(n,{_xScale:l,_yScale:s,_datasetIndex:f,_index:i,_model:{x:a?l.getPixelForDecimal(.5):l.getPixelForValue("object"==typeof c?c:NaN,i,f,o.chart.isCombo),y:a?s.getBasePixel():s.getPixelForValue(c,i,f),radius:a?0:u.radius?u.radius:o.getRadius(c),hitRadius:u.hitRadius?u.hitRadius:e.getValueAtIndexOrDefault(d.hitRadius,i,h.hitRadius)}}),t.DatasetController.prototype.removeHoverStyle.call(o,n,h);var g=n._model;g.skip=u.skip?u.skip:isNaN(g.x)||isNaN(g.y),n.pivot()},getRadius:function(t){return t.r||this.chart.options.elements.point.radius},setHoverStyle:function(n){var i=this;t.DatasetController.prototype.setHoverStyle.call(i,n);var a=i.chart.data.datasets[n._datasetIndex],o=n._index,r=n.custom||{},l=n._model;
l.radius=r.hoverRadius?r.hoverRadius:e.getValueAtIndexOrDefault(a.hoverRadius,o,i.chart.options.elements.point.hoverRadius)+i.getRadius(a.data[o])},removeHoverStyle:function(e){var n=this;t.DatasetController.prototype.removeHoverStyle.call(n,e,n.chart.options.elements.point);var i=n.chart.data.datasets[e._datasetIndex].data[e._index],a=e.custom||{},o=e._model;o.radius=a.radius?a.radius:n.getRadius(i)}})}},{}],17:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n=t.defaults;n.doughnut={animation:{animateRotate:!0,animateScale:!1},aspectRatio:1,hover:{mode:"single"},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var n=t.data,i=n.datasets,a=n.labels;if(i.length)for(var o=0;o<i[0].data.length;++o)e.push('<li><span style="background-color:'+i[0].backgroundColor[o]+'"></span>'),a[o]&&e.push(a[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var n=t.data;return n.labels.length&&n.datasets.length?n.labels.map(function(i,a){var o=t.getDatasetMeta(0),r=n.datasets[0],l=o.data[a],s=l&&l.custom||{},u=e.getValueAtIndexOrDefault,d=t.options.elements.arc,c=s.backgroundColor?s.backgroundColor:u(r.backgroundColor,a,d.backgroundColor),h=s.borderColor?s.borderColor:u(r.borderColor,a,d.borderColor),f=s.borderWidth?s.borderWidth:u(r.borderWidth,a,d.borderWidth);return{text:i,fillStyle:c,strokeStyle:h,lineWidth:f,hidden:isNaN(r.data[a])||o.data[a].hidden,index:a}}):[]}},onClick:function(t,e){var n,i,a,o=e.index,r=this.chart;for(n=0,i=(r.data.datasets||[]).length;n<i;++n)a=r.getDatasetMeta(n),a.data[o]&&(a.data[o].hidden=!a.data[o].hidden);r.update()}},cutoutPercentage:50,rotation:Math.PI*-.5,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return""},label:function(t,n){var i=n.labels[t.index],a=": "+n.datasets[t.datasetIndex].data[t.index];return e.isArray(i)?(i=i.slice(),i[0]+=a):i+=a,i}}}},n.pie=e.clone(n.doughnut),e.extend(n.pie,{cutoutPercentage:0}),t.controllers.doughnut=t.controllers.pie=t.DatasetController.extend({dataElementType:t.elements.Arc,linkScales:e.noop,getRingIndex:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&++e;return e},update:function(t){var n=this,i=n.chart,a=i.chartArea,o=i.options,r=o.elements.arc,l=a.right-a.left-r.borderWidth,s=a.bottom-a.top-r.borderWidth,u=Math.min(l,s),d={x:0,y:0},c=n.getMeta(),h=o.cutoutPercentage,f=o.circumference;if(f<2*Math.PI){var g=o.rotation%(2*Math.PI);g+=2*Math.PI*(g>=Math.PI?-1:g<-Math.PI?1:0);var p=g+f,m={x:Math.cos(g),y:Math.sin(g)},v={x:Math.cos(p),y:Math.sin(p)},b=g<=0&&0<=p||g<=2*Math.PI&&2*Math.PI<=p,x=g<=.5*Math.PI&&.5*Math.PI<=p||g<=2.5*Math.PI&&2.5*Math.PI<=p,y=g<=-Math.PI&&-Math.PI<=p||g<=Math.PI&&Math.PI<=p,k=g<=.5*-Math.PI&&.5*-Math.PI<=p||g<=1.5*Math.PI&&1.5*Math.PI<=p,w=h/100,M={x:y?-1:Math.min(m.x*(m.x<0?1:w),v.x*(v.x<0?1:w)),y:k?-1:Math.min(m.y*(m.y<0?1:w),v.y*(v.y<0?1:w))},S={x:b?1:Math.max(m.x*(m.x>0?1:w),v.x*(v.x>0?1:w)),y:x?1:Math.max(m.y*(m.y>0?1:w),v.y*(v.y>0?1:w))},C={width:.5*(S.x-M.x),height:.5*(S.y-M.y)};u=Math.min(l/C.width,s/C.height),d={x:(S.x+M.x)*-.5,y:(S.y+M.y)*-.5}}i.borderWidth=n.getMaxBorderWidth(c.data),i.outerRadius=Math.max((u-i.borderWidth)/2,0),i.innerRadius=Math.max(h?i.outerRadius/100*h:0,0),i.radiusLength=(i.outerRadius-i.innerRadius)/i.getVisibleDatasetCount(),i.offsetX=d.x*i.outerRadius,i.offsetY=d.y*i.outerRadius,c.total=n.calculateTotal(),n.outerRadius=i.outerRadius-i.radiusLength*n.getRingIndex(n.index),n.innerRadius=Math.max(n.outerRadius-i.radiusLength,0),e.each(c.data,function(e,i){n.updateElement(e,i,t)})},updateElement:function(t,n,i){var a=this,o=a.chart,r=o.chartArea,l=o.options,s=l.animation,u=(r.left+r.right)/2,d=(r.top+r.bottom)/2,c=l.rotation,h=l.rotation,f=a.getDataset(),g=i&&s.animateRotate?0:t.hidden?0:a.calculateCircumference(f.data[n])*(l.circumference/(2*Math.PI)),p=i&&s.animateScale?0:a.innerRadius,m=i&&s.animateScale?0:a.outerRadius,v=e.getValueAtIndexOrDefault;e.extend(t,{_datasetIndex:a.index,_index:n,_model:{x:u+o.offsetX,y:d+o.offsetY,startAngle:c,endAngle:h,circumference:g,outerRadius:m,innerRadius:p,label:v(f.label,n,o.data.labels[n])}});var b=t._model;this.removeHoverStyle(t),i&&s.animateRotate||(0===n?b.startAngle=l.rotation:b.startAngle=a.getMeta().data[n-1]._model.endAngle,b.endAngle=b.startAngle+b.circumference),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},calculateTotal:function(){var t,n=this.getDataset(),i=this.getMeta(),a=0;return e.each(i.data,function(e,i){t=n.data[i],isNaN(t)||e.hidden||(a+=Math.abs(t))}),a},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(t/e):0},getMaxBorderWidth:function(t){for(var e,n,i=0,a=this.index,o=t.length,r=0;r<o;r++)e=t[r]._model?t[r]._model.borderWidth:0,n=t[r]._chart?t[r]._chart.config.data.datasets[a].hoverBorderWidth:0,i=e>i?e:i,i=n>i?n:i;return i}})}},{}],18:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){return n.getValueOrDefault(t.showLine,e.showLines)}var n=t.helpers;t.defaults.line={showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}},t.controllers.line=t.DatasetController.extend({datasetElementType:t.elements.Line,dataElementType:t.elements.Point,update:function(t){var i,a,o,r=this,l=r.getMeta(),s=l.dataset,u=l.data||[],d=r.chart.options,c=d.elements.line,h=r.getScaleForId(l.yAxisID),f=r.getDataset(),g=e(f,d);for(g&&(o=s.custom||{},void 0!==f.tension&&void 0===f.lineTension&&(f.lineTension=f.tension),s._scale=h,s._datasetIndex=r.index,s._children=u,s._model={spanGaps:f.spanGaps?f.spanGaps:d.spanGaps,tension:o.tension?o.tension:n.getValueOrDefault(f.lineTension,c.tension),backgroundColor:o.backgroundColor?o.backgroundColor:f.backgroundColor||c.backgroundColor,borderWidth:o.borderWidth?o.borderWidth:f.borderWidth||c.borderWidth,borderColor:o.borderColor?o.borderColor:f.borderColor||c.borderColor,borderCapStyle:o.borderCapStyle?o.borderCapStyle:f.borderCapStyle||c.borderCapStyle,borderDash:o.borderDash?o.borderDash:f.borderDash||c.borderDash,borderDashOffset:o.borderDashOffset?o.borderDashOffset:f.borderDashOffset||c.borderDashOffset,borderJoinStyle:o.borderJoinStyle?o.borderJoinStyle:f.borderJoinStyle||c.borderJoinStyle,fill:o.fill?o.fill:void 0!==f.fill?f.fill:c.fill,steppedLine:o.steppedLine?o.steppedLine:n.getValueOrDefault(f.steppedLine,c.stepped),cubicInterpolationMode:o.cubicInterpolationMode?o.cubicInterpolationMode:n.getValueOrDefault(f.cubicInterpolationMode,c.cubicInterpolationMode)},s.pivot()),i=0,a=u.length;i<a;++i)r.updateElement(u[i],i,t);for(g&&0!==s._model.tension&&r.updateBezierControlPoints(),i=0,a=u.length;i<a;++i)u[i].pivot()},getPointBackgroundColor:function(t,e){var i=this.chart.options.elements.point.backgroundColor,a=this.getDataset(),o=t.custom||{};return o.backgroundColor?i=o.backgroundColor:a.pointBackgroundColor?i=n.getValueAtIndexOrDefault(a.pointBackgroundColor,e,i):a.backgroundColor&&(i=a.backgroundColor),i},getPointBorderColor:function(t,e){var i=this.chart.options.elements.point.borderColor,a=this.getDataset(),o=t.custom||{};return o.borderColor?i=o.borderColor:a.pointBorderColor?i=n.getValueAtIndexOrDefault(a.pointBorderColor,e,i):a.borderColor&&(i=a.borderColor),i},getPointBorderWidth:function(t,e){var i=this.chart.options.elements.point.borderWidth,a=this.getDataset(),o=t.custom||{};return isNaN(o.borderWidth)?isNaN(a.pointBorderWidth)?isNaN(a.borderWidth)||(i=a.borderWidth):i=n.getValueAtIndexOrDefault(a.pointBorderWidth,e,i):i=o.borderWidth,i},updateElement:function(t,e,i){var a,o,r=this,l=r.getMeta(),s=t.custom||{},u=r.getDataset(),d=r.index,c=u.data[e],h=r.getScaleForId(l.yAxisID),f=r.getScaleForId(l.xAxisID),g=r.chart.options.elements.point,p=r.chart.data.labels||[],m=1===p.length||1===u.data.length||r.chart.isCombo;void 0!==u.radius&&void 0===u.pointRadius&&(u.pointRadius=u.radius),void 0!==u.hitRadius&&void 0===u.pointHitRadius&&(u.pointHitRadius=u.hitRadius),a=f.getPixelForValue("object"==typeof c?c:NaN,e,d,m),o=i?h.getBasePixel():r.calculatePointY(c,e,d),t._xScale=f,t._yScale=h,t._datasetIndex=d,t._index=e,t._model={x:a,y:o,skip:s.skip||isNaN(a)||isNaN(o),radius:s.radius||n.getValueAtIndexOrDefault(u.pointRadius,e,g.radius),pointStyle:s.pointStyle||n.getValueAtIndexOrDefault(u.pointStyle,e,g.pointStyle),backgroundColor:r.getPointBackgroundColor(t,e),borderColor:r.getPointBorderColor(t,e),borderWidth:r.getPointBorderWidth(t,e),tension:l.dataset._model?l.dataset._model.tension:0,steppedLine:!!l.dataset._model&&l.dataset._model.steppedLine,hitRadius:s.hitRadius||n.getValueAtIndexOrDefault(u.pointHitRadius,e,g.hitRadius)}},calculatePointY:function(t,e,n){var i,a,o,r=this,l=r.chart,s=r.getMeta(),u=r.getScaleForId(s.yAxisID),d=0,c=0;if(u.options.stacked){for(i=0;i<n;i++)if(a=l.data.datasets[i],o=l.getDatasetMeta(i),"line"===o.type&&o.yAxisID===u.id&&l.isDatasetVisible(i)){var h=Number(u.getRightValue(a.data[e]));h<0?c+=h||0:d+=h||0}var f=Number(u.getRightValue(t));return f<0?u.getPixelForValue(c+f):u.getPixelForValue(d+f)}return u.getPixelForValue(t)},updateBezierControlPoints:function(){function t(t,e,n){return Math.max(Math.min(t,n),e)}var e,i,a,o,r,l=this,s=l.getMeta(),u=l.chart.chartArea,d=s.data||[];if(s.dataset._model.spanGaps&&(d=d.filter(function(t){return!t._model.skip})),"monotone"===s.dataset._model.cubicInterpolationMode)n.splineCurveMonotone(d);else for(e=0,i=d.length;e<i;++e)a=d[e],o=a._model,r=n.splineCurve(n.previousItem(d,e)._model,o,n.nextItem(d,e)._model,s.dataset._model.tension),o.controlPointPreviousX=r.previous.x,o.controlPointPreviousY=r.previous.y,o.controlPointNextX=r.next.x,o.controlPointNextY=r.next.y;if(l.chart.options.elements.line.capBezierPoints)for(e=0,i=d.length;e<i;++e)o=d[e]._model,o.controlPointPreviousX=t(o.controlPointPreviousX,u.left,u.right),o.controlPointPreviousY=t(o.controlPointPreviousY,u.top,u.bottom),o.controlPointNextX=t(o.controlPointNextX,u.left,u.right),o.controlPointNextY=t(o.controlPointNextY,u.top,u.bottom)},draw:function(){var n=this,i=n.chart,a=n.getMeta(),o=a.data||[],r=i.chartArea,l=o.length,s=0;for(t.canvasHelpers.clipArea(i.ctx,r),e(n.getDataset(),i.options)&&a.dataset.draw(),t.canvasHelpers.unclipArea(i.ctx);s<l;++s)o[s].draw(r)},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],i=t._index,a=t.custom||{},o=t._model;o.radius=a.hoverRadius||n.getValueAtIndexOrDefault(e.pointHoverRadius,i,this.chart.options.elements.point.hoverRadius),o.backgroundColor=a.hoverBackgroundColor||n.getValueAtIndexOrDefault(e.pointHoverBackgroundColor,i,n.getHoverColor(o.backgroundColor)),o.borderColor=a.hoverBorderColor||n.getValueAtIndexOrDefault(e.pointHoverBorderColor,i,n.getHoverColor(o.borderColor)),o.borderWidth=a.hoverBorderWidth||n.getValueAtIndexOrDefault(e.pointHoverBorderWidth,i,o.borderWidth)},removeHoverStyle:function(t){var e=this,i=e.chart.data.datasets[t._datasetIndex],a=t._index,o=t.custom||{},r=t._model;void 0!==i.radius&&void 0===i.pointRadius&&(i.pointRadius=i.radius),r.radius=o.radius||n.getValueAtIndexOrDefault(i.pointRadius,a,e.chart.options.elements.point.radius),r.backgroundColor=e.getPointBackgroundColor(t,a),r.borderColor=e.getPointBorderColor(t,a),r.borderWidth=e.getPointBorderWidth(t,a)}})}},{}],19:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.polarArea={scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,aspectRatio:1,legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var n=t.data,i=n.datasets,a=n.labels;if(i.length)for(var o=0;o<i[0].data.length;++o)e.push('<li><span style="background-color:'+i[0].backgroundColor[o]+'"></span>'),a[o]&&e.push(a[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var n=t.data;return n.labels.length&&n.datasets.length?n.labels.map(function(i,a){var o=t.getDatasetMeta(0),r=n.datasets[0],l=o.data[a],s=l.custom||{},u=e.getValueAtIndexOrDefault,d=t.options.elements.arc,c=s.backgroundColor?s.backgroundColor:u(r.backgroundColor,a,d.backgroundColor),h=s.borderColor?s.borderColor:u(r.borderColor,a,d.borderColor),f=s.borderWidth?s.borderWidth:u(r.borderWidth,a,d.borderWidth);return{text:i,fillStyle:c,strokeStyle:h,lineWidth:f,hidden:isNaN(r.data[a])||o.data[a].hidden,index:a}}):[]}},onClick:function(t,e){var n,i,a,o=e.index,r=this.chart;for(n=0,i=(r.data.datasets||[]).length;n<i;++n)a=r.getDatasetMeta(n),a.data[o].hidden=!a.data[o].hidden;r.update()}},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return e.labels[t.index]+": "+t.yLabel}}}},t.controllers.polarArea=t.DatasetController.extend({dataElementType:t.elements.Arc,linkScales:e.noop,update:function(t){var n=this,i=n.chart,a=i.chartArea,o=n.getMeta(),r=i.options,l=r.elements.arc,s=Math.min(a.right-a.left,a.bottom-a.top);i.outerRadius=Math.max((s-l.borderWidth/2)/2,0),i.innerRadius=Math.max(r.cutoutPercentage?i.outerRadius/100*r.cutoutPercentage:1,0),i.radiusLength=(i.outerRadius-i.innerRadius)/i.getVisibleDatasetCount(),n.outerRadius=i.outerRadius-i.radiusLength*n.index,n.innerRadius=n.outerRadius-i.radiusLength,o.count=n.countVisibleElements(),e.each(o.data,function(e,i){n.updateElement(e,i,t)})},updateElement:function(t,n,i){for(var a=this,o=a.chart,r=a.getDataset(),l=o.options,s=l.animation,u=o.scale,d=e.getValueAtIndexOrDefault,c=o.data.labels,h=a.calculateCircumference(r.data[n]),f=u.xCenter,g=u.yCenter,p=0,m=a.getMeta(),v=0;v<n;++v)isNaN(r.data[v])||m.data[v].hidden||++p;var b=l.startAngle,x=t.hidden?0:u.getDistanceFromCenterForValue(r.data[n]),y=b+h*p,k=y+(t.hidden?0:h),w=s.animateScale?0:u.getDistanceFromCenterForValue(r.data[n]);e.extend(t,{_datasetIndex:a.index,_index:n,_scale:u,_model:{x:f,y:g,innerRadius:0,outerRadius:i?w:x,startAngle:i&&s.animateRotate?b:y,endAngle:i&&s.animateRotate?b:k,label:d(c,n,c[n])}}),a.removeHoverStyle(t),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},countVisibleElements:function(){var t=this.getDataset(),n=this.getMeta(),i=0;return e.each(n.data,function(e,n){isNaN(t.data[n])||e.hidden||i++}),i},calculateCircumference:function(t){var e=this.getMeta().count;return e>0&&!isNaN(t)?2*Math.PI/e:0}})}},{}],20:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.radar={aspectRatio:1,scale:{type:"radialLinear"},elements:{line:{tension:0}}},t.controllers.radar=t.DatasetController.extend({datasetElementType:t.elements.Line,dataElementType:t.elements.Point,linkScales:e.noop,update:function(t){var n=this,i=n.getMeta(),a=i.dataset,o=i.data,r=a.custom||{},l=n.getDataset(),s=n.chart.options.elements.line,u=n.chart.scale;void 0!==l.tension&&void 0===l.lineTension&&(l.lineTension=l.tension),e.extend(i.dataset,{_datasetIndex:n.index,_scale:u,_children:o,_loop:!0,_model:{tension:r.tension?r.tension:e.getValueOrDefault(l.lineTension,s.tension),backgroundColor:r.backgroundColor?r.backgroundColor:l.backgroundColor||s.backgroundColor,borderWidth:r.borderWidth?r.borderWidth:l.borderWidth||s.borderWidth,borderColor:r.borderColor?r.borderColor:l.borderColor||s.borderColor,fill:r.fill?r.fill:void 0!==l.fill?l.fill:s.fill,borderCapStyle:r.borderCapStyle?r.borderCapStyle:l.borderCapStyle||s.borderCapStyle,borderDash:r.borderDash?r.borderDash:l.borderDash||s.borderDash,borderDashOffset:r.borderDashOffset?r.borderDashOffset:l.borderDashOffset||s.borderDashOffset,borderJoinStyle:r.borderJoinStyle?r.borderJoinStyle:l.borderJoinStyle||s.borderJoinStyle}}),i.dataset.pivot(),e.each(o,function(e,i){n.updateElement(e,i,t)},n),n.updateBezierControlPoints()},updateElement:function(t,n,i){var a=this,o=t.custom||{},r=a.getDataset(),l=a.chart.scale,s=a.chart.options.elements.point,u=l.getPointPositionForValue(n,r.data[n]);void 0!==r.radius&&void 0===r.pointRadius&&(r.pointRadius=r.radius),void 0!==r.hitRadius&&void 0===r.pointHitRadius&&(r.pointHitRadius=r.hitRadius),e.extend(t,{_datasetIndex:a.index,_index:n,_scale:l,_model:{x:i?l.xCenter:u.x,y:i?l.yCenter:u.y,tension:o.tension?o.tension:e.getValueOrDefault(r.lineTension,a.chart.options.elements.line.tension),radius:o.radius?o.radius:e.getValueAtIndexOrDefault(r.pointRadius,n,s.radius),backgroundColor:o.backgroundColor?o.backgroundColor:e.getValueAtIndexOrDefault(r.pointBackgroundColor,n,s.backgroundColor),borderColor:o.borderColor?o.borderColor:e.getValueAtIndexOrDefault(r.pointBorderColor,n,s.borderColor),borderWidth:o.borderWidth?o.borderWidth:e.getValueAtIndexOrDefault(r.pointBorderWidth,n,s.borderWidth),pointStyle:o.pointStyle?o.pointStyle:e.getValueAtIndexOrDefault(r.pointStyle,n,s.pointStyle),hitRadius:o.hitRadius?o.hitRadius:e.getValueAtIndexOrDefault(r.pointHitRadius,n,s.hitRadius)}}),t._model.skip=o.skip?o.skip:isNaN(t._model.x)||isNaN(t._model.y)},updateBezierControlPoints:function(){var t=this.chart.chartArea,n=this.getMeta();e.each(n.data,function(i,a){var o=i._model,r=e.splineCurve(e.previousItem(n.data,a,!0)._model,o,e.nextItem(n.data,a,!0)._model,o.tension);o.controlPointPreviousX=Math.max(Math.min(r.previous.x,t.right),t.left),o.controlPointPreviousY=Math.max(Math.min(r.previous.y,t.bottom),t.top),o.controlPointNextX=Math.max(Math.min(r.next.x,t.right),t.left),o.controlPointNextY=Math.max(Math.min(r.next.y,t.bottom),t.top),i.pivot()})},setHoverStyle:function(t){var n=this.chart.data.datasets[t._datasetIndex],i=t.custom||{},a=t._index,o=t._model;o.radius=i.hoverRadius?i.hoverRadius:e.getValueAtIndexOrDefault(n.pointHoverRadius,a,this.chart.options.elements.point.hoverRadius),o.backgroundColor=i.hoverBackgroundColor?i.hoverBackgroundColor:e.getValueAtIndexOrDefault(n.pointHoverBackgroundColor,a,e.getHoverColor(o.backgroundColor)),o.borderColor=i.hoverBorderColor?i.hoverBorderColor:e.getValueAtIndexOrDefault(n.pointHoverBorderColor,a,e.getHoverColor(o.borderColor)),o.borderWidth=i.hoverBorderWidth?i.hoverBorderWidth:e.getValueAtIndexOrDefault(n.pointHoverBorderWidth,a,o.borderWidth)},removeHoverStyle:function(t){var n=this.chart.data.datasets[t._datasetIndex],i=t.custom||{},a=t._index,o=t._model,r=this.chart.options.elements.point;o.radius=i.radius?i.radius:e.getValueAtIndexOrDefault(n.pointRadius,a,r.radius),o.backgroundColor=i.backgroundColor?i.backgroundColor:e.getValueAtIndexOrDefault(n.pointBackgroundColor,a,r.backgroundColor),o.borderColor=i.borderColor?i.borderColor:e.getValueAtIndexOrDefault(n.pointBorderColor,a,r.borderColor),o.borderWidth=i.borderWidth?i.borderWidth:e.getValueAtIndexOrDefault(n.pointBorderWidth,a,r.borderWidth)}})}},{}],21:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.global.animation={duration:1e3,easing:"easeOutQuart",onProgress:e.noop,onComplete:e.noop},t.Animation=t.Element.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),t.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(t,e,n,i){var a,o,r=this.animations;for(e.chart=t,i||(t.animating=!0),a=0,o=r.length;a<o;++a)if(r[a].chart===t)return void(r[a]=e);r.push(e),1===r.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var n=e.findIndex(this.animations,function(e){return e.chart===t});n!==-1&&(this.animations.splice(n,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=e.requestAnimFrame.call(window,function(){t.request=null,t.startDigest()}))},startDigest:function(){var t=this,e=Date.now(),n=0;t.dropFrames>1&&(n=Math.floor(t.dropFrames),t.dropFrames=t.dropFrames%1),t.advance(1+n);var i=Date.now();t.dropFrames+=(i-e)/t.frameDuration,t.animations.length>0&&t.requestAnimationFrame()},advance:function(t){for(var n,i,a=this.animations,o=0;o<a.length;)n=a[o],i=n.chart,n.currentStep=(n.currentStep||0)+t,n.currentStep=Math.min(n.currentStep,n.numSteps),e.callback(n.render,[i,n],i),e.callback(n.onAnimationProgress,[n],i),n.currentStep>=n.numSteps?(e.callback(n.onAnimationComplete,[n],i),i.animating=!1,a.splice(o,1)):++o}},Object.defineProperty(t.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(t.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}})}},{}],22:[function(t,e,n){"use strict";e.exports=function(t){var e=t.canvasHelpers={};e.drawPoint=function(e,n,i,a,o){var r,l,s,u,d,c;if("object"==typeof n&&(r=n.toString(),"[object HTMLImageElement]"===r||"[object HTMLCanvasElement]"===r))return void e.drawImage(n,a-n.width/2,o-n.height/2,n.width,n.height);if(!(isNaN(i)||i<=0)){switch(n){default:e.beginPath(),e.arc(a,o,i,0,2*Math.PI),e.closePath(),e.fill();break;case"triangle":e.beginPath(),l=3*i/Math.sqrt(3),d=l*Math.sqrt(3)/2,e.moveTo(a-l/2,o+d/3),e.lineTo(a+l/2,o+d/3),e.lineTo(a,o-2*d/3),e.closePath(),e.fill();break;case"rect":c=1/Math.SQRT2*i,e.beginPath(),e.fillRect(a-c,o-c,2*c,2*c),e.strokeRect(a-c,o-c,2*c,2*c);break;case"rectRounded":var h=i/Math.SQRT2,f=a-h,g=o-h,p=Math.SQRT2*i;t.helpers.drawRoundedRectangle(e,f,g,p,p,i/2),e.fill();break;case"rectRot":c=1/Math.SQRT2*i,e.beginPath(),e.moveTo(a-c,o),e.lineTo(a,o+c),e.lineTo(a+c,o),e.lineTo(a,o-c),e.closePath(),e.fill();break;case"cross":e.beginPath(),e.moveTo(a,o+i),e.lineTo(a,o-i),e.moveTo(a-i,o),e.lineTo(a+i,o),e.closePath();break;case"crossRot":e.beginPath(),s=Math.cos(Math.PI/4)*i,u=Math.sin(Math.PI/4)*i,e.moveTo(a-s,o-u),e.lineTo(a+s,o+u),e.moveTo(a-s,o+u),e.lineTo(a+s,o-u),e.closePath();break;case"star":e.beginPath(),e.moveTo(a,o+i),e.lineTo(a,o-i),e.moveTo(a-i,o),e.lineTo(a+i,o),s=Math.cos(Math.PI/4)*i,u=Math.sin(Math.PI/4)*i,e.moveTo(a-s,o-u),e.lineTo(a+s,o+u),e.moveTo(a-s,o+u),e.lineTo(a+s,o-u),e.closePath();break;case"line":e.beginPath(),e.moveTo(a-i,o),e.lineTo(a+i,o),e.closePath();break;case"dash":e.beginPath(),e.moveTo(a,o),e.lineTo(a+i,o),e.closePath()}e.stroke()}},e.clipArea=function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},e.unclipArea=function(t){t.restore()},e.lineTo=function(t,e,n,i){return n.steppedLine?("after"===n.steppedLine?t.lineTo(e.x,n.y):t.lineTo(n.x,e.y),void t.lineTo(n.x,n.y)):n.tension?void t.bezierCurveTo(i?e.controlPointPreviousX:e.controlPointNextX,i?e.controlPointPreviousY:e.controlPointNextY,i?n.controlPointNextX:n.controlPointPreviousX,i?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):void t.lineTo(n.x,n.y)},t.helpers.canvas=e}},{}],23:[function(t,e,n){"use strict";e.exports=function(t){function e(e){e=e||{};var n=e.data=e.data||{};return n.datasets=n.datasets||[],n.labels=n.labels||[],e.options=a.configMerge(t.defaults.global,t.defaults[e.type],e.options||{}),e}function n(t){var e=t.options;e.scale?t.scale.options=e.scale:e.scales&&e.scales.xAxes.concat(e.scales.yAxes).forEach(function(e){t.scales[e.id].options=e}),t.tooltip._options=e.tooltips}function i(t){return"top"===t||"bottom"===t}var a=t.helpers,o=t.plugins,r=t.platform;t.types={},t.instances={},t.controllers={},a.extend(t.prototype,{construct:function(n,i){var o=this;i=e(i);var l=r.acquireContext(n,i),s=l&&l.canvas,u=s&&s.height,d=s&&s.width;return o.id=a.uid(),o.ctx=l,o.canvas=s,o.config=i,o.width=d,o.height=u,o.aspectRatio=u?d/u:null,o.options=i.options,o._bufferedRender=!1,o.chart=o,o.controller=o,t.instances[o.id]=o,Object.defineProperty(o,"data",{get:function(){return o.config.data},set:function(t){o.config.data=t}}),l&&s?(o.initialize(),void o.update()):void console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return o.notify(t,"beforeInit"),a.retinaScale(t),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildScales(),t.initToolTip(),o.notify(t,"afterInit"),t},clear:function(){return a.clear(this),this},stop:function(){return t.animationService.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,r=n.maintainAspectRatio&&e.aspectRatio||null,l=Math.floor(a.getMaximumWidth(i)),s=Math.floor(r?l/r:a.getMaximumHeight(i));if((e.width!==l||e.height!==s)&&(i.width=e.width=l,i.height=e.height=s,i.style.width=l+"px",i.style.height=s+"px",a.retinaScale(e),!t)){var u={width:l,height:s};o.notify(e,"resize",[u]),e.options.onResize&&e.options.onResize(e,u),e.stop(),e.update(e.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;a.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),a.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),n&&(n.id=n.id||"scale")},buildScales:function(){var e=this,n=e.options,o=e.scales={},r=[];n.scales&&(r=r.concat((n.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(n.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),n.scale&&r.push({options:n.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),a.each(r,function(n){var r=n.options,l=a.getValueOrDefault(r.type,n.dtype),s=t.scaleService.getScaleConstructor(l);if(s){i(r.position)!==i(n.dposition)&&(r.position=n.dposition);var u=new s({id:r.id,options:r,ctx:e.ctx,chart:e});o[u.id]=u,n.isDefault&&(e.scale=u)}}),t.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,n=[],i=[];if(a.each(e.data.datasets,function(a,o){var r=e.getDatasetMeta(o);if(r.type||(r.type=a.type||e.config.type),n.push(r.type),r.controller)r.controller.updateIndex(o);else{var l=t.controllers[r.type];if(void 0===l)throw new Error('"'+r.type+'" is not a chart type.');r.controller=new l(e,o),i.push(r.controller)}},e),n.length>1)for(var o=1;o<n.length;o++)if(n[o]!==n[o-1]){e.isCombo=!0;break}return i},resetElements:function(){var t=this;a.each(t.data.datasets,function(e,n){t.getDatasetMeta(n).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t,e){var i=this;if(n(i),o.notify(i,"beforeUpdate")!==!1){i.tooltip._data=i.data;var r=i.buildOrUpdateControllers();a.each(i.data.datasets,function(t,e){i.getDatasetMeta(e).controller.buildOrUpdateElements()},i),i.updateLayout(),a.each(r,function(t){t.reset()}),i.updateDatasets(),o.notify(i,"afterUpdate"),i._bufferedRender?i._bufferedRequest={lazy:e,duration:t}:i.render(t,e)}},updateLayout:function(){var e=this;o.notify(e,"beforeLayout")!==!1&&(t.layoutService.update(this,this.width,this.height),o.notify(e,"afterScaleUpdate"),o.notify(e,"afterLayout"))},updateDatasets:function(){var t=this;if(o.notify(t,"beforeDatasetsUpdate")!==!1){for(var e=0,n=t.data.datasets.length;e<n;++e)t.updateDataset(e);o.notify(t,"afterDatasetsUpdate")}},updateDataset:function(t){var e=this,n=e.getDatasetMeta(t),i={meta:n,index:t};o.notify(e,"beforeDatasetUpdate",[i])!==!1&&(n.controller.update(),o.notify(e,"afterDatasetUpdate",[i]))},render:function(e,n){var i=this;if(o.notify(i,"beforeRender")!==!1){var r=i.options.animation,l=function(t){o.notify(i,"afterRender"),a.callback(r&&r.onComplete,[t],i)};if(r&&("undefined"!=typeof e&&0!==e||"undefined"==typeof e&&0!==r.duration)){var s=new t.Animation({numSteps:(e||r.duration)/16.66,easing:r.easing,render:function(t,e){var n=a.easingEffects[e.easing],i=e.currentStep,o=i/e.numSteps;t.draw(n(o),o,i)},onAnimationProgress:r.onProgress,onAnimationComplete:l});t.animationService.addAnimation(i,s,e,n)}else i.draw(),l(new t.Animation({numSteps:0,chart:i}));return i}},draw:function(t){var e=this;e.clear(),void 0!==t&&null!==t||(t=1),e.transition(t),o.notify(e,"beforeDraw",[t])!==!1&&(a.each(e.boxes,function(t){t.draw(e.chartArea)},e),e.scale&&e.scale.draw(),e.drawDatasets(t),e.tooltip.draw(),o.notify(e,"afterDraw",[t]))},transition:function(t){for(var e=this,n=0,i=(e.data.datasets||[]).length;n<i;++n)e.isDatasetVisible(n)&&e.getDatasetMeta(n).controller.transition(t);e.tooltip.transition(t)},drawDatasets:function(t){var e=this;if(o.notify(e,"beforeDatasetsDraw",[t])!==!1){for(var n=(e.data.datasets||[]).length-1;n>=0;--n)e.isDatasetVisible(n)&&e.drawDataset(n,t);o.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n=this,i=n.getDatasetMeta(t),a={meta:i,index:t,easingValue:e};o.notify(n,"beforeDatasetDraw",[a])!==!1&&(i.controller.draw(e),o.notify(n,"afterDatasetDraw",[a]))},getElementAtEvent:function(e){return t.Interaction.modes.single(this,e)},getElementsAtEvent:function(e){return t.Interaction.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return t.Interaction.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,n,i){var a=t.Interaction.modes[n];return"function"==typeof a?a(this,e,i):[]},getDatasetAtEvent:function(e){return t.Interaction.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(t){var e=this,n=e.data.datasets[t];n._meta||(n._meta={});var i=n._meta[e.id];return i||(i=n._meta[e.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e<n;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroy:function(){var e,n,i,l=this,s=l.canvas;for(l.stop(),n=0,i=l.data.datasets.length;n<i;++n)e=l.getDatasetMeta(n),e.controller&&(e.controller.destroy(),e.controller=null);s&&(l.unbindEvents(),a.clear(l),r.releaseContext(l.ctx),l.canvas=null,l.ctx=null),o.notify(l,"destroy"),delete t.instances[l.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var e=this;e.tooltip=new t.Tooltip({_chart:e,_chartInstance:e,_data:e.data,_options:e.options.tooltips},e),e.tooltip.initialize()},bindEvents:function(){var t=this,e=t._listeners={},n=function(){t.eventHandler.apply(t,arguments)};a.each(t.options.events,function(i){r.addEventListener(t,i,n),e[i]=n}),t.options.responsive&&(n=function(){t.resize()},r.addEventListener(t,"resize",n),e.resize=n)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,a.each(e,function(e,n){r.removeEventListener(t,n,e)}))},updateHoverStyle:function(t,e,n){var i,a,o,r=n?"setHoverStyle":"removeHoverStyle";for(a=0,o=t.length;a<o;++a)i=t[a],i&&this.getDatasetMeta(i._datasetIndex).controller[r](i)},eventHandler:function(t){var e=this,n=e.tooltip;if(o.notify(e,"beforeEvent",[t])!==!1){e._bufferedRender=!0,e._bufferedRequest=null;var i=e.handleEvent(t);i|=n&&n.handleEvent(t),o.notify(e,"afterEvent",[t]);var a=e._bufferedRequest;return a?e.render(a.duration,a.lazy):i&&!e.animating&&(e.stop(),e.render(e.options.hover.animationDuration,!0)),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e=this,n=e.options||{},i=n.hover,o=!1;return e.lastActive=e.lastActive||[],"mouseout"===t.type?e.active=[]:e.active=e.getElementsAtEventForMode(t,i.mode,i),i.onHover&&i.onHover.call(e,t.native,e.active),"mouseup"!==t.type&&"click"!==t.type||n.onClick&&n.onClick.call(e,t.native,e.active),e.lastActive.length&&e.updateHoverStyle(e.lastActive,i.mode,!1),e.active.length&&i.mode&&e.updateHoverStyle(e.active,i.mode,!0),o=!a.arrayEquals(e.active,e.lastActive),e.lastActive=e.active,o}}),t.Controller=t}},{}],24:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){return t._chartjs?void t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),void a.forEach(function(e){var n="onData"+e.charAt(0).toUpperCase()+e.slice(1),a=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),o=a.apply(this,e);return i.each(t._chartjs.listeners,function(t){"function"==typeof t[n]&&t[n].apply(t,e)}),o}})}))}function n(t,e){var n=t._chartjs;if(n){var i=n.listeners,o=i.indexOf(e);
o!==-1&&i.splice(o,1),i.length>0||(a.forEach(function(e){delete t[e]}),delete t._chartjs)}}var i=t.helpers,a=["push","pop","shift","splice","unshift"];t.DatasetController=function(t,e){this.initialize(t,e)},i.extend(t.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),n=t.getDataset();null===e.xAxisID&&(e.xAxisID=n.xAxisID||t.chart.options.scales.xAxes[0].id),null===e.yAxisID&&(e.yAxisID=n.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},reset:function(){this.update(!0)},destroy:function(){this._data&&n(this._data,this)},createMetaDataset:function(){var t=this,e=t.datasetElementType;return e&&new e({_chart:t.chart,_datasetIndex:t.index})},createMetaData:function(t){var e=this,n=e.dataElementType;return n&&new n({_chart:e.chart,_datasetIndex:e.index,_index:t})},addElements:function(){var t,e,n=this,i=n.getMeta(),a=n.getDataset().data||[],o=i.data;for(t=0,e=a.length;t<e;++t)o[t]=o[t]||n.createMetaData(t);i.dataset=i.dataset||n.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t=this,i=t.getDataset(),a=i.data||(i.data=[]);t._data!==a&&(t._data&&n(t._data,t),e(a,t),t._data=a),t.resyncElements()},update:i.noop,transition:function(t){for(var e=this.getMeta(),n=e.data||[],i=n.length,a=0;a<i;++a)n[a].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],n=e.length,i=0;for(t.dataset&&t.dataset.draw();i<n;++i)e[i].draw()},removeHoverStyle:function(t,e){var n=this.chart.data.datasets[t._datasetIndex],a=t._index,o=t.custom||{},r=i.getValueAtIndexOrDefault,l=t._model;l.backgroundColor=o.backgroundColor?o.backgroundColor:r(n.backgroundColor,a,e.backgroundColor),l.borderColor=o.borderColor?o.borderColor:r(n.borderColor,a,e.borderColor),l.borderWidth=o.borderWidth?o.borderWidth:r(n.borderWidth,a,e.borderWidth)},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,a=t.custom||{},o=i.getValueAtIndexOrDefault,r=i.getHoverColor,l=t._model;l.backgroundColor=a.hoverBackgroundColor?a.hoverBackgroundColor:o(e.hoverBackgroundColor,n,r(l.backgroundColor)),l.borderColor=a.hoverBorderColor?a.hoverBorderColor:o(e.hoverBorderColor,n,r(l.borderColor)),l.borderWidth=a.hoverBorderWidth?a.hoverBorderWidth:o(e.hoverBorderWidth,n,l.borderWidth)},resyncElements:function(){var t=this,e=t.getMeta(),n=t.getDataset().data,i=e.data.length,a=n.length;a<i?e.data.splice(a,i-a):a>i&&t.insertElements(i,a-i)},insertElements:function(t,e){for(var n=0;n<e;++n)this.addElementAndReset(t+n)},onDataPush:function(){this.insertElements(this.getDataset().data.length-1,arguments.length)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),t.DatasetController.extend=i.inherits}},{}],25:[function(t,e,n){"use strict";var i=t(3);e.exports=function(t){function e(t,e,n,a){var o,r,l,s,u,d,c,h,f,g=Object.keys(n);for(o=0,r=g.length;o<r;++o)if(l=g[o],d=n[l],e.hasOwnProperty(l)||(e[l]=d),s=e[l],s!==d&&"_"!==l[0]){if(t.hasOwnProperty(l)||(t[l]=s),u=t[l],c=typeof d,c===typeof u)if("string"===c){if(h=i(u),h.valid&&(f=i(d),f.valid)){e[l]=f.mix(h,a).rgbString();continue}}else if("number"===c&&isFinite(u)&&isFinite(d)){e[l]=u+(d-u)*a;continue}e[l]=d}}var n=t.helpers;t.elements={},t.Element=function(t){n.extend(this,t),this.initialize.apply(this,arguments)},n.extend(t.Element.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=n.clone(t._model)),t._start={},t},transition:function(t){var n=this,i=n._model,a=n._start,o=n._view;return i&&1!==t?(o||(o=n._view={}),a||(a=n._start={}),e(a,o,i,t),n):(n._view=i,n._start=null,n)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return n.isNumber(this._model.x)&&n.isNumber(this._model.y)}}),t.Element.extend=n.inherits}},{3:3}],26:[function(t,e,n){"use strict";var i=t(3);e.exports=function(t){function e(t,e,n){var i;return"string"==typeof t?(i=parseInt(t,10),t.indexOf("%")!==-1&&(i=i/100*e.parentNode[n])):i=t,i}function n(t){return void 0!==t&&null!==t&&"none"!==t}function a(t,i,a){var o=document.defaultView,r=t.parentNode,l=o.getComputedStyle(t)[i],s=o.getComputedStyle(r)[i],u=n(l),d=n(s),c=Number.POSITIVE_INFINITY;return u||d?Math.min(u?e(l,t,a):c,d?e(s,r,a):c):"none"}var o=t.helpers={};o.each=function(t,e,n,i){var a,r;if(o.isArray(t))if(r=t.length,i)for(a=r-1;a>=0;a--)e.call(n,t[a],a);else for(a=0;a<r;a++)e.call(n,t[a],a);else if("object"==typeof t){var l=Object.keys(t);for(r=l.length,a=0;a<r;a++)e.call(n,t[l[a]],l[a])}},o.clone=function(t){var e={};return o.each(t,function(t,n){o.isArray(t)?e[n]=t.slice(0):"object"==typeof t&&null!==t?e[n]=o.clone(t):e[n]=t}),e},o.extend=function(t){for(var e=function(e,n){t[n]=e},n=1,i=arguments.length;n<i;n++)o.each(arguments[n],e);return t},o.configMerge=function(e){var n=o.clone(e);return o.each(Array.prototype.slice.call(arguments,1),function(e){o.each(e,function(e,i){var a=n.hasOwnProperty(i),r=a?n[i]:{};"scales"===i?n[i]=o.scaleMerge(r,e):"scale"===i?n[i]=o.configMerge(r,t.scaleService.getScaleDefaults(e.type),e):!a||"object"!=typeof r||o.isArray(r)||null===r||"object"!=typeof e||o.isArray(e)?n[i]=e:n[i]=o.configMerge(r,e)})}),n},o.scaleMerge=function(e,n){var i=o.clone(e);return o.each(n,function(e,n){"xAxes"===n||"yAxes"===n?i.hasOwnProperty(n)?o.each(e,function(e,a){var r=o.getValueOrDefault(e.type,"xAxes"===n?"category":"linear"),l=t.scaleService.getScaleDefaults(r);a>=i[n].length||!i[n][a].type?i[n].push(o.configMerge(l,e)):e.type&&e.type!==i[n][a].type?i[n][a]=o.configMerge(i[n][a],l,e):i[n][a]=o.configMerge(i[n][a],e)}):(i[n]=[],o.each(e,function(e){var a=o.getValueOrDefault(e.type,"xAxes"===n?"category":"linear");i[n].push(o.configMerge(t.scaleService.getScaleDefaults(a),e))})):i.hasOwnProperty(n)&&"object"==typeof i[n]&&null!==i[n]&&"object"==typeof e?i[n]=o.configMerge(i[n],e):i[n]=e}),i},o.getValueAtIndexOrDefault=function(t,e,n){return void 0===t||null===t?n:o.isArray(t)?e<t.length?t[e]:n:t},o.getValueOrDefault=function(t,e){return void 0===t?e:t},o.indexOf=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var n=0,i=t.length;n<i;++n)if(t[n]===e)return n;return-1},o.where=function(t,e){if(o.isArray(t)&&Array.prototype.filter)return t.filter(e);var n=[];return o.each(t,function(t){e(t)&&n.push(t)}),n},o.findIndex=Array.prototype.findIndex?function(t,e,n){return t.findIndex(e,n)}:function(t,e,n){n=void 0===n?t:n;for(var i=0,a=t.length;i<a;++i)if(e.call(n,t[i],i,t))return i;return-1},o.findNextWhere=function(t,e,n){void 0!==n&&null!==n||(n=-1);for(var i=n+1;i<t.length;i++){var a=t[i];if(e(a))return a}},o.findPreviousWhere=function(t,e,n){void 0!==n&&null!==n||(n=t.length);for(var i=n-1;i>=0;i--){var a=t[i];if(e(a))return a}},o.inherits=function(t){var e=this,n=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},i=function(){this.constructor=n};return i.prototype=e.prototype,n.prototype=new i,n.extend=o.inherits,t&&o.extend(n.prototype,t),n.__super__=e.prototype,n},o.noop=function(){},o.uid=function(){var t=0;return function(){return t++}}(),o.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.almostEquals=function(t,e,n){return Math.abs(t-e)<n},o.almostWhole=function(t,e){var n=Math.round(t);return n-e<t&&n+e>t},o.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},o.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},o.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return t=+t,0===t||isNaN(t)?t:t>0?1:-1},o.log10=Math.log10?function(t){return Math.log10(t)}:function(t){return Math.log(t)/Math.LN10},o.toRadians=function(t){return t*(Math.PI/180)},o.toDegrees=function(t){return t*(180/Math.PI)},o.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),o=Math.atan2(i,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:a}},o.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},o.aliasPixel=function(t){return t%2===0?0:.5},o.splineCurve=function(t,e,n,i){var a=t.skip?e:t,o=e,r=n.skip?e:n,l=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),s=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),u=l/(l+s),d=s/(l+s);u=isNaN(u)?0:u,d=isNaN(d)?0:d;var c=i*u,h=i*d;return{previous:{x:o.x-c*(r.x-a.x),y:o.y-c*(r.y-a.y)},next:{x:o.x+h*(r.x-a.x),y:o.y+h*(r.y-a.y)}}},o.EPSILON=Number.EPSILON||1e-14,o.splineCurveMonotone=function(t){var e,n,i,a,r=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),l=r.length;for(e=0;e<l;++e)if(i=r[e],!i.model.skip){if(n=e>0?r[e-1]:null,a=e<l-1?r[e+1]:null,a&&!a.model.skip){var s=a.model.x-i.model.x;i.deltaK=0!==s?(a.model.y-i.model.y)/s:0}!n||n.model.skip?i.mK=i.deltaK:!a||a.model.skip?i.mK=n.deltaK:this.sign(n.deltaK)!==this.sign(i.deltaK)?i.mK=0:i.mK=(n.deltaK+i.deltaK)/2}var u,d,c,h;for(e=0;e<l-1;++e)i=r[e],a=r[e+1],i.model.skip||a.model.skip||(o.almostEquals(i.deltaK,0,this.EPSILON)?i.mK=a.mK=0:(u=i.mK/i.deltaK,d=a.mK/i.deltaK,h=Math.pow(u,2)+Math.pow(d,2),h<=9||(c=3/Math.sqrt(h),i.mK=u*c*i.deltaK,a.mK=d*c*i.deltaK)));var f;for(e=0;e<l;++e)i=r[e],i.model.skip||(n=e>0?r[e-1]:null,a=e<l-1?r[e+1]:null,n&&!n.model.skip&&(f=(i.model.x-n.model.x)/3,i.model.controlPointPreviousX=i.model.x-f,i.model.controlPointPreviousY=i.model.y-f*i.mK),a&&!a.model.skip&&(f=(a.model.x-i.model.x)/3,i.model.controlPointNextX=i.model.x+f,i.model.controlPointNextY=i.model.y+f*i.mK))},o.nextItem=function(t,e,n){return n?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},o.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},o.niceNum=function(t,e){var n,i=Math.floor(o.log10(t)),a=t/Math.pow(10,i);return n=e?a<1.5?1:a<3?2:a<7?5:10:a<=1?1:a<=2?2:a<=5?5:10,n*Math.pow(10,i)};var r=o.easingEffects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-1*t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1)},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1)},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:function(t){return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:function(t){return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:function(t){return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===(t/=1)?1:(n||(n=.3),i<Math.abs(1)?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-(i*Math.pow(2,10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/n)))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===(t/=1)?1:(n||(n=.3),i<Math.abs(1)?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((1*t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2===(t/=.5)?1:(n||(n=1*(.3*1.5)),i<Math.abs(1)?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?-.5*(i*Math.pow(2,10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/n)):i*Math.pow(2,-10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return 1*(t/=1)*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return 1*((t=t/1-1)*t*((e+1)*t+e)+1)},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?.5*(t*t*(((e*=1.525)+1)*t-e)):.5*((t-=2)*t*(((e*=1.525)+1)*t+e)+2)},easeInBounce:function(t){return 1-r.easeOutBounce(1-t)},easeOutBounce:function(t){return(t/=1)<1/2.75?1*(7.5625*t*t):t<2/2.75?1*(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1*(7.5625*(t-=2.25/2.75)*t+.9375):1*(7.5625*(t-=2.625/2.75)*t+.984375)},easeInOutBounce:function(t){return t<.5?.5*r.easeInBounce(2*t):.5*r.easeOutBounce(2*t-1)+.5}};o.requestAnimFrame=function(){return"undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)}}(),o.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,r=t.currentTarget||t.srcElement,l=r.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,i=s[0].clientY):(n=a.clientX,i=a.clientY);var u=parseFloat(o.getStyle(r,"padding-left")),d=parseFloat(o.getStyle(r,"padding-top")),c=parseFloat(o.getStyle(r,"padding-right")),h=parseFloat(o.getStyle(r,"padding-bottom")),f=l.right-l.left-u-c,g=l.bottom-l.top-d-h;return n=Math.round((n-l.left-u)/f*r.width/e.currentDevicePixelRatio),i=Math.round((i-l.top-d)/g*r.height/e.currentDevicePixelRatio),{x:n,y:i}},o.addEvent=function(t,e,n){t.addEventListener?t.addEventListener(e,n):t.attachEvent?t.attachEvent("on"+e,n):t["on"+e]=n},o.removeEvent=function(t,e,n){t.removeEventListener?t.removeEventListener(e,n,!1):t.detachEvent?t.detachEvent("on"+e,n):t["on"+e]=o.noop},o.getConstraintWidth=function(t){return a(t,"max-width","clientWidth")},o.getConstraintHeight=function(t){return a(t,"max-height","clientHeight")},o.getMaximumWidth=function(t){var e=t.parentNode,n=parseInt(o.getStyle(e,"padding-left"),10),i=parseInt(o.getStyle(e,"padding-right"),10),a=e.clientWidth-n-i,r=o.getConstraintWidth(t);return isNaN(r)?a:Math.min(a,r)},o.getMaximumHeight=function(t){var e=t.parentNode,n=parseInt(o.getStyle(e,"padding-top"),10),i=parseInt(o.getStyle(e,"padding-bottom"),10),a=e.clientHeight-n-i,r=o.getConstraintHeight(t);return isNaN(r)?a:Math.min(a,r)},o.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},o.retinaScale=function(t){var e=t.currentDevicePixelRatio=window.devicePixelRatio||1;if(1!==e){var n=t.canvas,i=t.height,a=t.width;n.height=i*e,n.width=a*e,t.ctx.scale(e,e),n.style.height=i+"px",n.style.width=a+"px"}},o.clear=function(t){t.ctx.clearRect(0,0,t.width,t.height)},o.fontString=function(t,e,n){return e+" "+t+"px "+n},o.longestText=function(t,e,n,i){i=i||{};var a=i.data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var l=0;o.each(n,function(e){void 0!==e&&null!==e&&o.isArray(e)!==!0?l=o.measureText(t,a,r,l,e):o.isArray(e)&&o.each(e,function(e){void 0===e||null===e||o.isArray(e)||(l=o.measureText(t,a,r,l,e))})});var s=r.length/2;if(s>n.length){for(var u=0;u<s;u++)delete a[r[u]];r.splice(0,s)}return l},o.measureText=function(t,e,n,i,a){var o=e[a];return o||(o=e[a]=t.measureText(a).width,n.push(a)),o>i&&(i=o),i},o.numberOfLabelLines=function(t){var e=1;return o.each(t,function(t){o.isArray(t)&&t.length>e&&(e=t.length)}),e},o.drawRoundedRectangle=function(t,e,n,i,a,o){t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+i-o,n),t.quadraticCurveTo(e+i,n,e+i,n+o),t.lineTo(e+i,n+a-o),t.quadraticCurveTo(e+i,n+a,e+i-o,n+a),t.lineTo(e+o,n+a),t.quadraticCurveTo(e,n+a,e,n+a-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath()},o.color=i?function(e){return e instanceof CanvasGradient&&(e=t.defaults.global.defaultColor),i(e)}:function(t){return console.error("Color.js not found!"),t},o.isArray=Array.isArray?function(t){return Array.isArray(t)}:function(t){return"[object Array]"===Object.prototype.toString.call(t)},o.arrayEquals=function(t,e){var n,i,a,r;if(!t||!e||t.length!==e.length)return!1;for(n=0,i=t.length;n<i;++n)if(a=t[n],r=e[n],a instanceof Array&&r instanceof Array){if(!o.arrayEquals(a,r))return!1}else if(a!==r)return!1;return!0},o.callback=function(t,e,n){t&&"function"==typeof t.call&&t.apply(n,e)},o.getHoverColor=function(t){return t instanceof CanvasPattern?t:o.color(t).saturate(.5).darken(.1).rgbString()},o.callCallback=o.callback}},{3:3}],27:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){return t.native?{x:t.x,y:t.y}:r.getRelativePosition(t,e)}function n(t,e){var n,i,a,o,r,l=t.data.datasets;for(i=0,o=l.length;i<o;++i)if(t.isDatasetVisible(i))for(n=t.getDatasetMeta(i),a=0,r=n.data.length;a<r;++a){var s=n.data[a];s._view.skip||e(s)}}function i(t,e){var i=[];return n(t,function(t){t.inRange(e.x,e.y)&&i.push(t)}),i}function a(t,e,i,a){var o=Number.POSITIVE_INFINITY,l=[];return a||(a=r.distanceBetweenPoints),n(t,function(t){if(!i||t.inRange(e.x,e.y)){var n=t.getCenterPoint(),r=a(e,n);r<o?(l=[t],o=r):r===o&&l.push(t)}}),l}function o(t,n,o){var r=e(n,t),l=function(t,e){return Math.abs(t.x-e.x)},s=o.intersect?i(t,r):a(t,r,!1,l),u=[];return s.length?(t.data.datasets.forEach(function(e,n){if(t.isDatasetVisible(n)){var i=t.getDatasetMeta(n),a=i.data[s[0]._index];a&&!a._view.skip&&u.push(a)}}),u):[]}var r=t.helpers;t.Interaction={modes:{single:function(t,i){var a=e(i,t),o=[];return n(t,function(t){if(t.inRange(a.x,a.y))return o.push(t),o}),o.slice(0,1)},label:o,index:o,dataset:function(t,n,o){var r=e(n,t),l=o.intersect?i(t,r):a(t,r,!1);return l.length>0&&(l=t.getDatasetMeta(l[0]._datasetIndex).data),l},"x-axis":function(t,e){return o(t,e,!0)},point:function(t,n){var a=e(n,t);return i(t,a)},nearest:function(t,n,i){var o=e(n,t),r=a(t,o,i.intersect);return r.length>1&&r.sort(function(t,e){var n=t.getArea(),i=e.getArea(),a=n-i;return 0===a&&(a=t._datasetIndex-e._datasetIndex),a}),r.slice(0,1)},x:function(t,i,a){var o=e(i,t),r=[],l=!1;return n(t,function(t){t.inXRange(o.x)&&r.push(t),t.inRange(o.x,o.y)&&(l=!0)}),a.intersect&&!l&&(r=[]),r},y:function(t,i,a){var o=e(i,t),r=[],l=!1;return n(t,function(t){t.inYRange(o.y)&&r.push(t),t.inRange(o.x,o.y)&&(l=!0)}),a.intersect&&!l&&(r=[]),r}}}}},{}],28:[function(t,e,n){"use strict";e.exports=function(){var t=function(t,e){return this.construct(t,e),this};return t.defaults={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');for(var n=0;n<t.data.datasets.length;n++)e.push('<li><span style="background-color:'+t.data.datasets[n].backgroundColor+'"></span>'),t.data.datasets[n].label&&e.push(t.data.datasets[n].label),e.push("</li>");return e.push("</ul>"),e.join("")}}},t.Chart=t,t}},{}],29:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){return i.where(t,function(t){return t.position===e})}function n(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i._tmpIndex_-a._tmpIndex_:i.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}var i=t.helpers;t.layoutService={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var n=t.boxes?t.boxes.indexOf(e):-1;n!==-1&&t.boxes.splice(n,1)},configure:function(t,e,n){for(var i,a=["fullWidth","position","weight"],o=a.length,r=0;r<o;++r)i=a[r],n.hasOwnProperty(i)&&(e[i]=n[i])},update:function(t,a,o){function r(t){var e,n=t.isHorizontal();n?(e=t.update(t.fullWidth?k:I,D),A-=e.height):(e=t.update(C,S),I-=e.width),P.push({horizontal:n,minSize:e,box:t})}function l(t){var e=i.findNextWhere(P,function(e){return e.box===t});if(e)if(t.isHorizontal()){var n={left:Math.max(L,_),right:Math.max(V,T),top:0,bottom:0};t.update(t.fullWidth?k:I,w/2,n)}else t.update(e.minSize.width,A)}function s(t){var e=i.findNextWhere(P,function(e){return e.box===t}),n={left:0,right:0,top:O,bottom:z};e&&t.update(e.minSize.width,A,n)}function u(t){t.isHorizontal()?(t.left=t.fullWidth?h:L,t.right=t.fullWidth?a-f:L+I,t.top=q,t.bottom=q+t.height,q=t.bottom):(t.left=H,t.right=H+t.width,t.top=O,t.bottom=O+A,H=t.right)}if(t){var d=t.options.layout,c=d?d.padding:null,h=0,f=0,g=0,p=0;isNaN(c)?(h=c.left||0,f=c.right||0,g=c.top||0,p=c.bottom||0):(h=c,f=c,g=c,p=c);var m=e(t.boxes,"left"),v=e(t.boxes,"right"),b=e(t.boxes,"top"),x=e(t.boxes,"bottom"),y=e(t.boxes,"chartArea");n(m,!0),n(v,!1),n(b,!0),n(x,!1);var k=a-h-f,w=o-g-p,M=k/2,S=w/2,C=(a-M)/(m.length+v.length),D=(o-S)/(b.length+x.length),I=k,A=w,P=[];i.each(m.concat(v,b,x),r);var _=0,T=0,F=0,R=0;i.each(b.concat(x),function(t){if(t.getPadding){var e=t.getPadding();_=Math.max(_,e.left),T=Math.max(T,e.right)}}),i.each(m.concat(v),function(t){if(t.getPadding){var e=t.getPadding();F=Math.max(F,e.top),R=Math.max(R,e.bottom)}});var L=h,V=f,O=g,z=p;i.each(m.concat(v),l),i.each(m,function(t){L+=t.width}),i.each(v,function(t){V+=t.width}),i.each(b.concat(x),l),i.each(b,function(t){O+=t.height}),i.each(x,function(t){z+=t.height}),i.each(m.concat(v),s),L=h,V=f,O=g,z=p,i.each(m,function(t){L+=t.width}),i.each(v,function(t){V+=t.width}),i.each(b,function(t){O+=t.height}),i.each(x,function(t){z+=t.height});var B=Math.max(_-L,0);L+=B,V+=Math.max(T-V,0);var W=Math.max(F-O,0);O+=W,z+=Math.max(R-z,0);var N=o-O-z,E=a-L-V;E===I&&N===A||(i.each(m,function(t){t.height=N}),i.each(v,function(t){t.height=N}),i.each(b,function(t){t.fullWidth||(t.width=E)}),i.each(x,function(t){t.fullWidth||(t.width=E)}),A=N,I=E);var H=h+B,q=g+W;i.each(m.concat(b),u),H+=I,q+=A,i.each(v,u),i.each(x,u),t.chartArea={left:L,top:O,right:L+I,bottom:O+A},i.each(y,function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(I,A)})}}}}},{}],30:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.defaults.global.plugins={},t.plugins={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach(function(t){e.indexOf(t)===-1&&e.push(t)}),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach(function(t){var n=e.indexOf(t);n!==-1&&e.splice(n,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,n){var i,a,o,r,l,s=this.descriptors(t),u=s.length;for(i=0;i<u;++i)if(a=s[i],o=a.plugin,l=o[e],"function"==typeof l&&(r=[t].concat(n||[]),r.push(a.options),l.apply(o,r)===!1))return!1;return!0},descriptors:function(n){var i=n._plugins||(n._plugins={});if(i.id===this._cacheId)return i.descriptors;var a=[],o=[],r=n&&n.config||{},l=t.defaults.global.plugins,s=r.options&&r.options.plugins||{};return this._plugins.concat(r.plugins||[]).forEach(function(t){var n=a.indexOf(t);if(n===-1){var i=t.id,r=s[i];r!==!1&&(r===!0&&(r=e.clone(l[i])),a.push(t),o.push({plugin:t,options:r||{}}))}}),i.descriptors=o,i.id=this._cacheId,o}},t.pluginService=t.plugins,t.PluginBase=t.Element.extend({})}},{}],31:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e,n){return i.isArray(e)?i.longestText(t,n,e):t.measureText(e).width}function n(e){var n=i.getValueOrDefault,a=t.defaults.global,o=n(e.fontSize,a.defaultFontSize),r=n(e.fontStyle,a.defaultFontStyle),l=n(e.fontFamily,a.defaultFontFamily);return{size:o,style:r,family:l,font:i.fontString(o,r,l)}}var i=t.helpers;t.defaults.scale={display:!0,position:"left",gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{labelString:"",display:!1},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:t.Ticks.formatters.values}},t.Scale=t.Element.extend({getPadding:function(){var t=this;return{left:t.paddingLeft||0,top:t.paddingTop||0,right:t.paddingRight||0,bottom:t.paddingBottom||0}},beforeUpdate:function(){i.callback(this.options.beforeUpdate,[this])},update:function(t,e,n){var a=this;return a.beforeUpdate(),a.maxWidth=t,a.maxHeight=e,a.margins=i.extend({left:0,right:0,top:0,bottom:0},n),a.longestTextCache=a.longestTextCache||{},a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeDataLimits(),a.determineDataLimits(),a.afterDataLimits(),a.beforeBuildTicks(),a.buildTicks(),a.afterBuildTicks(),a.beforeTickToLabelConversion(),a.convertTicksToLabels(),a.afterTickToLabelConversion(),a.beforeCalculateTickRotation(),a.calculateTickRotation(),a.afterCalculateTickRotation(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:function(){i.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){i.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){i.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){i.callback(this.options.beforeDataLimits,[this])},determineDataLimits:i.noop,afterDataLimits:function(){i.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){i.callback(this.options.beforeBuildTicks,[this])},buildTicks:i.noop,afterBuildTicks:function(){i.callback(this.options.afterBuildTicks,[this])},beforeTickToLabelConversion:function(){i.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this,e=t.options.ticks;t.ticks=t.ticks.map(e.userCallback||e.callback)},afterTickToLabelConversion:function(){i.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){i.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t=this,e=t.ctx,a=t.options.ticks,o=n(a);e.font=o.font;var r=a.minRotation||0;if(t.options.display&&t.isHorizontal())for(var l,s,u=i.longestText(e,o.font,t.ticks,t.longestTextCache),d=u,c=t.getPixelForTick(1)-t.getPixelForTick(0)-6;d>c&&r<a.maxRotation;){var h=i.toRadians(r);if(l=Math.cos(h),s=Math.sin(h),s*u>t.maxHeight){r--;break}r++,d=l*u}t.labelRotation=r},afterCalculateTickRotation:function(){i.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){i.callback(this.options.beforeFit,[this])},fit:function(){var t=this,a=t.minSize={width:0,height:0},o=t.options,r=o.ticks,l=o.scaleLabel,s=o.gridLines,u=o.display,d=t.isHorizontal(),c=n(r),h=1.5*n(l).size,f=o.gridLines.tickMarkLength;if(d?a.width=t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:a.width=u&&s.drawTicks?f:0,d?a.height=u&&s.drawTicks?f:0:a.height=t.maxHeight,l.display&&u&&(d?a.height+=h:a.width+=h),r.display&&u){var g=i.longestText(t.ctx,c.font,t.ticks,t.longestTextCache),p=i.numberOfLabelLines(t.ticks),m=.5*c.size;if(d){t.longestLabelWidth=g;var v=i.toRadians(t.labelRotation),b=Math.cos(v),x=Math.sin(v),y=x*g+c.size*p+m*p;a.height=Math.min(t.maxHeight,a.height+y),t.ctx.font=c.font;var k=t.ticks[0],w=e(t.ctx,k,c.font),M=t.ticks[t.ticks.length-1],S=e(t.ctx,M,c.font);0!==t.labelRotation?(t.paddingLeft="bottom"===o.position?b*w+3:b*m+3,t.paddingRight="bottom"===o.position?b*m+3:b*S+3):(t.paddingLeft=w/2+3,t.paddingRight=S/2+3)}else r.mirror?g=0:g+=t.options.ticks.padding,a.width=Math.min(t.maxWidth,a.width+g),t.paddingTop=c.size/2,t.paddingBottom=c.size/2}t.handleMargins(),t.width=a.width,t.height=a.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){i.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){return null===t||"undefined"==typeof t?NaN:"number"!=typeof t||isFinite(t)?"object"==typeof t?t instanceof Date||t.isValid?t:this.getRightValue(this.isHorizontal()?t.x:t.y):t:NaN},getLabelForIndex:i.noop,getPixelForValue:i.noop,getValueForPixel:i.noop,getPixelForTick:function(t,e){var n=this;if(n.isHorizontal()){var i=n.width-(n.paddingLeft+n.paddingRight),a=i/Math.max(n.ticks.length-(n.options.gridLines.offsetGridLines?0:1),1),o=a*t+n.paddingLeft;e&&(o+=a/2);var r=n.left+Math.round(o);return r+=n.isFullWidth()?n.margins.left:0}var l=n.height-(n.paddingTop+n.paddingBottom);return n.top+t*(l/(n.ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var n=e.width-(e.paddingLeft+e.paddingRight),i=n*t+e.paddingLeft,a=e.left+Math.round(i);return a+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this,e=t.min,n=t.max;return t.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0},draw:function(e){var a=this,o=a.options;if(o.display){var r,l,s=a.ctx,u=t.defaults.global,d=o.ticks,c=o.gridLines,h=o.scaleLabel,f=0!==a.labelRotation,g=d.autoSkip,p=a.isHorizontal();d.maxTicksLimit&&(l=d.maxTicksLimit);var m=i.getValueOrDefault(d.fontColor,u.defaultFontColor),v=n(d),b=c.drawTicks?c.tickMarkLength:0,x=i.getValueOrDefault(h.fontColor,u.defaultFontColor),y=n(h),k=i.toRadians(a.labelRotation),w=Math.cos(k),M=a.longestLabelWidth*w;s.fillStyle=m;var S=[];if(p){if(r=!1,(M+d.autoSkipPadding)*a.ticks.length>a.width-(a.paddingLeft+a.paddingRight)&&(r=1+Math.floor((M+d.autoSkipPadding)*a.ticks.length/(a.width-(a.paddingLeft+a.paddingRight)))),l&&a.ticks.length>l)for(;!r||a.ticks.length/(r||1)>l;)r||(r=1),r+=1;g||(r=!1)}var C="right"===o.position?a.left:a.right-b,D="right"===o.position?a.left+b:a.right,I="bottom"===o.position?a.top:a.bottom-b,A="bottom"===o.position?a.top+b:a.bottom;if(i.each(a.ticks,function(t,n){if(void 0!==t&&null!==t){var l=a.ticks.length===n+1,s=r>1&&n%r>0||n%r===0&&n+r>=a.ticks.length;if((!s||l)&&void 0!==t&&null!==t){var h,g,m,v;n===("undefined"!=typeof a.zeroLineIndex?a.zeroLineIndex:0)?(h=c.zeroLineWidth,g=c.zeroLineColor,m=c.zeroLineBorderDash,v=c.zeroLineBorderDashOffset):(h=i.getValueAtIndexOrDefault(c.lineWidth,n),g=i.getValueAtIndexOrDefault(c.color,n),m=i.getValueOrDefault(c.borderDash,u.borderDash),v=i.getValueOrDefault(c.borderDashOffset,u.borderDashOffset));var x,y,w,M,P,_,T,F,R,L,V="middle",O="middle";if(p){"bottom"===o.position?(O=f?"middle":"top",V=f?"right":"center",L=a.top+b):(O=f?"middle":"bottom",V=f?"left":"center",L=a.bottom-b);var z=a.getPixelForTick(n)+i.aliasPixel(h);R=a.getPixelForTick(n,c.offsetGridLines)+d.labelOffset,x=w=P=T=z,y=I,M=A,_=e.top,F=e.bottom}else{var B,W="left"===o.position,N=d.padding;d.mirror?(V=W?"left":"right",B=N):(V=W?"right":"left",
B=b+N),R=W?a.right-B:a.left+B;var E=a.getPixelForTick(n);E+=i.aliasPixel(h),L=a.getPixelForTick(n,c.offsetGridLines),x=C,w=D,P=e.left,T=e.right,y=M=_=F=E}S.push({tx1:x,ty1:y,tx2:w,ty2:M,x1:P,y1:_,x2:T,y2:F,labelX:R,labelY:L,glWidth:h,glColor:g,glBorderDash:m,glBorderDashOffset:v,rotation:-1*k,label:t,textBaseline:O,textAlign:V})}}}),i.each(S,function(t){if(c.display&&(s.save(),s.lineWidth=t.glWidth,s.strokeStyle=t.glColor,s.setLineDash&&(s.setLineDash(t.glBorderDash),s.lineDashOffset=t.glBorderDashOffset),s.beginPath(),c.drawTicks&&(s.moveTo(t.tx1,t.ty1),s.lineTo(t.tx2,t.ty2)),c.drawOnChartArea&&(s.moveTo(t.x1,t.y1),s.lineTo(t.x2,t.y2)),s.stroke(),s.restore()),d.display){s.save(),s.translate(t.labelX,t.labelY),s.rotate(t.rotation),s.font=v.font,s.textBaseline=t.textBaseline,s.textAlign=t.textAlign;var e=t.label;if(i.isArray(e))for(var n=0,a=0;n<e.length;++n)s.fillText(""+e[n],0,a),a+=1.5*v.size;else s.fillText(e,0,0);s.restore()}}),h.display){var P,_,T=0;if(p)P=a.left+(a.right-a.left)/2,_="bottom"===o.position?a.bottom-y.size/2:a.top+y.size/2;else{var F="left"===o.position;P=F?a.left+y.size/2:a.right-y.size/2,_=a.top+(a.bottom-a.top)/2,T=F?-.5*Math.PI:.5*Math.PI}s.save(),s.translate(P,_),s.rotate(T),s.textAlign="center",s.textBaseline="middle",s.fillStyle=x,s.font=y.font,s.fillText(h.labelString,0,0),s.restore()}if(c.drawBorder){s.lineWidth=i.getValueAtIndexOrDefault(c.lineWidth,0),s.strokeStyle=i.getValueAtIndexOrDefault(c.color,0);var R=a.left,L=a.right,V=a.top,O=a.bottom,z=i.aliasPixel(s.lineWidth);p?(V=O="top"===o.position?a.bottom:a.top,V+=z,O+=z):(R=L="left"===o.position?a.right:a.left,R+=z,L+=z),s.beginPath(),s.moveTo(R,V),s.lineTo(L,O),s.stroke()}}}})}},{}],32:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.scaleService={constructors:{},defaults:{},registerScaleType:function(t,n,i){this.constructors[t]=n,this.defaults[t]=e.clone(i)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(n){return this.defaults.hasOwnProperty(n)?e.scaleMerge(t.defaults.scale,this.defaults[n]):{}},updateScaleDefaults:function(t,n){var i=this.defaults;i.hasOwnProperty(t)&&(i[t]=e.extend(i[t],n))},addScalesToLayout:function(n){e.each(n.scales,function(e){e.fullWidth=e.options.fullWidth,e.position=e.options.position,e.weight=e.options.weight,t.layoutService.addBox(n,e)})}}}},{}],33:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers;t.Ticks={generators:{linear:function(t,n){var i,a=[];if(t.stepSize&&t.stepSize>0)i=t.stepSize;else{var o=e.niceNum(n.max-n.min,!1);i=e.niceNum(o/(t.maxTicks-1),!0)}var r=Math.floor(n.min/i)*i,l=Math.ceil(n.max/i)*i;t.min&&t.max&&t.stepSize&&e.almostWhole((t.max-t.min)/t.stepSize,i/1e3)&&(r=t.min,l=t.max);var s=(l-r)/i;s=e.almostEquals(s,Math.round(s),i/1e3)?Math.round(s):Math.ceil(s),a.push(void 0!==t.min?t.min:r);for(var u=1;u<s;++u)a.push(r+u*i);return a.push(void 0!==t.max?t.max:l),a},logarithmic:function(t,n){var i,a,o=[],r=e.getValueOrDefault,l=r(t.min,Math.pow(10,Math.floor(e.log10(n.min)))),s=Math.floor(e.log10(n.max)),u=Math.ceil(n.max/Math.pow(10,s));0===l?(i=Math.floor(e.log10(n.minNotZero)),a=Math.floor(n.minNotZero/Math.pow(10,i)),o.push(l),l=a*Math.pow(10,i)):(i=Math.floor(e.log10(l)),a=Math.floor(l/Math.pow(10,i)));do o.push(l),++a,10===a&&(a=1,++i),l=a*Math.pow(10,i);while(i<s||i===s&&a<u);var d=r(t.max,l);return o.push(d),o}},formatters:{values:function(t){return e.isArray(t)?t:""+t},linear:function(t,n,i){var a=i.length>3?i[2]-i[1]:i[1]-i[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var o=e.log10(Math.abs(a)),r="";if(0!==t){var l=-1*Math.floor(o);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r="0";return r},logarithmic:function(t,n,i){var a=t/Math.pow(10,Math.floor(e.log10(t)));return 0===t?"0":1===a||2===a||5===a||0===n||n===i.length-1?t.toExponential():""}}}}},{}],34:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){var n=s.color(t);return n.alpha(e*n.alpha()).rgbaString()}function n(t,e){return e&&(s.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function i(t){var e=t._xScale,n=t._yScale||t._scale,i=t._index,a=t._datasetIndex;return{xLabel:e?e.getLabelForIndex(i,a):"",yLabel:n?n.getLabelForIndex(i,a):"",index:i,datasetIndex:a,x:t._model.x,y:t._model.y}}function a(e){var n=t.defaults.global,i=s.getValueOrDefault;return{xPadding:e.xPadding,yPadding:e.yPadding,xAlign:e.xAlign,yAlign:e.yAlign,bodyFontColor:e.bodyFontColor,_bodyFontFamily:i(e.bodyFontFamily,n.defaultFontFamily),_bodyFontStyle:i(e.bodyFontStyle,n.defaultFontStyle),_bodyAlign:e.bodyAlign,bodyFontSize:i(e.bodyFontSize,n.defaultFontSize),bodySpacing:e.bodySpacing,titleFontColor:e.titleFontColor,_titleFontFamily:i(e.titleFontFamily,n.defaultFontFamily),_titleFontStyle:i(e.titleFontStyle,n.defaultFontStyle),titleFontSize:i(e.titleFontSize,n.defaultFontSize),_titleAlign:e.titleAlign,titleSpacing:e.titleSpacing,titleMarginBottom:e.titleMarginBottom,footerFontColor:e.footerFontColor,_footerFontFamily:i(e.footerFontFamily,n.defaultFontFamily),_footerFontStyle:i(e.footerFontStyle,n.defaultFontStyle),footerFontSize:i(e.footerFontSize,n.defaultFontSize),_footerAlign:e.footerAlign,footerSpacing:e.footerSpacing,footerMarginTop:e.footerMarginTop,caretSize:e.caretSize,cornerRadius:e.cornerRadius,backgroundColor:e.backgroundColor,opacity:0,legendColorBackground:e.multiKeyBackground,displayColors:e.displayColors,borderColor:e.borderColor,borderWidth:e.borderWidth}}function o(t,e){var n=t._chart.ctx,i=2*e.yPadding,a=0,o=e.body,r=o.reduce(function(t,e){return t+e.before.length+e.lines.length+e.after.length},0);r+=e.beforeBody.length+e.afterBody.length;var l=e.title.length,u=e.footer.length,d=e.titleFontSize,c=e.bodyFontSize,h=e.footerFontSize;i+=l*d,i+=l?(l-1)*e.titleSpacing:0,i+=l?e.titleMarginBottom:0,i+=r*c,i+=r?(r-1)*e.bodySpacing:0,i+=u?e.footerMarginTop:0,i+=u*h,i+=u?(u-1)*e.footerSpacing:0;var f=0,g=function(t){a=Math.max(a,n.measureText(t).width+f)};return n.font=s.fontString(d,e._titleFontStyle,e._titleFontFamily),s.each(e.title,g),n.font=s.fontString(c,e._bodyFontStyle,e._bodyFontFamily),s.each(e.beforeBody.concat(e.afterBody),g),f=e.displayColors?c+2:0,s.each(o,function(t){s.each(t.before,g),s.each(t.lines,g),s.each(t.after,g)}),f=0,n.font=s.fontString(h,e._footerFontStyle,e._footerFontFamily),s.each(e.footer,g),a+=2*e.xPadding,{width:a,height:i}}function r(t,e){var n=t._model,i=t._chart,a=t._chart.chartArea,o="center",r="center";n.y<e.height?r="top":n.y>i.height-e.height&&(r="bottom");var l,s,u,d,c,h=(a.left+a.right)/2,f=(a.top+a.bottom)/2;"center"===r?(l=function(t){return t<=h},s=function(t){return t>h}):(l=function(t){return t<=e.width/2},s=function(t){return t>=i.width-e.width/2}),u=function(t){return t+e.width>i.width},d=function(t){return t-e.width<0},c=function(t){return t<=f?"top":"bottom"},l(n.x)?(o="left",u(n.x)&&(o="center",r=c(n.y))):s(n.x)&&(o="right",d(n.x)&&(o="center",r=c(n.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:o,yAlign:g.yAlign?g.yAlign:r}}function l(t,e,n){var i=t.x,a=t.y,o=t.caretSize,r=t.caretPadding,l=t.cornerRadius,s=n.xAlign,u=n.yAlign,d=o+r,c=l+r;return"right"===s?i-=e.width:"center"===s&&(i-=e.width/2),"top"===u?a+=d:a-="bottom"===u?e.height+d:e.height/2,"center"===u?"left"===s?i+=d:"right"===s&&(i-=d):"left"===s?i-=c:"right"===s&&(i+=c),{x:i,y:a}}var s=t.helpers;t.defaults.global.tooltips={enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:s.noop,title:function(t,e){var n="",i=e.labels,a=i?i.length:0;if(t.length>0){var o=t[0];o.xLabel?n=o.xLabel:a>0&&o.index<a&&(n=i[o.index])}return n},afterTitle:s.noop,beforeBody:s.noop,beforeLabel:s.noop,label:function(t,e){var n=e.datasets[t.datasetIndex].label||"";return n&&(n+=": "),n+=t.yLabel},labelColor:function(t,e){var n=e.getDatasetMeta(t.datasetIndex),i=n.data[t.index],a=i._view;return{borderColor:a.borderColor,backgroundColor:a.backgroundColor}},afterLabel:s.noop,afterBody:s.noop,beforeFooter:s.noop,footer:s.noop,afterFooter:s.noop}},t.Tooltip=t.Element.extend({initialize:function(){this._model=a(this._options)},getTitle:function(){var t=this,e=t._options,i=e.callbacks,a=i.beforeTitle.apply(t,arguments),o=i.title.apply(t,arguments),r=i.afterTitle.apply(t,arguments),l=[];return l=n(l,a),l=n(l,o),l=n(l,r)},getBeforeBody:function(){var t=this._options.callbacks.beforeBody.apply(this,arguments);return s.isArray(t)?t:void 0!==t?[t]:[]},getBody:function(t,e){var i=this,a=i._options.callbacks,o=[];return s.each(t,function(t){var r={before:[],lines:[],after:[]};n(r.before,a.beforeLabel.call(i,t,e)),n(r.lines,a.label.call(i,t,e)),n(r.after,a.afterLabel.call(i,t,e)),o.push(r)}),o},getAfterBody:function(){var t=this._options.callbacks.afterBody.apply(this,arguments);return s.isArray(t)?t:void 0!==t?[t]:[]},getFooter:function(){var t=this,e=t._options.callbacks,i=e.beforeFooter.apply(t,arguments),a=e.footer.apply(t,arguments),o=e.afterFooter.apply(t,arguments),r=[];return r=n(r,i),r=n(r,a),r=n(r,o)},update:function(e){var n,u,d=this,c=d._options,h=d._model,f=d._model=a(c),g=d._active,p=d._data,m={xAlign:h.xAlign,yAlign:h.yAlign},v={x:h.x,y:h.y},b={width:h.width,height:h.height},x={x:h.caretX,y:h.caretY};if(g.length){f.opacity=1;var y=[];x=t.Tooltip.positioners[c.position](g,d._eventPosition);var k=[];for(n=0,u=g.length;n<u;++n)k.push(i(g[n]));c.filter&&(k=k.filter(function(t){return c.filter(t,p)})),c.itemSort&&(k=k.sort(function(t,e){return c.itemSort(t,e,p)})),s.each(k,function(t){y.push(c.callbacks.labelColor.call(d,t,d._chart))}),f.title=d.getTitle(k,p),f.beforeBody=d.getBeforeBody(k,p),f.body=d.getBody(k,p),f.afterBody=d.getAfterBody(k,p),f.footer=d.getFooter(k,p),f.x=Math.round(x.x),f.y=Math.round(x.y),f.caretPadding=c.caretPadding,f.labelColors=y,f.dataPoints=k,b=o(this,f),m=r(this,b),v=l(f,b,m)}else f.opacity=0;return f.xAlign=m.xAlign,f.yAlign=m.yAlign,f.x=v.x,f.y=v.y,f.width=b.width,f.height=b.height,f.caretX=x.x,f.caretY=x.y,d._model=f,e&&c.custom&&c.custom.call(d,f),d},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,o,r,l,s,u=n.caretSize,d=n.cornerRadius,c=n.xAlign,h=n.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===h)l=g+m/2,"left"===c?(i=f,a=i-u,o=i,r=l+u,s=l-u):(i=f+p,a=i+u,o=i,r=l-u,s=l+u);else if("left"===c?(a=f+d+u,i=a-u,o=a+u):"right"===c?(a=f+p-d-u,i=a-u,o=a+u):(a=f+p/2,i=a-u,o=a+u),"top"===h)r=g,l=r-u,s=r;else{r=g+m,l=r+u,s=r;var v=o;o=i,i=v}return{x1:i,x2:a,x3:o,y1:r,y2:l,y3:s}},drawTitle:function(t,n,i,a){var o=n.title;if(o.length){i.textAlign=n._titleAlign,i.textBaseline="top";var r=n.titleFontSize,l=n.titleSpacing;i.fillStyle=e(n.titleFontColor,a),i.font=s.fontString(r,n._titleFontStyle,n._titleFontFamily);var u,d;for(u=0,d=o.length;u<d;++u)i.fillText(o[u],t.x,t.y),t.y+=r+l,u+1===o.length&&(t.y+=n.titleMarginBottom-l)}},drawBody:function(t,n,i,a){var o=n.bodyFontSize,r=n.bodySpacing,l=n.body;i.textAlign=n._bodyAlign,i.textBaseline="top";var u=e(n.bodyFontColor,a);i.fillStyle=u,i.font=s.fontString(o,n._bodyFontStyle,n._bodyFontFamily);var d=0,c=function(e){i.fillText(e,t.x+d,t.y),t.y+=o+r};s.each(n.beforeBody,c);var h=n.displayColors;d=h?o+2:0,s.each(l,function(r,l){s.each(r.before,c),s.each(r.lines,function(r){h&&(i.fillStyle=e(n.legendColorBackground,a),i.fillRect(t.x,t.y,o,o),i.strokeStyle=e(n.labelColors[l].borderColor,a),i.strokeRect(t.x,t.y,o,o),i.fillStyle=e(n.labelColors[l].backgroundColor,a),i.fillRect(t.x+1,t.y+1,o-2,o-2),i.fillStyle=u),c(r)}),s.each(r.after,c)}),d=0,s.each(n.afterBody,c),t.y-=r},drawFooter:function(t,n,i,a){var o=n.footer;o.length&&(t.y+=n.footerMarginTop,i.textAlign=n._footerAlign,i.textBaseline="top",i.fillStyle=e(n.footerFontColor,a),i.font=s.fontString(n.footerFontSize,n._footerFontStyle,n._footerFontFamily),s.each(o,function(e){i.fillText(e,t.x,t.y),t.y+=n.footerFontSize+n.footerSpacing}))},drawBackground:function(t,n,i,a,o){i.fillStyle=e(n.backgroundColor,o),i.strokeStyle=e(n.borderColor,o),i.lineWidth=n.borderWidth;var r=n.xAlign,l=n.yAlign,s=t.x,u=t.y,d=a.width,c=a.height,h=n.cornerRadius;i.beginPath(),i.moveTo(s+h,u),"top"===l&&this.drawCaret(t,a),i.lineTo(s+d-h,u),i.quadraticCurveTo(s+d,u,s+d,u+h),"center"===l&&"right"===r&&this.drawCaret(t,a),i.lineTo(s+d,u+c-h),i.quadraticCurveTo(s+d,u+c,s+d-h,u+c),"bottom"===l&&this.drawCaret(t,a),i.lineTo(s+h,u+c),i.quadraticCurveTo(s,u+c,s,u+c-h),"center"===l&&"left"===r&&this.drawCaret(t,a),i.lineTo(s,u+h),i.quadraticCurveTo(s,u,s+h,u),i.closePath(),i.fill(),n.borderWidth>0&&i.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,o=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&o&&(this.drawBackground(i,e,t,n,a),i.x+=e.xPadding,i.y+=e.yPadding,this.drawTitle(i,e,t,a),this.drawBody(i,e,t,a),this.drawFooter(i,e,t,a))}},handleEvent:function(t){var e=this,n=e._options,i=!1;if(e._lastActive=e._lastActive||[],"mouseout"===t.type?e._active=[]:e._active=e._chart.getElementsAtEventForMode(t,n.mode,n),i=!s.arrayEquals(e._active,e._lastActive),!i)return!1;if(e._lastActive=e._active,n.enabled||n.custom){e._eventPosition={x:t.x,y:t.y};var a=e._model;e.update(!0),e.pivot(),i|=a.x!==e._model.x||a.y!==e._model.y}return i}}),t.Tooltip.positioners={average:function(t){if(!t.length)return!1;var e,n,i=0,a=0,o=0;for(e=0,n=t.length;e<n;++e){var r=t[e];if(r&&r.hasValue()){var l=r.tooltipPosition();i+=l.x,a+=l.y,++o}}return{x:Math.round(i/o),y:Math.round(a/o)}},nearest:function(t,e){var n,i,a,o=e.x,r=e.y,l=Number.POSITIVE_INFINITY;for(i=0,a=t.length;i<a;++i){var u=t[i];if(u&&u.hasValue()){var d=u.getCenterPoint(),c=s.distanceBetweenPoints(e,d);c<l&&(l=c,n=u)}}if(n){var h=n.tooltipPosition();o=h.x,r=h.y}return{x:o,y:r}}}}},{}],35:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n=t.defaults.global;n.elements.arc={backgroundColor:n.defaultColor,borderColor:"#fff",borderWidth:2},t.elements.Arc=t.Element.extend({inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,n){var i=this._view;if(i){for(var a=e.getAngleFromPoint(i,{x:t,y:n}),o=a.angle,r=a.distance,l=i.startAngle,s=i.endAngle;s<l;)s+=2*Math.PI;for(;o>s;)o-=2*Math.PI;for(;o<l;)o+=2*Math.PI;var u=o>=l&&o<=s,d=r>=i.innerRadius&&r<=i.outerRadius;return u&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t=this._chart.ctx,e=this._view,n=e.startAngle,i=e.endAngle;t.beginPath(),t.arc(e.x,e.y,e.outerRadius,n,i),t.arc(e.x,e.y,e.innerRadius,i,n,!0),t.closePath(),t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.fillStyle=e.backgroundColor,t.fill(),t.lineJoin="bevel",e.borderWidth&&t.stroke()}})}},{}],36:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n=t.defaults.global;t.defaults.global.elements.line={tension:.4,backgroundColor:n.defaultColor,borderWidth:3,borderColor:n.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0},t.elements.Line=t.Element.extend({draw:function(){var t,i,a,o,r=this,l=r._view,s=r._chart.ctx,u=l.spanGaps,d=r._children.slice(),c=n.elements.line,h=-1;for(r._loop&&d.length&&d.push(d[0]),s.save(),s.lineCap=l.borderCapStyle||c.borderCapStyle,s.setLineDash&&s.setLineDash(l.borderDash||c.borderDash),s.lineDashOffset=l.borderDashOffset||c.borderDashOffset,s.lineJoin=l.borderJoinStyle||c.borderJoinStyle,s.lineWidth=l.borderWidth||c.borderWidth,s.strokeStyle=l.borderColor||n.defaultColor,s.beginPath(),h=-1,t=0;t<d.length;++t)i=d[t],a=e.previousItem(d,t),o=i._view,0===t?o.skip||(s.moveTo(o.x,o.y),h=t):(a=h===-1?a:d[h],o.skip||(h!==t-1&&!u||h===-1?s.moveTo(o.x,o.y):e.canvas.lineTo(s,a._view,i._view),h=t));s.stroke(),s.restore()}})}},{}],37:[function(t,e,n){"use strict";e.exports=function(t){function e(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hitRadius,2)}function n(t){var e=this._view;return!!e&&Math.pow(t-e.y,2)<Math.pow(e.radius+e.hitRadius,2)}var i=t.helpers,a=t.defaults.global,o=a.defaultColor;a.elements.point={radius:3,pointStyle:"circle",backgroundColor:o,borderWidth:1,borderColor:o,hitRadius:1,hoverRadius:4,hoverBorderWidth:1},t.elements.Point=t.Element.extend({inRange:function(t,e){var n=this._view;return!!n&&Math.pow(t-n.x,2)+Math.pow(e-n.y,2)<Math.pow(n.hitRadius+n.radius,2)},inLabelRange:e,inXRange:e,inYRange:n,getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(e){var n=this._view,r=this._model,l=this._chart.ctx,s=n.pointStyle,u=n.radius,d=n.x,c=n.y,h=t.helpers.color,f=1.01,g=0;n.skip||(l.strokeStyle=n.borderColor||o,l.lineWidth=i.getValueOrDefault(n.borderWidth,a.elements.point.borderWidth),l.fillStyle=n.backgroundColor||o,void 0!==e&&(r.x<e.left||e.right*f<r.x||r.y<e.top||e.bottom*f<r.y)&&(r.x<e.left?g=(d-r.x)/(e.left-r.x):e.right*f<r.x?g=(r.x-d)/(r.x-e.right):r.y<e.top?g=(c-r.y)/(e.top-r.y):e.bottom*f<r.y&&(g=(r.y-c)/(r.y-e.bottom)),g=Math.round(100*g)/100,l.strokeStyle=h(l.strokeStyle).alpha(g).rgbString(),l.fillStyle=h(l.fillStyle).alpha(g).rgbString()),t.canvasHelpers.drawPoint(l,s,u,d,c))}})}},{}],38:[function(t,e,n){"use strict";e.exports=function(t){function e(t){return void 0!==t._view.width}function n(t){var n,i,a,o,r=t._view;if(e(t)){var l=r.width/2;n=r.x-l,i=r.x+l,a=Math.min(r.y,r.base),o=Math.max(r.y,r.base)}else{var s=r.height/2;n=Math.min(r.x,r.base),i=Math.max(r.x,r.base),a=r.y-s,o=r.y+s}return{left:n,top:a,right:i,bottom:o}}var i=t.defaults.global;i.elements.rectangle={backgroundColor:i.defaultColor,borderWidth:0,borderColor:i.defaultColor,borderSkipped:"bottom"},t.elements.Rectangle=t.Element.extend({draw:function(){function t(t){return v[(x+t)%4]}var e,n,i,a,o,r,l,s=this._chart.ctx,u=this._view,d=u.borderWidth;if(u.horizontal?(e=u.base,n=u.x,i=u.y-u.height/2,a=u.y+u.height/2,o=n>e?1:-1,r=1,l=u.borderSkipped||"left"):(e=u.x-u.width/2,n=u.x+u.width/2,i=u.y,a=u.base,o=1,r=a>i?1:-1,l=u.borderSkipped||"bottom"),d){var c=Math.min(Math.abs(e-n),Math.abs(i-a));d=d>c?c:d;var h=d/2,f=e+("left"!==l?h*o:0),g=n+("right"!==l?-h*o:0),p=i+("top"!==l?h*r:0),m=a+("bottom"!==l?-h*r:0);f!==g&&(i=p,a=m),p!==m&&(e=f,n=g)}s.beginPath(),s.fillStyle=u.backgroundColor,s.strokeStyle=u.borderColor,s.lineWidth=d;var v=[[e,a],[e,i],[n,i],[n,a]],b=["bottom","left","top","right"],x=b.indexOf(l,0);x===-1&&(x=0);var y=t(0);s.moveTo(y[0],y[1]);for(var k=1;k<4;k++)y=t(k),s.lineTo(y[0],y[1]);s.fill(),d&&s.stroke()},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){var i=!1;if(this._view){var a=n(this);i=t>=a.left&&t<=a.right&&e>=a.top&&e<=a.bottom}return i},inLabelRange:function(t,i){var a=this;if(!a._view)return!1;var o=!1,r=n(a);return o=e(a)?t>=r.left&&t<=r.right:i>=r.top&&i<=r.bottom},inXRange:function(t){var e=n(this);return t>=e.left&&t<=e.right},inYRange:function(t){var e=n(this);return t>=e.top&&t<=e.bottom},getCenterPoint:function(){var t,n,i=this._view;return e(this)?(t=i.x,n=(i.y+i.base)/2):(t=(i.x+i.base)/2,n=i.y),{x:t,y:n}},getArea:function(){var t=this._view;return t.width*Math.abs(t.y-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}})}},{}],39:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){var n=s.getStyle(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}function n(t,n){var i=t.style,a=t.getAttribute("height"),o=t.getAttribute("width");if(t._chartjs={initial:{height:a,width:o,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",null===o||""===o){var r=e(t,"width");void 0!==r&&(t.width=r)}if(null===a||""===a)if(""===t.style.height)t.height=t.width/(n.options.aspectRatio||2);else{var l=e(t,"height");void 0!==r&&(t.height=l)}return t}function i(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function a(t,e){var n=u[t.type]||t.type,a=s.getRelativePosition(t,e);return i(n,e,a.x,a.y,t)}function o(t){var e=document.createElement("iframe");return e.className="chartjs-hidden-iframe",e.style.cssText="display:block;overflow:hidden;border:0;margin:0;top:0;left:0;bottom:0;right:0;height:100%;width:100%;position:absolute;pointer-events:none;z-index:-1;",e.tabIndex=-1,s.addEvent(e,"load",function(){s.addEvent(e.contentWindow||e,"resize",t),t()}),e}function r(t,e,n){var a=t._chartjs={ticking:!1},r=function(){a.ticking||(a.ticking=!0,s.requestAnimFrame.call(window,function(){if(a.resizer)return a.ticking=!1,e(i("resize",n))}))};a.resizer=o(r),t.insertBefore(a.resizer,t.firstChild)}function l(t){if(t&&t._chartjs){var e=t._chartjs.resizer;e&&(e.parentNode.removeChild(e),t._chartjs.resizer=null),delete t._chartjs}}var s=t.helpers,u={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};return{acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(n(t,e),i):null},releaseContext:function(t){var e=t.canvas;if(e._chartjs){var n=e._chartjs.initial;["height","width"].forEach(function(t){var i=n[t];void 0===i||null===i?e.removeAttribute(t):e.setAttribute(t,i)}),s.each(n.style||{},function(t,n){e.style[n]=t}),e.width=e.width,delete e._chartjs}},addEventListener:function(t,e,n){var i=t.canvas;if("resize"===e)return void r(i.parentNode,n,t);var o=n._chartjs||(n._chartjs={}),l=o.proxies||(o.proxies={}),u=l[t.id+"_"+e]=function(e){n(a(e,t))};s.addEvent(i,e,u)},removeEventListener:function(t,e,n){var i=t.canvas;if("resize"===e)return void l(i.parentNode,n);var a=n._chartjs||{},o=a.proxies||{},r=o[t.id+"_"+e];r&&s.removeEvent(i,e,r)}}}},{}],40:[function(t,e,n){"use strict";var i=t(39);e.exports=function(t){t.platform={acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},t.helpers.extend(t.platform,i(t))}},{39:39}],41:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e,n){var i,a=t._model||{},o=a.fill;if(void 0===o&&(o=!!a.backgroundColor),o===!1||null===o)return!1;if(o===!0)return"origin";if(i=parseFloat(o,10),isFinite(i)&&Math.floor(i)===i)return"-"!==o[0]&&"+"!==o[0]||(i=e+i),!(i===e||i<0||i>=n)&&i;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function n(t){var e,n=t.el._model||{},i=t.el._scale||{},a=t.fill,o=null;if(isFinite(a))return null;if("start"===a?o=void 0===n.scaleBottom?i.bottom:n.scaleBottom:"end"===a?o=void 0===n.scaleTop?i.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:i.getBasePosition?o=i.getBasePosition():i.getBasePixel&&(o=i.getBasePixel()),void 0!==o&&null!==o){if(void 0!==o.x&&void 0!==o.y)return o;if("number"==typeof o&&isFinite(o))return e=i.isHorizontal(),{x:e?o:null,y:e?null:o}}return null}function i(t,e,n){var i,a=t[e],o=a.fill,r=[e];if(!n)return o;for(;o!==!1&&r.indexOf(o)===-1;){if(!isFinite(o))return o;if(i=t[o],!i)return!1;if(i.visible)return o;r.push(o),o=i.fill}return!1}function a(t){var e=t.fill,n="dataset";return e===!1?null:(isFinite(e)||(n="boundary"),d[n](t))}function o(t){return t&&!t.skip}function r(t,e,n,i,a){var o;if(i&&a){for(t.moveTo(e[0].x,e[0].y),o=1;o<i;++o)u.canvas.lineTo(t,e[o-1],e[o]);for(t.lineTo(n[a-1].x,n[a-1].y),o=a-1;o>0;--o)u.canvas.lineTo(t,n[o],n[o-1],!0)}}function l(t,e,n,i,a,l){var s,u,d,c,h,f,g,p=e.length,m=i.spanGaps,v=[],b=[],x=0,y=0;for(t.beginPath(),s=0,u=p+!!l;s<u;++s)d=s%p,c=e[d]._view,h=n(c,d,i),f=o(c),g=o(h),f&&g?(x=v.push(c),y=b.push(h)):x&&y&&(m?(f&&v.push(c),g&&b.push(h)):(r(t,v,b,x,y),x=y=0,v=[],b=[]));r(t,v,b,x,y),t.closePath(),t.fillStyle=a,t.fill()}t.defaults.global.plugins.filler={propagate:!0};var s=t.defaults,u=t.helpers,d={dataset:function(t){var e=t.fill,n=t.chart,i=n.getDatasetMeta(e),a=i&&n.isDatasetVisible(e),o=a&&i.dataset._children||[];return o.length?function(t,e){return o[e]._view||null}:null},boundary:function(t){var e=t.boundary,n=e?e.x:null,i=e?e.y:null;return function(t){return{x:null===n?t.x:n,y:null===i?t.y:i}}}};return{id:"filler",afterDatasetsUpdate:function(o,r){var l,s,u,d,c=(o.data.datasets||[]).length,h=r.propagate,f=[];for(s=0;s<c;++s)l=o.getDatasetMeta(s),u=l.dataset,d=null,u&&u._model&&u instanceof t.elements.Line&&(d={visible:o.isDatasetVisible(s),fill:e(u,s,c),chart:o,el:u}),l.$filler=d,f.push(d);for(s=0;s<c;++s)d=f[s],d&&(d.fill=i(f,s,h),d.boundary=n(d),d.mapper=a(d))},beforeDatasetDraw:function(t,e){var n=e.meta.$filler;if(n){var i=n.el,a=i._view,o=i._children||[],r=n.mapper,u=a.backgroundColor||s.global.defaultColor;r&&u&&o.length&&l(t.ctx,o,r,a,u,i._loop)}}}}},{}],42:[function(t,e,n){"use strict";e.exports=function(t){function e(t,e){return t.usePointStyle?e*Math.SQRT2:t.boxWidth}function n(e,n){var i=new t.Legend({ctx:e.ctx,options:n,chart:e});a.configure(e,i,n),a.addBox(e,i),e.legend=i}var i=t.helpers,a=t.layoutService,o=i.noop;return t.defaults.global.legend={display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,i=this.chart,a=i.getDatasetMeta(n);a.hidden=null===a.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return i.isArray(e.datasets)?e.datasets.map(function(e,n){return{text:e.label,fillStyle:i.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(n),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:n}},this):[]}}},t.Legend=t.Element.extend({initialize:function(t){i.extend(this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:o,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:o,beforeSetDimensions:o,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:o,beforeBuildLabels:o,buildLabels:function(){var t=this,e=t.options.labels,n=e.generateLabels.call(t,t.chart);e.filter&&(n=n.filter(function(n){return e.filter(n,t.chart.data)})),t.options.reverse&&n.reverse(),t.legendItems=n},afterBuildLabels:o,beforeFit:o,fit:function(){var n=this,a=n.options,o=a.labels,r=a.display,l=n.ctx,s=t.defaults.global,u=i.getValueOrDefault,d=u(o.fontSize,s.defaultFontSize),c=u(o.fontStyle,s.defaultFontStyle),h=u(o.fontFamily,s.defaultFontFamily),f=i.fontString(d,c,h),g=n.legendHitBoxes=[],p=n.minSize,m=n.isHorizontal();if(m?(p.width=n.maxWidth,p.height=r?10:0):(p.width=r?10:0,p.height=n.maxHeight),r)if(l.font=f,m){var v=n.lineWidths=[0],b=n.legendItems.length?d+o.padding:0;l.textAlign="left",l.textBaseline="top",i.each(n.legendItems,function(t,i){var a=e(o,d),r=a+d/2+l.measureText(t.text).width;v[v.length-1]+r+o.padding>=n.width&&(b+=d+o.padding,v[v.length]=n.left),g[i]={left:0,top:0,width:r,height:d},v[v.length-1]+=r+o.padding}),p.height+=b}else{var x=o.padding,y=n.columnWidths=[],k=o.padding,w=0,M=0,S=d+x;i.each(n.legendItems,function(t,n){var i=e(o,d),a=i+d/2+l.measureText(t.text).width;M+S>p.height&&(k+=w+o.padding,y.push(w),w=0,M=0),w=Math.max(w,a),M+=S,g[n]={left:0,top:0,width:a,height:d}}),k+=w,y.push(w),p.width+=k}n.width=p.width,n.height=p.height},afterFit:o,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var n=this,a=n.options,o=a.labels,r=t.defaults.global,l=r.elements.line,s=n.width,u=n.lineWidths;if(a.display){var d,c=n.ctx,h=i.getValueOrDefault,f=h(o.fontColor,r.defaultFontColor),g=h(o.fontSize,r.defaultFontSize),p=h(o.fontStyle,r.defaultFontStyle),m=h(o.fontFamily,r.defaultFontFamily),v=i.fontString(g,p,m);c.textAlign="left",c.textBaseline="top",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=v;var b=e(o,g),x=n.legendHitBoxes,y=function(e,n,i){if(!(isNaN(b)||b<=0)){c.save(),c.fillStyle=h(i.fillStyle,r.defaultColor),c.lineCap=h(i.lineCap,l.borderCapStyle),c.lineDashOffset=h(i.lineDashOffset,l.borderDashOffset),c.lineJoin=h(i.lineJoin,l.borderJoinStyle),c.lineWidth=h(i.lineWidth,l.borderWidth),c.strokeStyle=h(i.strokeStyle,r.defaultColor);var o=0===h(i.lineWidth,l.borderWidth);if(c.setLineDash&&c.setLineDash(h(i.lineDash,l.borderDash)),a.labels&&a.labels.usePointStyle){var s=g*Math.SQRT2/2,u=s/Math.SQRT2,d=e+u,f=n+u;t.canvasHelpers.drawPoint(c,i.pointStyle,s,d,f)}else o||c.strokeRect(e,n,b,g),c.fillRect(e,n,b,g);c.restore()}},k=function(t,e,n,i){c.fillText(n.text,b+g/2+t,e),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(b+g/2+t,e+g/2),c.lineTo(b+g/2+t+i,e+g/2),c.stroke())},w=n.isHorizontal();d=w?{x:n.left+(s-u[0])/2,y:n.top+o.padding,line:0}:{x:n.left+o.padding,y:n.top+o.padding,line:0};var M=g+o.padding;i.each(n.legendItems,function(t,e){var i=c.measureText(t.text).width,a=b+g/2+i,r=d.x,l=d.y;w?r+a>=s&&(l=d.y+=M,d.line++,r=d.x=n.left+(s-u[d.line])/2):l+M>n.bottom&&(r=d.x=r+n.columnWidths[d.line]+o.padding,l=d.y=n.top+o.padding,d.line++),y(r,l,t),x[e].left=r,x[e].top=l,k(r,l,t,i),w?d.x+=a+o.padding:d.y+=M})}},handleEvent:function(t){var e=this,n=e.options,i="mouseup"===t.type?"click":t.type,a=!1;if("mousemove"===i){if(!n.onHover)return}else{if("click"!==i)return;if(!n.onClick)return}var o=t.x,r=t.y;if(o>=e.left&&o<=e.right&&r>=e.top&&r<=e.bottom)for(var l=e.legendHitBoxes,s=0;s<l.length;++s){var u=l[s];if(o>=u.left&&o<=u.left+u.width&&r>=u.top&&r<=u.top+u.height){if("click"===i){n.onClick.call(e,t.native,e.legendItems[s]),a=!0;break}if("mousemove"===i){n.onHover.call(e,t.native,e.legendItems[s]),a=!0;break}}}return a}}),{id:"legend",beforeInit:function(t){var e=t.options.legend;e&&n(t,e)},beforeUpdate:function(e){var o=e.options.legend,r=e.legend;o?(o=i.configMerge(t.defaults.global.legend,o),r?(a.configure(e,r,o),r.options=o):n(e,o)):r&&(a.removeBox(e,r),delete e.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}}}},{}],43:[function(t,e,n){"use strict";e.exports=function(t){function e(e,n){var a=new t.Title({ctx:e.ctx,options:n,chart:e});i.configure(e,a,n),i.addBox(e,a),e.titleBlock=a}var n=t.helpers,i=t.layoutService,a=n.noop;return t.defaults.global.title={display:!1,position:"top",fullWidth:!0,weight:2e3,fontStyle:"bold",padding:10,text:""},t.Title=t.Element.extend({initialize:function(t){var e=this;n.extend(e,t),e.legendHitBoxes=[];
},beforeUpdate:a,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:a,beforeSetDimensions:a,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:a,beforeBuildLabels:a,buildLabels:a,afterBuildLabels:a,beforeFit:a,fit:function(){var e=this,i=n.getValueOrDefault,a=e.options,o=t.defaults.global,r=a.display,l=i(a.fontSize,o.defaultFontSize),s=e.minSize;e.isHorizontal()?(s.width=e.maxWidth,s.height=r?l+2*a.padding:0):(s.width=r?l+2*a.padding:0,s.height=e.maxHeight),e.width=s.width,e.height=s.height},afterFit:a,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var e=this,i=e.ctx,a=n.getValueOrDefault,o=e.options,r=t.defaults.global;if(o.display){var l,s,u,d=a(o.fontSize,r.defaultFontSize),c=a(o.fontStyle,r.defaultFontStyle),h=a(o.fontFamily,r.defaultFontFamily),f=n.fontString(d,c,h),g=0,p=e.top,m=e.left,v=e.bottom,b=e.right;i.fillStyle=a(o.fontColor,r.defaultFontColor),i.font=f,e.isHorizontal()?(l=m+(b-m)/2,s=p+(v-p)/2,u=b-m):(l="left"===o.position?m+d/2:b-d/2,s=p+(v-p)/2,u=v-p,g=Math.PI*("left"===o.position?-.5:.5)),i.save(),i.translate(l,s),i.rotate(g),i.textAlign="center",i.textBaseline="middle",i.fillText(o.text,0,0,u),i.restore()}}}),{id:"title",beforeInit:function(t){var n=t.options.title;n&&e(t,n)},beforeUpdate:function(a){var o=a.options.title,r=a.titleBlock;o?(o=n.configMerge(t.defaults.global.title,o),r?(i.configure(a,r,o),r.options=o):e(a,o)):r&&(t.layoutService.removeBox(a,r),delete a.titleBlock)}}}},{}],44:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n={position:"bottom"},i=t.Scale.extend({getLabels:function(){var t=this.chart.data;return(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t=this,n=t.getLabels();t.minIndex=0,t.maxIndex=n.length-1;var i;void 0!==t.options.ticks.min&&(i=e.indexOf(n,t.options.ticks.min),t.minIndex=i!==-1?i:t.minIndex),void 0!==t.options.ticks.max&&(i=e.indexOf(n,t.options.ticks.max),t.maxIndex=i!==-1?i:t.maxIndex),t.min=n[t.minIndex],t.max=n[t.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var n=this,i=n.chart.data,a=n.isHorizontal();return i.yLabels&&!a?n.getRightValue(i.datasets[e].data[t]):n.ticks[t-n.minIndex]},getPixelForValue:function(t,e,n,i){var a,o=this,r=Math.max(o.maxIndex+1-o.minIndex-(o.options.gridLines.offsetGridLines?0:1),1);if(void 0!==t&&null!==t&&(a=o.isHorizontal()?t.x:t.y),void 0!==a||void 0!==t&&isNaN(e)){var l=o.getLabels();t=a||t;var s=l.indexOf(t);e=s!==-1?s:e}if(o.isHorizontal()){var u=o.width/r,d=u*(e-o.minIndex);return(o.options.gridLines.offsetGridLines&&i||o.maxIndex===o.minIndex&&i)&&(d+=u/2),o.left+Math.round(d)}var c=o.height/r,h=c*(e-o.minIndex);return o.options.gridLines.offsetGridLines&&i&&(h+=c/2),o.top+Math.round(h)},getPixelForTick:function(t,e){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null,e)},getValueForPixel:function(t){var e,n=this,i=Math.max(n.ticks.length-(n.options.gridLines.offsetGridLines?0:1),1),a=n.isHorizontal(),o=(a?n.width:n.height)/i;return t-=a?n.left:n.top,n.options.gridLines.offsetGridLines&&(t-=o/2),e=t<=0?0:Math.round(t/o)},getBasePixel:function(){return this.bottom}});t.scaleService.registerScaleType("category",i,n)}},{}],45:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n={position:"left",ticks:{callback:t.Ticks.formatters.linear}},i=t.LinearScaleBase.extend({determineDataLimits:function(){function t(t){return l?t.xAxisID===n.id:t.yAxisID===n.id}var n=this,i=n.options,a=n.chart,o=a.data,r=o.datasets,l=n.isHorizontal(),s=0,u=1;n.min=null,n.max=null;var d=i.stacked;if(void 0===d&&e.each(r,function(e,n){if(!d){var i=a.getDatasetMeta(n);a.isDatasetVisible(n)&&t(i)&&void 0!==i.stack&&(d=!0)}}),i.stacked||d){var c={};e.each(r,function(o,r){var l=a.getDatasetMeta(r),s=[l.type,void 0===i.stacked&&void 0===l.stack?r:"",l.stack].join(".");void 0===c[s]&&(c[s]={positiveValues:[],negativeValues:[]});var u=c[s].positiveValues,d=c[s].negativeValues;a.isDatasetVisible(r)&&t(l)&&e.each(o.data,function(t,e){var a=+n.getRightValue(t);isNaN(a)||l.data[e].hidden||(u[e]=u[e]||0,d[e]=d[e]||0,i.relativePoints?u[e]=100:a<0?d[e]+=a:u[e]+=a)})}),e.each(c,function(t){var i=t.positiveValues.concat(t.negativeValues),a=e.min(i),o=e.max(i);n.min=null===n.min?a:Math.min(n.min,a),n.max=null===n.max?o:Math.max(n.max,o)})}else e.each(r,function(i,o){var r=a.getDatasetMeta(o);a.isDatasetVisible(o)&&t(r)&&e.each(i.data,function(t,e){var i=+n.getRightValue(t);isNaN(i)||r.data[e].hidden||(null===n.min?n.min=i:i<n.min&&(n.min=i),null===n.max?n.max=i:i>n.max&&(n.max=i))})});n.min=isFinite(n.min)?n.min:s,n.max=isFinite(n.max)?n.max:u,this.handleTickRangeOptions()},getTickLimit:function(){var n,i=this,a=i.options.ticks;if(i.isHorizontal())n=Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(i.width/50));else{var o=e.getValueOrDefault(a.fontSize,t.defaults.global.defaultFontSize);n=Math.min(a.maxTicksLimit?a.maxTicksLimit:11,Math.ceil(i.height/(2*o)))}return n},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e,n=this,i=n.start,a=+n.getRightValue(t),o=n.end-i;return n.isHorizontal()?(e=n.left+n.width/o*(a-i),Math.round(e)):(e=n.bottom-n.height/o*(a-i),Math.round(e))},getValueForPixel:function(t){var e=this,n=e.isHorizontal(),i=n?e.width:e.height,a=(n?t-e.left:e.bottom-t)/i;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});t.scaleService.registerScaleType("linear",i,n)}},{}],46:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n=e.noop;t.LinearScaleBase=t.Scale.extend({handleTickRangeOptions:function(){var t=this,n=t.options,i=n.ticks;if(i.beginAtZero){var a=e.sign(t.min),o=e.sign(t.max);a<0&&o<0?t.max=0:a>0&&o>0&&(t.min=0)}void 0!==i.min?t.min=i.min:void 0!==i.suggestedMin&&(null===t.min?t.min=i.suggestedMin:t.min=Math.min(t.min,i.suggestedMin)),void 0!==i.max?t.max=i.max:void 0!==i.suggestedMax&&(null===t.max?t.max=i.suggestedMax:t.max=Math.max(t.max,i.suggestedMax)),t.min===t.max&&(t.max++,i.beginAtZero||t.min--)},getTickLimit:n,handleDirectionalChanges:n,buildTicks:function(){var n=this,i=n.options,a=i.ticks,o=n.getTickLimit();o=Math.max(2,o);var r={maxTicks:o,min:a.min,max:a.max,stepSize:e.getValueOrDefault(a.fixedStepSize,a.stepSize)},l=n.ticks=t.Ticks.generators.linear(r,n);n.handleDirectionalChanges(),n.max=e.max(l),n.min=e.min(l),a.reverse?(l.reverse(),n.start=n.max,n.end=n.min):(n.start=n.min,n.end=n.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),t.Scale.prototype.convertTicksToLabels.call(e)}})}},{}],47:[function(t,e,n){"use strict";e.exports=function(t){var e=t.helpers,n={position:"left",ticks:{callback:t.Ticks.formatters.logarithmic}},i=t.Scale.extend({determineDataLimits:function(){function t(t){return u?t.xAxisID===n.id:t.yAxisID===n.id}var n=this,i=n.options,a=i.ticks,o=n.chart,r=o.data,l=r.datasets,s=e.getValueOrDefault,u=n.isHorizontal();n.min=null,n.max=null,n.minNotZero=null;var d=i.stacked;if(void 0===d&&e.each(l,function(e,n){if(!d){var i=o.getDatasetMeta(n);o.isDatasetVisible(n)&&t(i)&&void 0!==i.stack&&(d=!0)}}),i.stacked||d){var c={};e.each(l,function(a,r){var l=o.getDatasetMeta(r),s=[l.type,void 0===i.stacked&&void 0===l.stack?r:"",l.stack].join(".");o.isDatasetVisible(r)&&t(l)&&(void 0===c[s]&&(c[s]=[]),e.each(a.data,function(t,e){var a=c[s],o=+n.getRightValue(t);isNaN(o)||l.data[e].hidden||(a[e]=a[e]||0,i.relativePoints?a[e]=100:a[e]+=o)}))}),e.each(c,function(t){var i=e.min(t),a=e.max(t);n.min=null===n.min?i:Math.min(n.min,i),n.max=null===n.max?a:Math.max(n.max,a)})}else e.each(l,function(i,a){var r=o.getDatasetMeta(a);o.isDatasetVisible(a)&&t(r)&&e.each(i.data,function(t,e){var i=+n.getRightValue(t);isNaN(i)||r.data[e].hidden||(null===n.min?n.min=i:i<n.min&&(n.min=i),null===n.max?n.max=i:i>n.max&&(n.max=i),0!==i&&(null===n.minNotZero||i<n.minNotZero)&&(n.minNotZero=i))})});n.min=s(a.min,n.min),n.max=s(a.max,n.max),n.min===n.max&&(0!==n.min&&null!==n.min?(n.min=Math.pow(10,Math.floor(e.log10(n.min))-1),n.max=Math.pow(10,Math.floor(e.log10(n.max))+1)):(n.min=1,n.max=10))},buildTicks:function(){var n=this,i=n.options,a=i.ticks,o={min:a.min,max:a.max},r=n.ticks=t.Ticks.generators.logarithmic(o,n);n.isHorizontal()||r.reverse(),n.max=e.max(r),n.min=e.min(r),a.reverse?(r.reverse(),n.start=n.max,n.end=n.min):(n.start=n.min,n.end=n.max)},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),t.Scale.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){return this.getPixelForValue(this.tickValues[t])},getPixelForValue:function(t){var n,i,a,o=this,r=o.start,l=+o.getRightValue(t),s=o.options,u=s.ticks;return o.isHorizontal()?(a=e.log10(o.end)-e.log10(r),0===l?i=o.left:(n=o.width,i=o.left+n/a*(e.log10(l)-e.log10(r)))):(n=o.height,0!==r||u.reverse?0===o.end&&u.reverse?(a=e.log10(o.start)-e.log10(o.minNotZero),i=l===o.end?o.top:l===o.minNotZero?o.top+.02*n:o.top+.02*n+.98*n/a*(e.log10(l)-e.log10(o.minNotZero))):0===l?i=u.reverse?o.top:o.bottom:(a=e.log10(o.end)-e.log10(r),n=o.height,i=o.bottom-n/a*(e.log10(l)-e.log10(r))):(a=e.log10(o.end)-e.log10(o.minNotZero),i=l===r?o.bottom:l===o.minNotZero?o.bottom-.02*n:o.bottom-.02*n-.98*n/a*(e.log10(l)-e.log10(o.minNotZero)))),i},getValueForPixel:function(t){var n,i,a=this,o=e.log10(a.end)-e.log10(a.start);return a.isHorizontal()?(i=a.width,n=a.start*Math.pow(10,(t-a.left)*o/i)):(i=a.height,n=Math.pow(10,(a.bottom-t)*o/i)/a.start),n}});t.scaleService.registerScaleType("logarithmic",i,n)}},{}],48:[function(t,e,n){"use strict";e.exports=function(t){function e(t){var e=t.options;return e.angleLines.display||e.pointLabels.display?t.chart.data.labels.length:0}function n(t){var e=t.options.pointLabels,n=f.getValueOrDefault(e.fontSize,g.defaultFontSize),i=f.getValueOrDefault(e.fontStyle,g.defaultFontStyle),a=f.getValueOrDefault(e.fontFamily,g.defaultFontFamily),o=f.fontString(n,i,a);return{size:n,style:i,family:a,font:o}}function i(t,e,n){return f.isArray(n)?{w:f.longestText(t,t.font,n),h:n.length*e+1.5*(n.length-1)*e}:{w:t.measureText(n).width,h:e}}function a(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:t<i||t>a?{start:e-n-5,end:e}:{start:e,end:e+n+5}}function o(t){var o,r,l,s=n(t),u=Math.min(t.height/2,t.width/2),d={r:t.width,l:0,t:t.height,b:0},c={};t.ctx.font=s.font,t._pointLabelSizes=[];var h=e(t);for(o=0;o<h;o++){l=t.getPointPosition(o,u),r=i(t.ctx,s.size,t.pointLabels[o]||""),t._pointLabelSizes[o]=r;var g=t.getIndexAngle(o),p=f.toDegrees(g)%360,m=a(p,l.x,r.w,0,180),v=a(p,l.y,r.h,90,270);m.start<d.l&&(d.l=m.start,c.l=g),m.end>d.r&&(d.r=m.end,c.r=g),v.start<d.t&&(d.t=v.start,c.t=g),v.end>d.b&&(d.b=v.end,c.b=g)}t.setReductions(u,d,c)}function r(t){var e=Math.min(t.height/2,t.width/2);t.drawingArea=Math.round(e),t.setCenterPoint(0,0,0,0)}function l(t){return 0===t||180===t?"center":t<180?"left":"right"}function s(t,e,n,i){if(f.isArray(e))for(var a=n.y,o=1.5*i,r=0;r<e.length;++r)t.fillText(e[r],n.x,a),a+=o;else t.fillText(e,n.x,n.y)}function u(t,e,n){90===t||270===t?n.y-=e.h/2:(t>270||t<90)&&(n.y-=e.h)}function d(t){var i=t.ctx,a=f.getValueOrDefault,o=t.options,r=o.angleLines,d=o.pointLabels;i.lineWidth=r.lineWidth,i.strokeStyle=r.color;var c=t.getDistanceFromCenterForValue(o.reverse?t.min:t.max),h=n(t);i.textBaseline="top";for(var p=e(t)-1;p>=0;p--){if(r.display){var m=t.getPointPosition(p,c);i.beginPath(),i.moveTo(t.xCenter,t.yCenter),i.lineTo(m.x,m.y),i.stroke(),i.closePath()}if(d.display){var v=t.getPointPosition(p,c+5),b=a(d.fontColor,g.defaultFontColor);i.font=h.font,i.fillStyle=b;var x=t.getIndexAngle(p),y=f.toDegrees(x);i.textAlign=l(y),u(y,t._pointLabelSizes[p],v),s(i,t.pointLabels[p]||"",v,h.size)}}}function c(t,n,i,a){var o=t.ctx;if(o.strokeStyle=f.getValueAtIndexOrDefault(n.color,a-1),o.lineWidth=f.getValueAtIndexOrDefault(n.lineWidth,a-1),t.options.gridLines.circular)o.beginPath(),o.arc(t.xCenter,t.yCenter,i,0,2*Math.PI),o.closePath(),o.stroke();else{var r=e(t);if(0===r)return;o.beginPath();var l=t.getPointPosition(0,i);o.moveTo(l.x,l.y);for(var s=1;s<r;s++)l=t.getPointPosition(s,i),o.lineTo(l.x,l.y);o.closePath(),o.stroke()}}function h(t){return f.isNumber(t)?t:0}var f=t.helpers,g=t.defaults.global,p={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:t.Ticks.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}},m=t.LinearScaleBase.extend({setDimensions:function(){var t=this,e=t.options,n=e.ticks;t.width=t.maxWidth,t.height=t.maxHeight,t.xCenter=Math.round(t.width/2),t.yCenter=Math.round(t.height/2);var i=f.min([t.height,t.width]),a=f.getValueOrDefault(n.fontSize,g.defaultFontSize);t.drawingArea=e.display?i/2-(a/2+n.backdropPaddingY):i/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;f.each(e.data.datasets,function(a,o){if(e.isDatasetVisible(o)){var r=e.getDatasetMeta(o);f.each(a.data,function(e,a){var o=+t.getRightValue(e);isNaN(o)||r.data[a].hidden||(n=Math.min(o,n),i=Math.max(o,i))})}}),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},getTickLimit:function(){var t=this.options.ticks,e=f.getValueOrDefault(t.fontSize,g.defaultFontSize);return Math.min(t.maxTicksLimit?t.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*e)))},convertTicksToLabels:function(){var e=this;t.LinearScaleBase.prototype.convertTicksToLabels.call(e),e.pointLabels=e.chart.data.labels.map(e.options.pointLabels.callback,e)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){this.options.pointLabels.display?o(this):r(this)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),o=Math.max(e.r-i.width,0)/Math.sin(n.r),r=-e.t/Math.cos(n.t),l=-Math.max(e.b-i.height,0)/Math.cos(n.b);a=h(a),o=h(o),r=h(r),l=h(l),i.drawingArea=Math.min(Math.round(t-(a+o)/2),Math.round(t-(r+l)/2)),i.setCenterPoint(a,o,r,l)},setCenterPoint:function(t,e,n,i){var a=this,o=a.width-e-a.drawingArea,r=t+a.drawingArea,l=n+a.drawingArea,s=a.height-i-a.drawingArea;a.xCenter=Math.round((r+o)/2+a.left),a.yCenter=Math.round((l+s)/2+a.top)},getIndexAngle:function(t){var n=2*Math.PI/e(this),i=this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0,a=i*Math.PI*2/360;return t*n+a},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var n=e.drawingArea/(e.max-e.min);return e.options.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this,i=n.getIndexAngle(t)-Math.PI/2;return{x:Math.round(Math.cos(i)*e)+n.xCenter,y:Math.round(Math.sin(i)*e)+n.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this,e=t.min,n=t.max;return t.getPointPositionForValue(0,t.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},draw:function(){var t=this,e=t.options,n=e.gridLines,i=e.ticks,a=f.getValueOrDefault;if(e.display){var o=t.ctx,r=a(i.fontSize,g.defaultFontSize),l=a(i.fontStyle,g.defaultFontStyle),s=a(i.fontFamily,g.defaultFontFamily),u=f.fontString(r,l,s);f.each(t.ticks,function(l,s){if(s>0||e.reverse){var d=t.getDistanceFromCenterForValue(t.ticksAsNumbers[s]),h=t.yCenter-d;if(n.display&&0!==s&&c(t,n,d,s),i.display){var f=a(i.fontColor,g.defaultFontColor);if(o.font=u,i.showLabelBackdrop){var p=o.measureText(l).width;o.fillStyle=i.backdropColor,o.fillRect(t.xCenter-p/2-i.backdropPaddingX,h-r/2-i.backdropPaddingY,p+2*i.backdropPaddingX,r+2*i.backdropPaddingY)}o.textAlign="center",o.textBaseline="middle",o.fillStyle=f,o.fillText(l,t.xCenter,h)}}}),(e.angleLines.display||e.pointLabels.display)&&d(t)}}});t.scaleService.registerScaleType("radialLinear",m,p)}},{}],49:[function(t,e,n){"use strict";var i=t(1);i="function"==typeof i?i:window.moment,e.exports=function(t){function e(t,e){var n=t.options.time;if("string"==typeof n.parser)return i(e,n.parser);if("function"==typeof n.parser)return n.parser(e);if("function"==typeof e.getMonth||"number"==typeof e)return i(e);if(e.isValid&&e.isValid())return e;var a=n.format;return"string"!=typeof a&&a.call?(console.warn("options.time.format is deprecated and replaced by options.time.parser."),a(e)):i(e,a)}function n(t,e,n,i){for(var a,o=Object.keys(l),r=o.length,s=o.indexOf(t);s<r;s++){a=o[s];var u=l[a],d=u.steps&&u.steps[u.steps.length-1]||u.maxStep;if(void 0===d||Math.ceil((n-e)/(d*u.size))<=i)break}return a}function a(t,e,n,i){var a=l[n],o=a.size,r=Math.ceil((e-t)/o),s=1,u=e-t;if(a.steps)for(var d=a.steps.length,c=0;c<d&&r>i;c++)s=a.steps[c],r=Math.ceil(u/(o*s));else for(;r>i&&i>0;)++s,r=Math.ceil(u/(o*s));return s}function o(t,e,n){var a=[];if(t.maxTicks){var o=t.stepSize;a.push(void 0!==t.min?t.min:n.min);for(var r=i(n.min);r.add(o,t.unit).valueOf()<n.max;)a.push(r.valueOf());var l=t.max||n.max;a[a.length-1]!==l&&a.push(l)}return a}var r=t.helpers,l={millisecond:{size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{size:1e3,steps:[1,2,5,10,30]},minute:{size:6e4,steps:[1,2,5,10,30]},hour:{size:36e5,steps:[1,2,3,6,12]},day:{size:864e5,steps:[1,2,5]},week:{size:6048e5,maxStep:4},month:{size:2628e6,maxStep:3},quarter:{size:7884e6,maxStep:4},year:{size:3154e7,maxStep:!1}},s={position:"bottom",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm:ss a",hour:"MMM D, hA",day:"ll",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1}};t.Ticks.generators.time=function(t,e){var n,a,r=t.isoWeekday;return"week"===t.unit&&r!==!1?(n=i(e.min).startOf("isoWeek").isoWeekday(r).valueOf(),a=i(e.max).startOf("isoWeek").isoWeekday(r),e.max-a>0&&a.add(1,"week"),a=a.valueOf()):(n=i(e.min).startOf(t.unit).valueOf(),a=i(e.max).startOf(t.unit),e.max-a>0&&a.add(1,t.unit),a=a.valueOf()),o(t,e,{min:n,max:a})};var u=t.Scale.extend({initialize:function(){if(!i)throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");t.Scale.prototype.initialize.call(this)},determineDataLimits:function(){var t,n=this,i=n.options.time,a=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,l=n.chart.data,s={labels:[],datasets:[]};r.each(l.labels,function(r,l){var u=e(n,r);u.isValid()&&(i.round&&u.startOf(i.round),t=u.valueOf(),a=Math.min(t,a),o=Math.max(t,o),s.labels[l]=t)}),r.each(l.datasets,function(l,u){var d=[];"object"==typeof l.data[0]&&null!==l.data[0]&&n.chart.isDatasetVisible(u)?r.each(l.data,function(r,l){var s=e(n,n.getRightValue(r));s.isValid()&&(i.round&&s.startOf(i.round),t=s.valueOf(),a=Math.min(t,a),o=Math.max(t,o),d[l]=t)}):d=s.labels.slice(),s.datasets[u]=d}),n.dataMin=a,n.dataMax=o,n._parsedData=s},buildTicks:function(){var i,o,l=this,s=l.options.time,u=l.dataMin,d=l.dataMax;if(s.min){var c=e(l,s.min);s.round&&c.round(s.round),i=c.valueOf()}s.max&&(o=e(l,s.max).valueOf());var h=l.getLabelCapacity(i||u),f=s.unit||n(s.minUnit,i||u,o||d,h);l.displayFormat=s.displayFormats[f];var g=s.stepSize||a(i||u,o||d,f,h);l.ticks=t.Ticks.generators.time({maxTicks:h,min:i,max:o,stepSize:g,unit:f,isoWeekday:s.isoWeekday},{min:u,max:d}),l.max=r.max(l.ticks),l.min=r.min(l.ticks)},getLabelForIndex:function(t,n){var i=this,a=i.chart.data.labels&&t<i.chart.data.labels.length?i.chart.data.labels[t]:"",o=i.chart.data.datasets[n].data[t];return null!==o&&"object"==typeof o&&(a=i.getRightValue(o)),i.options.time.tooltipFormat&&(a=e(i,a).format(i.options.time.tooltipFormat)),a},tickFormatFunction:function(t,e,n){var i=t.format(this.displayFormat),a=this.options.ticks,o=r.getValueOrDefault(a.callback,a.userCallback);return o?o(i,e,n):i},convertTicksToLabels:function(){var t=this;t.ticksAsTimestamps=t.ticks,t.ticks=t.ticks.map(function(t){return i(t)}).map(t.tickFormatFunction,t)},getPixelForOffset:function(t){var e=this,n=e.max-e.min,i=n?(t-e.min)/n:0;if(e.isHorizontal()){var a=e.width*i;return e.left+Math.round(a)}var o=e.height*i;return e.top+Math.round(o)},getPixelForValue:function(t,n,i){var a=this,o=null;if(void 0!==n&&void 0!==i&&(o=a._parsedData.datasets[i][n]),null===o&&(t&&t.isValid||(t=e(a,a.getRightValue(t))),t&&t.isValid&&t.isValid()&&(o=t.valueOf())),null!==o)return a.getPixelForOffset(o)},getPixelForTick:function(t){return this.getPixelForOffset(this.ticksAsTimestamps[t])},getValueForPixel:function(t){var e=this,n=e.isHorizontal()?e.width:e.height,a=(t-(e.isHorizontal()?e.left:e.top))/n;return i(e.min+a*(e.max-e.min))},getLabelWidth:function(e){var n=this,i=n.options.ticks,a=n.ctx.measureText(e).width,o=Math.cos(r.toRadians(i.maxRotation)),l=Math.sin(r.toRadians(i.maxRotation)),s=r.getValueOrDefault(i.fontSize,t.defaults.global.defaultFontSize);return a*o+s*l},getLabelCapacity:function(t){var e=this;e.displayFormat=e.options.time.displayFormats.millisecond;var n=e.tickFormatFunction(i(t),0,[]),a=e.getLabelWidth(n),o=e.isHorizontal()?e.width:e.height,r=o/a;return r}});t.scaleService.registerScaleType("time",u,s)}},{1:1}]},{},[7])(7)});
if(document.getElementById('depthchart')){
  am4core.useTheme(am4themes_dark);
  am4core.useTheme(am4themes_animated);
  // Themes end

  // Create chart instance
  var chart = am4core.create("depthchart", am4charts.XYChart);

  // Add data
  chart.dataSource.url = "https://poloniex.com/public?command=returnOrderBook¤cyPair=BTC_ETH&depth=50";
  chart.dataSource.reloadFrequency = 30000;
  chart.dataSource.adapter.add("parsedData", function(data) {
    
    // Function to process (sort and calculate cummulative volume)
    function processData(list, type, desc) {

      // Convert to data points
      for(var i = 0; i < list.length; i++) {
        list[i] = {
          value: Number(list[i][0]),
          volume: Number(list[i][1]),
        }
      }

      // Sort list just in case
      list.sort(function(a, b) {
        if (a.value > b.value) {
          return 1;
        }
        else if (a.value < b.value) {
          return -1;
        }
        else {
          return 0;
        }
      });

      // Calculate cummulative volume
      if (desc) {
        for(var i = list.length - 1; i >= 0; i--) {
          if (i < (list.length - 1)) {
            list[i].totalvolume = list[i+1].totalvolume + list[i].volume;
          }
          else {
            list[i].totalvolume = list[i].volume;
          }
          var dp = {};
          dp["value"] = list[i].value;
          dp[type + "volume"] = list[i].volume;
          dp[type + "totalvolume"] = list[i].totalvolume;
          res.unshift(dp);
        }
      }
      else {
        for(var i = 0; i < list.length; i++) {
          if (i > 0) {
            list[i].totalvolume = list[i-1].totalvolume + list[i].volume;
          }
          else {
            list[i].totalvolume = list[i].volume;
          }
          var dp = {};
          dp["value"] = list[i].value;
          dp[type + "volume"] = list[i].volume;
          dp[type + "totalvolume"] = list[i].totalvolume;
          res.push(dp);
        }
      }

    }

    // Init
    var res = [];
    processData(data.bids, "bids", true);
    processData(data.asks, "asks", false);

    return res;
  });

  // Set up precision for numbers
  chart.numberFormatter.numberFormat = "#,###.####";

  // Create axes
  var xAxis = chart.xAxes.push(new am4charts.CategoryAxis());
  xAxis.dataFields.category = "value";
  //xAxis.renderer.grid.template.location = 0;
  xAxis.renderer.minGridDistance = 50;
  xAxis.title.text = "Price (BTC/ETH)";

  var yAxis = chart.yAxes.push(new am4charts.ValueAxis());
  yAxis.title.text = "Volume";

  // Create series
  var series = chart.series.push(new am4charts.StepLineSeries());
  series.dataFields.categoryX = "value";
  series.dataFields.valueY = "bidstotalvolume";
  series.strokeWidth = 2;
  series.stroke = am4core.color("#0f0");
  series.fill = series.stroke;
  series.fillOpacity = 0.1;
  series.tooltipText = "Ask: [bold]{categoryX}[/]\nTotal volume: [bold]{valueY}[/]\nVolume: [bold]{bidsvolume}[/]"

  var series2 = chart.series.push(new am4charts.StepLineSeries());
  series2.dataFields.categoryX = "value";
  series2.dataFields.valueY = "askstotalvolume";
  series2.strokeWidth = 2;
  series2.stroke = am4core.color("#f00");
  series2.fill = series2.stroke;
  series2.fillOpacity = 0.1;
  series2.tooltipText = "Ask: [bold]{categoryX}[/]\nTotal volume: [bold]{valueY}[/]\nVolume: [bold]{asksvolume}[/]"

  var series3 = chart.series.push(new am4charts.ColumnSeries());
  series3.dataFields.categoryX = "value";
  series3.dataFields.valueY = "bidsvolume";
  series3.strokeWidth = 0;
  series3.fill = am4core.color("#000");
  series3.fillOpacity = 0.2;

  var series4 = chart.series.push(new am4charts.ColumnSeries());
  series4.dataFields.categoryX = "value";
  series4.dataFields.valueY = "asksvolume";
  series4.strokeWidth = 0;
  series4.fill = am4core.color("#000");
  series4.fillOpacity = 0.2;

  // Add cursor
  chart.cursor = new am4charts.XYCursor();
}

var options = {
  bezierCurve : true,     
  legend: {
    display: false,
  },
  scales: {
    xAxes: [{
      gridLines: {
        display: false,
        drawBorder: false,
      },
      ticks: {
        display: false,
      }
    }],
    yAxes: [{
      gridLines: {
          display: false,
          drawBorder: false,
      },
      ticks: {
        display: false,
        beginAtZero: true,
      }
    }]
  },
  elements: {
      point:{
          radius: 0
      }
  }
};

var charts = document.getElementsByClassName("crypt-marketcap-canvas");
if(charts.length > 0){
  for( let chart of charts ){
    let data = JSON.parse(chart.dataset.charts);
    let bg = chart.dataset.bg;
    let border = chart.dataset.border;

    let canvas = chart.querySelector('canvas');
    let ctx = canvas.getContext('2d');

    var gradient = ctx.createLinearGradient(0, 0, 0, 80);
      gradient.addColorStop(0, "transparent" );
      gradient.addColorStop(1, "transparent");
    let lineChartData = {
      labels : ["1","2","3","4","5","6","7","8","9"],
      datasets : [
          {
              backgroundColor : gradient,
              borderColor : '#' + border,
              borderWidth : 2,
              data : data,
              bezierCurve : true
          }
      ]  
    }
    new Chart(ctx, {
      type:"line",
      data:lineChartData,
      options:options
    });
  }
}


var optionsForIndiv = {
  bezierCurve : true,
  legend: {
    display: false,
  },
  scales: {
    xAxes: [{
      gridLines: {
        display: false,
        drawBorder: false,
      },
      ticks: {
        display: false,
      }
    }],
    yAxes: [{
      gridLines: {
          display: false,
          drawBorder: false,
      },
      ticks: {
        display: false,
        beginAtZero: true,
      }
    }]
  },
  elements: {
      point:{
          radius: 0
      }
  }
};

var chartsIndiv = document.getElementsByClassName("crypt-individual-marketcap");
if(chartsIndiv.length > 0){
  for( let chart of chartsIndiv ){
    let data = JSON.parse(chart.dataset.charts);
    let bg = chart.dataset.bg;
    let border = chart.dataset.border;

    let canvas = chart.querySelector('canvas');
    let ctx = canvas.getContext('2d');

    var gradient = ctx.createLinearGradient(0, 0, 0, 150);
      gradient.addColorStop(0, bg);
      gradient.addColorStop(1, "transparent");
    let lineChartData = {
      labels : ["1","2","3","4","5","6","7","8","9"],
      datasets : [
          {
              backgroundColor : gradient,
              borderColor : '#' + border,
              borderWidth : 2,
              data : data,
              bezierCurve : true
          }
      ]  
    }
    new Chart(ctx, {
      type:"line",
      data: lineChartData,
      options: optionsForIndiv
    });
  }
}

jQuery(document).ready(function() {
  jQuery(document).on('click', '.crypt-header i.menu-toggle', function(){
    jQuery('.crypt-mobile-menu').toggleClass('show');
    jQuery(this).toggleClass('open')
  });

  jQuery(document).on('hover', '.crypt-mega-dropdown-toggle', function(){
    jQuery('.crypt-mega-dropdown-menu-block').toggleClass('shown');
  });
  jQuery(document).on('click', '.crypt-mega-dropdown-toggle', function(e){
    e.preventDefault();
    jQuery('.crypt-mega-dropdown-menu-block').toggleClass('shown');
  });
  jQuery('[data-toggle="tooltip"]').tooltip();

  jQuery('#crypt-tab a').on('click', function (e) {
      
      e.preventDefault();

      var x = jQuery(this).attr('href');
    jQuery(this).parents().find('.crypt-tab-content .tab-pane').removeClass('active');
    jQuery(this).parents().find('.crypt-tab-content .tab-pane' + x).addClass('active');
  });

  jQuery(document).on( 'click', '.crypt-coin-select a', function(e){
    e.preventDefault();
    var div = jQuery(this).attr('href');
    jQuery('.crypt-dash-withdraw').removeClass('d-block').addClass('d-none');
    jQuery(div).removeClass('d-none').addClass('d-block');
  });
  var path = window.location.href; // because the 'href' property of the DOM element is the absolute path

   jQuery('ul.crypt-heading-menu > li > a').each(function() {
      if (this.href === path) {
         jQuery(this).parent('li').addClass('active');
      }else{
         jQuery(this).parent('li').removeClass('active');
      }
      jQuery('.crypt-box-menu').removeClass('active');
   });
   if(document.getElementById('crypt-candle-chart')){
     new TradingView.widget(
       {
          "autosize": true,
          "symbol": "NASDAQ:AAPL",
          "interval": "D",
          "timezone": "Etc/UTC",
          "theme": "Dark",
          "style": "1",
          "locale": "en",
          "toolbar_bg": "rgba(0, 0, 0, 1)",
          "enable_publishing": false,
          "allow_symbol_change": true,
          "container_id": "crypt-candle-chart"
      }
      );
   }
});