0.7dd1cc7f396b98bc68f2.js

From disqus.com, 4 Months ago, written in Plain Text, viewed 3 times.
URL https://pastebin.freepbx.org/view/75f3c984 Embed
Download Paste or View Raw
  1. (window.webpackJsonp = window.webpackJsonp || []).push([
  2.     [0], Array(26).concat([function(e, t, n) {
  3.         "use strict";
  4.         e.exports = n(510)
  5.     }, function(e, t, n) {
  6.         e.exports = n(446)()
  7.     }, , function(e, t, n) {
  8.         "use strict";
  9.         t.__esModule = !0, t.connect = t.connectAdvanced = t.Provider = void 0;
  10.         var r = a(n(498)),
  11.             i = a(n(166)),
  12.             n = a(n(494));
  13.  
  14.         function a(e) {
  15.             return e && e.__esModule ? e : {
  16.                 default: e
  17.             }
  18.         }
  19.         t.Provider = r.default, t.connectAdvanced = i.default, t.connect = n.default
  20.     }, , function(e, t, n) {
  21.         var Ui;
  22.         (Ui = n(161)(e)).exports = function() {
  23.             "use strict";
  24.             var t;
  25.  
  26.             function c() {
  27.                 return t.apply(null, arguments)
  28.             }
  29.  
  30.             function e(e) {
  31.                 t = e
  32.             }
  33.  
  34.             function i(e) {
  35.                 return Object.prototype.toString.call(e) === "[object Array]"
  36.             }
  37.  
  38.             function a(e) {
  39.                 return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]"
  40.             }
  41.  
  42.             function n(e, t) {
  43.                 var n = [],
  44.                     r;
  45.                 for (r = 0; r < e.length; ++r) {
  46.                     n.push(t(e[r], r))
  47.                 }
  48.                 return n
  49.             }
  50.  
  51.             function s(e, t) {
  52.                 return Object.prototype.hasOwnProperty.call(e, t)
  53.             }
  54.  
  55.             function o(e, t) {
  56.                 for (var n in t) {
  57.                     if (s(t, n)) {
  58.                         e[n] = t[n]
  59.                     }
  60.                 }
  61.                 if (s(t, "toString")) {
  62.                     e.toString = t.toString
  63.                 }
  64.                 if (s(t, "valueOf")) {
  65.                     e.valueOf = t.valueOf
  66.                 }
  67.                 return e
  68.             }
  69.  
  70.             function l(e, t, n, r) {
  71.                 return Tt(e, t, n, r, true).utc()
  72.             }
  73.  
  74.             function r() {
  75.                 return {
  76.                     empty: false,
  77.                     unusedTokens: [],
  78.                     unusedInput: [],
  79.                     overflow: -2,
  80.                     charsLeftOver: 0,
  81.                     nullInput: false,
  82.                     invalidMonth: null,
  83.                     invalidFormat: false,
  84.                     userInvalidated: false,
  85.                     iso: false
  86.                 }
  87.             }
  88.  
  89.             function u(e) {
  90.                 if (e._pf == null) {
  91.                     e._pf = r()
  92.                 }
  93.                 return e._pf
  94.             }
  95.  
  96.             function d(e) {
  97.                 if (e._isValid == null) {
  98.                     var t = u(e);
  99.                     e._isValid = !isNaN(e._d.getTime()) && t.overflow < 0 && !t.empty && !t.invalidMonth && !t.invalidWeekday && !t.nullInput && !t.invalidFormat && !t.userInvalidated;
  100.                     if (e._strict) {
  101.                         e._isValid = e._isValid && t.charsLeftOver === 0 && t.unusedTokens.length === 0 && t.bigHour === undefined
  102.                     }
  103.                 }
  104.                 return e._isValid
  105.             }
  106.  
  107.             function p(e) {
  108.                 var t = l(NaN);
  109.                 if (e != null) {
  110.                     o(u(t), e)
  111.                 } else {
  112.                     u(t).userInvalidated = true
  113.                 }
  114.                 return t
  115.             }
  116.  
  117.             function m(e) {
  118.                 return e === void 0
  119.             }
  120.             var f = c.momentProperties = [];
  121.  
  122.             function h(e, t) {
  123.                 var n, r, i;
  124.                 if (!m(t._isAMomentObject)) {
  125.                     e._isAMomentObject = t._isAMomentObject
  126.                 }
  127.                 if (!m(t._i)) {
  128.                     e._i = t._i
  129.                 }
  130.                 if (!m(t._f)) {
  131.                     e._f = t._f
  132.                 }
  133.                 if (!m(t._l)) {
  134.                     e._l = t._l
  135.                 }
  136.                 if (!m(t._strict)) {
  137.                     e._strict = t._strict
  138.                 }
  139.                 if (!m(t._tzm)) {
  140.                     e._tzm = t._tzm
  141.                 }
  142.                 if (!m(t._isUTC)) {
  143.                     e._isUTC = t._isUTC
  144.                 }
  145.                 if (!m(t._offset)) {
  146.                     e._offset = t._offset
  147.                 }
  148.                 if (!m(t._pf)) {
  149.                     e._pf = u(t)
  150.                 }
  151.                 if (!m(t._locale)) {
  152.                     e._locale = t._locale
  153.                 }
  154.                 if (f.length > 0) {
  155.                     for (n in f) {
  156.                         r = f[n];
  157.                         i = t[r];
  158.                         if (!m(i)) {
  159.                             e[r] = i
  160.                         }
  161.                     }
  162.                 }
  163.                 return e
  164.             }
  165.             var g = false;
  166.  
  167.             function _(e) {
  168.                 h(this, e);
  169.                 this._d = new Date(e._d != null ? e._d.getTime() : NaN);
  170.                 if (g === false) {
  171.                     g = true;
  172.                     c.updateOffset(this);
  173.                     g = false
  174.                 }
  175.             }
  176.  
  177.             function y(e) {
  178.                 return e instanceof _ || e != null && e._isAMomentObject != null
  179.             }
  180.  
  181.             function b(e) {
  182.                 if (e < 0) {
  183.                     return Math.ceil(e)
  184.                 } else {
  185.                     return Math.floor(e)
  186.                 }
  187.             }
  188.  
  189.             function v(e) {
  190.                 var t = +e,
  191.                     n = 0;
  192.                 if (t !== 0 && isFinite(t)) {
  193.                     n = b(t)
  194.                 }
  195.                 return n
  196.             }
  197.  
  198.             function S(e, t, n) {
  199.                 var r = Math.min(e.length, t.length),
  200.                     i = Math.abs(e.length - t.length),
  201.                     a = 0,
  202.                     o;
  203.                 for (o = 0; o < r; o++) {
  204.                     if (n && e[o] !== t[o] || !n && v(e[o]) !== v(t[o])) {
  205.                         a++
  206.                     }
  207.                 }
  208.                 return a + i
  209.             }
  210.  
  211.             function x() {}
  212.             var E = {},
  213.                 w;
  214.  
  215.             function C(e) {
  216.                 return e ? e.toLowerCase().replace("_", "-") : e
  217.             }
  218.  
  219.             function T(e) {
  220.                 var t = 0,
  221.                     n, r, i, a;
  222.                 while (t < e.length) {
  223.                     a = C(e[t]).split("-");
  224.                     n = a.length;
  225.                     r = C(e[t + 1]);
  226.                     r = r ? r.split("-") : null;
  227.                     while (n > 0) {
  228.                         i = O(a.slice(0, n).join("-"));
  229.                         if (i) {
  230.                             return i
  231.                         }
  232.                         if (r && r.length >= n && S(a, r, true) >= n - 1) {
  233.                             break
  234.                         }
  235.                         n--
  236.                     }
  237.                     t++
  238.                 }
  239.                 return null
  240.             }
  241.  
  242.             function O(e) {
  243.                 var t = null;
  244.                 if (!E[e] && typeof Ui !== "undefined" && Ui && Ui.exports) {
  245.                     try {
  246.                         t = w._abbr;
  247.                         ! function e() {
  248.                             var t = new Error('Cannot find module "undefined"');
  249.                             t.code = "MODULE_NOT_FOUND";
  250.                             throw t
  251.                         }();
  252.                         M(t)
  253.                     } catch (e) {}
  254.                 }
  255.                 return E[e]
  256.             }
  257.  
  258.             function M(e, t) {
  259.                 var n;
  260.                 if (e) {
  261.                     if (m(t)) {
  262.                         n = N(e)
  263.                     } else {
  264.                         n = A(e, t)
  265.                     }
  266.                     if (n) {
  267.                         w = n
  268.                     }
  269.                 }
  270.                 return w._abbr
  271.             }
  272.  
  273.             function A(e, t) {
  274.                 if (t !== null) {
  275.                     t.abbr = e;
  276.                     E[e] = E[e] || new x;
  277.                     E[e].set(t);
  278.                     M(e);
  279.                     return E[e]
  280.                 } else {
  281.                     delete E[e];
  282.                     return null
  283.                 }
  284.             }
  285.  
  286.             function N(e) {
  287.                 var t;
  288.                 if (e && e._locale && e._locale._abbr) {
  289.                     e = e._locale._abbr
  290.                 }
  291.                 if (!e) {
  292.                     return w
  293.                 }
  294.                 if (!i(e)) {
  295.                     t = O(e);
  296.                     if (t) {
  297.                         return t
  298.                     }
  299.                     e = [e]
  300.                 }
  301.                 return T(e)
  302.             }
  303.             var D = {};
  304.  
  305.             function P(e, t) {
  306.                 var n = e.toLowerCase();
  307.                 D[n] = D[n + "s"] = D[t] = e
  308.             }
  309.  
  310.             function k(e) {
  311.                 return typeof e === "string" ? D[e] || D[e.toLowerCase()] : undefined
  312.             }
  313.  
  314.             function R(e) {
  315.                 var t = {},
  316.                     n, r;
  317.                 for (r in e) {
  318.                     if (s(e, r)) {
  319.                         n = k(r);
  320.                         if (n) {
  321.                             t[n] = e[r]
  322.                         }
  323.                     }
  324.                 }
  325.                 return t
  326.             }
  327.  
  328.             function L(e) {
  329.                 return e instanceof Function || Object.prototype.toString.call(e) === "[object Function]"
  330.             }
  331.  
  332.             function I(t, n) {
  333.                 return function(e) {
  334.                     if (e != null) {
  335.                         B(this, t, e);
  336.                         c.updateOffset(this, n);
  337.                         return this
  338.                     } else {
  339.                         return F(this, t)
  340.                     }
  341.                 }
  342.             }
  343.  
  344.             function F(e, t) {
  345.                 return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN
  346.             }
  347.  
  348.             function B(e, t, n) {
  349.                 if (e.isValid()) {
  350.                     e._d["set" + (e._isUTC ? "UTC" : "") + t](n)
  351.                 }
  352.             }
  353.  
  354.             function G(e, t) {
  355.                 var n;
  356.                 if (typeof e === "object") {
  357.                     for (n in e) {
  358.                         this.set(n, e[n])
  359.                     }
  360.                 } else {
  361.                     e = k(e);
  362.                     if (L(this[e])) {
  363.                         return this[e](t)
  364.                     }
  365.                 }
  366.                 return this
  367.             }
  368.  
  369.             function U(e, t, n) {
  370.                 var r = "" + Math.abs(e),
  371.                     i = t - r.length,
  372.                     a = e >= 0;
  373.                 return (a ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, i)).toString().substr(1) + r
  374.             }
  375.             var j = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
  376.                 V = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
  377.                 z = {},
  378.                 H = {};
  379.  
  380.             function q(e, t, n, r) {
  381.                 var i = r;
  382.                 if (typeof r === "string") {
  383.                     i = function() {
  384.                         return this[r]()
  385.                     }
  386.                 }
  387.                 if (e) {
  388.                     H[e] = i
  389.                 }
  390.                 if (t) {
  391.                     H[t[0]] = function() {
  392.                         return U(i.apply(this, arguments), t[1], t[2])
  393.                     }
  394.                 }
  395.                 if (n) {
  396.                     H[n] = function() {
  397.                         return this.localeData().ordinal(i.apply(this, arguments), e)
  398.                     }
  399.                 }
  400.             }
  401.  
  402.             function W(e) {
  403.                 if (e.match(/\[[\s\S]/)) {
  404.                     return e.replace(/^\[|\]$/g, "")
  405.                 }
  406.                 return e.replace(/\\/g, "")
  407.             }
  408.  
  409.             function K(n) {
  410.                 var r = n.match(j),
  411.                     i, a;
  412.                 for (i = 0, a = r.length; i < a; i++) {
  413.                     if (H[r[i]]) {
  414.                         r[i] = H[r[i]]
  415.                     } else {
  416.                         r[i] = W(r[i])
  417.                     }
  418.                 }
  419.                 return function(e) {
  420.                     var t = "";
  421.                     for (i = 0; i < a; i++) {
  422.                         t += r[i] instanceof Function ? r[i].call(e, n) : r[i]
  423.                     }
  424.                     return t
  425.                 }
  426.             }
  427.  
  428.             function $(e, t) {
  429.                 if (!e.isValid()) {
  430.                     return e.localeData().invalidDate()
  431.                 }
  432.                 t = Y(t, e.localeData());
  433.                 z[t] = z[t] || K(t);
  434.                 return z[t](e)
  435.             }
  436.  
  437.             function Y(e, t) {
  438.                 var n = 5;
  439.  
  440.                 function r(e) {
  441.                     return t.longDateFormat(e) || e
  442.                 }
  443.                 V.lastIndex = 0;
  444.                 while (n >= 0 && V.test(e)) {
  445.                     e = e.replace(V, r);
  446.                     V.lastIndex = 0;
  447.                     n -= 1
  448.                 }
  449.                 return e
  450.             }
  451.             var X = /\d/,
  452.                 Q = /\d\d/,
  453.                 Z = /\d{3}/,
  454.                 J = /\d{4}/,
  455.                 ee = /[+-]?\d{6}/,
  456.                 te = /\d\d?/,
  457.                 ne = /\d\d\d\d?/,
  458.                 re = /\d\d\d\d\d\d?/,
  459.                 ie = /\d{1,3}/,
  460.                 ae = /\d{1,4}/,
  461.                 oe = /[+-]?\d{1,6}/,
  462.                 se = /\d+/,
  463.                 le = /[+-]?\d+/,
  464.                 ce = /Z|[+-]\d\d:?\d\d/gi,
  465.                 ue = /Z|[+-]\d\d(?::?\d\d)?/gi,
  466.                 de = /[+-]?\d+(\.\d{1,3})?/,
  467.                 pe = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
  468.                 me = {};
  469.  
  470.             function fe(e, n, r) {
  471.                 me[e] = L(n) ? n : function(e, t) {
  472.                     return e && r ? r : n
  473.                 }
  474.             }
  475.  
  476.             function he(e, t) {
  477.                 if (!s(me, e)) {
  478.                     return new RegExp(ge(e))
  479.                 }
  480.                 return me[e](t._strict, t._locale)
  481.             }
  482.  
  483.             function ge(e) {
  484.                 return _e(e.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(e, t, n, r, i) {
  485.                     return t || n || r || i
  486.                 }))
  487.             }
  488.  
  489.             function _e(e) {
  490.                 return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&")
  491.             }
  492.             var ye = {};
  493.  
  494.             function be(e, n) {
  495.                 var t, r = n;
  496.                 if (typeof e === "string") {
  497.                     e = [e]
  498.                 }
  499.                 if (typeof n === "number") {
  500.                     r = function(e, t) {
  501.                         t[n] = v(e)
  502.                     }
  503.                 }
  504.                 for (t = 0; t < e.length; t++) {
  505.                     ye[e[t]] = r
  506.                 }
  507.             }
  508.  
  509.             function ve(e, i) {
  510.                 be(e, function(e, t, n, r) {
  511.                     n._w = n._w || {};
  512.                     i(e, n._w, n, r)
  513.                 })
  514.             }
  515.  
  516.             function Se(e, t, n) {
  517.                 if (t != null && s(ye, e)) {
  518.                     ye[e](t, n._a, n, e)
  519.                 }
  520.             }
  521.             var xe = 0,
  522.                 Ee = 1,
  523.                 we = 2,
  524.                 Ce = 3,
  525.                 Te = 4,
  526.                 Oe = 5,
  527.                 Me = 6,
  528.                 Ae = 7,
  529.                 Ne = 8;
  530.  
  531.             function De(e, t) {
  532.                 return new Date(Date.UTC(e, t + 1, 0)).getUTCDate()
  533.             }
  534.             q("M", ["MM", 2], "Mo", function() {
  535.                 return this.month() + 1
  536.             }), q("MMM", 0, 0, function(e) {
  537.                 return this.localeData().monthsShort(this, e)
  538.             }), q("MMMM", 0, 0, function(e) {
  539.                 return this.localeData().months(this, e)
  540.             }), P("month", "M"), fe("M", te), fe("MM", te, Q), fe("MMM", function(e, t) {
  541.                 return t.monthsShortRegex(e)
  542.             }), fe("MMMM", function(e, t) {
  543.                 return t.monthsRegex(e)
  544.             }), be(["M", "MM"], function(e, t) {
  545.                 t[Ee] = v(e) - 1
  546.             }), be(["MMM", "MMMM"], function(e, t, n, r) {
  547.                 var i = n._locale.monthsParse(e, r, n._strict);
  548.                 if (i != null) {
  549.                     t[Ee] = i
  550.                 } else {
  551.                     u(n).invalidMonth = e
  552.                 }
  553.             });
  554.             var Pe = /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,
  555.                 ke = "January_February_March_April_May_June_July_August_September_October_November_December".split("_");
  556.  
  557.             function Re(e, t) {
  558.                 return i(this._months) ? this._months[e.month()] : this._months[Pe.test(t) ? "format" : "standalone"][e.month()]
  559.             }
  560.             var Le = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");
  561.  
  562.             function Ie(e, t) {
  563.                 return i(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[Pe.test(t) ? "format" : "standalone"][e.month()]
  564.             }
  565.  
  566.             function Fe(e, t, n) {
  567.                 var r, i, a;
  568.                 if (!this._monthsParse) {
  569.                     this._monthsParse = [];
  570.                     this._longMonthsParse = [];
  571.                     this._shortMonthsParse = []
  572.                 }
  573.                 for (r = 0; r < 12; r++) {
  574.                     i = l([2e3, r]);
  575.                     if (n && !this._longMonthsParse[r]) {
  576.                         this._longMonthsParse[r] = new RegExp("^" + this.months(i, "").replace(".", "") + "$", "i");
  577.                         this._shortMonthsParse[r] = new RegExp("^" + this.monthsShort(i, "").replace(".", "") + "$", "i")
  578.                     }
  579.                     if (!n && !this._monthsParse[r]) {
  580.                         a = "^" + this.months(i, "") + "|^" + this.monthsShort(i, "");
  581.                         this._monthsParse[r] = new RegExp(a.replace(".", ""), "i")
  582.                     }
  583.                     if (n && t === "MMMM" && this._longMonthsParse[r].test(e)) {
  584.                         return r
  585.                     } else if (n && t === "MMM" && this._shortMonthsParse[r].test(e)) {
  586.                         return r
  587.                     } else if (!n && this._monthsParse[r].test(e)) {
  588.                         return r
  589.                     }
  590.                 }
  591.             }
  592.  
  593.             function Be(e, t) {
  594.                 var n;
  595.                 if (!e.isValid()) {
  596.                     return e
  597.                 }
  598.                 if (typeof t === "string") {
  599.                     t = e.localeData().monthsParse(t);
  600.                     if (typeof t !== "number") {
  601.                         return e
  602.                     }
  603.                 }
  604.                 n = Math.min(e.date(), De(e.year(), t));
  605.                 e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n);
  606.                 return e
  607.             }
  608.  
  609.             function Ge(e) {
  610.                 if (e != null) {
  611.                     Be(this, e);
  612.                     c.updateOffset(this, true);
  613.                     return this
  614.                 } else {
  615.                     return F(this, "Month")
  616.                 }
  617.             }
  618.  
  619.             function Ue() {
  620.                 return De(this.year(), this.month())
  621.             }
  622.             var je = pe;
  623.  
  624.             function Ve(e) {
  625.                 if (this._monthsParseExact) {
  626.                     if (!s(this, "_monthsRegex")) {
  627.                         qe.call(this)
  628.                     }
  629.                     if (e) {
  630.                         return this._monthsShortStrictRegex
  631.                     } else {
  632.                         return this._monthsShortRegex
  633.                     }
  634.                 } else {
  635.                     return this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex
  636.                 }
  637.             }
  638.             var ze = pe;
  639.  
  640.             function He(e) {
  641.                 if (this._monthsParseExact) {
  642.                     if (!s(this, "_monthsRegex")) {
  643.                         qe.call(this)
  644.                     }
  645.                     if (e) {
  646.                         return this._monthsStrictRegex
  647.                     } else {
  648.                         return this._monthsRegex
  649.                     }
  650.                 } else {
  651.                     return this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex
  652.                 }
  653.             }
  654.  
  655.             function qe() {
  656.                 function e(e, t) {
  657.                     return t.length - e.length
  658.                 }
  659.                 var t = [],
  660.                     n = [],
  661.                     r = [],
  662.                     i, a;
  663.                 for (i = 0; i < 12; i++) {
  664.                     a = l([2e3, i]);
  665.                     t.push(this.monthsShort(a, ""));
  666.                     n.push(this.months(a, ""));
  667.                     r.push(this.months(a, ""));
  668.                     r.push(this.monthsShort(a, ""))
  669.                 }
  670.                 t.sort(e);
  671.                 n.sort(e);
  672.                 r.sort(e);
  673.                 for (i = 0; i < 12; i++) {
  674.                     t[i] = _e(t[i]);
  675.                     n[i] = _e(n[i]);
  676.                     r[i] = _e(r[i])
  677.                 }
  678.                 this._monthsRegex = new RegExp("^(" + r.join("|") + ")", "i");
  679.                 this._monthsShortRegex = this._monthsRegex;
  680.                 this._monthsStrictRegex = new RegExp("^(" + n.join("|") + ")$", "i");
  681.                 this._monthsShortStrictRegex = new RegExp("^(" + t.join("|") + ")$", "i")
  682.             }
  683.  
  684.             function We(e) {
  685.                 var t;
  686.                 var n = e._a;
  687.                 if (n && u(e).overflow === -2) {
  688.                     t = n[Ee] < 0 || n[Ee] > 11 ? Ee : n[we] < 1 || n[we] > De(n[xe], n[Ee]) ? we : n[Ce] < 0 || n[Ce] > 24 || n[Ce] === 24 && (n[Te] !== 0 || n[Oe] !== 0 || n[Me] !== 0) ? Ce : n[Te] < 0 || n[Te] > 59 ? Te : n[Oe] < 0 || n[Oe] > 59 ? Oe : n[Me] < 0 || n[Me] > 999 ? Me : -1;
  689.                     if (u(e)._overflowDayOfYear && (t < xe || t > we)) {
  690.                         t = we
  691.                     }
  692.                     if (u(e)._overflowWeeks && t === -1) {
  693.                         t = Ae
  694.                     }
  695.                     if (u(e)._overflowWeekday && t === -1) {
  696.                         t = Ne
  697.                     }
  698.                     u(e).overflow = t
  699.                 }
  700.                 return e
  701.             }
  702.  
  703.             function Ke(e) {
  704.                 if (c.suppressDeprecationWarnings === false && typeof console !== "undefined" && console.warn) {
  705.                     console.warn("Deprecation warning: " + e)
  706.                 }
  707.             }
  708.  
  709.             function $e(e, t) {
  710.                 var n = true;
  711.                 return o(function() {
  712.                     if (n) {
  713.                         Ke(e + "\nArguments: " + Array.prototype.slice.call(arguments).join(", ") + "\n" + (new Error).stack);
  714.                         n = false
  715.                     }
  716.                     return t.apply(this, arguments)
  717.                 }, t)
  718.             }
  719.             var Ye = {};
  720.  
  721.             function Xe(e, t) {
  722.                 if (!Ye[e]) {
  723.                     Ke(t);
  724.                     Ye[e] = true
  725.                 }
  726.             }
  727.             var Qe = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,
  728.                 Ze = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,
  729.                 Je = /Z|[+-]\d\d(?::?\d\d)?/,
  730.                 et = [
  731.                     ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
  732.                     ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
  733.                     ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
  734.                     ["GGGG-[W]WW", /\d{4}-W\d\d/, c.suppressDeprecationWarnings = false],
  735.                     ["YYYY-DDD", /\d{4}-\d{3}/],
  736.                     ["YYYY-MM", /\d{4}-\d\d/, false],
  737.                     ["YYYYYYMMDD", /[+-]\d{10}/],
  738.                     ["YYYYMMDD", /\d{8}/],
  739.                     ["GGGG[W]WWE", /\d{4}W\d{3}/],
  740.                     ["GGGG[W]WW", /\d{4}W\d{2}/, false],
  741.                     ["YYYYDDD", /\d{7}/]
  742.                 ],
  743.                 tt = [
  744.                     ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
  745.                     ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
  746.                     ["HH:mm:ss", /\d\d:\d\d:\d\d/],
  747.                     ["HH:mm", /\d\d:\d\d/],
  748.                     ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
  749.                     ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
  750.                     ["HHmmss", /\d\d\d\d\d\d/],
  751.                     ["HHmm", /\d\d\d\d/],
  752.                     ["HH", /\d\d/]
  753.                 ],
  754.                 nt = /^\/?Date\((\-?\d+)/i;
  755.  
  756.             function rt(e) {
  757.                 var t, n, r = e._i,
  758.                     i = Qe.exec(r) || Ze.exec(r),
  759.                     a, o, s, l;
  760.                 if (i) {
  761.                     u(e).iso = true;
  762.                     for (t = 0, n = et.length; t < n; t++) {
  763.                         if (et[t][1].exec(i[1])) {
  764.                             o = et[t][0];
  765.                             a = et[t][2] !== false;
  766.                             break
  767.                         }
  768.                     }
  769.                     if (o == null) {
  770.                         e._isValid = false;
  771.                         return
  772.                     }
  773.                     if (i[3]) {
  774.                         for (t = 0, n = tt.length; t < n; t++) {
  775.                             if (tt[t][1].exec(i[3])) {
  776.                                 s = (i[2] || " ") + tt[t][0];
  777.                                 break
  778.                             }
  779.                         }
  780.                         if (s == null) {
  781.                             e._isValid = false;
  782.                             return
  783.                         }
  784.                     }
  785.                     if (!a && s != null) {
  786.                         e._isValid = false;
  787.                         return
  788.                     }
  789.                     if (i[4]) {
  790.                         if (Je.exec(i[4])) {
  791.                             l = "Z"
  792.                         } else {
  793.                             e._isValid = false;
  794.                             return
  795.                         }
  796.                     }
  797.                     e._f = o + (s || "") + (l || "");
  798.                     bt(e)
  799.                 } else {
  800.                     e._isValid = false
  801.                 }
  802.             }
  803.  
  804.             function it(e) {
  805.                 var t = nt.exec(e._i);
  806.                 if (t !== null) {
  807.                     e._d = new Date(+t[1]);
  808.                     return
  809.                 }
  810.                 rt(e);
  811.                 if (e._isValid === false) {
  812.                     delete e._isValid;
  813.                     c.createFromInputFallback(e)
  814.                 }
  815.             }
  816.  
  817.             function at(e, t, n, r, i, a, o) {
  818.                 var s = new Date(e, t, n, r, i, a, o);
  819.                 if (e < 100 && e >= 0 && isFinite(s.getFullYear())) {
  820.                     s.setFullYear(e)
  821.                 }
  822.                 return s
  823.             }
  824.  
  825.             function ot(e) {
  826.                 var t = new Date(Date.UTC.apply(null, arguments));
  827.                 if (e < 100 && e >= 0 && isFinite(t.getUTCFullYear())) {
  828.                     t.setUTCFullYear(e)
  829.                 }
  830.                 return t
  831.             }
  832.  
  833.             function st(e) {
  834.                 return lt(e) ? 366 : 365
  835.             }
  836.  
  837.             function lt(e) {
  838.                 return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0
  839.             }
  840.             c.createFromInputFallback = $e("moment construction falls back to js Date. This is " + "discouraged and will be removed in upcoming major " + "release. Please refer to " + "https://github.com/moment/moment/issues/1407 for more info.", function(e) {
  841.                 e._d = new Date(e._i + (e._useUTC ? " UTC" : ""))
  842.             }), q("Y", 0, 0, function() {
  843.                 var e = this.year();
  844.                 return e <= 9999 ? "" + e : "+" + e
  845.             }), q(0, ["YY", 2], 0, function() {
  846.                 return this.year() % 100
  847.             }), q(0, ["YYYY", 4], 0, "year"), q(0, ["YYYYY", 5], 0, "year"), q(0, ["YYYYYY", 6, true], 0, "year"), P("year", "y"), fe("Y", le), fe("YY", te, Q), fe("YYYY", ae, J), fe("YYYYY", oe, ee), fe("YYYYYY", oe, ee), be(["YYYYY", "YYYYYY"], xe), be("YYYY", function(e, t) {
  848.                 t[xe] = e.length === 2 ? c.parseTwoDigitYear(e) : v(e)
  849.             }), be("YY", function(e, t) {
  850.                 t[xe] = c.parseTwoDigitYear(e)
  851.             }), be("Y", function(e, t) {
  852.                 t[xe] = parseInt(e, 10)
  853.             }), c.parseTwoDigitYear = function(e) {
  854.                 return v(e) + (v(e) > 68 ? 1900 : 2e3)
  855.             };
  856.             var ct = I("FullYear", false);
  857.  
  858.             function ut() {
  859.                 return lt(this.year())
  860.             }
  861.  
  862.             function dt(e, t, n) {
  863.                 var r = 7 + t - n,
  864.                     i = (7 + ot(e, 0, r).getUTCDay() - t) % 7;
  865.                 return -i + r - 1
  866.             }
  867.  
  868.             function pt(e, t, n, r, i) {
  869.                 var a = (7 + n - r) % 7,
  870.                     o = dt(e, r, i),
  871.                     s = 1 + 7 * (t - 1) + a + o,
  872.                     l, c;
  873.                 if (s <= 0) {
  874.                     l = e - 1;
  875.                     c = st(l) + s
  876.                 } else if (s > st(e)) {
  877.                     l = e + 1;
  878.                     c = s - st(e)
  879.                 } else {
  880.                     l = e;
  881.                     c = s
  882.                 }
  883.                 return {
  884.                     year: l,
  885.                     dayOfYear: c
  886.                 }
  887.             }
  888.  
  889.             function mt(e, t, n) {
  890.                 var r = dt(e.year(), t, n),
  891.                     i = Math.floor((e.dayOfYear() - r - 1) / 7) + 1,
  892.                     a, o;
  893.                 if (i < 1) {
  894.                     o = e.year() - 1;
  895.                     a = i + ft(o, t, n)
  896.                 } else if (i > ft(e.year(), t, n)) {
  897.                     a = i - ft(e.year(), t, n);
  898.                     o = e.year() + 1
  899.                 } else {
  900.                     o = e.year();
  901.                     a = i
  902.                 }
  903.                 return {
  904.                     week: a,
  905.                     year: o
  906.                 }
  907.             }
  908.  
  909.             function ft(e, t, n) {
  910.                 var r = dt(e, t, n),
  911.                     i = dt(e + 1, t, n);
  912.                 return (st(e) - r + i) / 7
  913.             }
  914.  
  915.             function ht(e, t, n) {
  916.                 if (e != null) {
  917.                     return e
  918.                 }
  919.                 if (t != null) {
  920.                     return t
  921.                 }
  922.                 return n
  923.             }
  924.  
  925.             function gt(e) {
  926.                 var t = new Date(c.now());
  927.                 if (e._useUTC) {
  928.                     return [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()]
  929.                 }
  930.                 return [t.getFullYear(), t.getMonth(), t.getDate()]
  931.             }
  932.  
  933.             function _t(e) {
  934.                 var t, n, r = [],
  935.                     i, a;
  936.                 if (e._d) {
  937.                     return
  938.                 }
  939.                 i = gt(e);
  940.                 if (e._w && e._a[we] == null && e._a[Ee] == null) {
  941.                     yt(e)
  942.                 }
  943.                 if (e._dayOfYear) {
  944.                     a = ht(e._a[xe], i[xe]);
  945.                     if (e._dayOfYear > st(a)) {
  946.                         u(e)._overflowDayOfYear = true
  947.                     }
  948.                     n = ot(a, 0, e._dayOfYear);
  949.                     e._a[Ee] = n.getUTCMonth();
  950.                     e._a[we] = n.getUTCDate()
  951.                 }
  952.                 for (t = 0; t < 3 && e._a[t] == null; ++t) {
  953.                     e._a[t] = r[t] = i[t]
  954.                 }
  955.                 for (; t < 7; t++) {
  956.                     e._a[t] = r[t] = e._a[t] == null ? t === 2 ? 1 : 0 : e._a[t]
  957.                 }
  958.                 if (e._a[Ce] === 24 && e._a[Te] === 0 && e._a[Oe] === 0 && e._a[Me] === 0) {
  959.                     e._nextDay = true;
  960.                     e._a[Ce] = 0
  961.                 }
  962.                 e._d = (e._useUTC ? ot : at).apply(null, r);
  963.                 if (e._tzm != null) {
  964.                     e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm)
  965.                 }
  966.                 if (e._nextDay) {
  967.                     e._a[Ce] = 24
  968.                 }
  969.             }
  970.  
  971.             function yt(e) {
  972.                 var t, n, r, i, a, o, s, l;
  973.                 t = e._w;
  974.                 if (t.GG != null || t.W != null || t.E != null) {
  975.                     a = 1;
  976.                     o = 4;
  977.                     n = ht(t.GG, e._a[xe], mt(Ot(), 1, 4).year);
  978.                     r = ht(t.W, 1);
  979.                     i = ht(t.E, 1);
  980.                     if (i < 1 || i > 7) {
  981.                         l = true
  982.                     }
  983.                 } else {
  984.                     a = e._locale._week.dow;
  985.                     o = e._locale._week.doy;
  986.                     n = ht(t.gg, e._a[xe], mt(Ot(), a, o).year);
  987.                     r = ht(t.w, 1);
  988.                     if (t.d != null) {
  989.                         i = t.d;
  990.                         if (i < 0 || i > 6) {
  991.                             l = true
  992.                         }
  993.                     } else if (t.e != null) {
  994.                         i = t.e + a;
  995.                         if (t.e < 0 || t.e > 6) {
  996.                             l = true
  997.                         }
  998.                     } else {
  999.                         i = a
  1000.                     }
  1001.                 }
  1002.                 if (r < 1 || r > ft(n, a, o)) {
  1003.                     u(e)._overflowWeeks = true
  1004.                 } else if (l != null) {
  1005.                     u(e)._overflowWeekday = true
  1006.                 } else {
  1007.                     s = pt(n, r, i, a, o);
  1008.                     e._a[xe] = s.year;
  1009.                     e._dayOfYear = s.dayOfYear
  1010.                 }
  1011.             }
  1012.  
  1013.             function bt(e) {
  1014.                 if (e._f === c.ISO_8601) {
  1015.                     rt(e);
  1016.                     return
  1017.                 }
  1018.                 e._a = [];
  1019.                 u(e).empty = true;
  1020.                 var t = "" + e._i,
  1021.                     n, r, i, a, o, s = t.length,
  1022.                     l = 0;
  1023.                 i = Y(e._f, e._locale).match(j) || [];
  1024.                 for (n = 0; n < i.length; n++) {
  1025.                     a = i[n];
  1026.                     r = (t.match(he(a, e)) || [])[0];
  1027.                     if (r) {
  1028.                         o = t.substr(0, t.indexOf(r));
  1029.                         if (o.length > 0) {
  1030.                             u(e).unusedInput.push(o)
  1031.                         }
  1032.                         t = t.slice(t.indexOf(r) + r.length);
  1033.                         l += r.length
  1034.                     }
  1035.                     if (H[a]) {
  1036.                         if (r) {
  1037.                             u(e).empty = false
  1038.                         } else {
  1039.                             u(e).unusedTokens.push(a)
  1040.                         }
  1041.                         Se(a, r, e)
  1042.                     } else if (e._strict && !r) {
  1043.                         u(e).unusedTokens.push(a)
  1044.                     }
  1045.                 }
  1046.                 u(e).charsLeftOver = s - l;
  1047.                 if (t.length > 0) {
  1048.                     u(e).unusedInput.push(t)
  1049.                 }
  1050.                 if (u(e).bigHour === true && e._a[Ce] <= 12 && e._a[Ce] > 0) {
  1051.                     u(e).bigHour = undefined
  1052.                 }
  1053.                 e._a[Ce] = vt(e._locale, e._a[Ce], e._meridiem);
  1054.                 _t(e);
  1055.                 We(e)
  1056.             }
  1057.  
  1058.             function vt(e, t, n) {
  1059.                 var r;
  1060.                 if (n == null) {
  1061.                     return t
  1062.                 }
  1063.                 if (e.meridiemHour != null) {
  1064.                     return e.meridiemHour(t, n)
  1065.                 } else if (e.isPM != null) {
  1066.                     r = e.isPM(n);
  1067.                     if (r && t < 12) {
  1068.                         t += 12
  1069.                     }
  1070.                     if (!r && t === 12) {
  1071.                         t = 0
  1072.                     }
  1073.                     return t
  1074.                 } else {
  1075.                     return t
  1076.                 }
  1077.             }
  1078.  
  1079.             function St(e) {
  1080.                 var t, n, r, i, a;
  1081.                 if (e._f.length === 0) {
  1082.                     u(e).invalidFormat = true;
  1083.                     e._d = new Date(NaN);
  1084.                     return
  1085.                 }
  1086.                 for (i = 0; i < e._f.length; i++) {
  1087.                     a = 0;
  1088.                     t = h({}, e);
  1089.                     if (e._useUTC != null) {
  1090.                         t._useUTC = e._useUTC
  1091.                     }
  1092.                     t._f = e._f[i];
  1093.                     bt(t);
  1094.                     if (!d(t)) {
  1095.                         continue
  1096.                     }
  1097.                     a += u(t).charsLeftOver;
  1098.                     a += u(t).unusedTokens.length * 10;
  1099.                     u(t).score = a;
  1100.                     if (r == null || a < r) {
  1101.                         r = a;
  1102.                         n = t
  1103.                     }
  1104.                 }
  1105.                 o(e, n || t)
  1106.             }
  1107.  
  1108.             function xt(e) {
  1109.                 if (e._d) {
  1110.                     return
  1111.                 }
  1112.                 var t = R(e._i);
  1113.                 e._a = n([t.year, t.month, t.day || t.date, t.hour, t.minute, t.second, t.millisecond], function(e) {
  1114.                     return e && parseInt(e, 10)
  1115.                 });
  1116.                 _t(e)
  1117.             }
  1118.  
  1119.             function Et(e) {
  1120.                 var t = new _(We(wt(e)));
  1121.                 if (t._nextDay) {
  1122.                     t.add(1, "d");
  1123.                     t._nextDay = undefined
  1124.                 }
  1125.                 return t
  1126.             }
  1127.  
  1128.             function wt(e) {
  1129.                 var t = e._i,
  1130.                     n = e._f;
  1131.                 e._locale = e._locale || N(e._l);
  1132.                 if (t === null || n === undefined && t === "") {
  1133.                     return p({
  1134.                         nullInput: true
  1135.                     })
  1136.                 }
  1137.                 if (typeof t === "string") {
  1138.                     e._i = t = e._locale.preparse(t)
  1139.                 }
  1140.                 if (y(t)) {
  1141.                     return new _(We(t))
  1142.                 } else if (i(n)) {
  1143.                     St(e)
  1144.                 } else if (n) {
  1145.                     bt(e)
  1146.                 } else if (a(t)) {
  1147.                     e._d = t
  1148.                 } else {
  1149.                     Ct(e)
  1150.                 }
  1151.                 if (!d(e)) {
  1152.                     e._d = null
  1153.                 }
  1154.                 return e
  1155.             }
  1156.  
  1157.             function Ct(e) {
  1158.                 var t = e._i;
  1159.                 if (t === undefined) {
  1160.                     e._d = new Date(c.now())
  1161.                 } else if (a(t)) {
  1162.                     e._d = new Date(+t)
  1163.                 } else if (typeof t === "string") {
  1164.                     it(e)
  1165.                 } else if (i(t)) {
  1166.                     e._a = n(t.slice(0), function(e) {
  1167.                         return parseInt(e, 10)
  1168.                     });
  1169.                     _t(e)
  1170.                 } else if (typeof t === "object") {
  1171.                     xt(e)
  1172.                 } else if (typeof t === "number") {
  1173.                     e._d = new Date(t)
  1174.                 } else {
  1175.                     c.createFromInputFallback(e)
  1176.                 }
  1177.             }
  1178.  
  1179.             function Tt(e, t, n, r, i) {
  1180.                 var a = {};
  1181.                 if (typeof n === "boolean") {
  1182.                     r = n;
  1183.                     n = undefined
  1184.                 }
  1185.                 a._isAMomentObject = true;
  1186.                 a._useUTC = a._isUTC = i;
  1187.                 a._l = n;
  1188.                 a._i = e;
  1189.                 a._f = t;
  1190.                 a._strict = r;
  1191.                 return Et(a)
  1192.             }
  1193.  
  1194.             function Ot(e, t, n, r) {
  1195.                 return Tt(e, t, n, r, false)
  1196.             }
  1197.             c.ISO_8601 = function() {};
  1198.             var Mt = $e("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548", function() {
  1199.                     var e = Ot.apply(null, arguments);
  1200.                     if (this.isValid() && e.isValid()) {
  1201.                         return e < this ? this : e
  1202.                     } else {
  1203.                         return p()
  1204.                     }
  1205.                 }),
  1206.                 At = $e("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548", function() {
  1207.                     var e = Ot.apply(null, arguments);
  1208.                     if (this.isValid() && e.isValid()) {
  1209.                         return e > this ? this : e
  1210.                     } else {
  1211.                         return p()
  1212.                     }
  1213.                 });
  1214.  
  1215.             function Nt(e, t) {
  1216.                 var n, r;
  1217.                 if (t.length === 1 && i(t[0])) {
  1218.                     t = t[0]
  1219.                 }
  1220.                 if (!t.length) {
  1221.                     return Ot()
  1222.                 }
  1223.                 n = t[0];
  1224.                 for (r = 1; r < t.length; ++r) {
  1225.                     if (!t[r].isValid() || t[r][e](n)) {
  1226.                         n = t[r]
  1227.                     }
  1228.                 }
  1229.                 return n
  1230.             }
  1231.  
  1232.             function Dt() {
  1233.                 var e;
  1234.                 return Nt("isBefore", [].slice.call(arguments, 0))
  1235.             }
  1236.  
  1237.             function Pt() {
  1238.                 var e;
  1239.                 return Nt("isAfter", [].slice.call(arguments, 0))
  1240.             }
  1241.             var kt = function() {
  1242.                 return Date.now ? Date.now() : +new Date
  1243.             };
  1244.  
  1245.             function Rt(e) {
  1246.                 var t = R(e),
  1247.                     n = t.year || 0,
  1248.                     r = t.quarter || 0,
  1249.                     i = t.month || 0,
  1250.                     a = t.week || 0,
  1251.                     o = t.day || 0,
  1252.                     s = t.hour || 0,
  1253.                     l = t.minute || 0,
  1254.                     c = t.second || 0,
  1255.                     u = t.millisecond || 0;
  1256.                 this._milliseconds = +u + c * 1e3 + l * 6e4 + s * 36e5;
  1257.                 this._days = +o + a * 7;
  1258.                 this._months = +i + r * 3 + n * 12;
  1259.                 this._data = {};
  1260.                 this._locale = N();
  1261.                 this._bubble()
  1262.             }
  1263.  
  1264.             function Lt(e) {
  1265.                 return e instanceof Rt
  1266.             }
  1267.  
  1268.             function It(e, n) {
  1269.                 q(e, 0, 0, function() {
  1270.                     var e = this.utcOffset();
  1271.                     var t = "+";
  1272.                     if (e < 0) {
  1273.                         e = -e;
  1274.                         t = "-"
  1275.                     }
  1276.                     return t + U(~~(e / 60), 2) + n + U(~~e % 60, 2)
  1277.                 })
  1278.             }
  1279.             It("Z", ":"), It("ZZ", ""), fe("Z", ue), fe("ZZ", ue), be(["Z", "ZZ"], function(e, t, n) {
  1280.                 n._useUTC = true;
  1281.                 n._tzm = Bt(ue, e)
  1282.             });
  1283.             var Ft = /([\+\-]|\d\d)/gi;
  1284.  
  1285.             function Bt(e, t) {
  1286.                 var n = (t || "").match(e) || [];
  1287.                 var r = n[n.length - 1] || [];
  1288.                 var i = (r + "").match(Ft) || ["-", 0, 0];
  1289.                 var a = +(i[1] * 60) + v(i[2]);
  1290.                 return i[0] === "+" ? a : -a
  1291.             }
  1292.  
  1293.             function Gt(e, t) {
  1294.                 var n, r;
  1295.                 if (t._isUTC) {
  1296.                     n = t.clone();
  1297.                     r = (y(e) || a(e) ? +e : +Ot(e)) - +n;
  1298.                     n._d.setTime(+n._d + r);
  1299.                     c.updateOffset(n, false);
  1300.                     return n
  1301.                 } else {
  1302.                     return Ot(e).local()
  1303.                 }
  1304.             }
  1305.  
  1306.             function Ut(e) {
  1307.                 return -Math.round(e._d.getTimezoneOffset() / 15) * 15
  1308.             }
  1309.  
  1310.             function jt(e, t) {
  1311.                 var n = this._offset || 0,
  1312.                     r;
  1313.                 if (!this.isValid()) {
  1314.                     return e != null ? this : NaN
  1315.                 }
  1316.                 if (e != null) {
  1317.                     if (typeof e === "string") {
  1318.                         e = Bt(ue, e)
  1319.                     } else if (Math.abs(e) < 16) {
  1320.                         e = e * 60
  1321.                     }
  1322.                     if (!this._isUTC && t) {
  1323.                         r = Ut(this)
  1324.                     }
  1325.                     this._offset = e;
  1326.                     this._isUTC = true;
  1327.                     if (r != null) {
  1328.                         this.add(r, "m")
  1329.                     }
  1330.                     if (n !== e) {
  1331.                         if (!t || this._changeInProgress) {
  1332.                             on(this, en(e - n, "m"), 1, false)
  1333.                         } else if (!this._changeInProgress) {
  1334.                             this._changeInProgress = true;
  1335.                             c.updateOffset(this, true);
  1336.                             this._changeInProgress = null
  1337.                         }
  1338.                     }
  1339.                     return this
  1340.                 } else {
  1341.                     return this._isUTC ? n : Ut(this)
  1342.                 }
  1343.             }
  1344.  
  1345.             function Vt(e, t) {
  1346.                 if (e != null) {
  1347.                     if (typeof e !== "string") {
  1348.                         e = -e
  1349.                     }
  1350.                     this.utcOffset(e, t);
  1351.                     return this
  1352.                 } else {
  1353.                     return -this.utcOffset()
  1354.                 }
  1355.             }
  1356.  
  1357.             function zt(e) {
  1358.                 return this.utcOffset(0, e)
  1359.             }
  1360.  
  1361.             function Ht(e) {
  1362.                 if (this._isUTC) {
  1363.                     this.utcOffset(0, e);
  1364.                     this._isUTC = false;
  1365.                     if (e) {
  1366.                         this.subtract(Ut(this), "m")
  1367.                     }
  1368.                 }
  1369.                 return this
  1370.             }
  1371.  
  1372.             function qt() {
  1373.                 if (this._tzm) {
  1374.                     this.utcOffset(this._tzm)
  1375.                 } else if (typeof this._i === "string") {
  1376.                     this.utcOffset(Bt(ce, this._i))
  1377.                 }
  1378.                 return this
  1379.             }
  1380.  
  1381.             function Wt(e) {
  1382.                 if (!this.isValid()) {
  1383.                     return false
  1384.                 }
  1385.                 e = e ? Ot(e).utcOffset() : 0;
  1386.                 return (this.utcOffset() - e) % 60 === 0
  1387.             }
  1388.  
  1389.             function Kt() {
  1390.                 return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset()
  1391.             }
  1392.  
  1393.             function $t() {
  1394.                 if (!m(this._isDSTShifted)) {
  1395.                     return this._isDSTShifted
  1396.                 }
  1397.                 var e = {};
  1398.                 h(e, this);
  1399.                 e = wt(e);
  1400.                 if (e._a) {
  1401.                     var t = e._isUTC ? l(e._a) : Ot(e._a);
  1402.                     this._isDSTShifted = this.isValid() && S(e._a, t.toArray()) > 0
  1403.                 } else {
  1404.                     this._isDSTShifted = false
  1405.                 }
  1406.                 return this._isDSTShifted
  1407.             }
  1408.  
  1409.             function Yt() {
  1410.                 return this.isValid() ? !this._isUTC : false
  1411.             }
  1412.  
  1413.             function Xt() {
  1414.                 return this.isValid() ? this._isUTC : false
  1415.             }
  1416.  
  1417.             function Qt() {
  1418.                 return this.isValid() ? this._isUTC && this._offset === 0 : false
  1419.             }
  1420.             c.updateOffset = function() {};
  1421.             var Zt = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,
  1422.                 Jt = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;
  1423.  
  1424.             function en(e, t) {
  1425.                 var n = e,
  1426.                     r = null,
  1427.                     i, a, o;
  1428.                 if (Lt(e)) {
  1429.                     n = {
  1430.                         ms: e._milliseconds,
  1431.                         d: e._days,
  1432.                         M: e._months
  1433.                     }
  1434.                 } else if (typeof e === "number") {
  1435.                     n = {};
  1436.                     if (t) {
  1437.                         n[t] = e
  1438.                     } else {
  1439.                         n.milliseconds = e
  1440.                     }
  1441.                 } else if (!!(r = Zt.exec(e))) {
  1442.                     i = r[1] === "-" ? -1 : 1;
  1443.                     n = {
  1444.                         y: 0,
  1445.                         d: v(r[we]) * i,
  1446.                         h: v(r[Ce]) * i,
  1447.                         m: v(r[Te]) * i,
  1448.                         s: v(r[Oe]) * i,
  1449.                         ms: v(r[Me]) * i
  1450.                     }
  1451.                 } else if (!!(r = Jt.exec(e))) {
  1452.                     i = r[1] === "-" ? -1 : 1;
  1453.                     n = {
  1454.                         y: tn(r[2], i),
  1455.                         M: tn(r[3], i),
  1456.                         d: tn(r[4], i),
  1457.                         h: tn(r[5], i),
  1458.                         m: tn(r[6], i),
  1459.                         s: tn(r[7], i),
  1460.                         w: tn(r[8], i)
  1461.                     }
  1462.                 } else if (n == null) {
  1463.                     n = {}
  1464.                 } else if (typeof n === "object" && ("from" in n || "to" in n)) {
  1465.                     o = rn(Ot(n.from), Ot(n.to));
  1466.                     n = {};
  1467.                     n.ms = o.milliseconds;
  1468.                     n.M = o.months
  1469.                 }
  1470.                 a = new Rt(n);
  1471.                 if (Lt(e) && s(e, "_locale")) {
  1472.                     a._locale = e._locale
  1473.                 }
  1474.                 return a
  1475.             }
  1476.  
  1477.             function tn(e, t) {
  1478.                 var n = e && parseFloat(e.replace(",", "."));
  1479.                 return (isNaN(n) ? 0 : n) * t
  1480.             }
  1481.  
  1482.             function nn(e, t) {
  1483.                 var n = {
  1484.                     milliseconds: 0,
  1485.                     months: 0
  1486.                 };
  1487.                 n.months = t.month() - e.month() + (t.year() - e.year()) * 12;
  1488.                 if (e.clone().add(n.months, "M").isAfter(t)) {
  1489.                     --n.months
  1490.                 }
  1491.                 n.milliseconds = +t - +e.clone().add(n.months, "M");
  1492.                 return n
  1493.             }
  1494.  
  1495.             function rn(e, t) {
  1496.                 var n;
  1497.                 if (!(e.isValid() && t.isValid())) {
  1498.                     return {
  1499.                         milliseconds: 0,
  1500.                         months: 0
  1501.                     }
  1502.                 }
  1503.                 t = Gt(t, e);
  1504.                 if (e.isBefore(t)) {
  1505.                     n = nn(e, t)
  1506.                 } else {
  1507.                     n = nn(t, e);
  1508.                     n.milliseconds = -n.milliseconds;
  1509.                     n.months = -n.months
  1510.                 }
  1511.                 return n
  1512.             }
  1513.  
  1514.             function an(i, a) {
  1515.                 return function(e, t) {
  1516.                     var n, r;
  1517.                     if (t !== null && !isNaN(+t)) {
  1518.                         Xe(a, "moment()." + a + "(period, number) is deprecated. Please use moment()." + a + "(number, period).");
  1519.                         r = e;
  1520.                         e = t;
  1521.                         t = r
  1522.                     }
  1523.                     e = typeof e === "string" ? +e : e;
  1524.                     n = en(e, t);
  1525.                     on(this, n, i);
  1526.                     return this
  1527.                 }
  1528.             }
  1529.  
  1530.             function on(e, t, n, r) {
  1531.                 var i = t._milliseconds,
  1532.                     a = t._days,
  1533.                     o = t._months;
  1534.                 if (!e.isValid()) {
  1535.                     return
  1536.                 }
  1537.                 r = r == null ? true : r;
  1538.                 if (i) {
  1539.                     e._d.setTime(+e._d + i * n)
  1540.                 }
  1541.                 if (a) {
  1542.                     B(e, "Date", F(e, "Date") + a * n)
  1543.                 }
  1544.                 if (o) {
  1545.                     Be(e, F(e, "Month") + o * n)
  1546.                 }
  1547.                 if (r) {
  1548.                     c.updateOffset(e, a || o)
  1549.                 }
  1550.             }
  1551.             en.fn = Rt.prototype;
  1552.             var sn = an(1, "add"),
  1553.                 ln = an(-1, "subtract");
  1554.  
  1555.             function cn(e, t) {
  1556.                 var n = e || Ot(),
  1557.                     r = Gt(n, this).startOf("day"),
  1558.                     i = this.diff(r, "days", true),
  1559.                     a = i < -6 ? "sameElse" : i < -1 ? "lastWeek" : i < 0 ? "lastDay" : i < 1 ? "sameDay" : i < 2 ? "nextDay" : i < 7 ? "nextWeek" : "sameElse";
  1560.                 var o = t && (L(t[a]) ? t[a]() : t[a]);
  1561.                 return this.format(o || this.localeData().calendar(a, this, Ot(n)))
  1562.             }
  1563.  
  1564.             function un() {
  1565.                 return new _(this)
  1566.             }
  1567.  
  1568.             function dn(e, t) {
  1569.                 var n = y(e) ? e : Ot(e);
  1570.                 if (!(this.isValid() && n.isValid())) {
  1571.                     return false
  1572.                 }
  1573.                 t = k(!m(t) ? t : "millisecond");
  1574.                 if (t === "millisecond") {
  1575.                     return +this > +n
  1576.                 } else {
  1577.                     return +n < +this.clone().startOf(t)
  1578.                 }
  1579.             }
  1580.  
  1581.             function pn(e, t) {
  1582.                 var n = y(e) ? e : Ot(e);
  1583.                 if (!(this.isValid() && n.isValid())) {
  1584.                     return false
  1585.                 }
  1586.                 t = k(!m(t) ? t : "millisecond");
  1587.                 if (t === "millisecond") {
  1588.                     return +this < +n
  1589.                 } else {
  1590.                     return +this.clone().endOf(t) < +n
  1591.                 }
  1592.             }
  1593.  
  1594.             function mn(e, t, n) {
  1595.                 return this.isAfter(e, n) && this.isBefore(t, n)
  1596.             }
  1597.  
  1598.             function fn(e, t) {
  1599.                 var n = y(e) ? e : Ot(e),
  1600.                     r;
  1601.                 if (!(this.isValid() && n.isValid())) {
  1602.                     return false
  1603.                 }
  1604.                 t = k(t || "millisecond");
  1605.                 if (t === "millisecond") {
  1606.                     return +this === +n
  1607.                 } else {
  1608.                     r = +n;
  1609.                     return +this.clone().startOf(t) <= r && r <= +this.clone().endOf(t)
  1610.                 }
  1611.             }
  1612.  
  1613.             function hn(e, t) {
  1614.                 return this.isSame(e, t) || this.isAfter(e, t)
  1615.             }
  1616.  
  1617.             function gn(e, t) {
  1618.                 return this.isSame(e, t) || this.isBefore(e, t)
  1619.             }
  1620.  
  1621.             function _n(e, t, n) {
  1622.                 var r, i, a, o;
  1623.                 if (!this.isValid()) {
  1624.                     return NaN
  1625.                 }
  1626.                 r = Gt(e, this);
  1627.                 if (!r.isValid()) {
  1628.                     return NaN
  1629.                 }
  1630.                 i = (r.utcOffset() - this.utcOffset()) * 6e4;
  1631.                 t = k(t);
  1632.                 if (t === "year" || t === "month" || t === "quarter") {
  1633.                     o = yn(this, r);
  1634.                     if (t === "quarter") {
  1635.                         o = o / 3
  1636.                     } else if (t === "year") {
  1637.                         o = o / 12
  1638.                     }
  1639.                 } else {
  1640.                     a = this - r;
  1641.                     o = t === "second" ? a / 1e3 : t === "minute" ? a / 6e4 : t === "hour" ? a / 36e5 : t === "day" ? (a - i) / 864e5 : t === "week" ? (a - i) / 6048e5 : a
  1642.                 }
  1643.                 return n ? o : b(o)
  1644.             }
  1645.  
  1646.             function yn(e, t) {
  1647.                 var n = (t.year() - e.year()) * 12 + (t.month() - e.month()),
  1648.                     r = e.clone().add(n, "months"),
  1649.                     i, a;
  1650.                 if (t - r < 0) {
  1651.                     i = e.clone().add(n - 1, "months");
  1652.                     a = (t - r) / (r - i)
  1653.                 } else {
  1654.                     i = e.clone().add(n + 1, "months");
  1655.                     a = (t - r) / (i - r)
  1656.                 }
  1657.                 return -(n + a)
  1658.             }
  1659.  
  1660.             function bn() {
  1661.                 return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")
  1662.             }
  1663.  
  1664.             function vn() {
  1665.                 var e = this.clone().utc();
  1666.                 if (0 < e.year() && e.year() <= 9999) {
  1667.                     if (L(Date.prototype.toISOString)) {
  1668.                         return this.toDate().toISOString()
  1669.                     } else {
  1670.                         return $(e, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")
  1671.                     }
  1672.                 } else {
  1673.                     return $(e, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")
  1674.                 }
  1675.             }
  1676.  
  1677.             function Sn(e) {
  1678.                 var t = $(this, e || c.defaultFormat);
  1679.                 return this.localeData().postformat(t)
  1680.             }
  1681.  
  1682.             function xn(e, t) {
  1683.                 if (this.isValid() && (y(e) && e.isValid() || Ot(e).isValid())) {
  1684.                     return en({
  1685.                         to: this,
  1686.                         from: e
  1687.                     }).locale(this.locale()).humanize(!t)
  1688.                 } else {
  1689.                     return this.localeData().invalidDate()
  1690.                 }
  1691.             }
  1692.  
  1693.             function En(e) {
  1694.                 return this.from(Ot(), e)
  1695.             }
  1696.  
  1697.             function wn(e, t) {
  1698.                 if (this.isValid() && (y(e) && e.isValid() || Ot(e).isValid())) {
  1699.                     return en({
  1700.                         from: this,
  1701.                         to: e
  1702.                     }).locale(this.locale()).humanize(!t)
  1703.                 } else {
  1704.                     return this.localeData().invalidDate()
  1705.                 }
  1706.             }
  1707.  
  1708.             function Cn(e) {
  1709.                 return this.to(Ot(), e)
  1710.             }
  1711.  
  1712.             function Tn(e) {
  1713.                 var t;
  1714.                 if (e === undefined) {
  1715.                     return this._locale._abbr
  1716.                 } else {
  1717.                     t = N(e);
  1718.                     if (t != null) {
  1719.                         this._locale = t
  1720.                     }
  1721.                     return this
  1722.                 }
  1723.             }
  1724.             c.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
  1725.             var On = $e("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(e) {
  1726.                 if (e === undefined) {
  1727.                     return this.localeData()
  1728.                 } else {
  1729.                     return this.locale(e)
  1730.                 }
  1731.             });
  1732.  
  1733.             function Mn() {
  1734.                 return this._locale
  1735.             }
  1736.  
  1737.             function An(e) {
  1738.                 e = k(e);
  1739.                 switch (e) {
  1740.                     case "year":
  1741.                         this.month(0);
  1742.                     case "quarter":
  1743.                     case "month":
  1744.                         this.date(1);
  1745.                     case "week":
  1746.                     case "isoWeek":
  1747.                     case "day":
  1748.                         this.hours(0);
  1749.                     case "hour":
  1750.                         this.minutes(0);
  1751.                     case "minute":
  1752.                         this.seconds(0);
  1753.                     case "second":
  1754.                         this.milliseconds(0)
  1755.                 }
  1756.                 if (e === "week") {
  1757.                     this.weekday(0)
  1758.                 }
  1759.                 if (e === "isoWeek") {
  1760.                     this.isoWeekday(1)
  1761.                 }
  1762.                 if (e === "quarter") {
  1763.                     this.month(Math.floor(this.month() / 3) * 3)
  1764.                 }
  1765.                 return this
  1766.             }
  1767.  
  1768.             function Nn(e) {
  1769.                 e = k(e);
  1770.                 if (e === undefined || e === "millisecond") {
  1771.                     return this
  1772.                 }
  1773.                 return this.startOf(e).add(1, e === "isoWeek" ? "week" : e).subtract(1, "ms")
  1774.             }
  1775.  
  1776.             function Dn() {
  1777.                 return +this._d - (this._offset || 0) * 6e4
  1778.             }
  1779.  
  1780.             function Pn() {
  1781.                 return Math.floor(+this / 1e3)
  1782.             }
  1783.  
  1784.             function kn() {
  1785.                 return this._offset ? new Date(+this) : this._d
  1786.             }
  1787.  
  1788.             function Rn() {
  1789.                 var e = this;
  1790.                 return [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()]
  1791.             }
  1792.  
  1793.             function Ln() {
  1794.                 var e = this;
  1795.                 return {
  1796.                     years: e.year(),
  1797.                     months: e.month(),
  1798.                     date: e.date(),
  1799.                     hours: e.hours(),
  1800.                     minutes: e.minutes(),
  1801.                     seconds: e.seconds(),
  1802.                     milliseconds: e.milliseconds()
  1803.                 }
  1804.             }
  1805.  
  1806.             function In() {
  1807.                 return this.isValid() ? this.toISOString() : "null"
  1808.             }
  1809.  
  1810.             function Fn() {
  1811.                 return d(this)
  1812.             }
  1813.  
  1814.             function Bn() {
  1815.                 return o({}, u(this))
  1816.             }
  1817.  
  1818.             function Gn() {
  1819.                 return u(this).overflow
  1820.             }
  1821.  
  1822.             function Un() {
  1823.                 return {
  1824.                     input: this._i,
  1825.                     format: this._f,
  1826.                     locale: this._locale,
  1827.                     isUTC: this._isUTC,
  1828.                     strict: this._strict
  1829.                 }
  1830.             }
  1831.  
  1832.             function jn(e, t) {
  1833.                 q(0, [e, e.length], 0, t)
  1834.             }
  1835.  
  1836.             function Vn(e) {
  1837.                 return Wn.call(this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy)
  1838.             }
  1839.  
  1840.             function zn(e) {
  1841.                 return Wn.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4)
  1842.             }
  1843.  
  1844.             function Hn() {
  1845.                 return ft(this.year(), 1, 4)
  1846.             }
  1847.  
  1848.             function qn() {
  1849.                 var e = this.localeData()._week;
  1850.                 return ft(this.year(), e.dow, e.doy)
  1851.             }
  1852.  
  1853.             function Wn(e, t, n, r, i) {
  1854.                 var a;
  1855.                 if (e == null) {
  1856.                     return mt(this, r, i).year
  1857.                 } else {
  1858.                     a = ft(e, r, i);
  1859.                     if (t > a) {
  1860.                         t = a
  1861.                     }
  1862.                     return Kn.call(this, e, t, n, r, i)
  1863.                 }
  1864.             }
  1865.  
  1866.             function Kn(e, t, n, r, i) {
  1867.                 var a = pt(e, t, n, r, i),
  1868.                     o = ot(a.year, 0, a.dayOfYear);
  1869.                 this.year(o.getUTCFullYear());
  1870.                 this.month(o.getUTCMonth());
  1871.                 this.date(o.getUTCDate());
  1872.                 return this
  1873.             }
  1874.  
  1875.             function $n(e) {
  1876.                 return e == null ? Math.ceil((this.month() + 1) / 3) : this.month((e - 1) * 3 + this.month() % 3)
  1877.             }
  1878.  
  1879.             function Yn(e) {
  1880.                 return mt(e, this._week.dow, this._week.doy).week
  1881.             }
  1882.             q(0, ["gg", 2], 0, function() {
  1883.                 return this.weekYear() % 100
  1884.             }), q(0, ["GG", 2], 0, function() {
  1885.                 return this.isoWeekYear() % 100
  1886.             }), jn("gggg", "weekYear"), jn("ggggg", "weekYear"), jn("GGGG", "isoWeekYear"), jn("GGGGG", "isoWeekYear"), P("weekYear", "gg"), P("isoWeekYear", "GG"), fe("G", le), fe("g", le), fe("GG", te, Q), fe("gg", te, Q), fe("GGGG", ae, J), fe("gggg", ae, J), fe("GGGGG", oe, ee), fe("ggggg", oe, ee), ve(["gggg", "ggggg", "GGGG", "GGGGG"], function(e, t, n, r) {
  1887.                 t[r.substr(0, 2)] = v(e)
  1888.             }), ve(["gg", "GG"], function(e, t, n, r) {
  1889.                 t[r] = c.parseTwoDigitYear(e)
  1890.             }), q("Q", 0, "Qo", "quarter"), P("quarter", "Q"), fe("Q", X), be("Q", function(e, t) {
  1891.                 t[Ee] = (v(e) - 1) * 3
  1892.             }), q("w", ["ww", 2], "wo", "week"), q("W", ["WW", 2], "Wo", "isoWeek"), P("week", "w"), P("isoWeek", "W"), fe("w", te), fe("ww", te, Q), fe("W", te), fe("WW", te, Q), ve(["w", "ww", "W", "WW"], function(e, t, n, r) {
  1893.                 t[r.substr(0, 1)] = v(e)
  1894.             });
  1895.             var Xn = {
  1896.                 dow: 0,
  1897.                 doy: 6
  1898.             };
  1899.  
  1900.             function Qn() {
  1901.                 return this._week.dow
  1902.             }
  1903.  
  1904.             function Zn() {
  1905.                 return this._week.doy
  1906.             }
  1907.  
  1908.             function Jn(e) {
  1909.                 var t = this.localeData().week(this);
  1910.                 return e == null ? t : this.add((e - t) * 7, "d")
  1911.             }
  1912.  
  1913.             function er(e) {
  1914.                 var t = mt(this, 1, 4).week;
  1915.                 return e == null ? t : this.add((e - t) * 7, "d")
  1916.             }
  1917.             q("D", ["DD", 2], "Do", "date"), P("date", "D"), fe("D", te), fe("DD", te, Q), fe("Do", function(e, t) {
  1918.                 return e ? t._ordinalParse : t._ordinalParseLenient
  1919.             }), be(["D", "DD"], we), be("Do", function(e, t) {
  1920.                 t[we] = v(e.match(te)[0], 10)
  1921.             });
  1922.             var tr = I("Date", true);
  1923.  
  1924.             function nr(e, t) {
  1925.                 if (typeof e !== "string") {
  1926.                     return e
  1927.                 }
  1928.                 if (!isNaN(e)) {
  1929.                     return parseInt(e, 10)
  1930.                 }
  1931.                 e = t.weekdaysParse(e);
  1932.                 if (typeof e === "number") {
  1933.                     return e
  1934.                 }
  1935.                 return null
  1936.             }
  1937.             q("d", 0, "do", "day"), q("dd", 0, 0, function(e) {
  1938.                 return this.localeData().weekdaysMin(this, e)
  1939.             }), q("ddd", 0, 0, function(e) {
  1940.                 return this.localeData().weekdaysShort(this, e)
  1941.             }), q("dddd", 0, 0, function(e) {
  1942.                 return this.localeData().weekdays(this, e)
  1943.             }), q("e", 0, 0, "weekday"), q("E", 0, 0, "isoWeekday"), P("day", "d"), P("weekday", "e"), P("isoWeekday", "E"), fe("d", te), fe("e", te), fe("E", te), fe("dd", pe), fe("ddd", pe), fe("dddd", pe), ve(["dd", "ddd", "dddd"], function(e, t, n, r) {
  1944.                 var i = n._locale.weekdaysParse(e, r, n._strict);
  1945.                 if (i != null) {
  1946.                     t.d = i
  1947.                 } else {
  1948.                     u(n).invalidWeekday = e
  1949.                 }
  1950.             }), ve(["d", "e", "E"], function(e, t, n, r) {
  1951.                 t[r] = v(e)
  1952.             });
  1953.             var rr = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");
  1954.  
  1955.             function ir(e, t) {
  1956.                 return i(this._weekdays) ? this._weekdays[e.day()] : this._weekdays[this._weekdays.isFormat.test(t) ? "format" : "standalone"][e.day()]
  1957.             }
  1958.             var ar = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");
  1959.  
  1960.             function or(e) {
  1961.                 return this._weekdaysShort[e.day()]
  1962.             }
  1963.             var sr = "Su_Mo_Tu_We_Th_Fr_Sa".split("_");
  1964.  
  1965.             function lr(e) {
  1966.                 return this._weekdaysMin[e.day()]
  1967.             }
  1968.  
  1969.             function cr(e, t, n) {
  1970.                 var r, i, a;
  1971.                 if (!this._weekdaysParse) {
  1972.                     this._weekdaysParse = [];
  1973.                     this._minWeekdaysParse = [];
  1974.                     this._shortWeekdaysParse = [];
  1975.                     this._fullWeekdaysParse = []
  1976.                 }
  1977.                 for (r = 0; r < 7; r++) {
  1978.                     i = Ot([2e3, 1]).day(r);
  1979.                     if (n && !this._fullWeekdaysParse[r]) {
  1980.                         this._fullWeekdaysParse[r] = new RegExp("^" + this.weekdays(i, "").replace(".", ".?") + "$", "i");
  1981.                         this._shortWeekdaysParse[r] = new RegExp("^" + this.weekdaysShort(i, "").replace(".", ".?") + "$", "i");
  1982.                         this._minWeekdaysParse[r] = new RegExp("^" + this.weekdaysMin(i, "").replace(".", ".?") + "$", "i")
  1983.                     }
  1984.                     if (!this._weekdaysParse[r]) {
  1985.                         a = "^" + this.weekdays(i, "") + "|^" + this.weekdaysShort(i, "") + "|^" + this.weekdaysMin(i, "");
  1986.                         this._weekdaysParse[r] = new RegExp(a.replace(".", ""), "i")
  1987.                     }
  1988.                     if (n && t === "dddd" && this._fullWeekdaysParse[r].test(e)) {
  1989.                         return r
  1990.                     } else if (n && t === "ddd" && this._shortWeekdaysParse[r].test(e)) {
  1991.                         return r
  1992.                     } else if (n && t === "dd" && this._minWeekdaysParse[r].test(e)) {
  1993.                         return r
  1994.                     } else if (!n && this._weekdaysParse[r].test(e)) {
  1995.                         return r
  1996.                     }
  1997.                 }
  1998.             }
  1999.  
  2000.             function ur(e) {
  2001.                 if (!this.isValid()) {
  2002.                     return e != null ? this : NaN
  2003.                 }
  2004.                 var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
  2005.                 if (e != null) {
  2006.                     e = nr(e, this.localeData());
  2007.                     return this.add(e - t, "d")
  2008.                 } else {
  2009.                     return t
  2010.                 }
  2011.             }
  2012.  
  2013.             function dr(e) {
  2014.                 if (!this.isValid()) {
  2015.                     return e != null ? this : NaN
  2016.                 }
  2017.                 var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
  2018.                 return e == null ? t : this.add(e - t, "d")
  2019.             }
  2020.  
  2021.             function pr(e) {
  2022.                 if (!this.isValid()) {
  2023.                     return e != null ? this : NaN
  2024.                 }
  2025.                 return e == null ? this.day() || 7 : this.day(this.day() % 7 ? e : e - 7)
  2026.             }
  2027.  
  2028.             function mr(e) {
  2029.                 var t = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
  2030.                 return e == null ? t : this.add(e - t, "d")
  2031.             }
  2032.  
  2033.             function fr() {
  2034.                 return this.hours() % 12 || 12
  2035.             }
  2036.  
  2037.             function hr(e, t) {
  2038.                 q(e, 0, 0, function() {
  2039.                     return this.localeData().meridiem(this.hours(), this.minutes(), t)
  2040.                 })
  2041.             }
  2042.  
  2043.             function gr(e, t) {
  2044.                 return t._meridiemParse
  2045.             }
  2046.  
  2047.             function _r(e) {
  2048.                 return (e + "").toLowerCase().charAt(0) === "p"
  2049.             }
  2050.             q("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), P("dayOfYear", "DDD"), fe("DDD", ie), fe("DDDD", Z), be(["DDD", "DDDD"], function(e, t, n) {
  2051.                 n._dayOfYear = v(e)
  2052.             }), q("H", ["HH", 2], 0, "hour"), q("h", ["hh", 2], 0, fr), q("hmm", 0, 0, function() {
  2053.                 return "" + fr.apply(this) + U(this.minutes(), 2)
  2054.             }), q("hmmss", 0, 0, function() {
  2055.                 return "" + fr.apply(this) + U(this.minutes(), 2) + U(this.seconds(), 2)
  2056.             }), q("Hmm", 0, 0, function() {
  2057.                 return "" + this.hours() + U(this.minutes(), 2)
  2058.             }), q("Hmmss", 0, 0, function() {
  2059.                 return "" + this.hours() + U(this.minutes(), 2) + U(this.seconds(), 2)
  2060.             }), hr("a", true), hr("A", false), P("hour", "h"), fe("a", gr), fe("A", gr), fe("H", te), fe("h", te), fe("HH", te, Q), fe("hh", te, Q), fe("hmm", ne), fe("hmmss", re), fe("Hmm", ne), fe("Hmmss", re), be(["H", "HH"], Ce), be(["a", "A"], function(e, t, n) {
  2061.                 n._isPm = n._locale.isPM(e);
  2062.                 n._meridiem = e
  2063.             }), be(["h", "hh"], function(e, t, n) {
  2064.                 t[Ce] = v(e);
  2065.                 u(n).bigHour = true
  2066.             }), be("hmm", function(e, t, n) {
  2067.                 var r = e.length - 2;
  2068.                 t[Ce] = v(e.substr(0, r));
  2069.                 t[Te] = v(e.substr(r));
  2070.                 u(n).bigHour = true
  2071.             }), be("hmmss", function(e, t, n) {
  2072.                 var r = e.length - 4;
  2073.                 var i = e.length - 2;
  2074.                 t[Ce] = v(e.substr(0, r));
  2075.                 t[Te] = v(e.substr(r, 2));
  2076.                 t[Oe] = v(e.substr(i));
  2077.                 u(n).bigHour = true
  2078.             }), be("Hmm", function(e, t, n) {
  2079.                 var r = e.length - 2;
  2080.                 t[Ce] = v(e.substr(0, r));
  2081.                 t[Te] = v(e.substr(r))
  2082.             }), be("Hmmss", function(e, t, n) {
  2083.                 var r = e.length - 4;
  2084.                 var i = e.length - 2;
  2085.                 t[Ce] = v(e.substr(0, r));
  2086.                 t[Te] = v(e.substr(r, 2));
  2087.                 t[Oe] = v(e.substr(i))
  2088.             });
  2089.             var yr = /[ap]\.?m?\.?/i;
  2090.  
  2091.             function br(e, t, n) {
  2092.                 if (e > 11) {
  2093.                     return n ? "pm" : "PM"
  2094.                 } else {
  2095.                     return n ? "am" : "AM"
  2096.                 }
  2097.             }
  2098.             var vr = I("Hours", true);
  2099.             q("m", ["mm", 2], 0, "minute"), P("minute", "m"), fe("m", te), fe("mm", te, Q), be(["m", "mm"], Te);
  2100.             var Sr = I("Minutes", false);
  2101.             q("s", ["ss", 2], 0, "second"), P("second", "s"), fe("s", te), fe("ss", te, Q), be(["s", "ss"], Oe);
  2102.             var xr = I("Seconds", false),
  2103.                 Er;
  2104.             for (q("S", 0, 0, function() {
  2105.                     return ~~(this.millisecond() / 100)
  2106.                 }), q(0, ["SS", 2], 0, function() {
  2107.                     return ~~(this.millisecond() / 10)
  2108.                 }), q(0, ["SSS", 3], 0, "millisecond"), q(0, ["SSSS", 4], 0, function() {
  2109.                     return this.millisecond() * 10
  2110.                 }), q(0, ["SSSSS", 5], 0, function() {
  2111.                     return this.millisecond() * 100
  2112.                 }), q(0, ["SSSSSS", 6], 0, function() {
  2113.                     return this.millisecond() * 1e3
  2114.                 }), q(0, ["SSSSSSS", 7], 0, function() {
  2115.                     return this.millisecond() * 1e4
  2116.                 }), q(0, ["SSSSSSSS", 8], 0, function() {
  2117.                     return this.millisecond() * 1e5
  2118.                 }), q(0, ["SSSSSSSSS", 9], 0, function() {
  2119.                     return this.millisecond() * 1e6
  2120.                 }), P("millisecond", "ms"), fe("S", ie, X), fe("SS", ie, Q), fe("SSS", ie, Z), Er = "SSSS"; Er.length <= 9; Er += "S") {
  2121.                 fe(Er, se)
  2122.             }
  2123.  
  2124.             function wr(e, t) {
  2125.                 t[Me] = v(("0." + e) * 1e3)
  2126.             }
  2127.             for (Er = "S"; Er.length <= 9; Er += "S") {
  2128.                 be(Er, wr)
  2129.             }
  2130.             var Cr = I("Milliseconds", false);
  2131.  
  2132.             function Tr() {
  2133.                 return this._isUTC ? "UTC" : ""
  2134.             }
  2135.  
  2136.             function Or() {
  2137.                 return this._isUTC ? "Coordinated Universal Time" : ""
  2138.             }
  2139.             q("z", 0, 0, "zoneAbbr"), q("zz", 0, 0, "zoneName");
  2140.             var Mr = _.prototype;
  2141.             Mr.add = sn, Mr.calendar = cn, Mr.clone = un, Mr.diff = _n, Mr.endOf = Nn, Mr.format = Sn, Mr.from = xn, Mr.fromNow = En, Mr.to = wn, Mr.toNow = Cn, Mr.get = G, Mr.invalidAt = Gn, Mr.isAfter = dn, Mr.isBefore = pn, Mr.isBetween = mn, Mr.isSame = fn, Mr.isSameOrAfter = hn, Mr.isSameOrBefore = gn, Mr.isValid = Fn, Mr.lang = On, Mr.locale = Tn, Mr.localeData = Mn, Mr.max = At, Mr.min = Mt, Mr.parsingFlags = Bn, Mr.set = G, Mr.startOf = An, Mr.subtract = ln, Mr.toArray = Rn, Mr.toObject = Ln, Mr.toDate = kn, Mr.toISOString = vn, Mr.toJSON = In, Mr.toString = bn, Mr.unix = Pn, Mr.valueOf = Dn, Mr.creationData = Un, Mr.year = ct, Mr.isLeapYear = ut, Mr.weekYear = Vn, Mr.isoWeekYear = zn, Mr.quarter = Mr.quarters = $n, Mr.month = Ge, Mr.daysInMonth = Ue, Mr.week = Mr.weeks = Jn, Mr.isoWeek = Mr.isoWeeks = er, Mr.weeksInYear = qn, Mr.isoWeeksInYear = Hn, Mr.date = tr, Mr.day = Mr.days = ur, Mr.weekday = dr, Mr.isoWeekday = pr, Mr.dayOfYear = mr, Mr.hour = Mr.hours = vr, Mr.minute = Mr.minutes = Sr, Mr.second = Mr.seconds = xr, Mr.millisecond = Mr.milliseconds = Cr, Mr.utcOffset = jt, Mr.utc = zt, Mr.local = Ht, Mr.parseZone = qt, Mr.hasAlignedHourOffset = Wt, Mr.isDST = Kt, Mr.isDSTShifted = $t, Mr.isLocal = Yt, Mr.isUtcOffset = Xt, Mr.isUtc = Qt, Mr.isUTC = Qt, Mr.zoneAbbr = Tr, Mr.zoneName = Or, Mr.dates = $e("dates accessor is deprecated. Use date instead.", tr), Mr.months = $e("months accessor is deprecated. Use month instead", Ge), Mr.years = $e("years accessor is deprecated. Use year instead", ct), Mr.zone = $e("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779", Vt);
  2142.             var Ar = Mr,
  2143.                 Nr;
  2144.  
  2145.             function Dr(e) {
  2146.                 return Ot(1e3 * e)
  2147.             }
  2148.  
  2149.             function Pr() {
  2150.                 return Ot.apply(null, arguments).parseZone()
  2151.             }
  2152.  
  2153.             function kr(e, t, n) {
  2154.                 var r = this._calendar[e];
  2155.                 return L(r) ? r.call(t, n) : r
  2156.             }
  2157.             var Rr = {
  2158.                 LTS: "h:mm:ss A",
  2159.                 LT: "h:mm A",
  2160.                 L: "MM/DD/YYYY",
  2161.                 LL: "MMMM D, YYYY",
  2162.                 LLL: "MMMM D, YYYY h:mm A",
  2163.                 LLLL: "dddd, MMMM D, YYYY h:mm A"
  2164.             };
  2165.  
  2166.             function Lr(e) {
  2167.                 var t = this._longDateFormat[e],
  2168.                     n = this._longDateFormat[e.toUpperCase()];
  2169.                 if (t || !n) {
  2170.                     return t
  2171.                 }
  2172.                 this._longDateFormat[e] = n.replace(/MMMM|MM|DD|dddd/g, function(e) {
  2173.                     return e.slice(1)
  2174.                 });
  2175.                 return this._longDateFormat[e]
  2176.             }
  2177.             var Ir = "Invalid date";
  2178.  
  2179.             function Fr() {
  2180.                 return this._invalidDate
  2181.             }
  2182.             var Br = "%d",
  2183.                 Gr = /\d{1,2}/;
  2184.  
  2185.             function Ur(e) {
  2186.                 return this._ordinal.replace("%d", e)
  2187.             }
  2188.  
  2189.             function jr(e) {
  2190.                 return e
  2191.             }
  2192.             var Vr = {
  2193.                 future: "in %s",
  2194.                 past: "%s ago",
  2195.                 s: "a few seconds",
  2196.                 m: "a minute",
  2197.                 mm: "%d minutes",
  2198.                 h: "an hour",
  2199.                 hh: "%d hours",
  2200.                 d: "a day",
  2201.                 dd: "%d days",
  2202.                 M: "a month",
  2203.                 MM: "%d months",
  2204.                 y: "a year",
  2205.                 yy: "%d years"
  2206.             };
  2207.  
  2208.             function zr(e, t, n, r) {
  2209.                 var i = this._relativeTime[n];
  2210.                 return L(i) ? i(e, t, n, r) : i.replace(/%d/i, e)
  2211.             }
  2212.  
  2213.             function Hr(e, t) {
  2214.                 var n = this._relativeTime[e > 0 ? "future" : "past"];
  2215.                 return L(n) ? n(t) : n.replace(/%s/i, t)
  2216.             }
  2217.  
  2218.             function qr(e) {
  2219.                 var t, n;
  2220.                 for (n in e) {
  2221.                     t = e[n];
  2222.                     if (L(t)) {
  2223.                         this[n] = t
  2224.                     } else {
  2225.                         this["_" + n] = t
  2226.                     }
  2227.                 }
  2228.                 this._ordinalParseLenient = new RegExp(this._ordinalParse.source + "|" + /\d{1,2}/.source)
  2229.             }
  2230.             var Wr = x.prototype;
  2231.  
  2232.             function Kr(e, t, n, r) {
  2233.                 var i = N();
  2234.                 var a = l().set(r, t);
  2235.                 return i[n](a, e)
  2236.             }
  2237.  
  2238.             function $r(e, t, n, r, i) {
  2239.                 if (typeof e === "number") {
  2240.                     t = e;
  2241.                     e = undefined
  2242.                 }
  2243.                 e = e || "";
  2244.                 if (t != null) {
  2245.                     return Kr(e, t, n, i)
  2246.                 }
  2247.                 var a;
  2248.                 var o = [];
  2249.                 for (a = 0; a < r; a++) {
  2250.                     o[a] = Kr(e, a, n, i)
  2251.                 }
  2252.                 return o
  2253.             }
  2254.  
  2255.             function Yr(e, t) {
  2256.                 return $r(e, t, "months", 12, "month")
  2257.             }
  2258.  
  2259.             function Xr(e, t) {
  2260.                 return $r(e, t, "monthsShort", 12, "month")
  2261.             }
  2262.  
  2263.             function Qr(e, t) {
  2264.                 return $r(e, t, "weekdays", 7, "day")
  2265.             }
  2266.  
  2267.             function Zr(e, t) {
  2268.                 return $r(e, t, "weekdaysShort", 7, "day")
  2269.             }
  2270.  
  2271.             function Jr(e, t) {
  2272.                 return $r(e, t, "weekdaysMin", 7, "day")
  2273.             }
  2274.             Wr._calendar = {
  2275.                 sameDay: "[Today at] LT",
  2276.                 nextDay: "[Tomorrow at] LT",
  2277.                 nextWeek: "dddd [at] LT",
  2278.                 lastDay: "[Yesterday at] LT",
  2279.                 lastWeek: "[Last] dddd [at] LT",
  2280.                 sameElse: "L"
  2281.             }, Wr.calendar = kr, Wr._longDateFormat = Rr, Wr.longDateFormat = Lr, Wr._invalidDate = Ir, Wr.invalidDate = Fr, Wr._ordinal = Br, Wr.ordinal = Ur, Wr._ordinalParse = Gr, Wr.preparse = jr, Wr.postformat = jr, Wr._relativeTime = Vr, Wr.relativeTime = zr, Wr.pastFuture = Hr, Wr.set = qr, Wr.months = Re, Wr._months = ke, Wr.monthsShort = Ie, Wr._monthsShort = Le, Wr.monthsParse = Fe, Wr._monthsRegex = ze, Wr.monthsRegex = He, Wr._monthsShortRegex = je, Wr.monthsShortRegex = Ve, Wr.week = Yn, Wr._week = Xn, Wr.firstDayOfYear = Zn, Wr.firstDayOfWeek = Qn, Wr.weekdays = ir, Wr._weekdays = rr, Wr.weekdaysMin = lr, Wr._weekdaysMin = sr, Wr.weekdaysShort = or, Wr._weekdaysShort = ar, Wr.weekdaysParse = cr, Wr.isPM = _r, Wr._meridiemParse = yr, Wr.meridiem = br, M("en", {
  2282.                 ordinalParse: /\d{1,2}(th|st|nd|rd)/,
  2283.                 ordinal: function(e) {
  2284.                     var t = e % 10,
  2285.                         n = v(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
  2286.                     return e + n
  2287.                 }
  2288.             }), c.lang = $e("moment.lang is deprecated. Use moment.locale instead.", M), c.langData = $e("moment.langData is deprecated. Use moment.localeData instead.", N);
  2289.             var ei = Math.abs;
  2290.  
  2291.             function ti() {
  2292.                 var e = this._data;
  2293.                 return this._milliseconds = ei(this._milliseconds), this._days = ei(this._days), this._months = ei(this._months), e.milliseconds = ei(e.milliseconds), e.seconds = ei(e.seconds), e.minutes = ei(e.minutes), e.hours = ei(e.hours), e.months = ei(e.months), e.years = ei(e.years), this
  2294.             }
  2295.  
  2296.             function ni(e, t, n, r) {
  2297.                 var i = en(t, n);
  2298.                 e._milliseconds += r * i._milliseconds;
  2299.                 e._days += r * i._days;
  2300.                 e._months += r * i._months;
  2301.                 return e._bubble()
  2302.             }
  2303.  
  2304.             function ri(e, t) {
  2305.                 return ni(this, e, t, 1)
  2306.             }
  2307.  
  2308.             function ii(e, t) {
  2309.                 return ni(this, e, t, -1)
  2310.             }
  2311.  
  2312.             function ai(e) {
  2313.                 if (e < 0) {
  2314.                     return Math.floor(e)
  2315.                 } else {
  2316.                     return Math.ceil(e)
  2317.                 }
  2318.             }
  2319.  
  2320.             function oi() {
  2321.                 var e = this._milliseconds,
  2322.                     t = this._days,
  2323.                     n = this._months,
  2324.                     r = this._data;
  2325.                 if (!(0 <= e && 0 <= t && 0 <= n || e <= 0 && t <= 0 && n <= 0)) e += 864e5 * ai(li(n) + t), n = t = 0;
  2326.                 return r.milliseconds = e % 1e3, e = b(e / 1e3), r.seconds = e % 60, e = b(e / 60), r.minutes = e % 60, e = b(e / 60), r.hours = e % 24, t += b(e / 24), e = b(si(t)), n += e, t -= ai(li(e)), e = b(n / 12), n %= 12, r.days = t, r.months = n, r.years = e, this
  2327.             }
  2328.  
  2329.             function si(e) {
  2330.                 return e * 4800 / 146097
  2331.             }
  2332.  
  2333.             function li(e) {
  2334.                 return e * 146097 / 4800
  2335.             }
  2336.  
  2337.             function ci(e) {
  2338.                 var t, n, r = this._milliseconds;
  2339.                 if ("month" === (e = k(e)) || "year" === e) return n = this._months + si(t = this._days + r / 864e5), "month" === e ? n : n / 12
  2340.             }
  2341.  
  2342.             function ui() {
  2343.                 return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * v(this._months / 12)
  2344.             }
  2345.  
  2346.             function di(e) {
  2347.                 return function() {
  2348.                     return this.as(e)
  2349.                 }
  2350.             }
  2351.             var pi = di("ms"),
  2352.                 mi = di("s"),
  2353.                 fi = di("m"),
  2354.                 hi = di("h"),
  2355.                 gi = di("d"),
  2356.                 _i = di("w"),
  2357.                 yi = di("M"),
  2358.                 bi = di("y");
  2359.  
  2360.             function vi(e) {
  2361.                 return this[(e = k(e)) + "s"]()
  2362.             }
  2363.  
  2364.             function Si(e) {
  2365.                 return function() {
  2366.                     return this._data[e]
  2367.                 }
  2368.             }
  2369.             var xi = Si("milliseconds"),
  2370.                 Ei = Si("seconds"),
  2371.                 wi = Si("minutes"),
  2372.                 Ci = Si("hours"),
  2373.                 Ti = Si("days"),
  2374.                 Oi = Si("months"),
  2375.                 Mi = Si("years");
  2376.  
  2377.             function Ai() {
  2378.                 return b(this.days() / 7)
  2379.             }
  2380.             var Ni = Math.round,
  2381.                 Di = {
  2382.                     s: 45,
  2383.                     m: 45,
  2384.                     h: 22,
  2385.                     d: 26,
  2386.                     M: 11
  2387.                 };
  2388.  
  2389.             function Pi(e, t, n, r, i) {
  2390.                 return i.relativeTime(t || 1, !!n, e, r)
  2391.             }
  2392.  
  2393.             function ki(e, t, n) {
  2394.                 var r = en(e).abs(),
  2395.                     i = Ni(r.as("s")),
  2396.                     a = Ni(r.as("m")),
  2397.                     o = Ni(r.as("h")),
  2398.                     s = Ni(r.as("d")),
  2399.                     l = Ni(r.as("M")),
  2400.                     r = Ni(r.as("y")),
  2401.                     r = (i < Di.s ? ["s", i] : a <= 1 && ["m"]) || a < Di.m && ["mm", a] || o <= 1 && ["h"] || o < Di.h && ["hh", o] || s <= 1 && ["d"] || s < Di.d && ["dd", s] || l <= 1 && ["M"] || l < Di.M && ["MM", l] || r <= 1 && ["y"] || ["yy", r];
  2402.                 return r[2] = t, r[3] = 0 < +e, r[4] = n,
  2403.                     function(e, t, n, r, i) {
  2404.                         return i.relativeTime(t || 1, !!n, e, r)
  2405.                     }.apply(null, r)
  2406.             }
  2407.  
  2408.             function Ri(e, t) {
  2409.                 return void 0 !== Di[e] ? void 0 !== t ? (Di[e] = t, !0) : Di[e] : 0
  2410.             }
  2411.  
  2412.             function Li(e) {
  2413.                 var t = this.localeData(),
  2414.                     n = function(e, t, n) {
  2415.                         var r = en(e).abs(),
  2416.                             i = Ni(r.as("s")),
  2417.                             a = Ni(r.as("m")),
  2418.                             o = Ni(r.as("h")),
  2419.                             s = Ni(r.as("d")),
  2420.                             l = Ni(r.as("M")),
  2421.                             r = Ni(r.as("y")),
  2422.                             r = (i < Di.s ? ["s", i] : a <= 1 && ["m"]) || a < Di.m && ["mm", a] || o <= 1 && ["h"] || o < Di.h && ["hh", o] || s <= 1 && ["d"] || s < Di.d && ["dd", s] || l <= 1 && ["M"] || l < Di.M && ["MM", l] || r <= 1 && ["y"] || ["yy", r];
  2423.                         return r[2] = t, r[3] = 0 < +e, r[4] = n,
  2424.                             function(e, t, n, r, i) {
  2425.                                 return i.relativeTime(t || 1, !!n, e, r)
  2426.                             }.apply(null, r)
  2427.                     }(this, !e, t);
  2428.                 if (e) n = t.pastFuture(+this, n);
  2429.                 return t.postformat(n)
  2430.             }
  2431.             var Ii = Math.abs;
  2432.  
  2433.             function Fi() {
  2434.                 var e = Ii(this._milliseconds) / 1e3;
  2435.                 var t = Ii(this._days);
  2436.                 var n = Ii(this._months);
  2437.                 var r, i, a;
  2438.                 r = b(e / 60);
  2439.                 i = b(r / 60);
  2440.                 e %= 60;
  2441.                 r %= 60;
  2442.                 a = b(n / 12);
  2443.                 n %= 12;
  2444.                 var o = a;
  2445.                 var s = n;
  2446.                 var l = t;
  2447.                 var c = i;
  2448.                 var u = r;
  2449.                 var d = e;
  2450.                 var p = this.asSeconds();
  2451.                 if (!p) {
  2452.                     return "P0D"
  2453.                 }
  2454.                 return (p < 0 ? "-" : "") + "P" + (o ? o + "Y" : "") + (s ? s + "M" : "") + (l ? l + "D" : "") + (c || u || d ? "T" : "") + (c ? c + "H" : "") + (u ? u + "M" : "") + (d ? d + "S" : "")
  2455.             }
  2456.             var Bi = Rt.prototype,
  2457.                 Gi;
  2458.             return Bi.abs = function() {
  2459.                     var e = this._data;
  2460.                     return this._milliseconds = ei(this._milliseconds), this._days = ei(this._days), this._months = ei(this._months), e.milliseconds = ei(e.milliseconds), e.seconds = ei(e.seconds), e.minutes = ei(e.minutes), e.hours = ei(e.hours), e.months = ei(e.months), e.years = ei(e.years), this
  2461.                 }, Bi.add = function(e, t) {
  2462.                     return ni(this, e, t, 1)
  2463.                 }, Bi.subtract = function(e, t) {
  2464.                     return ni(this, e, t, -1)
  2465.                 }, Bi.as = function(e) {
  2466.                     var t, n, r = this._milliseconds; {
  2467.                         if ("month" === (e = k(e)) || "year" === e) return n = this._months + si(t = this._days + r / 864e5), "month" === e ? n : n / 12;
  2468.                         switch (t = this._days + Math.round(li(this._months)), e) {
  2469.                             case "week":
  2470.                                 return t / 7 + r / 6048e5;
  2471.                             case "day":
  2472.                                 return t + r / 864e5;
  2473.                             case "hour":
  2474.                                 return 24 * t + r / 36e5;
  2475.                             case "minute":
  2476.                                 return 1440 * t + r / 6e4;
  2477.                             case "second":
  2478.                                 return 86400 * t + r / 1e3;
  2479.                             case "millisecond":
  2480.                                 return Math.floor(864e5 * t) + r;
  2481.                             default:
  2482.                                 throw Error("Unknown unit " + e)
  2483.                         }
  2484.                     }
  2485.                 }, Bi.asMilliseconds = pi, Bi.asSeconds = mi, Bi.asMinutes = fi, Bi.asHours = hi, Bi.asDays = gi, Bi.asWeeks = _i, Bi.asMonths = yi, Bi.asYears = bi, Bi.valueOf = function() {
  2486.                     return this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * v(this._months / 12)
  2487.                 }, Bi._bubble = function() {
  2488.                     var e = this._milliseconds,
  2489.                         t = this._days,
  2490.                         n = this._months,
  2491.                         r = this._data;
  2492.                     0 <= e && 0 <= t && 0 <= n || e <= 0 && t <= 0 && n <= 0 || (e += 864e5 * ai(li(n) + t), n = t = 0);
  2493.                     return r.milliseconds = e % 1e3, e = b(e / 1e3), r.seconds = e % 60, e = b(e / 60), r.minutes = e % 60, e = b(e / 60), r.hours = e % 24, t += b(e / 24), e = b(si(t)), n += e, t -= ai(li(e)), e = b(n / 12), n %= 12, r.days = t, r.months = n, r.years = e, this
  2494.                 }, Bi.get = function(e) {
  2495.                     return this[(e = k(e)) + "s"]()
  2496.                 }, Bi.milliseconds = xi, Bi.seconds = Ei, Bi.minutes = wi, Bi.hours = Ci, Bi.days = Ti, Bi.weeks = function() {
  2497.                     return b(this.days() / 7)
  2498.                 }, Bi.months = Oi, Bi.years = Mi, Bi.humanize = function(e) {
  2499.                     var t = this.localeData(),
  2500.                         n = function(e, t, n) {
  2501.                             var r = en(e).abs(),
  2502.                                 i = Ni(r.as("s")),
  2503.                                 a = Ni(r.as("m")),
  2504.                                 o = Ni(r.as("h")),
  2505.                                 s = Ni(r.as("d")),
  2506.                                 l = Ni(r.as("M")),
  2507.                                 r = Ni(r.as("y")),
  2508.                                 r = (i < Di.s ? ["s", i] : a <= 1 && ["m"]) || a < Di.m && ["mm", a] || o <= 1 && ["h"] || o < Di.h && ["hh", o] || s <= 1 && ["d"] || s < Di.d && ["dd", s] || l <= 1 && ["M"] || l < Di.M && ["MM", l] || r <= 1 && ["y"] || ["yy", r];
  2509.                             return r[2] = t, r[3] = 0 < +e, r[4] = n,
  2510.                                 function(e, t, n, r, i) {
  2511.                                     return i.relativeTime(t || 1, !!n, e, r)
  2512.                                 }.apply(null, r)
  2513.                         }(this, !e, t);
  2514.                     e && (n = t.pastFuture(+this, n));
  2515.                     return t.postformat(n)
  2516.                 }, Bi.toISOString = Fi, Bi.toString = Fi, Bi.toJSON = Fi, Bi.locale = Tn, Bi.localeData = Mn, Bi.toIsoString = $e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", Fi), Bi.lang = On, q("X", 0, 0, "unix"), q("x", 0, 0, "valueOf"), fe("x", le), fe("X", /[+-]?\d+(\.\d{1,3})?/), be("X", function(e, t, n) {
  2517.                     n._d = new Date(1e3 * parseFloat(e, 10))
  2518.                 }), be("x", function(e, t, n) {
  2519.                     n._d = new Date(v(e))
  2520.                 }), c.version = "2.11.2",
  2521.                 function(e) {
  2522.                     t = e
  2523.                 }(Ot), c.fn = Ar, c.min = function() {
  2524.                     return Nt("isBefore", [].slice.call(arguments, 0))
  2525.                 }, c.max = function() {
  2526.                     return Nt("isAfter", [].slice.call(arguments, 0))
  2527.                 }, c.now = function() {
  2528.                     return Date.now ? Date.now() : +new Date
  2529.                 }, c.utc = l, c.unix = function(e) {
  2530.                     return Ot(1e3 * e)
  2531.                 }, c.months = function(e, t) {
  2532.                     return $r(e, t, "months", 12, "month")
  2533.                 }, c.isDate = a, c.locale = M, c.invalid = p, c.duration = en, c.isMoment = y, c.weekdays = function(e, t) {
  2534.                     return $r(e, t, "weekdays", 7, "day")
  2535.                 }, c.parseZone = function() {
  2536.                     return Ot.apply(null, arguments).parseZone()
  2537.                 }, c.localeData = N, c.isDuration = Lt, c.monthsShort = function(e, t) {
  2538.                     return $r(e, t, "monthsShort", 12, "month")
  2539.                 }, c.weekdaysMin = function(e, t) {
  2540.                     return $r(e, t, "weekdaysMin", 7, "day")
  2541.                 }, c.defineLocale = A, c.weekdaysShort = function(e, t) {
  2542.                     return $r(e, t, "weekdaysShort", 7, "day")
  2543.                 }, c.normalizeUnits = k, c.relativeTimeThreshold = function(e, t) {
  2544.                     return void 0 !== Di[e] ? void 0 !== t ? (Di[e] = t, !0) : Di[e] : 0
  2545.                 }, c.prototype = Ar, c
  2546.         }()
  2547.     }, function(e, t, n) {
  2548.         "use strict";
  2549.         t.__esModule = !0, t.createMemoryHistory = t.hashHistory = t.browserHistory = t.applyRouterMiddleware = t.formatPattern = t.useRouterHistory = t.match = t.routerShape = t.locationShape = t.RouterContext = t.createRoutes = t.Route = t.Redirect = t.IndexRoute = t.IndexRedirect = t.withRouter = t.IndexLink = t.Link = t.Router = void 0;
  2550.         var r = n(48);
  2551.         Object.defineProperty(t, "createRoutes", {
  2552.             enumerable: !0,
  2553.             get: function() {
  2554.                 return r.createRoutes
  2555.             }
  2556.         });
  2557.         var i = n(67);
  2558.         Object.defineProperty(t, "locationShape", {
  2559.             enumerable: !0,
  2560.             get: function() {
  2561.                 return i.locationShape
  2562.             }
  2563.         }), Object.defineProperty(t, "routerShape", {
  2564.             enumerable: !0,
  2565.             get: function() {
  2566.                 return i.routerShape
  2567.             }
  2568.         });
  2569.         var a = n(57);
  2570.         Object.defineProperty(t, "formatPattern", {
  2571.             enumerable: !0,
  2572.             get: function() {
  2573.                 return a.formatPattern
  2574.             }
  2575.         });
  2576.         var o = v(n(472)),
  2577.             s = v(n(153)),
  2578.             l = v(n(464)),
  2579.             c = v(n(463)),
  2580.             u = v(n(462)),
  2581.             d = v(n(461)),
  2582.             p = v(n(152)),
  2583.             m = v(n(460)),
  2584.             f = v(n(100)),
  2585.             h = v(n(459)),
  2586.             g = v(n(148)),
  2587.             _ = v(n(455)),
  2588.             y = v(n(454)),
  2589.             b = v(n(451)),
  2590.             n = v(n(151));
  2591.  
  2592.         function v(e) {
  2593.             return e && e.__esModule ? e : {
  2594.                 default: e
  2595.             }
  2596.         }
  2597.         t.Router = o.default, t.Link = s.default, t.IndexLink = l.default, t.withRouter = c.default, t.IndexRedirect = u.default, t.IndexRoute = d.default, t.Redirect = p.default, t.Route = m.default, t.RouterContext = f.default, t.match = h.default, t.useRouterHistory = g.default, t.applyRouterMiddleware = _.default, t.browserHistory = y.default, t.hashHistory = b.default, t.createMemoryHistory = n.default
  2598.     }, , , , function(e, t, n) {
  2599.         "use strict";
  2600.         Object.defineProperty(t, "__esModule", {
  2601.             value: !0
  2602.         });
  2603.         var r, i = n(506),
  2604.             n = (r = i) && r.__esModule ? r : {
  2605.                 default: r
  2606.             };
  2607.         t.default = n.default, e.exports = t.default
  2608.     }, , , function(e, t, n) {
  2609.         "use strict";
  2610.         e.exports = function(e, t, n, r, i, a, o, s) {
  2611.             var l, c, u;
  2612.             if (!e) throw void 0 === t ? u = Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.") : (l = [n, r, i, a, o, s], c = 0, (u = Error(t.replace(/%s/g, function() {
  2613.                 return l[c++]
  2614.             }))).name = "Invariant Violation"), u.framesToPop = 1, u
  2615.         }
  2616.     }, , function(e, t, n) {
  2617.         "use strict";
  2618.         e.exports = function() {}
  2619.     }, function(e, t, n) {
  2620.         e.exports = n(474)()
  2621.     }, , function(e, t, n) {
  2622.         "use strict";
  2623.         var r = n(26),
  2624.             i = n(471);
  2625.         if (void 0 === r) throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");
  2626.         n = (new r.Component).updater;
  2627.         e.exports = i(r.Component, r.isValidElement, n)
  2628.     }, function(e, t, n) {
  2629.         "use strict";
  2630.         e.exports = function() {}
  2631.     }, , function(e, t, n) {
  2632.         "use strict";
  2633.         t.__esModule = !0, t.createPath = t.parsePath = t.getQueryStringValueFromPath = t.stripQueryStringValueFromPath = t.addQueryStringValueToPath = void 0;
  2634.         var r, i = n(45);
  2635.         r = i;
  2636.         t.addQueryStringValueToPath = function(e, t, n) {
  2637.             var r = a(e),
  2638.                 i = r.search,
  2639.                 e = r.hash;
  2640.             return o({
  2641.                 pathname: r.pathname,
  2642.                 search: i + (~i.indexOf("?") ? "&" : "?") + t + "=" + n,
  2643.                 hash: e
  2644.             })
  2645.         }, t.stripQueryStringValueFromPath = function(e, t) {
  2646.             var n = a(e),
  2647.                 e = n.hash;
  2648.             return o({
  2649.                 pathname: n.pathname,
  2650.                 search: n.search.replace(RegExp("([?&])" + t + "=[a-zA-Z0-9]+(&?)"), function(e, t, n) {
  2651.                     return "?" === t ? t : n
  2652.                 }),
  2653.                 hash: e
  2654.             })
  2655.         }, t.getQueryStringValueFromPath = function(e, t) {
  2656.             t = a(e).search.match(RegExp("[?&]" + t + "=([a-zA-Z0-9]+)"));
  2657.             return t && t[1]
  2658.         };
  2659.         var a = t.parsePath = function(e) {
  2660.                 var t = null == (r = (n = e).match(/^(https?:)?\/\/[^\/]*/)) ? n : n.substring(r[0].length),
  2661.                     e = "",
  2662.                     n = "",
  2663.                     r = t.indexOf("#"); - 1 != r && (n = t.substring(r), t = t.substring(0, r));
  2664.                 r = t.indexOf("?");
  2665.                 return -1 != r && (e = t.substring(r), t = t.substring(0, r)), "" === t && (t = "/"), {
  2666.                     pathname: t,
  2667.                     search: e,
  2668.                     hash: n
  2669.                 }
  2670.             },
  2671.             o = t.createPath = function(e) {
  2672.                 if (null == e || "string" == typeof e) return e;
  2673.                 var t = e.search,
  2674.                     n = e.hash,
  2675.                     e = (e.basename || "") + e.pathname;
  2676.                 return t && "?" !== t && (e += t), n && (e += n), e
  2677.             }
  2678.     }, function(e, t, n) {
  2679.         "use strict";
  2680.         t.__esModule = !0;
  2681.         var r = Object.assign || function(e) {
  2682.             for (var t = 1; t < arguments.length; t++) {
  2683.                 var n, r = arguments[t];
  2684.                 for (n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n])
  2685.             }
  2686.             return e
  2687.         };
  2688.         t.isReactChildren = l, t.createRouteFromReactElement = c, t.createRoutesFromReactChildren = u, t.createRoutes = function(e) {
  2689.             l(e) ? e = u(e) : e && !Array.isArray(e) && (e = [e]);
  2690.             return e
  2691.         };
  2692.         var i, a = n(26),
  2693.             o = (i = a) && i.__esModule ? i : {
  2694.                 default: i
  2695.             };
  2696.  
  2697.         function s(e) {
  2698.             return null == e || o.default.isValidElement(e)
  2699.         }
  2700.  
  2701.         function l(e) {
  2702.             return s(e) || Array.isArray(e) && e.every(s)
  2703.         }
  2704.  
  2705.         function c(e) {
  2706.             var t = r({}, e.type.defaultProps, e.props);
  2707.             return t.children && ((e = u(t.children, t)).length && (t.childRoutes = e), delete t.children), t
  2708.         }
  2709.  
  2710.         function u(e, n) {
  2711.             var r = [];
  2712.             return o.default.Children.forEach(e, function(e) {
  2713.                 var t;
  2714.                 o.default.isValidElement(e) && (e.type.createRouteFromReactElement ? (t = e.type.createRouteFromReactElement(e, n)) && r.push(t) : r.push(c(e)))
  2715.             }), r
  2716.         }
  2717.     }, function(e, t, n) {
  2718.         "use strict";
  2719.         (function e() {
  2720.             if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) try {
  2721.                 __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)
  2722.             } catch (e) {
  2723.                 console.error(e)
  2724.             }
  2725.         })(), e.exports = n(509)
  2726.     }, , , function(e, t, n) {
  2727.         "use strict";
  2728.         t.__esModule = !0, t.extractPath = a, t.parsePath = function(e) {
  2729.             var t = a(e),
  2730.                 n = "",
  2731.                 r = "";
  2732.             e = t.indexOf("#"); - 1 != e && (r = t.substring(e), t = t.substring(0, e));
  2733.             e = t.indexOf("?"); - 1 != e && (n = t.substring(e), t = t.substring(0, e));
  2734.             "" === t && (t = "/");
  2735.             return {
  2736.                 pathname: t,
  2737.                 search: n,
  2738.                 hash: r
  2739.             }
  2740.         };
  2741.         var r, i = n(41);
  2742.         r = i;
  2743.  
  2744.         function a(e) {
  2745.             var t = e.match(/^https?:\/\/[^\/]*/);
  2746.             return null == t ? e : e.substring(t[0].length)
  2747.         }
  2748.     }, function(e, t, n) {
  2749.         "use strict";
  2750.         t.__esModule = !0;
  2751.         var r, i = n(41);
  2752.         r = i;
  2753.         t.default = function(e, t) {
  2754.             return function() {
  2755.                 return e.apply(this, arguments)
  2756.             }
  2757.         }, e.exports = t.default
  2758.     }, , function(e, t, n) {
  2759.         "use strict";
  2760.         t.__esModule = !0, t.locationsAreEqual = t.statesAreEqual = t.createLocation = t.createQuery = void 0;
  2761.         var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
  2762.                 return typeof e
  2763.             } : function(e) {
  2764.                 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
  2765.             },
  2766.             r = Object.assign || function(e) {
  2767.                 for (var t = 1; t < arguments.length; t++) {
  2768.                     var n, r = arguments[t];
  2769.                     for (n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n])
  2770.                 }
  2771.                 return e
  2772.             },
  2773.             a = l(n(39)),
  2774.             o = (l(n(45)), n(47)),
  2775.             s = n(76);
  2776.  
  2777.         function l(e) {
  2778.             return e && e.__esModule ? e : {
  2779.                 default: e
  2780.             }
  2781.         }
  2782.  
  2783.         function c(e) {
  2784.             return "[object Date]" === Object.prototype.toString.call(e)
  2785.         }
  2786.         t.createQuery = function(e) {
  2787.             return r(Object.create(null), e)
  2788.         }, t.createLocation = function(e, t, n) {
  2789.             e = 0 < arguments.length && void 0 !== e ? e : "/", t = 1 < arguments.length && void 0 !== t ? t : s.POP, n = 2 < arguments.length && void 0 !== n ? n : null, e = "string" == typeof e ? (0, o.parsePath)(e) : e;
  2790.             return {
  2791.                 pathname: e.pathname || "/",
  2792.                 search: e.search || "",
  2793.                 hash: e.hash || "",
  2794.                 state: e.state,
  2795.                 action: t,
  2796.                 key: n
  2797.             }
  2798.         };
  2799.         var u = t.statesAreEqual = function n(t, r) {
  2800.             if (t === r) return !0;
  2801.             var e = void 0 === t ? "undefined" : i(t);
  2802.             if (e !== (void 0 === r ? "undefined" : i(r))) return !1;
  2803.             if ("function" === e && (0, a.default)(!1), "object" !== e) return !1;
  2804.             if (c(t) && c(r) && (0, a.default)(!1), Array.isArray(t)) return Array.isArray(r) && t.length === r.length && t.every(function(e, t) {
  2805.                 return n(e, r[t])
  2806.             });
  2807.             e = Object.keys(t);
  2808.             return e.length === Object.keys(r).length && e.every(function(e) {
  2809.                 return n(t[e], r[e])
  2810.             })
  2811.         };
  2812.         t.locationsAreEqual = function(e, t) {
  2813.             return e.key === t.key && e.pathname === t.pathname && e.search === t.search && e.hash === t.hash && u(e.state, t.state)
  2814.         }
  2815.     }, function(e, t, n) {
  2816.         "use strict";
  2817.         t.__esModule = !0, t.default = function(e, t) {
  2818.             if (~t.indexOf("deprecated")) {
  2819.                 if (o[t]) return;
  2820.                 o[t] = !0
  2821.             }
  2822.             t = "[react-router] " + t;
  2823.             for (var n = arguments.length, r = Array(2 < n ? n - 2 : 0), i = 2; i < n; i++) r[i - 2] = arguments[i];
  2824.             a.default.apply(void 0, [e, t].concat(r))
  2825.         }, t._resetWarned = function() {
  2826.             o = {}
  2827.         };
  2828.         var r, i = n(45),
  2829.             a = (r = i) && r.__esModule ? r : {
  2830.                 default: r
  2831.             };
  2832.         var o = {}
  2833.     }, function(e, t, n) {
  2834.         "use strict";
  2835.         t.__esModule = !0, t.compilePattern = _, t.matchPattern = o, t.getParamNames = function(e) {
  2836.             return _(e).paramNames
  2837.         }, t.getParams = function(e, t) {
  2838.             t = o(e, t);
  2839.             if (!t) return null;
  2840.             var n = t.paramValues,
  2841.                 r = {};
  2842.             return t.paramNames.forEach(function(e, t) {
  2843.                 r[e] = n[t]
  2844.             }), r
  2845.         }, t.formatPattern = function(e, t) {
  2846.             t = t || {};
  2847.             for (var n = _(e).tokens, r = 0, i = "", a = 0, o = [], s = void 0, l = void 0, c = void 0, u = 0, d = n.length; u < d; ++u)
  2848.                 if ("*" === (s = n[u]) || "**" === s) null != (c = Array.isArray(t.splat) ? t.splat[a++] : t.splat) || 0 < r || (0, g.default)(!1), null != c && (i += encodeURI(c));
  2849.                 else if ("(" === s) o[r] = "", r += 1;
  2850.             else if (")" === s) {
  2851.                 var p = o.pop();
  2852.                 --r ? o[r - 1] += p : i += p
  2853.             } else if ("\\(" === s) i += "(";
  2854.             else if ("\\)" === s) i += ")";
  2855.             else if (":" == s[0])
  2856.                 if (l = s.substring(1), null != (c = t[l]) || 0 < r || (0, g.default)(!1), null == c) {
  2857.                     if (r) {
  2858.                         o[r - 1] = "";
  2859.                         for (var p = n.indexOf(s), m = n.slice(p, n.length), f = -1, h = 0; h < m.length; h++)
  2860.                             if (")" == m[h]) {
  2861.                                 f = h;
  2862.                                 break
  2863.                             }
  2864.                         0 < f || (0, g.default)(!1), u = p + f - 1
  2865.                     }
  2866.                 } else r ? o[r - 1] += encodeURIComponent(c) : i += encodeURIComponent(c);
  2867.             else r ? o[r - 1] += s : i += s;
  2868.             return r <= 0 || (0, g.default)(!1), i.replace(/\/+/g, "/")
  2869.         };
  2870.         var r, i = n(39),
  2871.             g = (r = i) && r.__esModule ? r : {
  2872.                 default: r
  2873.             };
  2874.  
  2875.         function s(e) {
  2876.             return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
  2877.         }
  2878.         var a = Object.create(null);
  2879.  
  2880.         function _(e) {
  2881.             return a[e] || (a[e] = function(e) {
  2882.                 for (var t, n = "", r = [], i = [], a = 0, o = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|\*\*|\*|\(|\)|\\\(|\\\)/g; t = o.exec(e);) t.index !== a && (i.push(e.slice(a, t.index)), n += s(e.slice(a, t.index))), t[1] ? (n += "([^/]+)", r.push(t[1])) : "**" === t[0] ? (n += "(.*)", r.push("splat")) : "*" === t[0] ? (n += "(.*?)", r.push("splat")) : "(" === t[0] ? n += "(?:" : ")" === t[0] ? n += ")?" : "\\(" === t[0] ? n += "\\(" : "\\)" === t[0] && (n += "\\)"), i.push(t[0]), a = o.lastIndex;
  2883.                 return a !== e.length && (i.push(e.slice(a, e.length)), n += s(e.slice(a, e.length))), {
  2884.                     pattern: e,
  2885.                     regexpSource: n,
  2886.                     paramNames: r,
  2887.                     tokens: i
  2888.                 }
  2889.             }(e)), a[e]
  2890.         }
  2891.  
  2892.         function o(e, t) {
  2893.             "/" != e[0] && (e = "/" + e);
  2894.             var n = _(e),
  2895.                 r = n.regexpSource,
  2896.                 i = n.paramNames,
  2897.                 n = n.tokens;
  2898.             "/" != e[0 | e.length - 1] && (r += "/?"), "*" === n[n.length - 1] && (r += "$");
  2899.             n = t.match(RegExp("^" + r, "i"));
  2900.             if (null == n) return null;
  2901.             r = n[0], t = t.substr(r.length);
  2902.             if (t) {
  2903.                 if ("/" != r[0 | r.length - 1]) return null;
  2904.                 t = "/" + t
  2905.             }
  2906.             return {
  2907.                 remainingPathname: t,
  2908.                 paramNames: i,
  2909.                 paramValues: n.slice(1).map(function(e) {
  2910.                     return e && decodeURIComponent(e)
  2911.                 })
  2912.             }
  2913.         }
  2914.     }, function(e, t, n) {
  2915.         "use strict";
  2916.         t.__esModule = !0;
  2917.         t.PUSH = "PUSH";
  2918.         var r = "REPLACE";
  2919.         t.REPLACE = r;
  2920.         t.POP = "POP", t.default = {
  2921.             PUSH: "PUSH",
  2922.             REPLACE: r,
  2923.             POP: "POP"
  2924.         }
  2925.     }, function(e, t, n) {
  2926.         e.exports = n(398)()
  2927.     }, function(E, w, C) {
  2928.         var T;
  2929.         ! function(a) {
  2930.             "use strict";
  2931.             var r, s, e, t, n, i = {
  2932.                 version: "0.4.11"
  2933.             };
  2934.  
  2935.             function o(e) {
  2936.                 this.owner = e
  2937.             }
  2938.  
  2939.             function l(e) {
  2940.                 var t = this.internal = new c(this);
  2941.                 t.loadConfig(e), t.beforeInit(e), t.init(), t.afterInit(e),
  2942.                     function t(n, r, i) {
  2943.                         Object.keys(n).forEach(function(e) {
  2944.                             r[e] = n[e].bind(i), 0 < Object.keys(n[e]).length && t(n[e], r[e], i)
  2945.                         })
  2946.                     }(r, this, this)
  2947.             }
  2948.  
  2949.             function c(e) {
  2950.                 var t = this;
  2951.                 t.d3 = a.d3 || C(86), t.api = e, t.config = t.getDefaultConfig(), t.data = {}, t.cache = {}, t.axes = {}
  2952.             }
  2953.  
  2954.             function u(e) {
  2955.                 o.call(this, e)
  2956.             }
  2957.             i.generate = function(e) {
  2958.                 return new l(e)
  2959.             }, i.chart = {
  2960.                 fn: l.prototype,
  2961.                 internal: {
  2962.                     fn: c.prototype,
  2963.                     axis: {
  2964.                         fn: u.prototype
  2965.                     }
  2966.                 }
  2967.             }, r = i.chart.fn, (s = i.chart.internal.fn).beforeInit = function() {}, s.afterInit = function() {}, s.init = function() {
  2968.                 var e = this,
  2969.                     t = e.config;
  2970.                 if (e.initParams(), t.data_url) e.convertUrlToData(t.data_url, t.data_mimeType, t.data_headers, t.data_keys, e.initWithData);
  2971.                 else if (t.data_json) e.initWithData(e.convertJsonToData(t.data_json, t.data_keys));
  2972.                 else if (t.data_rows) e.initWithData(e.convertRowsToData(t.data_rows));
  2973.                 else {
  2974.                     if (!t.data_columns) throw Error("url or json or rows or columns is required.");
  2975.                     e.initWithData(e.convertColumnsToData(t.data_columns))
  2976.                 }
  2977.             }, s.initParams = function() {
  2978.                 var e = this,
  2979.                     t = e.d3,
  2980.                     n = e.config;
  2981.                 e.clipId = "c3-" + +new Date + "-clip", e.clipIdForXAxis = e.clipId + "-xaxis", e.clipIdForYAxis = e.clipId + "-yaxis", e.clipIdForGrid = e.clipId + "-grid", e.clipIdForSubchart = e.clipId + "-subchart", e.clipPath = e.getClipPath(e.clipId), e.clipPathForXAxis = e.getClipPath(e.clipIdForXAxis), e.clipPathForYAxis = e.getClipPath(e.clipIdForYAxis), e.clipPathForGrid = e.getClipPath(e.clipIdForGrid), e.clipPathForSubchart = e.getClipPath(e.clipIdForSubchart), e.dragStart = null, e.dragging = !1, e.flowing = !1, e.cancelClick = !1, e.mouseover = !1, e.transiting = !1, e.color = e.generateColor(), e.levelColor = e.generateLevelColor(), e.dataTimeFormat = n.data_xLocaltime ? t.time.format : t.time.format.utc, e.axisTimeFormat = n.axis_x_localtime ? t.time.format : t.time.format.utc, e.defaultAxisTimeFormat = e.axisTimeFormat.multi([
  2982.                     [".%L", function(e) {
  2983.                         return e.getMilliseconds()
  2984.                     }],
  2985.                     [":%S", function(e) {
  2986.                         return e.getSeconds()
  2987.                     }],
  2988.                     ["%I:%M", function(e) {
  2989.                         return e.getMinutes()
  2990.                     }],
  2991.                     ["%I %p", function(e) {
  2992.                         return e.getHours()
  2993.                     }],
  2994.                     ["%-m/%-d", function(e) {
  2995.                         return e.getDay() && 1 != e.getDate()
  2996.                     }],
  2997.                     ["%-m/%-d", function(e) {
  2998.                         return 1 != e.getDate()
  2999.                     }],
  3000.                     ["%-m/%-d", function(e) {
  3001.                         return e.getMonth()
  3002.                     }],
  3003.                     ["%Y/%-m/%-d", function() {
  3004.                         return !0
  3005.                     }]
  3006.                 ]), e.hiddenTargetIds = [], e.hiddenLegendIds = [], e.focusedTargetIds = [], e.defocusedTargetIds = [], e.xOrient = n.axis_rotated ? "left" : "bottom", e.yOrient = n.axis_rotated ? n.axis_y_inner ? "top" : "bottom" : n.axis_y_inner ? "right" : "left", e.y2Orient = n.axis_rotated ? n.axis_y2_inner ? "bottom" : "top" : n.axis_y2_inner ? "left" : "right", e.subXOrient = n.axis_rotated ? "left" : "bottom", e.isLegendRight = "right" === n.legend_position, e.isLegendInset = "inset" === n.legend_position, e.isLegendTop = "top-left" === n.legend_inset_anchor || "top-right" === n.legend_inset_anchor, e.isLegendLeft = "top-left" === n.legend_inset_anchor || "bottom-left" === n.legend_inset_anchor, e.legendStep = 0, e.legendItemWidth = 0, e.legendItemHeight = 0, e.currentMaxTickWidths = {
  3007.                     x: 0,
  3008.                     y: 0,
  3009.                     y2: 0
  3010.                 }, e.rotated_padding_left = 30, e.rotated_padding_right = n.axis_rotated && !n.axis_x_show ? 0 : 30, e.rotated_padding_top = 5, e.withoutFadeIn = {}, e.intervalForObserveInserted = void 0, e.axes.subx = t.selectAll([])
  3011.             }, s.initChartElements = function() {
  3012.                 this.initBar && this.initBar(), this.initLine && this.initLine(), this.initArc && this.initArc(), this.initGauge && this.initGauge(), this.initText && this.initText()
  3013.             }, s.initWithData = function(e) {
  3014.                 var t = this,
  3015.                     n = t.d3,
  3016.                     r = t.config,
  3017.                     i = !0;
  3018.                 t.axis = new u(t), t.initPie && t.initPie(), t.initBrush && t.initBrush(), t.initZoom && t.initZoom(), t.selectChart = r.bindto ? "function" == typeof r.bindto.node ? r.bindto : n.select(r.bindto) : n.selectAll([]), t.selectChart.empty() && (t.selectChart = n.select(document.createElement("div")).style("opacity", 0), t.observeInserted(t.selectChart), i = !1), t.selectChart.html("").classed("c3", !0), t.data.xs = {}, t.data.targets = t.convertDataToTargets(e), r.data_filter && (t.data.targets = t.data.targets.filter(r.data_filter)), r.data_hide && t.addHiddenTargetIds(!0 === r.data_hide ? t.mapToIds(t.data.targets) : r.data_hide), r.legend_hide && t.addHiddenLegendIds(!0 === r.legend_hide ? t.mapToIds(t.data.targets) : r.legend_hide), t.hasType("gauge") && (r.legend_show = !1), t.updateSizes(), t.updateScales(), t.x.domain(n.extent(t.getXDomain(t.data.targets))), t.y.domain(t.getYDomain(t.data.targets, "y")), t.y2.domain(t.getYDomain(t.data.targets, "y2")), t.subX.domain(t.x.domain()), t.subY.domain(t.y.domain()), t.subY2.domain(t.y2.domain()), t.orgXDomain = t.x.domain(), t.brush && t.brush.scale(t.subX), r.zoom_enabled && t.zoom.scale(t.x), t.svg = t.selectChart.append("svg").style("overflow", "hidden").on("mouseenter", function() {
  3019.                     return r.onmouseover.call(t)
  3020.                 }).on("mouseleave", function() {
  3021.                     return r.onmouseout.call(t)
  3022.                 }), t.config.svg_classname && t.svg.attr("class", t.config.svg_classname), n = t.svg.append("defs"), t.clipChart = t.appendClip(n, t.clipId), t.clipXAxis = t.appendClip(n, t.clipIdForXAxis), t.clipYAxis = t.appendClip(n, t.clipIdForYAxis), t.clipGrid = t.appendClip(n, t.clipIdForGrid), t.clipSubchart = t.appendClip(n, t.clipIdForSubchart), t.updateSvgSize(), n = t.main = t.svg.append("g").attr("transform", t.getTranslate("main")), t.initSubchart && t.initSubchart(), t.initTooltip && t.initTooltip(), t.initLegend && t.initLegend(), t.initTitle && t.initTitle(), n.append("text").attr("class", G.text + " " + G.empty).attr("text-anchor", "middle").attr("dominant-baseline", "middle"), t.initRegion(), t.initGrid(), n.append("g").attr("clip-path", t.clipPath).attr("class", G.chart), r.grid_lines_front && t.initGridLines(), t.initEventRect(), t.initChartElements(), n.insert("rect", r.zoom_privileged ? null : "g." + G.regions).attr("class", G.zoomRect).attr("width", t.width).attr("height", t.height).style("opacity", 0).on("dblclick.zoom", null), r.axis_x_extent && t.brush.extent(t.getDefaultExtent()), t.axis.init(), t.updateTargets(t.data.targets), i && (t.updateDimension(), t.config.oninit.call(t), t.redraw({
  3023.                     withTransition: !1,
  3024.                     withTransform: !0,
  3025.                     withUpdateXDomain: !0,
  3026.                     withUpdateOrgXDomain: !0,
  3027.                     withTransitionForAxis: !1
  3028.                 })), t.bindResize(), t.api.element = t.selectChart.node()
  3029.             }, s.smoothLines = function(e, t) {
  3030.                 var a = this;
  3031.                 "grid" === t && e.each(function() {
  3032.                     var e = a.d3.select(this),
  3033.                         t = e.attr("x1"),
  3034.                         n = e.attr("x2"),
  3035.                         r = e.attr("y1"),
  3036.                         i = e.attr("y2");
  3037.                     e.attr({
  3038.                         x1: Math.ceil(t),
  3039.                         x2: Math.ceil(n),
  3040.                         y1: Math.ceil(r),
  3041.                         y2: Math.ceil(i)
  3042.                     })
  3043.                 })
  3044.             }, s.updateSizes = function() {
  3045.                 var e = this,
  3046.                     t = e.config,
  3047.                     n = e.legend ? e.getLegendHeight() : 0,
  3048.                     r = e.legend ? e.getLegendWidth() : 0,
  3049.                     i = e.isLegendRight || e.isLegendInset ? 0 : n,
  3050.                     a = e.hasArcType(),
  3051.                     o = t.axis_rotated || a ? 0 : e.getHorizontalAxisHeight("x"),
  3052.                     s = t.subchart_show && !a ? t.subchart_size_height + o : 0;
  3053.                 e.currentWidth = e.getCurrentWidth(), e.currentHeight = e.getCurrentHeight(), e.margin = t.axis_rotated ? {
  3054.                     top: e.getHorizontalAxisHeight("y2") + e.getCurrentPaddingTop(),
  3055.                     right: a ? 0 : e.getCurrentPaddingRight(),
  3056.                     bottom: e.getHorizontalAxisHeight("y") + i + e.getCurrentPaddingBottom(),
  3057.                     left: s + (a ? 0 : e.getCurrentPaddingLeft())
  3058.                 } : {
  3059.                     top: 4 + e.getCurrentPaddingTop(),
  3060.                     right: a ? 0 : e.getCurrentPaddingRight(),
  3061.                     bottom: o + s + i + e.getCurrentPaddingBottom(),
  3062.                     left: a ? 0 : e.getCurrentPaddingLeft()
  3063.                 }, e.margin2 = t.axis_rotated ? {
  3064.                     top: e.margin.top,
  3065.                     right: NaN,
  3066.                     bottom: 20 + i,
  3067.                     left: e.rotated_padding_left
  3068.                 } : {
  3069.                     top: e.currentHeight - s - i,
  3070.                     right: NaN,
  3071.                     bottom: o + i,
  3072.                     left: e.margin.left
  3073.                 }, e.margin3 = {
  3074.                     top: 0,
  3075.                     right: NaN,
  3076.                     bottom: 0,
  3077.                     left: 0
  3078.                 }, e.updateSizeForLegend && e.updateSizeForLegend(n, r), e.width = e.currentWidth - e.margin.left - e.margin.right, e.height = e.currentHeight - e.margin.top - e.margin.bottom, e.width < 0 && (e.width = 0), e.height < 0 && (e.height = 0), e.width2 = t.axis_rotated ? e.margin.left - e.rotated_padding_left - e.rotated_padding_right : e.width, e.height2 = t.axis_rotated ? e.height : e.currentHeight - e.margin2.top - e.margin2.bottom, e.width2 < 0 && (e.width2 = 0), e.height2 < 0 && (e.height2 = 0), e.arcWidth = e.width - (e.isLegendRight ? r + 10 : 0), e.arcHeight = e.height - (e.isLegendRight ? 0 : 10), e.hasType("gauge") && !t.gauge_fullCircle && (e.arcHeight += e.height - e.getGaugeLabelHeight()), e.updateRadius && e.updateRadius(), e.isLegendRight && a && (e.margin3.left = e.arcWidth / 2 + 1.1 * e.radiusExpanded)
  3079.             }, s.updateTargets = function(e) {
  3080.                 var t = this;
  3081.                 t.updateTargetsForText(e), t.updateTargetsForBar(e), t.updateTargetsForLine(e), t.hasArcType() && t.updateTargetsForArc && t.updateTargetsForArc(e), t.updateTargetsForSubchart && t.updateTargetsForSubchart(e), t.showTargets()
  3082.             }, s.showTargets = function() {
  3083.                 var t = this;
  3084.                 t.svg.selectAll("." + G.target).filter(function(e) {
  3085.                     return t.isTargetToShow(e.id)
  3086.                 }).transition().duration(t.config.transition_duration).style("opacity", 1)
  3087.             }, s.redraw = function(e, t) {
  3088.                 var n, r, i, a, o, s, l, c, u, d, p, m, f, h = this,
  3089.                     g = h.main,
  3090.                     _ = h.d3,
  3091.                     y = h.config,
  3092.                     b = h.getShapeIndices(h.isAreaType),
  3093.                     v = h.getShapeIndices(h.isBarType),
  3094.                     S = h.getShapeIndices(h.isLineType),
  3095.                     x = h.hasArcType(),
  3096.                     E = h.filterTargetsToShow(h.data.targets),
  3097.                     w = h.xv.bind(h),
  3098.                     C = U(e = e || {}, "withY", !0),
  3099.                     T = U(e, "withSubchart", !0),
  3100.                     O = U(e, "withTransition", !0),
  3101.                     M = U(e, "withTransform", !1),
  3102.                     A = U(e, "withUpdateXDomain", !1),
  3103.                     N = U(e, "withUpdateOrgXDomain", !1),
  3104.                     D = U(e, "withTrimXDomain", !0),
  3105.                     P = U(e, "withUpdateXAxis", A),
  3106.                     k = U(e, "withLegend", !1),
  3107.                     R = U(e, "withEventRect", !0),
  3108.                     L = U(e, "withDimension", !0),
  3109.                     I = U(e, "withTransitionForExit", O),
  3110.                     F = U(e, "withTransitionForAxis", O),
  3111.                     B = O ? y.transition_duration : 0,
  3112.                     I = I ? B : 0;
  3113.                 if (t = t || h.axis.generateTransitions(F ? B : 0), k && y.legend_show ? h.updateLegend(h.mapToIds(h.data.targets), e, t) : L && h.updateDimension(!0), h.isCategorized() && 0 === E.length && h.x.domain([0, h.axes.x.selectAll(".tick").size()]), E.length ? (h.updateXDomain(E, A, N, D), y.axis_x_tick_values || (c = h.axis.updateXAxisTickValues(E))) : (h.xAxis.tickValues([]), h.subXAxis.tickValues([])), y.zoom_rescale && !e.flow && (p = h.x.orgDomain()), h.y.domain(h.getYDomain(E, "y", p)), h.y2.domain(h.getYDomain(E, "y2", p)), !y.axis_y_tick_values && y.axis_y_tick_count && h.yAxis.tickValues(h.axis.generateTickValues(h.y.domain(), y.axis_y_tick_count)), !y.axis_y2_tick_values && y.axis_y2_tick_count && h.y2Axis.tickValues(h.axis.generateTickValues(h.y2.domain(), y.axis_y2_tick_count)), h.axis.redraw(t, x), h.axis.updateLabels(O), (A || P) && E.length)
  3114.                     if (y.axis_x_tick_culling && c) {
  3115.                         for (u = 1; u < c.length; u++)
  3116.                             if (c.length / u < y.axis_x_tick_culling_max) {
  3117.                                 d = u;
  3118.                                 break
  3119.                             }
  3120.                         h.svg.selectAll("." + G.axisX + " .tick text").each(function(e) {
  3121.                             e = c.indexOf(e);
  3122.                             0 <= e && _.select(this).style("display", e % d ? "none" : "block")
  3123.                         })
  3124.                     } else h.svg.selectAll("." + G.axisX + " .tick text").style("display", "block");
  3125.                 n = h.generateDrawArea ? h.generateDrawArea(b, !1) : void 0, r = h.generateDrawBar ? h.generateDrawBar(v) : void 0, i = h.generateDrawLine ? h.generateDrawLine(S, !1) : void 0, a = h.generateXYForText(b, v, S, !0), o = h.generateXYForText(b, v, S, !1), C && (h.subY.domain(h.getYDomain(E, "y")), h.subY2.domain(h.getYDomain(E, "y2"))), h.updateXgridFocus(), g.select("text." + G.text + "." + G.empty).attr("x", h.width / 2).attr("y", h.height / 2).text(y.data_empty_label_text).transition().style("opacity", E.length ? 0 : 1), h.updateGrid(B), h.updateRegion(B), h.updateBar(I), h.updateLine(I), h.updateArea(I), h.updateCircle(), h.hasDataLabel() && h.updateText(I), h.redrawTitle && h.redrawTitle(), h.redrawArc && h.redrawArc(B, I, M), h.redrawSubchart && h.redrawSubchart(T, t, B, I, b, v, S), g.selectAll("." + G.selectedCircles).filter(h.isBarType.bind(h)).selectAll("circle").remove(), y.interaction_enabled && !e.flow && R && (h.redrawEventRect(), h.updateZoom && h.updateZoom()), h.updateCircleY(), m = (h.config.axis_rotated ? h.circleY : h.circleX).bind(h), f = (h.config.axis_rotated ? h.circleX : h.circleY).bind(h), e.flow && (l = h.generateFlow({
  3126.                     targets: E,
  3127.                     flow: e.flow,
  3128.                     duration: e.flow.duration,
  3129.                     drawBar: r,
  3130.                     drawLine: i,
  3131.                     drawArea: n,
  3132.                     cx: m,
  3133.                     cy: f,
  3134.                     xv: w,
  3135.                     xForText: a,
  3136.                     yForText: o
  3137.                 })), (B || l) && h.isTabVisible() ? _.transition().duration(B).each(function() {
  3138.                     var t = [];
  3139.                     [h.redrawBar(r, !0), h.redrawLine(i, !0), h.redrawArea(n, !0), h.redrawCircle(m, f, !0), h.redrawText(a, o, e.flow, !0), h.redrawRegion(!0), h.redrawGrid(!0)].forEach(function(e) {
  3140.                         e.forEach(function(e) {
  3141.                             t.push(e)
  3142.                         })
  3143.                     }), s = h.generateWait(), t.forEach(function(e) {
  3144.                         s.add(e)
  3145.                     })
  3146.                 }).call(s, function() {
  3147.                     l && l(), y.onrendered && y.onrendered.call(h)
  3148.                 }) : (h.redrawBar(r), h.redrawLine(i), h.redrawArea(n), h.redrawCircle(m, f), h.redrawText(a, o, e.flow), h.redrawRegion(), h.redrawGrid(), y.onrendered && y.onrendered.call(h)), h.mapToIds(h.data.targets).forEach(function(e) {
  3149.                     h.withoutFadeIn[e] = !0
  3150.                 })
  3151.             }, s.updateAndRedraw = function(e) {
  3152.                 var t, n = this,
  3153.                     r = n.config;
  3154.                 (e = e || {}).withTransition = U(e, "withTransition", !0), e.withTransform = U(e, "withTransform", !1), e.withLegend = U(e, "withLegend", !1), e.withUpdateXDomain = !0, e.withUpdateOrgXDomain = !0, e.withTransitionForExit = !1, e.withTransitionForTransform = U(e, "withTransitionForTransform", e.withTransition), n.updateSizes(), e.withLegend && r.legend_show || (t = n.axis.generateTransitions(e.withTransitionForAxis ? r.transition_duration : 0), n.updateScales(), n.updateSvgSize(), n.transformAll(e.withTransitionForTransform, t)), n.redraw(e, t)
  3155.             }, s.redrawWithoutRescale = function() {
  3156.                 this.redraw({
  3157.                     withY: !1,
  3158.                     withSubchart: !1,
  3159.                     withEventRect: !1,
  3160.                     withTransitionForAxis: !1
  3161.                 })
  3162.             }, s.isTimeSeries = function() {
  3163.                 return "timeseries" === this.config.axis_x_type
  3164.             }, s.isCategorized = function() {
  3165.                 return !!~this.config.axis_x_type.indexOf("categor")
  3166.             }, s.isCustomX = function() {
  3167.                 var e = this.config;
  3168.                 return !this.isTimeSeries() && (e.data_x || y(e.data_xs))
  3169.             }, s.isTimeSeriesY = function() {
  3170.                 return "timeseries" === this.config.axis_y_type
  3171.             }, s.getTranslate = function(e) {
  3172.                 var t, n, r = this,
  3173.                     i = r.config;
  3174.                 return "main" === e ? (t = f(r.margin.left), n = f(r.margin.top)) : "context" === e ? (t = f(r.margin2.left), n = f(r.margin2.top)) : "legend" === e ? (t = r.margin3.left, n = r.margin3.top) : "x" === e ? (t = 0, n = i.axis_rotated ? 0 : r.height) : "y" === e ? (t = 0, n = i.axis_rotated ? r.height : 0) : "y2" === e ? (t = i.axis_rotated ? 0 : r.width, n = i.axis_rotated ? 1 : 0) : "subx" === e ? (t = 0, n = i.axis_rotated ? 0 : r.height2) : "arc" === e && (t = r.arcWidth / 2, n = r.arcHeight / 2), "translate(" + t + "," + n + ")"
  3175.             }, s.initialOpacity = function(e) {
  3176.                 return null !== e.value && this.withoutFadeIn[e.id] ? 1 : 0
  3177.             }, s.initialOpacityForCircle = function(e) {
  3178.                 return null !== e.value && this.withoutFadeIn[e.id] ? this.opacityForCircle(e) : 0
  3179.             }, s.opacityForCircle = function(e) {
  3180.                 var t = this.config.point_show ? 1 : 0;
  3181.                 return _(e.value) ? this.isScatterType(e) ? .5 : t : 0
  3182.             }, s.opacityForText = function() {
  3183.                 return this.hasDataLabel() ? 1 : 0
  3184.             }, s.xx = function(e) {
  3185.                 return e ? this.x(e.x) : null
  3186.             }, s.xv = function(e) {
  3187.                 var t = this,
  3188.                     n = e.value;
  3189.                 return t.isTimeSeries() ? n = t.parseDate(e.value) : t.isCategorized() && "string" == typeof e.value && (n = t.config.axis_x_categories.indexOf(e.value)), Math.ceil(t.x(n))
  3190.             }, s.yv = function(e) {
  3191.                 return Math.ceil((e.axis && "y2" === e.axis ? this.y2 : this.y)(e.value))
  3192.             }, s.subxx = function(e) {
  3193.                 return e ? this.subX(e.x) : null
  3194.             }, s.transformMain = function(e, t) {
  3195.                 var n, r, i, a = this;
  3196.                 t && t.axisX ? n = t.axisX : (n = a.main.select("." + G.axisX), e && (n = n.transition())), t && t.axisY ? r = t.axisY : (r = a.main.select("." + G.axisY), e && (r = r.transition())), t && t.axisY2 ? i = t.axisY2 : (i = a.main.select("." + G.axisY2), e && (i = i.transition())), (e ? a.main.transition() : a.main).attr("transform", a.getTranslate("main")), n.attr("transform", a.getTranslate("x")), r.attr("transform", a.getTranslate("y")), i.attr("transform", a.getTranslate("y2")), a.main.select("." + G.chartArcs).attr("transform", a.getTranslate("arc"))
  3197.             }, s.transformAll = function(e, t) {
  3198.                 var n = this;
  3199.                 n.transformMain(e, t), n.config.subchart_show && n.transformContext(e, t), n.legend && n.transformLegend(e)
  3200.             }, s.updateSvgSize = function() {
  3201.                 var e = this,
  3202.                     t = e.svg.select(".c3-brush .background");
  3203.                 e.svg.attr("width", e.currentWidth).attr("height", e.currentHeight), e.svg.selectAll(["#" + e.clipId, "#" + e.clipIdForGrid]).select("rect").attr("width", e.width).attr("height", e.height), e.svg.select("#" + e.clipIdForXAxis).select("rect").attr("x", e.getXAxisClipX.bind(e)).attr("y", e.getXAxisClipY.bind(e)).attr("width", e.getXAxisClipWidth.bind(e)).attr("height", e.getXAxisClipHeight.bind(e)), e.svg.select("#" + e.clipIdForYAxis).select("rect").attr("x", e.getYAxisClipX.bind(e)).attr("y", e.getYAxisClipY.bind(e)).attr("width", e.getYAxisClipWidth.bind(e)).attr("height", e.getYAxisClipHeight.bind(e)), e.svg.select("#" + e.clipIdForSubchart).select("rect").attr("width", e.width).attr("height", t.size() ? t.attr("height") : 0), e.svg.select("." + G.zoomRect).attr("width", e.width).attr("height", e.height), e.selectChart.style("max-height", e.currentHeight + "px")
  3204.             }, s.updateDimension = function(e) {
  3205.                 var t = this;
  3206.                 e || (t.config.axis_rotated ? (t.axes.x.call(t.xAxis), t.axes.subx.call(t.subXAxis)) : (t.axes.y.call(t.yAxis), t.axes.y2.call(t.y2Axis))), t.updateSizes(), t.updateScales(), t.updateSvgSize(), t.transformAll(!1)
  3207.             }, s.observeInserted = function(t) {
  3208.                 var n, r = this;
  3209.                 "undefined" != typeof MutationObserver ? (n = new MutationObserver(function(e) {
  3210.                     e.forEach(function(e) {
  3211.                         "childList" === e.type && e.previousSibling && (n.disconnect(), r.intervalForObserveInserted = a.setInterval(function() {
  3212.                             t.node().parentNode && (a.clearInterval(r.intervalForObserveInserted), r.updateDimension(), r.brush && r.brush.update(), r.config.oninit.call(r), r.redraw({
  3213.                                 withTransform: !0,
  3214.                                 withUpdateXDomain: !0,
  3215.                                 withUpdateOrgXDomain: !0,
  3216.                                 withTransition: !1,
  3217.                                 withTransitionForTransform: !1,
  3218.                                 withLegend: !0
  3219.                             }), t.transition().style("opacity", 1))
  3220.                         }, 10))
  3221.                     })
  3222.                 })).observe(t.node(), {
  3223.                     attributes: !0,
  3224.                     childList: !0,
  3225.                     characterData: !0
  3226.                 }) : a.console.error("MutationObserver not defined.")
  3227.             }, s.bindResize = function() {
  3228.                 var e, t = this,
  3229.                     n = t.config;
  3230.                 t.resizeFunction = t.generateResize(), t.resizeFunction.add(function() {
  3231.                     n.onresize.call(t)
  3232.                 }), n.resize_auto && t.resizeFunction.add(function() {
  3233.                     void 0 !== t.resizeTimeout && a.clearTimeout(t.resizeTimeout), t.resizeTimeout = a.setTimeout(function() {
  3234.                         delete t.resizeTimeout, t.api.flush()
  3235.                     }, 100)
  3236.                 }), t.resizeFunction.add(function() {
  3237.                     n.onresized.call(t)
  3238.                 }), a.attachEvent ? a.attachEvent("onresize", t.resizeFunction) : a.addEventListener ? a.addEventListener("resize", t.resizeFunction, !1) : ((e = a.onresize) ? e.add && e.remove || (e = t.generateResize()).add(a.onresize) : e = t.generateResize(), e.add(t.resizeFunction), a.onresize = e)
  3239.             }, s.generateResize = function() {
  3240.                 var n = [];
  3241.  
  3242.                 function e() {
  3243.                     n.forEach(function(e) {
  3244.                         e()
  3245.                     })
  3246.                 }
  3247.                 return e.add = function(e) {
  3248.                     n.push(e)
  3249.                 }, e.remove = function(e) {
  3250.                     for (var t = 0; t < n.length; t++)
  3251.                         if (n[t] === e) {
  3252.                             n.splice(t, 1);
  3253.                             break
  3254.                         }
  3255.                 }, e
  3256.             }, s.endall = function(e, t) {
  3257.                 var n = 0;
  3258.                 e.each(function() {
  3259.                     ++n
  3260.                 }).each("end", function() {
  3261.                     --n || t.apply(this, arguments)
  3262.                 })
  3263.             }, s.generateWait = function() {
  3264.                 function e(e, n) {
  3265.                     var r = setInterval(function() {
  3266.                         var t = 0;
  3267.                         i.forEach(function(e) {
  3268.                             if (e.empty()) t += 1;
  3269.                             else try {
  3270.                                 e.transition()
  3271.                             } catch (e) {
  3272.                                 t += 1
  3273.                             }
  3274.                         }), t === i.length && (clearInterval(r), n && n())
  3275.                     }, 10)
  3276.                 }
  3277.                 var i = [];
  3278.                 return e.add = function(e) {
  3279.                     i.push(e)
  3280.                 }, e
  3281.             }, s.parseDate = function(e) {
  3282.                 var t;
  3283.                 return e instanceof Date ? t = e : "string" == typeof e ? t = this.dataTimeFormat(this.config.data_xFormat).parse(e) : "number" != typeof e || isNaN(e) || (t = new Date(+e)), t && !isNaN(+t) || a.console.error("Failed to parse x '" + e + "' to Date object"), t
  3284.             }, s.isTabVisible = function() {
  3285.                 var e;
  3286.                 return void 0 !== document.hidden ? e = "hidden" : void 0 !== document.mozHidden ? e = "mozHidden" : void 0 !== document.msHidden ? e = "msHidden" : void 0 !== document.webkitHidden && (e = "webkitHidden"), !document[e]
  3287.             }, s.getDefaultConfig = function() {
  3288.                 var t = {
  3289.                     bindto: "#chart",
  3290.                     svg_classname: void 0,
  3291.                     size_width: void 0,
  3292.                     size_height: void 0,
  3293.                     padding_left: void 0,
  3294.                     padding_right: void 0,
  3295.                     padding_top: void 0,
  3296.                     padding_bottom: void 0,
  3297.                     resize_auto: !0,
  3298.                     zoom_enabled: !1,
  3299.                     zoom_extent: void 0,
  3300.                     zoom_privileged: !1,
  3301.                     zoom_rescale: !1,
  3302.                     zoom_onzoom: function() {},
  3303.                     zoom_onzoomstart: function() {},
  3304.                     zoom_onzoomend: function() {},
  3305.                     zoom_x_min: void 0,
  3306.                     zoom_x_max: void 0,
  3307.                     interaction_brighten: !0,
  3308.                     interaction_enabled: !0,
  3309.                     onmouseover: function() {},
  3310.                     onmouseout: function() {},
  3311.                     onresize: function() {},
  3312.                     onresized: function() {},
  3313.                     oninit: function() {},
  3314.                     onrendered: function() {},
  3315.                     transition_duration: 350,
  3316.                     data_x: void 0,
  3317.                     data_xs: {},
  3318.                     data_xFormat: "%Y-%m-%d",
  3319.                     data_xLocaltime: !0,
  3320.                     data_xSort: !0,
  3321.                     data_idConverter: function(e) {
  3322.                         return e
  3323.                     },
  3324.                     data_names: {},
  3325.                     data_classes: {},
  3326.                     data_groups: [],
  3327.                     data_axes: {},
  3328.                     data_type: void 0,
  3329.                     data_types: {},
  3330.                     data_labels: {},
  3331.                     data_order: "desc",
  3332.                     data_regions: {},
  3333.                     data_color: void 0,
  3334.                     data_colors: {},
  3335.                     data_hide: !1,
  3336.                     data_filter: void 0,
  3337.                     data_selection_enabled: !1,
  3338.                     data_selection_grouped: !1,
  3339.                     data_selection_isselectable: function() {
  3340.                         return !0
  3341.                     },
  3342.                     data_selection_multiple: !0,
  3343.                     data_selection_draggable: !1,
  3344.                     data_onclick: function() {},
  3345.                     data_onmouseover: function() {},
  3346.                     data_onmouseout: function() {},
  3347.                     data_onselected: function() {},
  3348.                     data_onunselected: function() {},
  3349.                     data_url: void 0,
  3350.                     data_headers: void 0,
  3351.                     data_json: void 0,
  3352.                     data_rows: void 0,
  3353.                     data_columns: void 0,
  3354.                     data_mimeType: void 0,
  3355.                     data_keys: void 0,
  3356.                     data_empty_label_text: "",
  3357.                     subchart_show: !1,
  3358.                     subchart_size_height: 60,
  3359.                     subchart_axis_x_show: !0,
  3360.                     subchart_onbrush: function() {},
  3361.                     color_pattern: [],
  3362.                     color_threshold: {},
  3363.                     legend_show: !0,
  3364.                     legend_hide: !1,
  3365.                     legend_position: "bottom",
  3366.                     legend_inset_anchor: "top-left",
  3367.                     legend_inset_x: 10,
  3368.                     legend_inset_y: 0,
  3369.                     legend_inset_step: void 0,
  3370.                     legend_item_onclick: void 0,
  3371.                     legend_item_onmouseover: void 0,
  3372.                     legend_item_onmouseout: void 0,
  3373.                     legend_equally: !1,
  3374.                     legend_padding: 0,
  3375.                     legend_item_tile_width: 10,
  3376.                     legend_item_tile_height: 10,
  3377.                     axis_rotated: !1,
  3378.                     axis_x_show: !0,
  3379.                     axis_x_type: "indexed",
  3380.                     axis_x_localtime: !0,
  3381.                     axis_x_categories: [],
  3382.                     axis_x_tick_centered: !1,
  3383.                     axis_x_tick_format: void 0,
  3384.                     axis_x_tick_culling: {},
  3385.                     axis_x_tick_culling_max: 10,
  3386.                     axis_x_tick_count: void 0,
  3387.                     axis_x_tick_fit: !0,
  3388.                     axis_x_tick_values: null,
  3389.                     axis_x_tick_rotate: 0,
  3390.                     axis_x_tick_outer: !0,
  3391.                     axis_x_tick_multiline: !0,
  3392.                     axis_x_tick_width: null,
  3393.                     axis_x_max: void 0,
  3394.                     axis_x_min: void 0,
  3395.                     axis_x_padding: {},
  3396.                     axis_x_height: void 0,
  3397.                     axis_x_extent: void 0,
  3398.                     axis_x_label: {},
  3399.                     axis_y_show: !0,
  3400.                     axis_y_type: void 0,
  3401.                     axis_y_max: void 0,
  3402.                     axis_y_min: void 0,
  3403.                     axis_y_inverted: !1,
  3404.                     axis_y_center: void 0,
  3405.                     axis_y_inner: void 0,
  3406.                     axis_y_label: {},
  3407.                     axis_y_tick_format: void 0,
  3408.                     axis_y_tick_outer: !0,
  3409.                     axis_y_tick_values: null,
  3410.                     axis_y_tick_rotate: 0,
  3411.                     axis_y_tick_count: void 0,
  3412.                     axis_y_tick_time_value: void 0,
  3413.                     axis_y_tick_time_interval: void 0,
  3414.                     axis_y_padding: {},
  3415.                     axis_y_default: void 0,
  3416.                     axis_y2_show: !1,
  3417.                     axis_y2_max: void 0,
  3418.                     axis_y2_min: void 0,
  3419.                     axis_y2_inverted: !1,
  3420.                     axis_y2_center: void 0,
  3421.                     axis_y2_inner: void 0,
  3422.                     axis_y2_label: {},
  3423.                     axis_y2_tick_format: void 0,
  3424.                     axis_y2_tick_outer: !0,
  3425.                     axis_y2_tick_values: null,
  3426.                     axis_y2_tick_count: void 0,
  3427.                     axis_y2_padding: {},
  3428.                     axis_y2_default: void 0,
  3429.                     grid_x_show: !1,
  3430.                     grid_x_type: "tick",
  3431.                     grid_x_lines: [],
  3432.                     grid_y_show: !1,
  3433.                     grid_y_lines: [],
  3434.                     grid_y_ticks: 10,
  3435.                     grid_focus_show: !0,
  3436.                     grid_lines_front: !0,
  3437.                     point_show: !0,
  3438.                     point_r: 2.5,
  3439.                     point_sensitivity: 10,
  3440.                     point_focus_expand_enabled: !0,
  3441.                     point_focus_expand_r: void 0,
  3442.                     point_select_r: void 0,
  3443.                     line_connectNull: !1,
  3444.                     line_step_type: "step",
  3445.                     bar_width: void 0,
  3446.                     bar_width_ratio: .6,
  3447.                     bar_width_max: void 0,
  3448.                     bar_zerobased: !0,
  3449.                     area_zerobased: !0,
  3450.                     area_above: !1,
  3451.                     pie_label_show: !0,
  3452.                     pie_label_format: void 0,
  3453.                     pie_label_threshold: .05,
  3454.                     pie_label_ratio: void 0,
  3455.                     pie_expand: {},
  3456.                     pie_expand_duration: 50,
  3457.                     gauge_fullCircle: !1,
  3458.                     gauge_label_show: !0,
  3459.                     gauge_label_format: void 0,
  3460.                     gauge_min: 0,
  3461.                     gauge_max: 100,
  3462.                     gauge_startingAngle: -1 * Math.PI / 2,
  3463.                     gauge_units: void 0,
  3464.                     gauge_width: void 0,
  3465.                     gauge_expand: {},
  3466.                     gauge_expand_duration: 50,
  3467.                     donut_label_show: !0,
  3468.                     donut_label_format: void 0,
  3469.                     donut_label_threshold: .05,
  3470.                     donut_label_ratio: void 0,
  3471.                     donut_width: void 0,
  3472.                     donut_title: "",
  3473.                     donut_expand: {},
  3474.                     donut_expand_duration: 50,
  3475.                     spline_interpolation_type: "cardinal",
  3476.                     regions: [],
  3477.                     tooltip_show: !0,
  3478.                     tooltip_grouped: !0,
  3479.                     tooltip_format_title: void 0,
  3480.                     tooltip_format_name: void 0,
  3481.                     tooltip_format_value: void 0,
  3482.                     tooltip_position: void 0,
  3483.                     tooltip_contents: function(e, t, n, r) {
  3484.                         return this.getTooltipContent ? this.getTooltipContent(e, t, n, r) : ""
  3485.                     },
  3486.                     tooltip_init_show: !1,
  3487.                     tooltip_init_x: 0,
  3488.                     tooltip_init_position: {
  3489.                         top: "0px",
  3490.                         left: "50px"
  3491.                     },
  3492.                     tooltip_onshow: function() {},
  3493.                     tooltip_onhide: function() {},
  3494.                     title_text: void 0,
  3495.                     title_padding: {
  3496.                         top: 0,
  3497.                         right: 0,
  3498.                         bottom: 0,
  3499.                         left: 0
  3500.                     },
  3501.                     title_position: "top-center"
  3502.                 };
  3503.                 return Object.keys(this.additionalConfig).forEach(function(e) {
  3504.                     t[e] = this.additionalConfig[e]
  3505.                 }, this), t
  3506.             }, s.additionalConfig = {}, s.loadConfig = function(t) {
  3507.                 var n, r, i, a = this.config;
  3508.                 Object.keys(a).forEach(function(e) {
  3509.                     n = t, r = e.split("_"), i = function e() {
  3510.                         var t = r.shift();
  3511.                         return t && n && "object" == typeof n && t in n ? (n = n[t], e()) : t ? void 0 : n
  3512.                     }(), D(i) && (a[e] = i)
  3513.                 })
  3514.             }, s.getScale = function(e, t, n) {
  3515.                 return (n ? this.d3.time.scale() : this.d3.scale.linear()).range([e, t])
  3516.             }, s.getX = function(e, t, n, r) {
  3517.                 var i, a = this.getScale(e, t, this.isTimeSeries()),
  3518.                     o = n ? a.domain(n) : a,
  3519.                     a = this.isCategorized() ? (r = r || function() {
  3520.                         return 0
  3521.                     }, function(e, t) {
  3522.                         e = o(e) + r(e);
  3523.                         return t ? e : Math.ceil(e)
  3524.                     }) : function(e, t) {
  3525.                         e = o(e);
  3526.                         return t ? e : Math.ceil(e)
  3527.                     };
  3528.                 for (i in o) a[i] = o[i];
  3529.                 return a.orgDomain = function() {
  3530.                     return o.domain()
  3531.                 }, this.isCategorized() && (a.domain = function(e) {
  3532.                     return arguments.length ? (o.domain(e), a) : [(e = this.orgDomain())[0], e[1] + 1]
  3533.                 }), a
  3534.             }, s.getY = function(e, t, n) {
  3535.                 t = this.getScale(e, t, this.isTimeSeriesY());
  3536.                 return n && t.domain(n), t
  3537.             }, s.getYScale = function(e) {
  3538.                 return "y2" === this.axis.getId(e) ? this.y2 : this.y
  3539.             }, s.getSubYScale = function(e) {
  3540.                 return "y2" === this.axis.getId(e) ? this.subY2 : this.subY
  3541.             }, s.updateScales = function() {
  3542.                 var t = this,
  3543.                     e = t.config,
  3544.                     n = !t.x;
  3545.                 t.xMin = e.axis_rotated ? 1 : 0, t.xMax = e.axis_rotated ? t.height : t.width, t.yMin = e.axis_rotated ? 0 : t.height, t.yMax = e.axis_rotated ? t.width : 1, t.subXMin = t.xMin, t.subXMax = t.xMax, t.subYMin = e.axis_rotated ? 0 : t.height2, t.subYMax = e.axis_rotated ? t.width2 : 1, t.x = t.getX(t.xMin, t.xMax, n ? void 0 : t.x.orgDomain(), function() {
  3546.                     return t.xAxis.tickOffset()
  3547.                 }), t.y = t.getY(t.yMin, t.yMax, n ? e.axis_y_default : t.y.domain()), t.y2 = t.getY(t.yMin, t.yMax, n ? e.axis_y2_default : t.y2.domain()), t.subX = t.getX(t.xMin, t.xMax, t.orgXDomain, function(e) {
  3548.                     return e % 1 ? 0 : t.subXAxis.tickOffset()
  3549.                 }), t.subY = t.getY(t.subYMin, t.subYMax, n ? e.axis_y_default : t.subY.domain()), t.subY2 = t.getY(t.subYMin, t.subYMax, n ? e.axis_y2_default : t.subY2.domain()), t.xAxisTickFormat = t.axis.getXAxisTickFormat(), t.xAxisTickValues = t.axis.getXAxisTickValues(), t.yAxisTickValues = t.axis.getYAxisTickValues(), t.y2AxisTickValues = t.axis.getY2AxisTickValues(), t.xAxis = t.axis.getXAxis(t.x, t.xOrient, t.xAxisTickFormat, t.xAxisTickValues, e.axis_x_tick_outer), t.subXAxis = t.axis.getXAxis(t.subX, t.subXOrient, t.xAxisTickFormat, t.xAxisTickValues, e.axis_x_tick_outer), t.yAxis = t.axis.getYAxis(t.y, t.yOrient, e.axis_y_tick_format, t.yAxisTickValues, e.axis_y_tick_outer), t.y2Axis = t.axis.getYAxis(t.y2, t.y2Orient, e.axis_y2_tick_format, t.y2AxisTickValues, e.axis_y2_tick_outer), n || (t.brush && t.brush.scale(t.subX), e.zoom_enabled && t.zoom.scale(t.x)), t.updateArc && t.updateArc()
  3550.             }, s.getYDomainMin = function(e) {
  3551.                 var t, n, r, i, a, o, s = this,
  3552.                     l = s.config,
  3553.                     c = s.mapToIds(e),
  3554.                     u = s.getValuesAsIdKeyed(e);
  3555.                 if (0 < l.data_groups.length)
  3556.                     for (o = s.hasNegativeValueInTargets(e), t = 0; t < l.data_groups.length; t++)
  3557.                         if (0 !== (i = l.data_groups[t].filter(function(e) {
  3558.                                 return !!~c.indexOf(e)
  3559.                             })).length)
  3560.                             for (r = i[0], o && u[r] && u[r].forEach(function(e, t) {
  3561.                                     u[r][t] = e < 0 ? e : 0
  3562.                                 }), n = 1; n < i.length; n++) u[a = i[n]] && u[a].forEach(function(e, t) {
  3563.                                 s.axis.getId(a) !== s.axis.getId(r) || !u[r] || o && 0 < +e || (u[r][t] += +e)
  3564.                             });
  3565.                 return s.d3.min(Object.keys(u).map(function(e) {
  3566.                     return s.d3.min(u[e])
  3567.                 }))
  3568.             }, s.getYDomainMax = function(e) {
  3569.                 var t, n, r, i, a, o, s = this,
  3570.                     l = s.config,
  3571.                     c = s.mapToIds(e),
  3572.                     u = s.getValuesAsIdKeyed(e);
  3573.                 if (0 < l.data_groups.length)
  3574.                     for (o = s.hasPositiveValueInTargets(e), t = 0; t < l.data_groups.length; t++)
  3575.                         if (0 !== (i = l.data_groups[t].filter(function(e) {
  3576.                                 return !!~c.indexOf(e)
  3577.                             })).length)
  3578.                             for (r = i[0], o && u[r] && u[r].forEach(function(e, t) {
  3579.                                     u[r][t] = 0 < e ? e : 0
  3580.                                 }), n = 1; n < i.length; n++) u[a = i[n]] && u[a].forEach(function(e, t) {
  3581.                                 s.axis.getId(a) !== s.axis.getId(r) || !u[r] || o && +e < 0 || (u[r][t] += +e)
  3582.                             });
  3583.                 return s.d3.max(Object.keys(u).map(function(e) {
  3584.                     return s.d3.max(u[e])
  3585.                 }))
  3586.             }, s.getYDomain = function(e, t, n) {
  3587.                 var r, i = this,
  3588.                     a = i.config,
  3589.                     o = e.filter(function(e) {
  3590.                         return i.axis.getId(e.id) === t
  3591.                     }),
  3592.                     s = n ? i.filterByXDomain(o, n) : o,
  3593.                     l = "y2" === t ? a.axis_y2_min : a.axis_y_min,
  3594.                     c = "y2" === t ? a.axis_y2_max : a.axis_y_max,
  3595.                     u = i.getYDomainMin(s),
  3596.                     d = i.getYDomainMax(s),
  3597.                     p = "y2" === t ? a.axis_y2_center : a.axis_y_center,
  3598.                     m = i.hasType("bar", s) && a.bar_zerobased || i.hasType("area", s) && a.area_zerobased,
  3599.                     f = "y2" === t ? a.axis_y2_inverted : a.axis_y_inverted,
  3600.                     h = i.hasDataLabel() && a.axis_rotated,
  3601.                     g = i.hasDataLabel() && !a.axis_rotated,
  3602.                     u = _(l) ? l : !_(c) || u < c ? u : c - 10,
  3603.                     d = _(c) ? c : !_(l) || l < d ? d : l + 10;
  3604.                 return 0 === s.length ? ("y2" === t ? i.y2 : i.y).domain() : (isNaN(u) && (u = 0), isNaN(d) && (d = u), u === d && (u < 0 ? d = 0 : u = 0), e = 0 <= u && 0 <= d, n = u <= 0 && d <= 0, (_(l) && e || _(c) && n) && (m = !1), m && (e && (u = 0), n && (d = 0)), l = s = .1 * (o = Math.abs(d - u)), void 0 !== p && (d = p + (c = Math.max(Math.abs(u), Math.abs(d))), u = p - c), h ? (r = i.getDataLabelLength(u, d, "width"), h = P(i.y.range()), l += (h = [r[0] / h, r[1] / h])[1] / (1 - h[0] - h[1]) * o, s += h[0] / (1 - h[0] - h[1]) * o) : g && (r = i.getDataLabelLength(u, d, "height"), l += i.axis.convertPixelsToAxisPadding(r[1], o), s += i.axis.convertPixelsToAxisPadding(r[0], o)), "y" === t && y(a.axis_y_padding) && (l = i.axis.getPadding(a.axis_y_padding, "top", l, o), s = i.axis.getPadding(a.axis_y_padding, "bottom", s, o)), "y2" === t && y(a.axis_y2_padding) && (l = i.axis.getPadding(a.axis_y2_padding, "top", l, o), s = i.axis.getPadding(a.axis_y2_padding, "bottom", s, o)), m && (e && (s = u), n && (l = -d)), l = [u - s, d + l], f ? l.reverse() : l)
  3605.             }, s.getXDomainMin = function(e) {
  3606.                 var t = this,
  3607.                     n = t.config;
  3608.                 return D(n.axis_x_min) ? t.isTimeSeries() ? this.parseDate(n.axis_x_min) : n.axis_x_min : t.d3.min(e, function(e) {
  3609.                     return t.d3.min(e.values, function(e) {
  3610.                         return e.x
  3611.                     })
  3612.                 })
  3613.             }, s.getXDomainMax = function(e) {
  3614.                 var t = this,
  3615.                     n = t.config;
  3616.                 return D(n.axis_x_max) ? t.isTimeSeries() ? this.parseDate(n.axis_x_max) : n.axis_x_max : t.d3.max(e, function(e) {
  3617.                     return t.d3.max(e.values, function(e) {
  3618.                         return e.x
  3619.                     })
  3620.                 })
  3621.             }, s.getXDomainPadding = function(e) {
  3622.                 var t, n, r = this.config,
  3623.                     i = e[1] - e[0],
  3624.                     i = this.isCategorized() ? 0 : this.hasType("bar") ? 1 < (e = this.getMaxDataCount()) ? i / (e - 1) / 2 : .5 : .01 * i;
  3625.                 return "object" == typeof r.axis_x_padding && y(r.axis_x_padding) ? (t = _(r.axis_x_padding.left) ? r.axis_x_padding.left : i, n = _(r.axis_x_padding.right) ? r.axis_x_padding.right : i) : t = n = "number" == typeof r.axis_x_padding ? r.axis_x_padding : i, {
  3626.                     left: t,
  3627.                     right: n
  3628.                 }
  3629.             }, s.getXDomain = function(e) {
  3630.                 var t = this,
  3631.                     n = [t.getXDomainMin(e), t.getXDomainMax(e)],
  3632.                     r = n[0],
  3633.                     i = n[1],
  3634.                     a = t.getXDomainPadding(n),
  3635.                     e = 0,
  3636.                     n = 0;
  3637.                 return r - i != 0 || t.isCategorized() || (i = t.isTimeSeries() ? (r = new Date(.5 * r.getTime()), new Date(1.5 * i.getTime())) : (r = 0 === r ? 1 : .5 * r, 0 === i ? -1 : 1.5 * i)), !r && 0 !== r || (e = t.isTimeSeries() ? new Date(r.getTime() - a.left) : r - a.left), !i && 0 !== i || (n = t.isTimeSeries() ? new Date(i.getTime() + a.right) : i + a.right), [e, n]
  3638.             }, s.updateXDomain = function(e, t, n, r, i) {
  3639.                 var a = this,
  3640.                     o = a.config;
  3641.                 return n && (a.x.domain(i || a.d3.extent(a.getXDomain(e))), a.orgXDomain = a.x.domain(), o.zoom_enabled && a.zoom.scale(a.x).updateScaleExtent(), a.subX.domain(a.x.domain()), a.brush && a.brush.scale(a.subX)), t && (a.x.domain(i || (!a.brush || a.brush.empty() ? a.orgXDomain : a.brush.extent())), o.zoom_enabled && a.zoom.scale(a.x).updateScaleExtent()), r && a.x.domain(a.trimXDomain(a.x.orgDomain())), a.x.domain()
  3642.             }, s.trimXDomain = function(e) {
  3643.                 var t = this.getZoomDomain(),
  3644.                     n = t[0],
  3645.                     t = t[1];
  3646.                 return e[0] <= n && (e[1] = n - e[0] + +e[1], e[0] = n), t <= e[1] && (e[0] = +e[0] - (e[1] - t), e[1] = t), e
  3647.             }, s.isX = function(e) {
  3648.                 var t = this.config;
  3649.                 return t.data_x && e === t.data_x || y(t.data_xs) && g(t.data_xs, e)
  3650.             }, s.isNotX = function(e) {
  3651.                 return !this.isX(e)
  3652.             }, s.getXKey = function(e) {
  3653.                 var t = this.config;
  3654.                 return t.data_x || (y(t.data_xs) ? t.data_xs[e] : null)
  3655.             }, s.getXValuesOfXKey = function(t, e) {
  3656.                 var n, r = this;
  3657.                 return (e && y(e) ? r.mapToIds(e) : []).forEach(function(e) {
  3658.                     r.getXKey(e) === t && (n = r.data.xs[e])
  3659.                 }), n
  3660.             }, s.getIndexByX = function(e) {
  3661.                 e = this.filterByX(this.data.targets, e);
  3662.                 return e.length ? e[0].index : null
  3663.             }, s.getXValue = function(e, t) {
  3664.                 return e in this.data.xs && this.data.xs[e] && _(this.data.xs[e][t]) ? this.data.xs[e][t] : t
  3665.             }, s.getOtherTargetXs = function() {
  3666.                 var e = Object.keys(this.data.xs);
  3667.                 return e.length ? this.data.xs[e[0]] : null
  3668.             }, s.getOtherTargetX = function(e) {
  3669.                 var t = this.getOtherTargetXs();
  3670.                 return t && e < t.length ? t[e] : null
  3671.             }, s.addXs = function(t) {
  3672.                 var n = this;
  3673.                 Object.keys(t).forEach(function(e) {
  3674.                     n.config.data_xs[e] = t[e]
  3675.                 })
  3676.             }, s.hasMultipleX = function(t) {
  3677.                 return 1 < this.d3.set(Object.keys(t).map(function(e) {
  3678.                     return t[e]
  3679.                 })).size()
  3680.             }, s.isMultipleX = function() {
  3681.                 return y(this.config.data_xs) || !this.config.data_xSort || this.hasType("scatter")
  3682.             }, s.addName = function(e) {
  3683.                 var t;
  3684.                 return e && (e.name = void 0 !== (t = this.config.data_names[e.id]) ? t : e.id), e
  3685.             }, s.getValueOnIndex = function(e, t) {
  3686.                 e = e.filter(function(e) {
  3687.                     return e.index === t
  3688.                 });
  3689.                 return e.length ? e[0] : null
  3690.             }, s.updateTargetX = function(e, r) {
  3691.                 var i = this;
  3692.                 e.forEach(function(n) {
  3693.                     n.values.forEach(function(e, t) {
  3694.                         e.x = i.generateTargetX(r[t], n.id, t)
  3695.                     }), i.data.xs[n.id] = r
  3696.                 })
  3697.             }, s.updateTargetXs = function(e, t) {
  3698.                 var n = this;
  3699.                 e.forEach(function(e) {
  3700.                     t[e.id] && n.updateTargetX([e], t[e.id])
  3701.                 })
  3702.             }, s.generateTargetX = function(e, t, n) {
  3703.                 var r = this,
  3704.                     n = r.isTimeSeries() ? r.parseDate(e || r.getXValue(t, n)) : r.isCustomX() && !r.isCategorized() ? _(e) ? +e : r.getXValue(t, n) : n;
  3705.                 return n
  3706.             }, s.cloneTarget = function(e) {
  3707.                 return {
  3708.                     id: e.id,
  3709.                     id_org: e.id_org,
  3710.                     values: e.values.map(function(e) {
  3711.                         return {
  3712.                             x: e.x,
  3713.                             value: e.value,
  3714.                             id: e.id
  3715.                         }
  3716.                     })
  3717.                 }
  3718.             }, s.updateXs = function() {
  3719.                 var t = this;
  3720.                 t.data.targets.length && (t.xs = [], t.data.targets[0].values.forEach(function(e) {
  3721.                     t.xs[e.index] = e.x
  3722.                 }))
  3723.             }, s.getPrevX = function(e) {
  3724.                 e = this.xs[e - 1];
  3725.                 return void 0 !== e ? e : null
  3726.             }, s.getNextX = function(e) {
  3727.                 e = this.xs[e + 1];
  3728.                 return void 0 !== e ? e : null
  3729.             }, s.getMaxDataCount = function() {
  3730.                 return this.d3.max(this.data.targets, function(e) {
  3731.                     return e.values.length
  3732.                 })
  3733.             }, s.getMaxDataCountTarget = function(e) {
  3734.                 var t, n = e.length,
  3735.                     r = 0;
  3736.                 return 1 < n ? e.forEach(function(e) {
  3737.                     r < e.values.length && (r = (t = e).values.length)
  3738.                 }) : t = n ? e[0] : null, t
  3739.             }, s.getEdgeX = function(e) {
  3740.                 return e.length ? [this.d3.min(e, function(e) {
  3741.                     return e.values[0].x
  3742.                 }), this.d3.max(e, function(e) {
  3743.                     return e.values[e.values.length - 1].x
  3744.                 })] : [0, 0]
  3745.             }, s.mapToIds = function(e) {
  3746.                 return e.map(function(e) {
  3747.                     return e.id
  3748.                 })
  3749.             }, s.mapToTargetIds = function(e) {
  3750.                 return e ? [].concat(e) : this.mapToIds(this.data.targets)
  3751.             }, s.hasTarget = function(e, t) {
  3752.                 for (var n = this.mapToIds(e), r = 0; r < n.length; r++)
  3753.                     if (n[r] === t) return !0;
  3754.                 return !1
  3755.             }, s.isTargetToShow = function(e) {
  3756.                 return !~this.hiddenTargetIds.indexOf(e)
  3757.             }, s.isLegendToShow = function(e) {
  3758.                 return !~this.hiddenLegendIds.indexOf(e)
  3759.             }, s.filterTargetsToShow = function(e) {
  3760.                 var t = this;
  3761.                 return e.filter(function(e) {
  3762.                     return t.isTargetToShow(e.id)
  3763.                 })
  3764.             }, s.mapTargetsToUniqueXs = function(e) {
  3765.                 e = this.d3.set(this.d3.merge(e.map(function(e) {
  3766.                     return e.values.map(function(e) {
  3767.                         return +e.x
  3768.                     })
  3769.                 }))).values();
  3770.                 return (e = this.isTimeSeries() ? e.map(function(e) {
  3771.                     return new Date(+e)
  3772.                 }) : e.map(function(e) {
  3773.                     return +e
  3774.                 })).sort(function(e, t) {
  3775.                     return e < t ? -1 : t < e ? 1 : t <= e ? 0 : NaN
  3776.                 })
  3777.             }, s.addHiddenTargetIds = function(e) {
  3778.                 this.hiddenTargetIds = this.hiddenTargetIds.concat(e)
  3779.             }, s.removeHiddenTargetIds = function(t) {
  3780.                 this.hiddenTargetIds = this.hiddenTargetIds.filter(function(e) {
  3781.                     return !~t.indexOf(e)
  3782.                 })
  3783.             }, s.addHiddenLegendIds = function(e) {
  3784.                 this.hiddenLegendIds = this.hiddenLegendIds.concat(e)
  3785.             }, s.removeHiddenLegendIds = function(t) {
  3786.                 this.hiddenLegendIds = this.hiddenLegendIds.filter(function(e) {
  3787.                     return !~t.indexOf(e)
  3788.                 })
  3789.             }, s.getValuesAsIdKeyed = function(e) {
  3790.                 var n = {};
  3791.                 return e.forEach(function(t) {
  3792.                     n[t.id] = [], t.values.forEach(function(e) {
  3793.                         n[t.id].push(e.value)
  3794.                     })
  3795.                 }), n
  3796.             }, s.checkValueInTargets = function(e, t) {
  3797.                 for (var n, r, i = Object.keys(e), a = 0; a < i.length; a++)
  3798.                     for (r = e[i[a]].values, n = 0; n < r.length; n++)
  3799.                         if (t(r[n].value)) return !0;
  3800.                 return !1
  3801.             }, s.hasNegativeValueInTargets = function(e) {
  3802.                 return this.checkValueInTargets(e, function(e) {
  3803.                     return e < 0
  3804.                 })
  3805.             }, s.hasPositiveValueInTargets = function(e) {
  3806.                 return this.checkValueInTargets(e, function(e) {
  3807.                     return 0 < e
  3808.                 })
  3809.             }, s.isOrderDesc = function() {
  3810.                 var e = this.config;
  3811.                 return "string" == typeof e.data_order && "desc" == e.data_order.toLowerCase()
  3812.             }, s.isOrderAsc = function() {
  3813.                 var e = this.config;
  3814.                 return "string" == typeof e.data_order && "asc" == e.data_order.toLowerCase()
  3815.             }, s.orderTargets = function(e) {
  3816.                 var t = this.config,
  3817.                     r = this.isOrderAsc(),
  3818.                     n = this.isOrderDesc();
  3819.                 return r || n ? e.sort(function(e, t) {
  3820.                     var n = function(e, t) {
  3821.                             return e + Math.abs(t.value)
  3822.                         },
  3823.                         e = e.values.reduce(n, 0),
  3824.                         n = t.values.reduce(n, 0);
  3825.                     return r ? n - e : e - n
  3826.                 }) : d(t.data_order) && e.sort(t.data_order), e
  3827.             }, s.filterByX = function(e, t) {
  3828.                 return this.d3.merge(e.map(function(e) {
  3829.                     return e.values
  3830.                 })).filter(function(e) {
  3831.                     return e.x - t == 0
  3832.                 })
  3833.             }, s.filterRemoveNull = function(e) {
  3834.                 return e.filter(function(e) {
  3835.                     return _(e.value)
  3836.                 })
  3837.             }, s.filterByXDomain = function(e, t) {
  3838.                 return e.map(function(e) {
  3839.                     return {
  3840.                         id: e.id,
  3841.                         id_org: e.id_org,
  3842.                         values: e.values.filter(function(e) {
  3843.                             return t[0] <= e.x && e.x <= t[1]
  3844.                         })
  3845.                     }
  3846.                 })
  3847.             }, s.hasDataLabel = function() {
  3848.                 var e = this.config;
  3849.                 return !("boolean" != typeof e.data_labels || !e.data_labels) || !("object" != typeof e.data_labels || !y(e.data_labels))
  3850.             }, s.getDataLabelLength = function(e, t, n) {
  3851.                 var r = this,
  3852.                     i = [0, 0];
  3853.                 return r.selectChart.select("svg").selectAll(".dummy").data([e, t]).enter().append("text").text(function(e) {
  3854.                     return r.dataLabelFormat(e.id)(e)
  3855.                 }).each(function(e, t) {
  3856.                     i[t] = 1.3 * this.getBoundingClientRect()[n]
  3857.                 }).remove(), i
  3858.             }, s.isNoneArc = function(e) {
  3859.                 return this.hasTarget(this.data.targets, e.id)
  3860.             }, s.isArc = function(e) {
  3861.                 return "data" in e && this.hasTarget(this.data.targets, e.data.id)
  3862.             }, s.findSameXOfValues = function(e, t) {
  3863.                 for (var n = e[t].x, r = [], i = t - 1; 0 <= i && n === e[i].x; i--) r.push(e[i]);
  3864.                 for (i = t; i < e.length && n === e[i].x; i++) r.push(e[i]);
  3865.                 return r
  3866.             }, s.findClosestFromTargets = function(e, t) {
  3867.                 var n = this,
  3868.                     e = e.map(function(e) {
  3869.                         return n.findClosest(e.values, t)
  3870.                     });
  3871.                 return n.findClosest(e, t)
  3872.             }, s.findClosest = function(e, n) {
  3873.                 var r, i = this,
  3874.                     a = i.config.point_sensitivity;
  3875.                 return e.filter(function(e) {
  3876.                     return e && i.isBarType(e.id)
  3877.                 }).forEach(function(e) {
  3878.                     var t = i.main.select("." + G.bars + i.getTargetSelectorSuffix(e.id) + " ." + G.bar + "-" + e.index).node();
  3879.                     !r && i.isWithinBar(t) && (r = e)
  3880.                 }), e.filter(function(e) {
  3881.                     return e && !i.isBarType(e.id)
  3882.                 }).forEach(function(e) {
  3883.                     var t = i.dist(e, n);
  3884.                     t < a && (a = t, r = e)
  3885.                 }), r
  3886.             }, s.dist = function(e, t) {
  3887.                 var n = this.config,
  3888.                     r = n.axis_rotated ? 1 : 0,
  3889.                     i = n.axis_rotated ? 0 : 1,
  3890.                     n = this.circleY(e, e.index),
  3891.                     e = this.x(e.x);
  3892.                 return Math.sqrt(Math.pow(e - t[r], 2) + Math.pow(n - t[i], 2))
  3893.             }, s.convertValuesToStep = function(e) {
  3894.                 var t, n = [].concat(e);
  3895.                 if (!this.isCategorized()) return e;
  3896.                 for (t = e.length + 1; 0 < t; t--) n[t] = n[t - 1];
  3897.                 return n[0] = {
  3898.                     x: n[0].x - 1,
  3899.                     value: n[0].value,
  3900.                     id: n[0].id
  3901.                 }, n[e.length + 1] = {
  3902.                     x: n[e.length].x + 1,
  3903.                     value: n[e.length].value,
  3904.                     id: n[e.length].id
  3905.                 }, n
  3906.             }, s.updateDataAttributes = function(e, t) {
  3907.                 var n = this.config["data_" + e];
  3908.                 return void 0 === t || (Object.keys(t).forEach(function(e) {
  3909.                     n[e] = t[e]
  3910.                 }), this.redraw({
  3911.                     withLegend: !0
  3912.                 })), n
  3913.             }, s.convertUrlToData = function(e, t, n, r, i) {
  3914.                 var a = this,
  3915.                     o = t || "csv",
  3916.                     s = a.d3.xhr(e);
  3917.                 n && Object.keys(n).forEach(function(e) {
  3918.                     s.header(e, n[e])
  3919.                 }), s.get(function(e, t) {
  3920.                     if (!t) throw Error(e.responseURL + " " + e.status + " (" + e.statusText + ")");
  3921.                     t = "json" === o ? a.convertJsonToData(JSON.parse(t.response), r) : "tsv" === o ? a.convertTsvToData(t.response) : a.convertCsvToData(t.response), i.call(a, t)
  3922.                 })
  3923.             }, s.convertXsvToData = function(e, t) {
  3924.                 var n, r = t.parseRows(e);
  3925.                 return 1 === r.length ? (n = [{}], r[0].forEach(function(e) {
  3926.                     n[0][e] = null
  3927.                 })) : n = t.parse(e), n
  3928.             }, s.convertCsvToData = function(e) {
  3929.                 return this.convertXsvToData(e, this.d3.csv)
  3930.             }, s.convertTsvToData = function(e) {
  3931.                 return this.convertXsvToData(e, this.d3.tsv)
  3932.             }, s.convertJsonToData = function(t, e) {
  3933.                 var r, i = this,
  3934.                     a = [],
  3935.                     e = e ? (e.x ? (r = e.value.concat(e.x), i.config.data_x = e.x) : r = e.value, a.push(r), t.forEach(function(t) {
  3936.                         var n = [];
  3937.                         r.forEach(function(e) {
  3938.                             e = i.findValueInJson(t, e);
  3939.                             S(e) && (e = null), n.push(e)
  3940.                         }), a.push(n)
  3941.                     }), i.convertRowsToData(a)) : (Object.keys(t).forEach(function(e) {
  3942.                         a.push([e].concat(t[e]))
  3943.                     }), i.convertColumnsToData(a));
  3944.                 return e
  3945.             }, s.findValueInJson = function(e, t) {
  3946.                 for (var n = (t = (t = t.replace(/\[(\w+)\]/g, ".$1")).replace(/^\./, "")).split("."), r = 0; r < n.length; ++r) {
  3947.                     var i = n[r];
  3948.                     if (!(i in e)) return;
  3949.                     e = e[i]
  3950.                 }
  3951.                 return e
  3952.             }, s.convertRowsToData = function(e) {
  3953.                 for (var t, n = e[0], r = {}, i = [], a = 1; a < e.length; a++) {
  3954.                     for (r = {}, t = 0; t < e[a].length; t++) {
  3955.                         if (S(e[a][t])) throw Error("Source data is missing a component at (" + a + "," + t + ")!");
  3956.                         r[n[t]] = e[a][t]
  3957.                     }
  3958.                     i.push(r)
  3959.                 }
  3960.                 return i
  3961.             }, s.convertColumnsToData = function(e) {
  3962.                 for (var t, n, r = [], i = 0; i < e.length; i++)
  3963.                     for (n = e[i][0], t = 1; t < e[i].length; t++) {
  3964.                         if (S(r[t - 1]) && (r[t - 1] = {}), S(e[i][t])) throw Error("Source data is missing a component at (" + i + "," + t + ")!");
  3965.                         r[t - 1][n] = e[i][t]
  3966.                     }
  3967.                 return r