!(function (e, t) {
  "object" == typeof exports && "undefined" != typeof module
    ? (module.exports = t())
    : "function" == typeof define && define.amd
    ? define(t)
    : (e.moment = t());
})(this, function () {
  "use strict";
  var e, s;
  function m() {
    return e.apply(null, arguments);
  }
  function a(e) {
    return (
      e instanceof Array ||
      "[object Array]" === Object.prototype.toString.call(e)
    );
  }
  function o(e) {
    return null != e && "[object Object]" === Object.prototype.toString.call(e);
  }
  function c(e, t) {
    return Object.prototype.hasOwnProperty.call(e, t);
  }
  function u(e) {
    if (Object.getOwnPropertyNames)
      return 0 === Object.getOwnPropertyNames(e).length;
    for (var t in e) if (c(e, t)) return;
    return 1;
  }
  function l(e) {
    return void 0 === e;
  }
  function h(e) {
    return (
      "number" == typeof e ||
      "[object Number]" === Object.prototype.toString.call(e)
    );
  }
  function i(e) {
    return (
      e instanceof Date || "[object Date]" === Object.prototype.toString.call(e)
    );
  }
  function r(e, t) {
    for (var n = [], s = e.length, i = 0; i < s; ++i) n.push(t(e[i], i));
    return n;
  }
  function d(e, t) {
    for (var n in t) c(t, n) && (e[n] = t[n]);
    return (
      c(t, "toString") && (e.toString = t.toString),
      c(t, "valueOf") && (e.valueOf = t.valueOf),
      e
    );
  }
  function f(e, t, n, s) {
    return xt(e, t, n, s, !0).utc();
  }
  function _(e) {
    return (
      null == e._pf &&
        (e._pf = {
          empty: !1,
          unusedTokens: [],
          unusedInput: [],
          overflow: -2,
          charsLeftOver: 0,
          nullInput: !1,
          invalidEra: null,
          invalidMonth: null,
          invalidFormat: !1,
          userInvalidated: !1,
          iso: !1,
          parsedDateParts: [],
          era: null,
          meridiem: null,
          rfc2822: !1,
          weekdayMismatch: !1,
        }),
      e._pf
    );
  }
  function y(e) {
    if (null == e._isValid) {
      var t = _(e),
        n = s.call(t.parsedDateParts, function (e) {
          return null != e;
        }),
        n =
          !isNaN(e._d.getTime()) &&
          t.overflow < 0 &&
          !t.empty &&
          !t.invalidEra &&
          !t.invalidMonth &&
          !t.invalidWeekday &&
          !t.weekdayMismatch &&
          !t.nullInput &&
          !t.invalidFormat &&
          !t.userInvalidated &&
          (!t.meridiem || (t.meridiem && n));
      if (
        (e._strict &&
          (n =
            n &&
            0 === t.charsLeftOver &&
            0 === t.unusedTokens.length &&
            void 0 === t.bigHour),
        null != Object.isFrozen && Object.isFrozen(e))
      )
        return n;
      e._isValid = n;
    }
    return e._isValid;
  }
  function g(e) {
    var t = f(NaN);
    return null != e ? d(_(t), e) : (_(t).userInvalidated = !0), t;
  }
  s =
    Array.prototype.some ||
    function (e) {
      for (var t = Object(this), n = t.length >>> 0, s = 0; s < n; s++)
        if (s in t && e.call(this, t[s], s, t)) return !0;
      return !1;
    };
  var w = (m.momentProperties = []),
    t = !1;
  function p(e, t) {
    var n,
      s,
      i,
      r = w.length;
    if (
      (l(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject),
      l(t._i) || (e._i = t._i),
      l(t._f) || (e._f = t._f),
      l(t._l) || (e._l = t._l),
      l(t._strict) || (e._strict = t._strict),
      l(t._tzm) || (e._tzm = t._tzm),
      l(t._isUTC) || (e._isUTC = t._isUTC),
      l(t._offset) || (e._offset = t._offset),
      l(t._pf) || (e._pf = _(t)),
      l(t._locale) || (e._locale = t._locale),
      0 < r)
    )
      for (n = 0; n < r; n++) l((i = t[(s = w[n])])) || (e[s] = i);
    return e;
  }
  function v(e) {
    p(this, e),
      (this._d = new Date(null != e._d ? e._d.getTime() : NaN)),
      this.isValid() || (this._d = new Date(NaN)),
      !1 === t && ((t = !0), m.updateOffset(this), (t = !1));
  }
  function k(e) {
    return e instanceof v || (null != e && null != e._isAMomentObject);
  }
  function M(e) {
    !1 === m.suppressDeprecationWarnings &&
      "undefined" != typeof console &&
      console.warn &&
      console.warn("Deprecation warning: " + e);
  }
  function n(r, a) {
    var o = !0;
    return d(function () {
      if ((null != m.deprecationHandler && m.deprecationHandler(null, r), o)) {
        for (var e, t, n = [], s = arguments.length, i = 0; i < s; i++) {
          if (((e = ""), "object" == typeof arguments[i])) {
            for (t in ((e += "\n[" + i + "] "), arguments[0]))
              c(arguments[0], t) && (e += t + ": " + arguments[0][t] + ", ");
            e = e.slice(0, -2);
          } else e = arguments[i];
          n.push(e);
        }
        M(
          r +
            "\nArguments: " +
            Array.prototype.slice.call(n).join("") +
            "\n" +
            new Error().stack
        ),
          (o = !1);
      }
      return a.apply(this, arguments);
    }, a);
  }
  var D,
    S = {};
  function Y(e, t) {
    null != m.deprecationHandler && m.deprecationHandler(e, t),
      S[e] || (M(t), (S[e] = !0));
  }
  function O(e) {
    return (
      ("undefined" != typeof Function && e instanceof Function) ||
      "[object Function]" === Object.prototype.toString.call(e)
    );
  }
  function b(e, t) {
    var n,
      s = d({}, e);
    for (n in t)
      c(t, n) &&
        (o(e[n]) && o(t[n])
          ? ((s[n] = {}), d(s[n], e[n]), d(s[n], t[n]))
          : null != t[n]
          ? (s[n] = t[n])
          : delete s[n]);
    for (n in e) c(e, n) && !c(t, n) && o(e[n]) && (s[n] = d({}, s[n]));
    return s;
  }
  function x(e) {
    null != e && this.set(e);
  }
  (m.suppressDeprecationWarnings = !1),
    (m.deprecationHandler = null),
    (D =
      Object.keys ||
      function (e) {
        var t,
          n = [];
        for (t in e) c(e, t) && n.push(t);
        return n;
      });
  function T(e, t, n) {
    var s = "" + Math.abs(e),
      t = t - s.length;
    return (
      (0 <= e ? (n ? "+" : "") : "-") +
      Math.pow(10, Math.max(0, t)).toString().substr(1) +
      s
    );
  }
  var N =
      /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
    P = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
    R = {},
    W = {};
  function C(e, t, n, s) {
    var i =
      "string" == typeof s
        ? function () {
            return this[s]();
          }
        : s;
    e && (W[e] = i),
      t &&
        (W[t[0]] = function () {
          return T(i.apply(this, arguments), t[1], t[2]);
        }),
      n &&
        (W[n] = function () {
          return this.localeData().ordinal(i.apply(this, arguments), e);
        });
  }
  function U(e, t) {
    return e.isValid()
      ? ((t = H(t, e.localeData())),
        (R[t] =
          R[t] ||
          (function (s) {
            for (var e, i = s.match(N), t = 0, r = i.length; t < r; t++)
              W[i[t]]
                ? (i[t] = W[i[t]])
                : (i[t] = (e = i[t]).match(/\[[\s\S]/)
                    ? e.replace(/^\[|\]$/g, "")
                    : e.replace(/\\/g, ""));
            return function (e) {
              for (var t = "", n = 0; n < r; n++)
                t += O(i[n]) ? i[n].call(e, s) : i[n];
              return t;
            };
          })(t)),
        R[t](e))
      : e.localeData().invalidDate();
  }
  function H(e, t) {
    var n = 5;
    function s(e) {
      return t.longDateFormat(e) || e;
    }
    for (P.lastIndex = 0; 0 <= n && P.test(e); )
      (e = e.replace(P, s)), (P.lastIndex = 0), --n;
    return e;
  }
  var F = {};
  function L(e, t) {
    var n = e.toLowerCase();
    F[n] = F[n + "s"] = F[t] = e;
  }
  function V(e) {
    return "string" == typeof e ? F[e] || F[e.toLowerCase()] : void 0;
  }
  function G(e) {
    var t,
      n,
      s = {};
    for (n in e) c(e, n) && (t = V(n)) && (s[t] = e[n]);
    return s;
  }
  var E = {};
  function A(e, t) {
    E[e] = t;
  }
  function I(e) {
    return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0;
  }
  function j(e) {
    return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
  }
  function Z(e) {
    var t = +e,
      e = 0;
    return 0 != t && isFinite(t) && (e = j(t)), e;
  }
  function z(t, n) {
    return function (e) {
      return null != e
        ? (q(this, t, e), m.updateOffset(this, n), this)
        : $(this, t);
    };
  }
  function $(e, t) {
    return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN;
  }
  function q(e, t, n) {
    e.isValid() &&
      !isNaN(n) &&
      ("FullYear" === t && I(e.year()) && 1 === e.month() && 29 === e.date()
        ? ((n = Z(n)),
          e._d["set" + (e._isUTC ? "UTC" : "") + t](
            n,
            e.month(),
            xe(n, e.month())
          ))
        : e._d["set" + (e._isUTC ? "UTC" : "") + t](n));
  }
  var B,
    J = /\d/,
    Q = /\d\d/,
    X = /\d{3}/,
    K = /\d{4}/,
    ee = /[+-]?\d{6}/,
    te = /\d\d?/,
    ne = /\d\d\d\d?/,
    se = /\d\d\d\d\d\d?/,
    ie = /\d{1,3}/,
    re = /\d{1,4}/,
    ae = /[+-]?\d{1,6}/,
    oe = /\d+/,
    ue = /[+-]?\d+/,
    le = /Z|[+-]\d\d:?\d\d/gi,
    he = /Z|[+-]\d\d(?::?\d\d)?/gi,
    de =
      /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
  function ce(e, n, s) {
    B[e] = O(n)
      ? n
      : function (e, t) {
          return e && s ? s : n;
        };
  }
  function fe(e, t) {
    return c(B, e)
      ? B[e](t._strict, t._locale)
      : new RegExp(
          me(
            e
              .replace("\\", "")
              .replace(
                /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
                function (e, t, n, s, i) {
                  return t || n || s || i;
                }
              )
          )
        );
  }
  function me(e) {
    return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
  }
  B = {};
  var _e = {};
  function ye(e, n) {
    var t,
      s,
      i = n;
    for (
      "string" == typeof e && (e = [e]),
        h(n) &&
          (i = function (e, t) {
            t[n] = Z(e);
          }),
        s = e.length,
        t = 0;
      t < s;
      t++
    )
      _e[e[t]] = i;
  }
  function ge(e, i) {
    ye(e, function (e, t, n, s) {
      (n._w = n._w || {}), i(e, n._w, n, s);
    });
  }
  var we,
    pe = 0,
    ve = 1,
    ke = 2,
    Me = 3,
    De = 4,
    Se = 5,
    Ye = 6,
    Oe = 7,
    be = 8;
  function xe(e, t) {
    if (isNaN(e) || isNaN(t)) return NaN;
    var n,
      n = ((t % (n = 12)) + n) % n;
    return (e += (t - n) / 12), 1 == n ? (I(e) ? 29 : 28) : 31 - ((n % 7) % 2);
  }
  (we =
    Array.prototype.indexOf ||
    function (e) {
      for (var t = 0; t < this.length; ++t) if (this[t] === e) return t;
      return -1;
    }),
    C("M", ["MM", 2], "Mo", function () {
      return this.month() + 1;
    }),
    C("MMM", 0, 0, function (e) {
      return this.localeData().monthsShort(this, e);
    }),
    C("MMMM", 0, 0, function (e) {
      return this.localeData().months(this, e);
    }),
    L("month", "M"),
    A("month", 8),
    ce("M", te),
    ce("MM", te, Q),
    ce("MMM", function (e, t) {
      return t.monthsShortRegex(e);
    }),
    ce("MMMM", function (e, t) {
      return t.monthsRegex(e);
    }),
    ye(["M", "MM"], function (e, t) {
      t[ve] = Z(e) - 1;
    }),
    ye(["MMM", "MMMM"], function (e, t, n, s) {
      s = n._locale.monthsParse(e, s, n._strict);
      null != s ? (t[ve] = s) : (_(n).invalidMonth = e);
    });
  var Te =
      "January_February_March_April_May_June_July_August_September_October_November_December".split(
        "_"
      ),
    Ne = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
    Pe = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
    Re = de,
    We = de;
  function Ce(e, t) {
    var n;
    if (!e.isValid()) return e;
    if ("string" == typeof t)
      if (/^\d+$/.test(t)) t = Z(t);
      else if (!h((t = e.localeData().monthsParse(t)))) return e;
    return (
      (n = Math.min(e.date(), xe(e.year(), t))),
      e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n),
      e
    );
  }
  function Ue(e) {
    return null != e
      ? (Ce(this, e), m.updateOffset(this, !0), this)
      : $(this, "Month");
  }
  function He() {
    function e(e, t) {
      return t.length - e.length;
    }
    for (var t, n = [], s = [], i = [], r = 0; r < 12; r++)
      (t = f([2e3, r])),
        n.push(this.monthsShort(t, "")),
        s.push(this.months(t, "")),
        i.push(this.months(t, "")),
        i.push(this.monthsShort(t, ""));
    for (n.sort(e), s.sort(e), i.sort(e), r = 0; r < 12; r++)
      (n[r] = me(n[r])), (s[r] = me(s[r]));
    for (r = 0; r < 24; r++) i[r] = me(i[r]);
    (this._monthsRegex = new RegExp("^(" + i.join("|") + ")", "i")),
      (this._monthsShortRegex = this._monthsRegex),
      (this._monthsStrictRegex = new RegExp("^(" + s.join("|") + ")", "i")),
      (this._monthsShortStrictRegex = new RegExp(
        "^(" + n.join("|") + ")",
        "i"
      ));
  }
  function Fe(e) {
    return I(e) ? 366 : 365;
  }
  C("Y", 0, 0, function () {
    var e = this.year();
    return e <= 9999 ? T(e, 4) : "+" + e;
  }),
    C(0, ["YY", 2], 0, function () {
      return this.year() % 100;
    }),
    C(0, ["YYYY", 4], 0, "year"),
    C(0, ["YYYYY", 5], 0, "year"),
    C(0, ["YYYYYY", 6, !0], 0, "year"),
    L("year", "y"),
    A("year", 1),
    ce("Y", ue),
    ce("YY", te, Q),
    ce("YYYY", re, K),
    ce("YYYYY", ae, ee),
    ce("YYYYYY", ae, ee),
    ye(["YYYYY", "YYYYYY"], pe),
    ye("YYYY", function (e, t) {
      t[pe] = 2 === e.length ? m.parseTwoDigitYear(e) : Z(e);
    }),
    ye("YY", function (e, t) {
      t[pe] = m.parseTwoDigitYear(e);
    }),
    ye("Y", function (e, t) {
      t[pe] = parseInt(e, 10);
    }),
    (m.parseTwoDigitYear = function (e) {
      return Z(e) + (68 < Z(e) ? 1900 : 2e3);
    });
  var Le = z("FullYear", !0);
  function Ve(e) {
    var t;
    return (
      e < 100 && 0 <= e
        ? (((t = Array.prototype.slice.call(arguments))[0] = e + 400),
          (t = new Date(Date.UTC.apply(null, t))),
          isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e))
        : (t = new Date(Date.UTC.apply(null, arguments))),
      t
    );
  }
  function Ge(e, t, n) {
    n = 7 + t - n;
    return n - ((7 + Ve(e, 0, n).getUTCDay() - t) % 7) - 1;
  }
  function Ee(e, t, n, s, i) {
    var r,
      i = 1 + 7 * (t - 1) + ((7 + n - s) % 7) + Ge(e, s, i),
      i =
        i <= 0
          ? Fe((r = e - 1)) + i
          : i > Fe(e)
          ? ((r = e + 1), i - Fe(e))
          : ((r = e), i);
    return { year: r, dayOfYear: i };
  }
  function Ae(e, t, n) {
    var s,
      i,
      r = Ge(e.year(), t, n),
      r = Math.floor((e.dayOfYear() - r - 1) / 7) + 1;
    return (
      r < 1
        ? (s = r + Ie((i = e.year() - 1), t, n))
        : r > Ie(e.year(), t, n)
        ? ((s = r - Ie(e.year(), t, n)), (i = e.year() + 1))
        : ((i = e.year()), (s = r)),
      { week: s, year: i }
    );
  }
  function Ie(e, t, n) {
    var s = Ge(e, t, n),
      n = Ge(e + 1, t, n);
    return (Fe(e) - s + n) / 7;
  }
  C("w", ["ww", 2], "wo", "week"),
    C("W", ["WW", 2], "Wo", "isoWeek"),
    L("week", "w"),
    L("isoWeek", "W"),
    A("week", 5),
    A("isoWeek", 5),
    ce("w", te),
    ce("ww", te, Q),
    ce("W", te),
    ce("WW", te, Q),
    ge(["w", "ww", "W", "WW"], function (e, t, n, s) {
      t[s.substr(0, 1)] = Z(e);
    });
  function je(e, t) {
    return e.slice(t, 7).concat(e.slice(0, t));
  }
  C("d", 0, "do", "day"),
    C("dd", 0, 0, function (e) {
      return this.localeData().weekdaysMin(this, e);
    }),
    C("ddd", 0, 0, function (e) {
      return this.localeData().weekdaysShort(this, e);
    }),
    C("dddd", 0, 0, function (e) {
      return this.localeData().weekdays(this, e);
    }),
    C("e", 0, 0, "weekday"),
    C("E", 0, 0, "isoWeekday"),
    L("day", "d"),
    L("weekday", "e"),
    L("isoWeekday", "E"),
    A("day", 11),
    A("weekday", 11),
    A("isoWeekday", 11),
    ce("d", te),
    ce("e", te),
    ce("E", te),
    ce("dd", function (e, t) {
      return t.weekdaysMinRegex(e);
    }),
    ce("ddd", function (e, t) {
      return t.weekdaysShortRegex(e);
    }),
    ce("dddd", function (e, t) {
      return t.weekdaysRegex(e);
    }),
    ge(["dd", "ddd", "dddd"], function (e, t, n, s) {
      s = n._locale.weekdaysParse(e, s, n._strict);
      null != s ? (t.d = s) : (_(n).invalidWeekday = e);
    }),
    ge(["d", "e", "E"], function (e, t, n, s) {
      t[s] = Z(e);
    });
  var Ze = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split(
      "_"
    ),
    ze = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
    $e = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
    qe = de,
    Be = de,
    Je = de;
  function Qe() {
    function e(e, t) {
      return t.length - e.length;
    }
    for (var t, n, s, i = [], r = [], a = [], o = [], u = 0; u < 7; u++)
      (s = f([2e3, 1]).day(u)),
        (t = me(this.weekdaysMin(s, ""))),
        (n = me(this.weekdaysShort(s, ""))),
        (s = me(this.weekdays(s, ""))),
        i.push(t),
        r.push(n),
        a.push(s),
        o.push(t),
        o.push(n),
        o.push(s);
    i.sort(e),
      r.sort(e),
      a.sort(e),
      o.sort(e),
      (this._weekdaysRegex = new RegExp("^(" + o.join("|") + ")", "i")),
      (this._weekdaysShortRegex = this._weekdaysRegex),
      (this._weekdaysMinRegex = this._weekdaysRegex),
      (this._weekdaysStrictRegex = new RegExp("^(" + a.join("|") + ")", "i")),
      (this._weekdaysShortStrictRegex = new RegExp(
        "^(" + r.join("|") + ")",
        "i"
      )),
      (this._weekdaysMinStrictRegex = new RegExp(
        "^(" + i.join("|") + ")",
        "i"
      ));
  }
  function Xe() {
    return this.hours() % 12 || 12;
  }
  function Ke(e, t) {
    C(e, 0, 0, function () {
      return this.localeData().meridiem(this.hours(), this.minutes(), t);
    });
  }
  function et(e, t) {
    return t._meridiemParse;
  }
  C("H", ["HH", 2], 0, "hour"),
    C("h", ["hh", 2], 0, Xe),
    C("k", ["kk", 2], 0, function () {
      return this.hours() || 24;
    }),
    C("hmm", 0, 0, function () {
      return "" + Xe.apply(this) + T(this.minutes(), 2);
    }),
    C("hmmss", 0, 0, function () {
      return "" + Xe.apply(this) + T(this.minutes(), 2) + T(this.seconds(), 2);
    }),
    C("Hmm", 0, 0, function () {
      return "" + this.hours() + T(this.minutes(), 2);
    }),
    C("Hmmss", 0, 0, function () {
      return "" + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2);
    }),
    Ke("a", !0),
    Ke("A", !1),
    L("hour", "h"),
    A("hour", 13),
    ce("a", et),
    ce("A", et),
    ce("H", te),
    ce("h", te),
    ce("k", te),
    ce("HH", te, Q),
    ce("hh", te, Q),
    ce("kk", te, Q),
    ce("hmm", ne),
    ce("hmmss", se),
    ce("Hmm", ne),
    ce("Hmmss", se),
    ye(["H", "HH"], Me),
    ye(["k", "kk"], function (e, t, n) {
      e = Z(e);
      t[Me] = 24 === e ? 0 : e;
    }),
    ye(["a", "A"], function (e, t, n) {
      (n._isPm = n._locale.isPM(e)), (n._meridiem = e);
    }),
    ye(["h", "hh"], function (e, t, n) {
      (t[Me] = Z(e)), (_(n).bigHour = !0);
    }),
    ye("hmm", function (e, t, n) {
      var s = e.length - 2;
      (t[Me] = Z(e.substr(0, s))),
        (t[De] = Z(e.substr(s))),
        (_(n).bigHour = !0);
    }),
    ye("hmmss", function (e, t, n) {
      var s = e.length - 4,
        i = e.length - 2;
      (t[Me] = Z(e.substr(0, s))),
        (t[De] = Z(e.substr(s, 2))),
        (t[Se] = Z(e.substr(i))),
        (_(n).bigHour = !0);
    }),
    ye("Hmm", function (e, t, n) {
      var s = e.length - 2;
      (t[Me] = Z(e.substr(0, s))), (t[De] = Z(e.substr(s)));
    }),
    ye("Hmmss", function (e, t, n) {
      var s = e.length - 4,
        i = e.length - 2;
      (t[Me] = Z(e.substr(0, s))),
        (t[De] = Z(e.substr(s, 2))),
        (t[Se] = Z(e.substr(i)));
    });
  var tt = z("Hours", !0);
  var nt,
    st = {
      calendar: {
        sameDay: "[Today at] LT",
        nextDay: "[Tomorrow at] LT",
        nextWeek: "dddd [at] LT",
        lastDay: "[Yesterday at] LT",
        lastWeek: "[Last] dddd [at] LT",
        sameElse: "L",
      },
      longDateFormat: {
        LTS: "h:mm:ss A",
        LT: "h:mm A",
        L: "MM/DD/YYYY",
        LL: "MMMM D, YYYY",
        LLL: "MMMM D, YYYY h:mm A",
        LLLL: "dddd, MMMM D, YYYY h:mm A",
      },
      invalidDate: "Invalid date",
      ordinal: "%d",
      dayOfMonthOrdinalParse: /\d{1,2}/,
      relativeTime: {
        future: "in %s",
        past: "%s ago",
        s: "a few seconds",
        ss: "%d seconds",
        m: "a minute",
        mm: "%d minutes",
        h: "an hour",
        hh: "%d hours",
        d: "a day",
        dd: "%d days",
        w: "a week",
        ww: "%d weeks",
        M: "a month",
        MM: "%d months",
        y: "a year",
        yy: "%d years",
      },
      months: Te,
      monthsShort: Ne,
      week: { dow: 0, doy: 6 },
      weekdays: Ze,
      weekdaysMin: $e,
      weekdaysShort: ze,
      meridiemParse: /[ap]\.?m?\.?/i,
    },
    it = {},
    rt = {};
  function at(e) {
    return e && e.toLowerCase().replace("_", "-");
  }
  function ot(e) {
    for (var t, n, s, i, r = 0; r < e.length; ) {
      for (
        t = (i = at(e[r]).split("-")).length,
          n = (n = at(e[r + 1])) ? n.split("-") : null;
        0 < t;

      ) {
        if ((s = ut(i.slice(0, t).join("-")))) return s;
        if (
          n &&
          n.length >= t &&
          (function (e, t) {
            for (var n = Math.min(e.length, t.length), s = 0; s < n; s += 1)
              if (e[s] !== t[s]) return s;
            return n;
          })(i, n) >=
            t - 1
        )
          break;
        t--;
      }
      r++;
    }
    return nt;
  }
  function ut(t) {
    var e;
    if (
      void 0 === it[t] &&
      "undefined" != typeof module &&
      module &&
      module.exports &&
      null != t.match("^[^/\\\\]*$")
    )
      try {
        (e = nt._abbr), require("./locale/" + t), lt(e);
      } catch (e) {
        it[t] = null;
      }
    return it[t];
  }
  function lt(e, t) {
    return (
      e &&
        ((t = l(t) ? dt(e) : ht(e, t))
          ? (nt = t)
          : "undefined" != typeof console &&
            console.warn &&
            console.warn(
              "Locale " + e + " not found. Did you forget to load it?"
            )),
      nt._abbr
    );
  }
  function ht(e, t) {
    if (null === t) return delete it[e], null;
    var n,
      s = st;
    if (((t.abbr = e), null != it[e]))
      Y(
        "defineLocaleOverride",
        "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
      ),
        (s = it[e]._config);
    else if (null != t.parentLocale)
      if (null != it[t.parentLocale]) s = it[t.parentLocale]._config;
      else {
        if (null == (n = ut(t.parentLocale)))
          return (
            rt[t.parentLocale] || (rt[t.parentLocale] = []),
            rt[t.parentLocale].push({ name: e, config: t }),
            null
          );
        s = n._config;
      }
    return (
      (it[e] = new x(b(s, t))),
      rt[e] &&
        rt[e].forEach(function (e) {
          ht(e.name, e.config);
        }),
      lt(e),
      it[e]
    );
  }
  function dt(e) {
    var t;
    if ((e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e))
      return nt;
    if (!a(e)) {
      if ((t = ut(e))) return t;
      e = [e];
    }
    return ot(e);
  }
  function ct(e) {
    var t = e._a;
    return (
      t &&
        -2 === _(e).overflow &&
        ((t =
          t[ve] < 0 || 11 < t[ve]
            ? ve
            : t[ke] < 1 || t[ke] > xe(t[pe], t[ve])
            ? ke
            : t[Me] < 0 ||
              24 < t[Me] ||
              (24 === t[Me] && (0 !== t[De] || 0 !== t[Se] || 0 !== t[Ye]))
            ? Me
            : t[De] < 0 || 59 < t[De]
            ? De
            : t[Se] < 0 || 59 < t[Se]
            ? Se
            : t[Ye] < 0 || 999 < t[Ye]
            ? Ye
            : -1),
        _(e)._overflowDayOfYear && (t < pe || ke < t) && (t = ke),
        _(e)._overflowWeeks && -1 === t && (t = Oe),
        _(e)._overflowWeekday && -1 === t && (t = be),
        (_(e).overflow = t)),
      e
    );
  }
  var ft =
      /^\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)?)?$/,
    mt =
      /^\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)?)?$/,
    _t = /Z|[+-]\d\d(?::?\d\d)?/,
    yt = [
      ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
      ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
      ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
      ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
      ["YYYY-DDD", /\d{4}-\d{3}/],
      ["YYYY-MM", /\d{4}-\d\d/, !1],
      ["YYYYYYMMDD", /[+-]\d{10}/],
      ["YYYYMMDD", /\d{8}/],
      ["GGGG[W]WWE", /\d{4}W\d{3}/],
      ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
      ["YYYYDDD", /\d{7}/],
      ["YYYYMM", /\d{6}/, !1],
      ["YYYY", /\d{4}/, !1],
    ],
    gt = [
      ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
      ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
      ["HH:mm:ss", /\d\d:\d\d:\d\d/],
      ["HH:mm", /\d\d:\d\d/],
      ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
      ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
      ["HHmmss", /\d\d\d\d\d\d/],
      ["HHmm", /\d\d\d\d/],
      ["HH", /\d\d/],
    ],
    wt = /^\/?Date\((-?\d+)/i,
    pt =
      /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
    vt = {
      UT: 0,
      GMT: 0,
      EDT: -240,
      EST: -300,
      CDT: -300,
      CST: -360,
      MDT: -360,
      MST: -420,
      PDT: -420,
      PST: -480,
    };
  function kt(e) {
    var t,
      n,
      s,
      i,
      r,
      a,
      o = e._i,
      u = ft.exec(o) || mt.exec(o),
      l = yt.length,
      o = gt.length;
    if (u) {
      for (_(e).iso = !0, t = 0, n = l; t < n; t++)
        if (yt[t][1].exec(u[1])) {
          (i = yt[t][0]), (s = !1 !== yt[t][2]);
          break;
        }
      if (null != i) {
        if (u[3]) {
          for (t = 0, n = o; t < n; t++)
            if (gt[t][1].exec(u[3])) {
              r = (u[2] || " ") + gt[t][0];
              break;
            }
          if (null == r) return void (e._isValid = !1);
        }
        if (s || null == r) {
          if (u[4]) {
            if (!_t.exec(u[4])) return void (e._isValid = !1);
            a = "Z";
          }
          (e._f = i + (r || "") + (a || "")), Ot(e);
        } else e._isValid = !1;
      } else e._isValid = !1;
    } else e._isValid = !1;
  }
  function Mt(e, t, n, s, i, r) {
    i = [
      (function (e) {
        e = parseInt(e, 10);
        {
          if (e <= 49) return 2e3 + e;
          if (e <= 999) return 1900 + e;
        }
        return e;
      })(e),
      Ne.indexOf(t),
      parseInt(n, 10),
      parseInt(s, 10),
      parseInt(i, 10),
    ];
    return r && i.push(parseInt(r, 10)), i;
  }
  function Dt(e) {
    var t,
      n,
      s,
      i,
      r = pt.exec(
        e._i
          .replace(/\([^)]*\)|[\n\t]/g, " ")
          .replace(/(\s\s+)/g, " ")
          .replace(/^\s\s*/, "")
          .replace(/\s\s*$/, "")
      );
    r
      ? ((t = Mt(r[4], r[3], r[2], r[5], r[6], r[7])),
        (n = r[1]),
        (s = t),
        (i = e),
        n && ze.indexOf(n) !== new Date(s[0], s[1], s[2]).getDay()
          ? ((_(i).weekdayMismatch = !0), (i._isValid = !1))
          : ((e._a = t),
            (e._tzm =
              ((i = r[8]),
              (t = r[9]),
              (r = r[10]),
              i
                ? vt[i]
                : t
                ? 0
                : 60 * (((t = parseInt(r, 10)) - (r = t % 100)) / 100) + r)),
            (e._d = Ve.apply(null, e._a)),
            e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm),
            (_(e).rfc2822 = !0)))
      : (e._isValid = !1);
  }
  function St(e, t, n) {
    return null != e ? e : null != t ? t : n;
  }
  function Yt(e) {
    var t,
      n,
      s,
      i,
      r,
      a,
      o,
      u,
      l,
      h,
      d,
      c,
      f = [];
    if (!e._d) {
      for (
        r = e,
          c = new Date(m.now()),
          n = r._useUTC
            ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()]
            : [c.getFullYear(), c.getMonth(), c.getDate()],
          e._w &&
            null == e._a[ke] &&
            null == e._a[ve] &&
            (null != (r = (i = e)._w).GG || null != r.W || null != r.E
              ? ((l = 1),
                (h = 4),
                (a = St(r.GG, i._a[pe], Ae(Tt(), 1, 4).year)),
                (o = St(r.W, 1)),
                ((u = St(r.E, 1)) < 1 || 7 < u) && (d = !0))
              : ((l = i._locale._week.dow),
                (h = i._locale._week.doy),
                (c = Ae(Tt(), l, h)),
                (a = St(r.gg, i._a[pe], c.year)),
                (o = St(r.w, c.week)),
                null != r.d
                  ? ((u = r.d) < 0 || 6 < u) && (d = !0)
                  : null != r.e
                  ? ((u = r.e + l), (r.e < 0 || 6 < r.e) && (d = !0))
                  : (u = l)),
            o < 1 || o > Ie(a, l, h)
              ? (_(i)._overflowWeeks = !0)
              : null != d
              ? (_(i)._overflowWeekday = !0)
              : ((h = Ee(a, o, u, l, h)),
                (i._a[pe] = h.year),
                (i._dayOfYear = h.dayOfYear))),
          null != e._dayOfYear &&
            ((s = St(e._a[pe], n[pe])),
            (e._dayOfYear > Fe(s) || 0 === e._dayOfYear) &&
              (_(e)._overflowDayOfYear = !0),
            (s = Ve(s, 0, e._dayOfYear)),
            (e._a[ve] = s.getUTCMonth()),
            (e._a[ke] = s.getUTCDate())),
          t = 0;
        t < 3 && null == e._a[t];
        ++t
      )
        e._a[t] = f[t] = n[t];
      for (; t < 7; t++)
        e._a[t] = f[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t];
      24 === e._a[Me] &&
        0 === e._a[De] &&
        0 === e._a[Se] &&
        0 === e._a[Ye] &&
        ((e._nextDay = !0), (e._a[Me] = 0)),
        (e._d = (
          e._useUTC
            ? Ve
            : function (e, t, n, s, i, r, a) {
                var o;
                return (
                  e < 100 && 0 <= e
                    ? ((o = new Date(e + 400, t, n, s, i, r, a)),
                      isFinite(o.getFullYear()) && o.setFullYear(e))
                    : (o = new Date(e, t, n, s, i, r, a)),
                  o
                );
              }
        ).apply(null, f)),
        (s = e._useUTC ? e._d.getUTCDay() : e._d.getDay()),
        null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm),
        e._nextDay && (e._a[Me] = 24),
        e._w &&
          void 0 !== e._w.d &&
          e._w.d !== s &&
          (_(e).weekdayMismatch = !0);
    }
  }
  function Ot(e) {
    if (e._f !== m.ISO_8601)
      if (e._f !== m.RFC_2822) {
        (e._a = []), (_(e).empty = !0);
        for (
          var t,
            n,
            s,
            i,
            r,
            a = "" + e._i,
            o = a.length,
            u = 0,
            l = H(e._f, e._locale).match(N) || [],
            h = l.length,
            d = 0;
          d < h;
          d++
        )
          (n = l[d]),
            (t = (a.match(fe(n, e)) || [])[0]) &&
              (0 < (i = a.substr(0, a.indexOf(t))).length &&
                _(e).unusedInput.push(i),
              (a = a.slice(a.indexOf(t) + t.length)),
              (u += t.length)),
            W[n]
              ? (t ? (_(e).empty = !1) : _(e).unusedTokens.push(n),
                (s = n),
                (r = e),
                null != (i = t) && c(_e, s) && _e[s](i, r._a, r, s))
              : e._strict && !t && _(e).unusedTokens.push(n);
        (_(e).charsLeftOver = o - u),
          0 < a.length && _(e).unusedInput.push(a),
          e._a[Me] <= 12 &&
            !0 === _(e).bigHour &&
            0 < e._a[Me] &&
            (_(e).bigHour = void 0),
          (_(e).parsedDateParts = e._a.slice(0)),
          (_(e).meridiem = e._meridiem),
          (e._a[Me] = (function (e, t, n) {
            if (null == n) return t;
            return null != e.meridiemHour
              ? e.meridiemHour(t, n)
              : (null != e.isPM &&
                  ((n = e.isPM(n)) && t < 12 && (t += 12),
                  n || 12 !== t || (t = 0)),
                t);
          })(e._locale, e._a[Me], e._meridiem)),
          null !== (o = _(e).era) &&
            (e._a[pe] = e._locale.erasConvertYear(o, e._a[pe])),
          Yt(e),
          ct(e);
      } else Dt(e);
    else kt(e);
  }
  function bt(e) {
    var t = e._i,
      n = e._f;
    return (
      (e._locale = e._locale || dt(e._l)),
      null === t || (void 0 === n && "" === t)
        ? g({ nullInput: !0 })
        : ("string" == typeof t && (e._i = t = e._locale.preparse(t)),
          k(t)
            ? new v(ct(t))
            : (i(t)
                ? (e._d = t)
                : a(n)
                ? (function (e) {
                    var t,
                      n,
                      s,
                      i,
                      r,
                      a,
                      o = !1,
                      u = e._f.length;
                    if (0 === u)
                      return (_(e).invalidFormat = !0), (e._d = new Date(NaN));
                    for (i = 0; i < u; i++)
                      (r = 0),
                        (a = !1),
                        (t = p({}, e)),
                        null != e._useUTC && (t._useUTC = e._useUTC),
                        (t._f = e._f[i]),
                        Ot(t),
                        y(t) && (a = !0),
                        (r += _(t).charsLeftOver),
                        (r += 10 * _(t).unusedTokens.length),
                        (_(t).score = r),
                        o
                          ? r < s && ((s = r), (n = t))
                          : (null == s || r < s || a) &&
                            ((s = r), (n = t), a && (o = !0));
                    d(e, n || t);
                  })(e)
                : n
                ? Ot(e)
                : l((n = (t = e)._i))
                ? (t._d = new Date(m.now()))
                : i(n)
                ? (t._d = new Date(n.valueOf()))
                : "string" == typeof n
                ? (function (e) {
                    var t = wt.exec(e._i);
                    null === t
                      ? (kt(e),
                        !1 === e._isValid &&
                          (delete e._isValid,
                          Dt(e),
                          !1 === e._isValid &&
                            (delete e._isValid,
                            e._strict
                              ? (e._isValid = !1)
                              : m.createFromInputFallback(e))))
                      : (e._d = new Date(+t[1]));
                  })(t)
                : a(n)
                ? ((t._a = r(n.slice(0), function (e) {
                    return parseInt(e, 10);
                  })),
                  Yt(t))
                : o(n)
                ? (function (e) {
                    var t, n;
                    e._d ||
                      ((n = void 0 === (t = G(e._i)).day ? t.date : t.day),
                      (e._a = r(
                        [
                          t.year,
                          t.month,
                          n,
                          t.hour,
                          t.minute,
                          t.second,
                          t.millisecond,
                        ],
                        function (e) {
                          return e && parseInt(e, 10);
                        }
                      )),
                      Yt(e));
                  })(t)
                : h(n)
                ? (t._d = new Date(n))
                : m.createFromInputFallback(t),
              y(e) || (e._d = null),
              e))
    );
  }
  function xt(e, t, n, s, i) {
    var r = {};
    return (
      (!0 !== t && !1 !== t) || ((s = t), (t = void 0)),
      (!0 !== n && !1 !== n) || ((s = n), (n = void 0)),
      ((o(e) && u(e)) || (a(e) && 0 === e.length)) && (e = void 0),
      (r._isAMomentObject = !0),
      (r._useUTC = r._isUTC = i),
      (r._l = n),
      (r._i = e),
      (r._f = t),
      (r._strict = s),
      (r = new v(ct(bt((r = r)))))._nextDay &&
        (r.add(1, "d"), (r._nextDay = void 0)),
      r
    );
  }
  function Tt(e, t, n, s) {
    return xt(e, t, n, s, !1);
  }
  (m.createFromInputFallback = n(
    "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
    function (e) {
      e._d = new Date(e._i + (e._useUTC ? " UTC" : ""));
    }
  )),
    (m.ISO_8601 = function () {}),
    (m.RFC_2822 = function () {});
  var Nt = n(
      "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
      function () {
        var e = Tt.apply(null, arguments);
        return this.isValid() && e.isValid() ? (e < this ? this : e) : g();
      }
    ),
    Pt = n(
      "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
      function () {
        var e = Tt.apply(null, arguments);
        return this.isValid() && e.isValid() ? (this < e ? this : e) : g();
      }
    );
  function Rt(e, t) {
    var n, s;
    if ((1 === t.length && a(t[0]) && (t = t[0]), !t.length)) return Tt();
    for (n = t[0], s = 1; s < t.length; ++s)
      (t[s].isValid() && !t[s][e](n)) || (n = t[s]);
    return n;
  }
  var Wt = [
    "year",
    "quarter",
    "month",
    "week",
    "day",
    "hour",
    "minute",
    "second",
    "millisecond",
  ];
  function Ct(e) {
    var t = G(e),
      n = t.year || 0,
      s = t.quarter || 0,
      i = t.month || 0,
      r = t.week || t.isoWeek || 0,
      a = t.day || 0,
      o = t.hour || 0,
      u = t.minute || 0,
      l = t.second || 0,
      e = t.millisecond || 0;
    (this._isValid = (function (e) {
      var t,
        n,
        s = !1,
        i = Wt.length;
      for (t in e)
        if (c(e, t) && (-1 === we.call(Wt, t) || (null != e[t] && isNaN(e[t]))))
          return !1;
      for (n = 0; n < i; ++n)
        if (e[Wt[n]]) {
          if (s) return !1;
          parseFloat(e[Wt[n]]) !== Z(e[Wt[n]]) && (s = !0);
        }
      return !0;
    })(t)),
      (this._milliseconds = +e + 1e3 * l + 6e4 * u + 1e3 * o * 60 * 60),
      (this._days = +a + 7 * r),
      (this._months = +i + 3 * s + 12 * n),
      (this._data = {}),
      (this._locale = dt()),
      this._bubble();
  }
  function Ut(e) {
    return e instanceof Ct;
  }
  function Ht(e) {
    return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e);
  }
  function Ft(e, n) {
    C(e, 0, 0, function () {
      var e = this.utcOffset(),
        t = "+";
      return (
        e < 0 && ((e = -e), (t = "-")),
        t + T(~~(e / 60), 2) + n + T(~~e % 60, 2)
      );
    });
  }
  Ft("Z", ":"),
    Ft("ZZ", ""),
    ce("Z", he),
    ce("ZZ", he),
    ye(["Z", "ZZ"], function (e, t, n) {
      (n._useUTC = !0), (n._tzm = Vt(he, e));
    });
  var Lt = /([\+\-]|\d\d)/gi;
  function Vt(e, t) {
    t = (t || "").match(e);
    return null === t
      ? null
      : 0 ===
        (t =
          60 *
            (e = ((t[t.length - 1] || []) + "").match(Lt) || ["-", 0, 0])[1] +
          Z(e[2]))
      ? 0
      : "+" === e[0]
      ? t
      : -t;
  }
  function Gt(e, t) {
    var n;
    return t._isUTC
      ? ((n = t.clone()),
        (t = (k(e) || i(e) ? e : Tt(e)).valueOf() - n.valueOf()),
        n._d.setTime(n._d.valueOf() + t),
        m.updateOffset(n, !1),
        n)
      : Tt(e).local();
  }
  function Et(e) {
    return -Math.round(e._d.getTimezoneOffset());
  }
  function At() {
    return !!this.isValid() && this._isUTC && 0 === this._offset;
  }
  m.updateOffset = function () {};
  var It = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
    jt =
      /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
  function Zt(e, t) {
    var n,
      s = e,
      i = null;
    return (
      Ut(e)
        ? (s = { ms: e._milliseconds, d: e._days, M: e._months })
        : h(e) || !isNaN(+e)
        ? ((s = {}), t ? (s[t] = +e) : (s.milliseconds = +e))
        : (i = It.exec(e))
        ? ((n = "-" === i[1] ? -1 : 1),
          (s = {
            y: 0,
            d: Z(i[ke]) * n,
            h: Z(i[Me]) * n,
            m: Z(i[De]) * n,
            s: Z(i[Se]) * n,
            ms: Z(Ht(1e3 * i[Ye])) * n,
          }))
        : (i = jt.exec(e))
        ? ((n = "-" === i[1] ? -1 : 1),
          (s = {
            y: zt(i[2], n),
            M: zt(i[3], n),
            w: zt(i[4], n),
            d: zt(i[5], n),
            h: zt(i[6], n),
            m: zt(i[7], n),
            s: zt(i[8], n),
          }))
        : null == s
        ? (s = {})
        : "object" == typeof s &&
          ("from" in s || "to" in s) &&
          ((n = (function (e, t) {
            var n;
            if (!e.isValid() || !t.isValid())
              return { milliseconds: 0, months: 0 };
            (t = Gt(t, e)),
              e.isBefore(t)
                ? (n = $t(e, t))
                : (((n = $t(t, e)).milliseconds = -n.milliseconds),
                  (n.months = -n.months));
            return n;
          })(Tt(s.from), Tt(s.to))),
          ((s = {}).ms = n.milliseconds),
          (s.M = n.months)),
      (s = new Ct(s)),
      Ut(e) && c(e, "_locale") && (s._locale = e._locale),
      Ut(e) && c(e, "_isValid") && (s._isValid = e._isValid),
      s
    );
  }
  function zt(e, t) {
    e = e && parseFloat(e.replace(",", "."));
    return (isNaN(e) ? 0 : e) * t;
  }
  function $t(e, t) {
    var n = {};
    return (
      (n.months = t.month() - e.month() + 12 * (t.year() - e.year())),
      e.clone().add(n.months, "M").isAfter(t) && --n.months,
      (n.milliseconds = +t - +e.clone().add(n.months, "M")),
      n
    );
  }
  function qt(s, i) {
    return function (e, t) {
      var n;
      return (
        null === t ||
          isNaN(+t) ||
          (Y(
            i,
            "moment()." +
              i +
              "(period, number) is deprecated. Please use moment()." +
              i +
              "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
          ),
          (n = e),
          (e = t),
          (t = n)),
        Bt(this, Zt(e, t), s),
        this
      );
    };
  }
  function Bt(e, t, n, s) {
    var i = t._milliseconds,
      r = Ht(t._days),
      t = Ht(t._months);
    e.isValid() &&
      ((s = null == s || s),
      t && Ce(e, $(e, "Month") + t * n),
      r && q(e, "Date", $(e, "Date") + r * n),
      i && e._d.setTime(e._d.valueOf() + i * n),
      s && m.updateOffset(e, r || t));
  }
  (Zt.fn = Ct.prototype),
    (Zt.invalid = function () {
      return Zt(NaN);
    });
  var Jt = qt(1, "add"),
    de = qt(-1, "subtract");
  function Qt(e) {
    return "string" == typeof e || e instanceof String;
  }
  function Xt(e) {
    return (
      k(e) ||
      i(e) ||
      Qt(e) ||
      h(e) ||
      (function (t) {
        var e = a(t),
          n = !1;
        e &&
          (n =
            0 ===
            t.filter(function (e) {
              return !h(e) && Qt(t);
            }).length);
        return e && n;
      })(e) ||
      (function (e) {
        var t,
          n,
          s = o(e) && !u(e),
          i = !1,
          r = [
            "years",
            "year",
            "y",
            "months",
            "month",
            "M",
            "days",
            "day",
            "d",
            "dates",
            "date",
            "D",
            "hours",
            "hour",
            "h",
            "minutes",
            "minute",
            "m",
            "seconds",
            "second",
            "s",
            "milliseconds",
            "millisecond",
            "ms",
          ],
          a = r.length;
        for (t = 0; t < a; t += 1) (n = r[t]), (i = i || c(e, n));
        return s && i;
      })(e) ||
      null == e
    );
  }
  function Kt(e, t) {
    if (e.date() < t.date()) return -Kt(t, e);
    var n = 12 * (t.year() - e.year()) + (t.month() - e.month()),
      s = e.clone().add(n, "months"),
      s =
        t - s < 0
          ? (t - s) / (s - e.clone().add(n - 1, "months"))
          : (t - s) / (e.clone().add(1 + n, "months") - s);
    return -(n + s) || 0;
  }
  function en(e) {
    return void 0 === e
      ? this._locale._abbr
      : (null != (e = dt(e)) && (this._locale = e), this);
  }
  (m.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"),
    (m.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]");
  ne = n(
    "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
    function (e) {
      return void 0 === e ? this.localeData() : this.locale(e);
    }
  );
  function tn() {
    return this._locale;
  }
  var nn = 126227808e5;
  function sn(e, t) {
    return ((e % t) + t) % t;
  }
  function rn(e, t, n) {
    return e < 100 && 0 <= e
      ? new Date(e + 400, t, n) - nn
      : new Date(e, t, n).valueOf();
  }
  function an(e, t, n) {
    return e < 100 && 0 <= e ? Date.UTC(e + 400, t, n) - nn : Date.UTC(e, t, n);
  }
  function on(e, t) {
    return t.erasAbbrRegex(e);
  }
  function un() {
    for (
      var e = [], t = [], n = [], s = [], i = this.eras(), r = 0, a = i.length;
      r < a;
      ++r
    )
      t.push(me(i[r].name)),
        e.push(me(i[r].abbr)),
        n.push(me(i[r].narrow)),
        s.push(me(i[r].name)),
        s.push(me(i[r].abbr)),
        s.push(me(i[r].narrow));
    (this._erasRegex = new RegExp("^(" + s.join("|") + ")", "i")),
      (this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i")),
      (this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i")),
      (this._erasNarrowRegex = new RegExp("^(" + n.join("|") + ")", "i"));
  }
  function ln(e, t) {
    C(0, [e, e.length], 0, t);
  }
  function hn(e, t, n, s, i) {
    var r;
    return null == e
      ? Ae(this, s, i).year
      : ((r = Ie(e, s, i)) < t && (t = r),
        function (e, t, n, s, i) {
          (i = Ee(e, t, n, s, i)), (i = Ve(i.year, 0, i.dayOfYear));
          return (
            this.year(i.getUTCFullYear()),
            this.month(i.getUTCMonth()),
            this.date(i.getUTCDate()),
            this
          );
        }.call(this, e, t, n, s, i));
  }
  C("N", 0, 0, "eraAbbr"),
    C("NN", 0, 0, "eraAbbr"),
    C("NNN", 0, 0, "eraAbbr"),
    C("NNNN", 0, 0, "eraName"),
    C("NNNNN", 0, 0, "eraNarrow"),
    C("y", ["y", 1], "yo", "eraYear"),
    C("y", ["yy", 2], 0, "eraYear"),
    C("y", ["yyy", 3], 0, "eraYear"),
    C("y", ["yyyy", 4], 0, "eraYear"),
    ce("N", on),
    ce("NN", on),
    ce("NNN", on),
    ce("NNNN", function (e, t) {
      return t.erasNameRegex(e);
    }),
    ce("NNNNN", function (e, t) {
      return t.erasNarrowRegex(e);
    }),
    ye(["N", "NN", "NNN", "NNNN", "NNNNN"], function (e, t, n, s) {
      s = n._locale.erasParse(e, s, n._strict);
      s ? (_(n).era = s) : (_(n).invalidEra = e);
    }),
    ce("y", oe),
    ce("yy", oe),
    ce("yyy", oe),
    ce("yyyy", oe),
    ce("yo", function (e, t) {
      return t._eraYearOrdinalRegex || oe;
    }),
    ye(["y", "yy", "yyy", "yyyy"], pe),
    ye(["yo"], function (e, t, n, s) {
      var i;
      n._locale._eraYearOrdinalRegex &&
        (i = e.match(n._locale._eraYearOrdinalRegex)),
        n._locale.eraYearOrdinalParse
          ? (t[pe] = n._locale.eraYearOrdinalParse(e, i))
          : (t[pe] = parseInt(e, 10));
    }),
    C(0, ["gg", 2], 0, function () {
      return this.weekYear() % 100;
    }),
    C(0, ["GG", 2], 0, function () {
      return this.isoWeekYear() % 100;
    }),
    ln("gggg", "weekYear"),
    ln("ggggg", "weekYear"),
    ln("GGGG", "isoWeekYear"),
    ln("GGGGG", "isoWeekYear"),
    L("weekYear", "gg"),
    L("isoWeekYear", "GG"),
    A("weekYear", 1),
    A("isoWeekYear", 1),
    ce("G", ue),
    ce("g", ue),
    ce("GG", te, Q),
    ce("gg", te, Q),
    ce("GGGG", re, K),
    ce("gggg", re, K),
    ce("GGGGG", ae, ee),
    ce("ggggg", ae, ee),
    ge(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, n, s) {
      t[s.substr(0, 2)] = Z(e);
    }),
    ge(["gg", "GG"], function (e, t, n, s) {
      t[s] = m.parseTwoDigitYear(e);
    }),
    C("Q", 0, "Qo", "quarter"),
    L("quarter", "Q"),
    A("quarter", 7),
    ce("Q", J),
    ye("Q", function (e, t) {
      t[ve] = 3 * (Z(e) - 1);
    }),
    C("D", ["DD", 2], "Do", "date"),
    L("date", "D"),
    A("date", 9),
    ce("D", te),
    ce("DD", te, Q),
    ce("Do", function (e, t) {
      return e
        ? t._dayOfMonthOrdinalParse || t._ordinalParse
        : t._dayOfMonthOrdinalParseLenient;
    }),
    ye(["D", "DD"], ke),
    ye("Do", function (e, t) {
      t[ke] = Z(e.match(te)[0]);
    });
  se = z("Date", !0);
  C("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
    L("dayOfYear", "DDD"),
    A("dayOfYear", 4),
    ce("DDD", ie),
    ce("DDDD", X),
    ye(["DDD", "DDDD"], function (e, t, n) {
      n._dayOfYear = Z(e);
    }),
    C("m", ["mm", 2], 0, "minute"),
    L("minute", "m"),
    A("minute", 14),
    ce("m", te),
    ce("mm", te, Q),
    ye(["m", "mm"], De);
  Te = z("Minutes", !1);
  C("s", ["ss", 2], 0, "second"),
    L("second", "s"),
    A("second", 15),
    ce("s", te),
    ce("ss", te, Q),
    ye(["s", "ss"], Se);
  var dn,
    Ze = z("Seconds", !1);
  for (
    C("S", 0, 0, function () {
      return ~~(this.millisecond() / 100);
    }),
      C(0, ["SS", 2], 0, function () {
        return ~~(this.millisecond() / 10);
      }),
      C(0, ["SSS", 3], 0, "millisecond"),
      C(0, ["SSSS", 4], 0, function () {
        return 10 * this.millisecond();
      }),
      C(0, ["SSSSS", 5], 0, function () {
        return 100 * this.millisecond();
      }),
      C(0, ["SSSSSS", 6], 0, function () {
        return 1e3 * this.millisecond();
      }),
      C(0, ["SSSSSSS", 7], 0, function () {
        return 1e4 * this.millisecond();
      }),
      C(0, ["SSSSSSSS", 8], 0, function () {
        return 1e5 * this.millisecond();
      }),
      C(0, ["SSSSSSSSS", 9], 0, function () {
        return 1e6 * this.millisecond();
      }),
      L("millisecond", "ms"),
      A("millisecond", 16),
      ce("S", ie, J),
      ce("SS", ie, Q),
      ce("SSS", ie, X),
      dn = "SSSS";
    dn.length <= 9;
    dn += "S"
  )
    ce(dn, oe);
  function cn(e, t) {
    t[Ye] = Z(1e3 * ("0." + e));
  }
  for (dn = "S"; dn.length <= 9; dn += "S") ye(dn, cn);
  ($e = z("Milliseconds", !1)),
    C("z", 0, 0, "zoneAbbr"),
    C("zz", 0, 0, "zoneName");
  re = v.prototype;
  function fn(e) {
    return e;
  }
  (re.add = Jt),
    (re.calendar = function (e, t) {
      1 === arguments.length &&
        (arguments[0]
          ? Xt(arguments[0])
            ? ((e = arguments[0]), (t = void 0))
            : (function (e) {
                for (
                  var t = o(e) && !u(e),
                    n = !1,
                    s = [
                      "sameDay",
                      "nextDay",
                      "lastDay",
                      "nextWeek",
                      "lastWeek",
                      "sameElse",
                    ],
                    i = 0;
                  i < s.length;
                  i += 1
                )
                  n = n || c(e, s[i]);
                return t && n;
              })(arguments[0]) && ((t = arguments[0]), (e = void 0))
          : (t = e = void 0));
      var n = e || Tt(),
        e = Gt(n, this).startOf("day"),
        e = m.calendarFormat(this, e) || "sameElse",
        t = t && (O(t[e]) ? t[e].call(this, n) : t[e]);
      return this.format(t || this.localeData().calendar(e, this, Tt(n)));
    }),
    (re.clone = function () {
      return new v(this);
    }),
    (re.diff = function (e, t, n) {
      var s, i, r;
      if (!this.isValid()) return NaN;
      if (!(s = Gt(e, this)).isValid()) return NaN;
      switch (((i = 6e4 * (s.utcOffset() - this.utcOffset())), (t = V(t)))) {
        case "year":
          r = Kt(this, s) / 12;
          break;
        case "month":
          r = Kt(this, s);
          break;
        case "quarter":
          r = Kt(this, s) / 3;
          break;
        case "second":
          r = (this - s) / 1e3;
          break;
        case "minute":
          r = (this - s) / 6e4;
          break;
        case "hour":
          r = (this - s) / 36e5;
          break;
        case "day":
          r = (this - s - i) / 864e5;
          break;
        case "week":
          r = (this - s - i) / 6048e5;
          break;
        default:
          r = this - s;
      }
      return n ? r : j(r);
    }),
    (re.endOf = function (e) {
      var t, n;
      if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid())
        return this;
      switch (((n = this._isUTC ? an : rn), e)) {
        case "year":
          t = n(this.year() + 1, 0, 1) - 1;
          break;
        case "quarter":
          t = n(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1;
          break;
        case "month":
          t = n(this.year(), this.month() + 1, 1) - 1;
          break;
        case "week":
          t =
            n(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
          break;
        case "isoWeek":
          t =
            n(
              this.year(),
              this.month(),
              this.date() - (this.isoWeekday() - 1) + 7
            ) - 1;
          break;
        case "day":
        case "date":
          t = n(this.year(), this.month(), this.date() + 1) - 1;
          break;
        case "hour":
          (t = this._d.valueOf()),
            (t +=
              36e5 -
              sn(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) -
              1);
          break;
        case "minute":
          (t = this._d.valueOf()), (t += 6e4 - sn(t, 6e4) - 1);
          break;
        case "second":
          (t = this._d.valueOf()), (t += 1e3 - sn(t, 1e3) - 1);
      }
      return this._d.setTime(t), m.updateOffset(this, !0), this;
    }),
    (re.format = function (e) {
      return (
        (e = e || (this.isUtc() ? m.defaultFormatUtc : m.defaultFormat)),
        (e = U(this, e)),
        this.localeData().postformat(e)
      );
    }),
    (re.from = function (e, t) {
      return this.isValid() && ((k(e) && e.isValid()) || Tt(e).isValid())
        ? Zt({ to: this, from: e }).locale(this.locale()).humanize(!t)
        : this.localeData().invalidDate();
    }),
    (re.fromNow = function (e) {
      return this.from(Tt(), e);
    }),
    (re.to = function (e, t) {
      return this.isValid() && ((k(e) && e.isValid()) || Tt(e).isValid())
        ? Zt({ from: this, to: e }).locale(this.locale()).humanize(!t)
        : this.localeData().invalidDate();
    }),
    (re.toNow = function (e) {
      return this.to(Tt(), e);
    }),
    (re.get = function (e) {
      return O(this[(e = V(e))]) ? this[e]() : this;
    }),
    (re.invalidAt = function () {
      return _(this).overflow;
    }),
    (re.isAfter = function (e, t) {
      return (
        (e = k(e) ? e : Tt(e)),
        !(!this.isValid() || !e.isValid()) &&
          ("millisecond" === (t = V(t) || "millisecond")
            ? this.valueOf() > e.valueOf()
            : e.valueOf() < this.clone().startOf(t).valueOf())
      );
    }),
    (re.isBefore = function (e, t) {
      return (
        (e = k(e) ? e : Tt(e)),
        !(!this.isValid() || !e.isValid()) &&
          ("millisecond" === (t = V(t) || "millisecond")
            ? this.valueOf() < e.valueOf()
            : this.clone().endOf(t).valueOf() < e.valueOf())
      );
    }),
    (re.isBetween = function (e, t, n, s) {
      return (
        (e = k(e) ? e : Tt(e)),
        (t = k(t) ? t : Tt(t)),
        !!(this.isValid() && e.isValid() && t.isValid()) &&
          ("(" === (s = s || "()")[0]
            ? this.isAfter(e, n)
            : !this.isBefore(e, n)) &&
          (")" === s[1] ? this.isBefore(t, n) : !this.isAfter(t, n))
      );
    }),
    (re.isSame = function (e, t) {
      return (
        (e = k(e) ? e : Tt(e)),
        !(!this.isValid() || !e.isValid()) &&
          ("millisecond" === (t = V(t) || "millisecond")
            ? this.valueOf() === e.valueOf()
            : ((e = e.valueOf()),
              this.clone().startOf(t).valueOf() <= e &&
                e <= this.clone().endOf(t).valueOf()))
      );
    }),
    (re.isSameOrAfter = function (e, t) {
      return this.isSame(e, t) || this.isAfter(e, t);
    }),
    (re.isSameOrBefore = function (e, t) {
      return this.isSame(e, t) || this.isBefore(e, t);
    }),
    (re.isValid = function () {
      return y(this);
    }),
    (re.lang = ne),
    (re.locale = en),
    (re.localeData = tn),
    (re.max = Pt),
    (re.min = Nt),
    (re.parsingFlags = function () {
      return d({}, _(this));
    }),
    (re.set = function (e, t) {
      if ("object" == typeof e)
        for (
          var n = (function (e) {
              var t,
                n = [];
              for (t in e) c(e, t) && n.push({ unit: t, priority: E[t] });
              return (
                n.sort(function (e, t) {
                  return e.priority - t.priority;
                }),
                n
              );
            })((e = G(e))),
            s = n.length,
            i = 0;
          i < s;
          i++
        )
          this[n[i].unit](e[n[i].unit]);
      else if (O(this[(e = V(e))])) return this[e](t);
      return this;
    }),
    (re.startOf = function (e) {
      var t, n;
      if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid())
        return this;
      switch (((n = this._isUTC ? an : rn), e)) {
        case "year":
          t = n(this.year(), 0, 1);
          break;
        case "quarter":
          t = n(this.year(), this.month() - (this.month() % 3), 1);
          break;
        case "month":
          t = n(this.year(), this.month(), 1);
          break;
        case "week":
          t = n(this.year(), this.month(), this.date() - this.weekday());
          break;
        case "isoWeek":
          t = n(
            this.year(),
            this.month(),
            this.date() - (this.isoWeekday() - 1)
          );
          break;
        case "day":
        case "date":
          t = n(this.year(), this.month(), this.date());
          break;
        case "hour":
          (t = this._d.valueOf()),
            (t -= sn(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5));
          break;
        case "minute":
          (t = this._d.valueOf()), (t -= sn(t, 6e4));
          break;
        case "second":
          (t = this._d.valueOf()), (t -= sn(t, 1e3));
      }
      return this._d.setTime(t), m.updateOffset(this, !0), this;
    }),
    (re.subtract = de),
    (re.toArray = function () {
      var e = this;
      return [
        e.year(),
        e.month(),
        e.date(),
        e.hour(),
        e.minute(),
        e.second(),
        e.millisecond(),
      ];
    }),
    (re.toObject = function () {
      var e = this;
      return {
        years: e.year(),
        months: e.month(),
        date: e.date(),
        hours: e.hours(),
        minutes: e.minutes(),
        seconds: e.seconds(),
        milliseconds: e.milliseconds(),
      };
    }),
    (re.toDate = function () {
      return new Date(this.valueOf());
    }),
    (re.toISOString = function (e) {
      if (!this.isValid()) return null;
      var t = !0 !== e;
      return (e = t ? this.clone().utc() : this).year() < 0 || 9999 < e.year()
        ? U(
            e,
            t
              ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"
              : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
          )
        : O(Date.prototype.toISOString)
        ? t
          ? this.toDate().toISOString()
          : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3)
              .toISOString()
              .replace("Z", U(e, "Z"))
        : U(
            e,
            t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
          );
    }),
    (re.inspect = function () {
      if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
      var e,
        t = "moment",
        n = "";
      return (
        this.isLocal() ||
          ((t = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone"),
          (n = "Z")),
        (e = "[" + t + '("]'),
        (t = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"),
        (n = n + '[")]'),
        this.format(e + t + "-MM-DD[T]HH:mm:ss.SSS" + n)
      );
    }),
    "undefined" != typeof Symbol &&
      null != Symbol.for &&
      (re[Symbol.for("nodejs.util.inspect.custom")] = function () {
        return "Moment<" + this.format() + ">";
      }),
    (re.toJSON = function () {
      return this.isValid() ? this.toISOString() : null;
    }),
    (re.toString = function () {
      return this.clone()
        .locale("en")
        .format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
    }),
    (re.unix = function () {
      return Math.floor(this.valueOf() / 1e3);
    }),
    (re.valueOf = function () {
      return this._d.valueOf() - 6e4 * (this._offset || 0);
    }),
    (re.creationData = function () {
      return {
        input: this._i,
        format: this._f,
        locale: this._locale,
        isUTC: this._isUTC,
        strict: this._strict,
      };
    }),
    (re.eraName = function () {
      for (
        var e, t = this.localeData().eras(), n = 0, s = t.length;
        n < s;
        ++n
      ) {
        if (
          ((e = this.clone().startOf("day").valueOf()),
          t[n].since <= e && e <= t[n].until)
        )
          return t[n].name;
        if (t[n].until <= e && e <= t[n].since) return t[n].name;
      }
      return "";
    }),
    (re.eraNarrow = function () {
      for (
        var e, t = this.localeData().eras(), n = 0, s = t.length;
        n < s;
        ++n
      ) {
        if (
          ((e = this.clone().startOf("day").valueOf()),
          t[n].since <= e && e <= t[n].until)
        )
          return t[n].narrow;
        if (t[n].until <= e && e <= t[n].since) return t[n].narrow;
      }
      return "";
    }),
    (re.eraAbbr = function () {
      for (
        var e, t = this.localeData().eras(), n = 0, s = t.length;
        n < s;
        ++n
      ) {
        if (
          ((e = this.clone().startOf("day").valueOf()),
          t[n].since <= e && e <= t[n].until)
        )
          return t[n].abbr;
        if (t[n].until <= e && e <= t[n].since) return t[n].abbr;
      }
      return "";
    }),
    (re.eraYear = function () {
      for (
        var e, t, n = this.localeData().eras(), s = 0, i = n.length;
        s < i;
        ++s
      )
        if (
          ((e = n[s].since <= n[s].until ? 1 : -1),
          (t = this.clone().startOf("day").valueOf()),
          (n[s].since <= t && t <= n[s].until) ||
            (n[s].until <= t && t <= n[s].since))
        )
          return (this.year() - m(n[s].since).year()) * e + n[s].offset;
      return this.year();
    }),
    (re.year = Le),
    (re.isLeapYear = function () {
      return I(this.year());
    }),
    (re.weekYear = function (e) {
      return hn.call(
        this,
        e,
        this.week(),
        this.weekday(),
        this.localeData()._week.dow,
        this.localeData()._week.doy
      );
    }),
    (re.isoWeekYear = function (e) {
      return hn.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4);
    }),
    (re.quarter = re.quarters =
      function (e) {
        return null == e
          ? Math.ceil((this.month() + 1) / 3)
          : this.month(3 * (e - 1) + (this.month() % 3));
      }),
    (re.month = Ue),
    (re.daysInMonth = function () {
      return xe(this.year(), this.month());
    }),
    (re.week = re.weeks =
      function (e) {
        var t = this.localeData().week(this);
        return null == e ? t : this.add(7 * (e - t), "d");
      }),
    (re.isoWeek = re.isoWeeks =
      function (e) {
        var t = Ae(this, 1, 4).week;
        return null == e ? t : this.add(7 * (e - t), "d");
      }),
    (re.weeksInYear = function () {
      var e = this.localeData()._week;
      return Ie(this.year(), e.dow, e.doy);
    }),
    (re.weeksInWeekYear = function () {
      var e = this.localeData()._week;
      return Ie(this.weekYear(), e.dow, e.doy);
    }),
    (re.isoWeeksInYear = function () {
      return Ie(this.year(), 1, 4);
    }),
    (re.isoWeeksInISOWeekYear = function () {
      return Ie(this.isoWeekYear(), 1, 4);
    }),
    (re.date = se),
    (re.day = re.days =
      function (e) {
        if (!this.isValid()) return null != e ? this : NaN;
        var t,
          n,
          s = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
        return null != e
          ? ((t = e),
            (n = this.localeData()),
            (e =
              "string" != typeof t
                ? t
                : isNaN(t)
                ? "number" == typeof (t = n.weekdaysParse(t))
                  ? t
                  : null
                : parseInt(t, 10)),
            this.add(e - s, "d"))
          : s;
      }),
    (re.weekday = function (e) {
      if (!this.isValid()) return null != e ? this : NaN;
      var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
      return null == e ? t : this.add(e - t, "d");
    }),
    (re.isoWeekday = function (e) {
      if (!this.isValid()) return null != e ? this : NaN;
      if (null == e) return this.day() || 7;
      var t =
        ((t = e),
        (e = this.localeData()),
        "string" == typeof t
          ? e.weekdaysParse(t) % 7 || 7
          : isNaN(t)
          ? null
          : t);
      return this.day(this.day() % 7 ? t : t - 7);
    }),
    (re.dayOfYear = function (e) {
      var t =
        Math.round(
          (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
        ) + 1;
      return null == e ? t : this.add(e - t, "d");
    }),
    (re.hour = re.hours = tt),
    (re.minute = re.minutes = Te),
    (re.second = re.seconds = Ze),
    (re.millisecond = re.milliseconds = $e),
    (re.utcOffset = function (e, t, n) {
      var s,
        i = this._offset || 0;
      if (!this.isValid()) return null != e ? this : NaN;
      if (null == e) return this._isUTC ? i : Et(this);
      if ("string" == typeof e) {
        if (null === (e = Vt(he, e))) return this;
      } else Math.abs(e) < 16 && !n && (e *= 60);
      return (
        !this._isUTC && t && (s = Et(this)),
        (this._offset = e),
        (this._isUTC = !0),
        null != s && this.add(s, "m"),
        i !== e &&
          (!t || this._changeInProgress
            ? Bt(this, Zt(e - i, "m"), 1, !1)
            : this._changeInProgress ||
              ((this._changeInProgress = !0),
              m.updateOffset(this, !0),
              (this._changeInProgress = null))),
        this
      );
    }),
    (re.utc = function (e) {
      return this.utcOffset(0, e);
    }),
    (re.local = function (e) {
      return (
        this._isUTC &&
          (this.utcOffset(0, e),
          (this._isUTC = !1),
          e && this.subtract(Et(this), "m")),
        this
      );
    }),
    (re.parseZone = function () {
      var e;
      return (
        null != this._tzm
          ? this.utcOffset(this._tzm, !1, !0)
          : "string" == typeof this._i &&
            (null != (e = Vt(le, this._i))
              ? this.utcOffset(e)
              : this.utcOffset(0, !0)),
        this
      );
    }),
    (re.hasAlignedHourOffset = function (e) {
      return (
        !!this.isValid() &&
        ((e = e ? Tt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 == 0)
      );
    }),
    (re.isDST = function () {
      return (
        this.utcOffset() > this.clone().month(0).utcOffset() ||
        this.utcOffset() > this.clone().month(5).utcOffset()
      );
    }),
    (re.isLocal = function () {
      return !!this.isValid() && !this._isUTC;
    }),
    (re.isUtcOffset = function () {
      return !!this.isValid() && this._isUTC;
    }),
    (re.isUtc = At),
    (re.isUTC = At),
    (re.zoneAbbr = function () {
      return this._isUTC ? "UTC" : "";
    }),
    (re.zoneName = function () {
      return this._isUTC ? "Coordinated Universal Time" : "";
    }),
    (re.dates = n("dates accessor is deprecated. Use date instead.", se)),
    (re.months = n("months accessor is deprecated. Use month instead", Ue)),
    (re.years = n("years accessor is deprecated. Use year instead", Le)),
    (re.zone = n(
      "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
      function (e, t) {
        return null != e
          ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this)
          : -this.utcOffset();
      }
    )),
    (re.isDSTShifted = n(
      "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
      function () {
        if (!l(this._isDSTShifted)) return this._isDSTShifted;
        var e,
          t = {};
        return (
          p(t, this),
          (t = bt(t))._a
            ? ((e = (t._isUTC ? f : Tt)(t._a)),
              (this._isDSTShifted =
                this.isValid() &&
                0 <
                  (function (e, t, n) {
                    for (
                      var s = Math.min(e.length, t.length),
                        i = Math.abs(e.length - t.length),
                        r = 0,
                        a = 0;
                      a < s;
                      a++
                    )
                      ((n && e[a] !== t[a]) || (!n && Z(e[a]) !== Z(t[a]))) &&
                        r++;
                    return r + i;
                  })(t._a, e.toArray())))
            : (this._isDSTShifted = !1),
          this._isDSTShifted
        );
      }
    ));
  K = x.prototype;
  function mn(e, t, n, s) {
    var i = dt(),
      t = f().set(s, t);
    return i[n](t, e);
  }
  function _n(e, t, n) {
    if ((h(e) && ((t = e), (e = void 0)), (e = e || ""), null != t))
      return mn(e, t, n, "month");
    for (var s = [], i = 0; i < 12; i++) s[i] = mn(e, i, n, "month");
    return s;
  }
  function yn(e, t, n, s) {
    t =
      ("boolean" == typeof e
        ? h(t) && ((n = t), (t = void 0))
        : ((t = e), (e = !1), h((n = t)) && ((n = t), (t = void 0))),
      t || "");
    var i,
      r = dt(),
      a = e ? r._week.dow : 0,
      o = [];
    if (null != n) return mn(t, (n + a) % 7, s, "day");
    for (i = 0; i < 7; i++) o[i] = mn(t, (i + a) % 7, s, "day");
    return o;
  }
  (K.calendar = function (e, t, n) {
    return O((e = this._calendar[e] || this._calendar.sameElse))
      ? e.call(t, n)
      : e;
  }),
    (K.longDateFormat = function (e) {
      var t = this._longDateFormat[e],
        n = this._longDateFormat[e.toUpperCase()];
      return t || !n
        ? t
        : ((this._longDateFormat[e] = n
            .match(N)
            .map(function (e) {
              return "MMMM" === e || "MM" === e || "DD" === e || "dddd" === e
                ? e.slice(1)
                : e;
            })
            .join("")),
          this._longDateFormat[e]);
    }),
    (K.invalidDate = function () {
      return this._invalidDate;
    }),
    (K.ordinal = function (e) {
      return this._ordinal.replace("%d", e);
    }),
    (K.preparse = fn),
    (K.postformat = fn),
    (K.relativeTime = function (e, t, n, s) {
      var i = this._relativeTime[n];
      return O(i) ? i(e, t, n, s) : i.replace(/%d/i, e);
    }),
    (K.pastFuture = function (e, t) {
      return O((e = this._relativeTime[0 < e ? "future" : "past"]))
        ? e(t)
        : e.replace(/%s/i, t);
    }),
    (K.set = function (e) {
      var t, n;
      for (n in e)
        c(e, n) && (O((t = e[n])) ? (this[n] = t) : (this["_" + n] = t));
      (this._config = e),
        (this._dayOfMonthOrdinalParseLenient = new RegExp(
          (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
            "|" +
            /\d{1,2}/.source
        ));
    }),
    (K.eras = function (e, t) {
      for (
        var n, s = this._eras || dt("en")._eras, i = 0, r = s.length;
        i < r;
        ++i
      )
        switch (
          ("string" == typeof s[i].since &&
            ((n = m(s[i].since).startOf("day")), (s[i].since = n.valueOf())),
          typeof s[i].until)
        ) {
          case "undefined":
            s[i].until = 1 / 0;
            break;
          case "string":
            (n = m(s[i].until).startOf("day").valueOf()),
              (s[i].until = n.valueOf());
        }
      return s;
    }),
    (K.erasParse = function (e, t, n) {
      var s,
        i,
        r,
        a,
        o,
        u = this.eras();
      for (e = e.toUpperCase(), s = 0, i = u.length; s < i; ++s)
        if (
          ((r = u[s].name.toUpperCase()),
          (a = u[s].abbr.toUpperCase()),
          (o = u[s].narrow.toUpperCase()),
          n)
        )
          switch (t) {
            case "N":
            case "NN":
            case "NNN":
              if (a === e) return u[s];
              break;
            case "NNNN":
              if (r === e) return u[s];
              break;
            case "NNNNN":
              if (o === e) return u[s];
          }
        else if (0 <= [r, a, o].indexOf(e)) return u[s];
    }),
    (K.erasConvertYear = function (e, t) {
      var n = e.since <= e.until ? 1 : -1;
      return void 0 === t
        ? m(e.since).year()
        : m(e.since).year() + (t - e.offset) * n;
    }),
    (K.erasAbbrRegex = function (e) {
      return (
        c(this, "_erasAbbrRegex") || un.call(this),
        e ? this._erasAbbrRegex : this._erasRegex
      );
    }),
    (K.erasNameRegex = function (e) {
      return (
        c(this, "_erasNameRegex") || un.call(this),
        e ? this._erasNameRegex : this._erasRegex
      );
    }),
    (K.erasNarrowRegex = function (e) {
      return (
        c(this, "_erasNarrowRegex") || un.call(this),
        e ? this._erasNarrowRegex : this._erasRegex
      );
    }),
    (K.months = function (e, t) {
      return e
        ? (a(this._months)
            ? this._months
            : this._months[
                (this._months.isFormat || Pe).test(t) ? "format" : "standalone"
              ])[e.month()]
        : a(this._months)
        ? this._months
        : this._months.standalone;
    }),
    (K.monthsShort = function (e, t) {
      return e
        ? (a(this._monthsShort)
            ? this._monthsShort
            : this._monthsShort[Pe.test(t) ? "format" : "standalone"])[
            e.month()
          ]
        : a(this._monthsShort)
        ? this._monthsShort
        : this._monthsShort.standalone;
    }),
    (K.monthsParse = function (e, t, n) {
      var s, i;
      if (this._monthsParseExact)
        return function (e, t, n) {
          var s,
            i,
            r,
            e = e.toLocaleLowerCase();
          if (!this._monthsParse)
            for (
              this._monthsParse = [],
                this._longMonthsParse = [],
                this._shortMonthsParse = [],
                s = 0;
              s < 12;
              ++s
            )
              (r = f([2e3, s])),
                (this._shortMonthsParse[s] = this.monthsShort(
                  r,
                  ""
                ).toLocaleLowerCase()),
                (this._longMonthsParse[s] = this.months(
                  r,
                  ""
                ).toLocaleLowerCase());
          return n
            ? "MMM" === t
              ? -1 !== (i = we.call(this._shortMonthsParse, e))
                ? i
                : null
              : -1 !== (i = we.call(this._longMonthsParse, e))
              ? i
              : null
            : "MMM" === t
            ? -1 !== (i = we.call(this._shortMonthsParse, e)) ||
              -1 !== (i = we.call(this._longMonthsParse, e))
              ? i
              : null
            : -1 !== (i = we.call(this._longMonthsParse, e)) ||
              -1 !== (i = we.call(this._shortMonthsParse, e))
            ? i
            : null;
        }.call(this, e, t, n);
      for (
        this._monthsParse ||
          ((this._monthsParse = []),
          (this._longMonthsParse = []),
          (this._shortMonthsParse = [])),
          s = 0;
        s < 12;
        s++
      ) {
        if (
          ((i = f([2e3, s])),
          n &&
            !this._longMonthsParse[s] &&
            ((this._longMonthsParse[s] = new RegExp(
              "^" + this.months(i, "").replace(".", "") + "$",
              "i"
            )),
            (this._shortMonthsParse[s] = new RegExp(
              "^" + this.monthsShort(i, "").replace(".", "") + "$",
              "i"
            ))),
          n ||
            this._monthsParse[s] ||
            ((i = "^" + this.months(i, "") + "|^" + this.monthsShort(i, "")),
            (this._monthsParse[s] = new RegExp(i.replace(".", ""), "i"))),
          n && "MMMM" === t && this._longMonthsParse[s].test(e))
        )
          return s;
        if (n && "MMM" === t && this._shortMonthsParse[s].test(e)) return s;
        if (!n && this._monthsParse[s].test(e)) return s;
      }
    }),
    (K.monthsRegex = function (e) {
      return this._monthsParseExact
        ? (c(this, "_monthsRegex") || He.call(this),
          e ? this._monthsStrictRegex : this._monthsRegex)
        : (c(this, "_monthsRegex") || (this._monthsRegex = We),
          this._monthsStrictRegex && e
            ? this._monthsStrictRegex
            : this._monthsRegex);
    }),
    (K.monthsShortRegex = function (e) {
      return this._monthsParseExact
        ? (c(this, "_monthsRegex") || He.call(this),
          e ? this._monthsShortStrictRegex : this._monthsShortRegex)
        : (c(this, "_monthsShortRegex") || (this._monthsShortRegex = Re),
          this._monthsShortStrictRegex && e
            ? this._monthsShortStrictRegex
            : this._monthsShortRegex);
    }),
    (K.week = function (e) {
      return Ae(e, this._week.dow, this._week.doy).week;
    }),
    (K.firstDayOfYear = function () {
      return this._week.doy;
    }),
    (K.firstDayOfWeek = function () {
      return this._week.dow;
    }),
    (K.weekdays = function (e, t) {
      return (
        (t = a(this._weekdays)
          ? this._weekdays
          : this._weekdays[
              e && !0 !== e && this._weekdays.isFormat.test(t)
                ? "format"
                : "standalone"
            ]),
        !0 === e ? je(t, this._week.dow) : e ? t[e.day()] : t
      );
    }),
    (K.weekdaysMin = function (e) {
      return !0 === e
        ? je(this._weekdaysMin, this._week.dow)
        : e
        ? this._weekdaysMin[e.day()]
        : this._weekdaysMin;
    }),
    (K.weekdaysShort = function (e) {
      return !0 === e
        ? je(this._weekdaysShort, this._week.dow)
        : e
        ? this._weekdaysShort[e.day()]
        : this._weekdaysShort;
    }),
    (K.weekdaysParse = function (e, t, n) {
      var s, i;
      if (this._weekdaysParseExact)
        return function (e, t, n) {
          var s,
            i,
            r,
            e = e.toLocaleLowerCase();
          if (!this._weekdaysParse)
            for (
              this._weekdaysParse = [],
                this._shortWeekdaysParse = [],
                this._minWeekdaysParse = [],
                s = 0;
              s < 7;
              ++s
            )
              (r = f([2e3, 1]).day(s)),
                (this._minWeekdaysParse[s] = this.weekdaysMin(
                  r,
                  ""
                ).toLocaleLowerCase()),
                (this._shortWeekdaysParse[s] = this.weekdaysShort(
                  r,
                  ""
                ).toLocaleLowerCase()),
                (this._weekdaysParse[s] = this.weekdays(
                  r,
                  ""
                ).toLocaleLowerCase());
          return n
            ? "dddd" === t
              ? -1 !== (i = we.call(this._weekdaysParse, e))
                ? i
                : null
              : "ddd" === t
              ? -1 !== (i = we.call(this._shortWeekdaysParse, e))
                ? i
                : null
              : -1 !== (i = we.call(this._minWeekdaysParse, e))
              ? i
              : null
            : "dddd" === t
            ? -1 !== (i = we.call(this._weekdaysParse, e)) ||
              -1 !== (i = we.call(this._shortWeekdaysParse, e)) ||
              -1 !== (i = we.call(this._minWeekdaysParse, e))
              ? i
              : null
            : "ddd" === t
            ? -1 !== (i = we.call(this._shortWeekdaysParse, e)) ||
              -1 !== (i = we.call(this._weekdaysParse, e)) ||
              -1 !== (i = we.call(this._minWeekdaysParse, e))
              ? i
              : null
            : -1 !== (i = we.call(this._minWeekdaysParse, e)) ||
              -1 !== (i = we.call(this._weekdaysParse, e)) ||
              -1 !== (i = we.call(this._shortWeekdaysParse, e))
            ? i
            : null;
        }.call(this, e, t, n);
      for (
        this._weekdaysParse ||
          ((this._weekdaysParse = []),
          (this._minWeekdaysParse = []),
          (this._shortWeekdaysParse = []),
          (this._fullWeekdaysParse = [])),
          s = 0;
        s < 7;
        s++
      ) {
        if (
          ((i = f([2e3, 1]).day(s)),
          n &&
            !this._fullWeekdaysParse[s] &&
            ((this._fullWeekdaysParse[s] = new RegExp(
              "^" + this.weekdays(i, "").replace(".", "\\.?") + "$",
              "i"
            )),
            (this._shortWeekdaysParse[s] = new RegExp(
              "^" + this.weekdaysShort(i, "").replace(".", "\\.?") + "$",
              "i"
            )),
            (this._minWeekdaysParse[s] = new RegExp(
              "^" + this.weekdaysMin(i, "").replace(".", "\\.?") + "$",
              "i"
            ))),
          this._weekdaysParse[s] ||
            ((i =
              "^" +
              this.weekdays(i, "") +
              "|^" +
              this.weekdaysShort(i, "") +
              "|^" +
              this.weekdaysMin(i, "")),
            (this._weekdaysParse[s] = new RegExp(i.replace(".", ""), "i"))),
          n && "dddd" === t && this._fullWeekdaysParse[s].test(e))
        )
          return s;
        if (n && "ddd" === t && this._shortWeekdaysParse[s].test(e)) return s;
        if (n && "dd" === t && this._minWeekdaysParse[s].test(e)) return s;
        if (!n && this._weekdaysParse[s].test(e)) return s;
      }
    }),
    (K.weekdaysRegex = function (e) {
      return this._weekdaysParseExact
        ? (c(this, "_weekdaysRegex") || Qe.call(this),
          e ? this._weekdaysStrictRegex : this._weekdaysRegex)
        : (c(this, "_weekdaysRegex") || (this._weekdaysRegex = qe),
          this._weekdaysStrictRegex && e
            ? this._weekdaysStrictRegex
            : this._weekdaysRegex);
    }),
    (K.weekdaysShortRegex = function (e) {
      return this._weekdaysParseExact
        ? (c(this, "_weekdaysRegex") || Qe.call(this),
          e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)
        : (c(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Be),
          this._weekdaysShortStrictRegex && e
            ? this._weekdaysShortStrictRegex
            : this._weekdaysShortRegex);
    }),
    (K.weekdaysMinRegex = function (e) {
      return this._weekdaysParseExact
        ? (c(this, "_weekdaysRegex") || Qe.call(this),
          e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)
        : (c(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Je),
          this._weekdaysMinStrictRegex && e
            ? this._weekdaysMinStrictRegex
            : this._weekdaysMinRegex);
    }),
    (K.isPM = function (e) {
      return "p" === (e + "").toLowerCase().charAt(0);
    }),
    (K.meridiem = function (e, t, n) {
      return 11 < e ? (n ? "pm" : "PM") : n ? "am" : "AM";
    }),
    lt("en", {
      eras: [
        {
          since: "0001-01-01",
          until: 1 / 0,
          offset: 1,
          name: "Anno Domini",
          narrow: "AD",
          abbr: "AD",
        },
        {
          since: "0000-12-31",
          until: -1 / 0,
          offset: 1,
          name: "Before Christ",
          narrow: "BC",
          abbr: "BC",
        },
      ],
      dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
      ordinal: function (e) {
        var t = e % 10;
        return (
          e +
          (1 === Z((e % 100) / 10)
            ? "th"
            : 1 == t
            ? "st"
            : 2 == t
            ? "nd"
            : 3 == t
            ? "rd"
            : "th")
        );
      },
    }),
    (m.lang = n("moment.lang is deprecated. Use moment.locale instead.", lt)),
    (m.langData = n(
      "moment.langData is deprecated. Use moment.localeData instead.",
      dt
    ));
  var gn = Math.abs;
  function wn(e, t, n, s) {
    n = Zt(t, n);
    return (
      (e._milliseconds += s * n._milliseconds),
      (e._days += s * n._days),
      (e._months += s * n._months),
      e._bubble()
    );
  }
  function pn(e) {
    return e < 0 ? Math.floor(e) : Math.ceil(e);
  }
  function vn(e) {
    return (4800 * e) / 146097;
  }
  function kn(e) {
    return (146097 * e) / 4800;
  }
  function Mn(e) {
    return function () {
      return this.as(e);
    };
  }
  (ae = Mn("ms")),
    (ee = Mn("s")),
    (J = Mn("m")),
    (Q = Mn("h")),
    (ie = Mn("d")),
    (X = Mn("w")),
    (Jt = Mn("M")),
    (Pt = Mn("Q")),
    (Nt = Mn("y"));
  function Dn(e) {
    return function () {
      return this.isValid() ? this._data[e] : NaN;
    };
  }
  (de = Dn("milliseconds")),
    (tt = Dn("seconds")),
    (Te = Dn("minutes")),
    (Ze = Dn("hours")),
    ($e = Dn("days")),
    (se = Dn("months")),
    (Le = Dn("years"));
  var Sn = Math.round,
    Yn = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 };
  function On(e, t, n, s) {
    var i = Zt(e).abs(),
      r = Sn(i.as("s")),
      a = Sn(i.as("m")),
      o = Sn(i.as("h")),
      u = Sn(i.as("d")),
      l = Sn(i.as("M")),
      h = Sn(i.as("w")),
      i = Sn(i.as("y")),
      u =
        (r <= n.ss ? ["s", r] : r < n.s && ["ss", r]) ||
        (a <= 1 && ["m"]) ||
        (a < n.m && ["mm", a]) ||
        (o <= 1 && ["h"]) ||
        (o < n.h && ["hh", o]) ||
        (u <= 1 && ["d"]) ||
        (u < n.d && ["dd", u]);
    return (
      null != n.w && (u = u || (h <= 1 && ["w"]) || (h < n.w && ["ww", h])),
      ((u = u ||
        (l <= 1 && ["M"]) ||
        (l < n.M && ["MM", l]) ||
        (i <= 1 && ["y"]) || ["yy", i])[2] = t),
      (u[3] = 0 < +e),
      (u[4] = s),
      function (e, t, n, s, i) {
        return i.relativeTime(t || 1, !!n, e, s);
      }.apply(null, u)
    );
  }
  var bn = Math.abs;
  function xn(e) {
    return (0 < e) - (e < 0) || +e;
  }
  function Tn() {
    if (!this.isValid()) return this.localeData().invalidDate();
    var e,
      t,
      n,
      s,
      i,
      r,
      a,
      o = bn(this._milliseconds) / 1e3,
      u = bn(this._days),
      l = bn(this._months),
      h = this.asSeconds();
    return h
      ? ((e = j(o / 60)),
        (t = j(e / 60)),
        (o %= 60),
        (e %= 60),
        (n = j(l / 12)),
        (l %= 12),
        (s = o ? o.toFixed(3).replace(/\.?0+$/, "") : ""),
        (i = h < 0 ? "-" : ""),
        (r = xn(this._months) !== xn(h) ? "-" : ""),
        (a = xn(this._days) !== xn(h) ? "-" : ""),
        (h = xn(this._milliseconds) !== xn(h) ? "-" : ""),
        i +
          "P" +
          (n ? r + n + "Y" : "") +
          (l ? r + l + "M" : "") +
          (u ? a + u + "D" : "") +
          (t || e || o ? "T" : "") +
          (t ? h + t + "H" : "") +
          (e ? h + e + "M" : "") +
          (o ? h + s + "S" : ""))
      : "P0D";
  }
  K = Ct.prototype;
  return (
    (K.isValid = function () {
      return this._isValid;
    }),
    (K.abs = function () {
      var e = this._data;
      return (
        (this._milliseconds = gn(this._milliseconds)),
        (this._days = gn(this._days)),
        (this._months = gn(this._months)),
        (e.milliseconds = gn(e.milliseconds)),
        (e.seconds = gn(e.seconds)),
        (e.minutes = gn(e.minutes)),
        (e.hours = gn(e.hours)),
        (e.months = gn(e.months)),
        (e.years = gn(e.years)),
        this
      );
    }),
    (K.add = function (e, t) {
      return wn(this, e, t, 1);
    }),
    (K.subtract = function (e, t) {
      return wn(this, e, t, -1);
    }),
    (K.as = function (e) {
      if (!this.isValid()) return NaN;
      var t,
        n,
        s = this._milliseconds;
      if ("month" === (e = V(e)) || "quarter" === e || "year" === e)
        switch (((t = this._days + s / 864e5), (n = this._months + vn(t)), e)) {
          case "month":
            return n;
          case "quarter":
            return n / 3;
          case "year":
            return n / 12;
        }
      else
        switch (((t = this._days + Math.round(kn(this._months))), e)) {
          case "week":
            return t / 7 + s / 6048e5;
          case "day":
            return t + s / 864e5;
          case "hour":
            return 24 * t + s / 36e5;
          case "minute":
            return 1440 * t + s / 6e4;
          case "second":
            return 86400 * t + s / 1e3;
          case "millisecond":
            return Math.floor(864e5 * t) + s;
          default:
            throw new Error("Unknown unit " + e);
        }
    }),
    (K.asMilliseconds = ae),
    (K.asSeconds = ee),
    (K.asMinutes = J),
    (K.asHours = Q),
    (K.asDays = ie),
    (K.asWeeks = X),
    (K.asMonths = Jt),
    (K.asQuarters = Pt),
    (K.asYears = Nt),
    (K.valueOf = function () {
      return this.isValid()
        ? this._milliseconds +
            864e5 * this._days +
            (this._months % 12) * 2592e6 +
            31536e6 * Z(this._months / 12)
        : NaN;
    }),
    (K._bubble = function () {
      var e = this._milliseconds,
        t = this._days,
        n = this._months,
        s = this._data;
      return (
        (0 <= e && 0 <= t && 0 <= n) ||
          (e <= 0 && t <= 0 && n <= 0) ||
          ((e += 864e5 * pn(kn(n) + t)), (n = t = 0)),
        (s.milliseconds = e % 1e3),
        (e = j(e / 1e3)),
        (s.seconds = e % 60),
        (e = j(e / 60)),
        (s.minutes = e % 60),
        (e = j(e / 60)),
        (s.hours = e % 24),
        (t += j(e / 24)),
        (n += e = j(vn(t))),
        (t -= pn(kn(e))),
        (e = j(n / 12)),
        (n %= 12),
        (s.days = t),
        (s.months = n),
        (s.years = e),
        this
      );
    }),
    (K.clone = function () {
      return Zt(this);
    }),
    (K.get = function (e) {
      return (e = V(e)), this.isValid() ? this[e + "s"]() : NaN;
    }),
    (K.milliseconds = de),
    (K.seconds = tt),
    (K.minutes = Te),
    (K.hours = Ze),
    (K.days = $e),
    (K.weeks = function () {
      return j(this.days() / 7);
    }),
    (K.months = se),
    (K.years = Le),
    (K.humanize = function (e, t) {
      if (!this.isValid()) return this.localeData().invalidDate();
      var n = !1,
        s = Yn;
      return (
        "object" == typeof e && ((t = e), (e = !1)),
        "boolean" == typeof e && (n = e),
        "object" == typeof t &&
          ((s = Object.assign({}, Yn, t)),
          null != t.s && null == t.ss && (s.ss = t.s - 1)),
        (t = this.localeData()),
        (s = On(this, !n, s, t)),
        n && (s = t.pastFuture(+this, s)),
        t.postformat(s)
      );
    }),
    (K.toISOString = Tn),
    (K.toString = Tn),
    (K.toJSON = Tn),
    (K.locale = en),
    (K.localeData = tn),
    (K.toIsoString = n(
      "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
      Tn
    )),
    (K.lang = ne),
    C("X", 0, 0, "unix"),
    C("x", 0, 0, "valueOf"),
    ce("x", ue),
    ce("X", /[+-]?\d+(\.\d{1,3})?/),
    ye("X", function (e, t, n) {
      n._d = new Date(1e3 * parseFloat(e));
    }),
    ye("x", function (e, t, n) {
      n._d = new Date(Z(e));
    }),
    (m.version = "2.29.3"),
    (e = Tt),
    (m.fn = re),
    (m.min = function () {
      return Rt("isBefore", [].slice.call(arguments, 0));
    }),
    (m.max = function () {
      return Rt("isAfter", [].slice.call(arguments, 0));
    }),
    (m.now = function () {
      return Date.now ? Date.now() : +new Date();
    }),
    (m.utc = f),
    (m.unix = function (e) {
      return Tt(1e3 * e);
    }),
    (m.months = function (e, t) {
      return _n(e, t, "months");
    }),
    (m.isDate = i),
    (m.locale = lt),
    (m.invalid = g),
    (m.duration = Zt),
    (m.isMoment = k),
    (m.weekdays = function (e, t, n) {
      return yn(e, t, n, "weekdays");
    }),
    (m.parseZone = function () {
      return Tt.apply(null, arguments).parseZone();
    }),
    (m.localeData = dt),
    (m.isDuration = Ut),
    (m.monthsShort = function (e, t) {
      return _n(e, t, "monthsShort");
    }),
    (m.weekdaysMin = function (e, t, n) {
      return yn(e, t, n, "weekdaysMin");
    }),
    (m.defineLocale = ht),
    (m.updateLocale = function (e, t) {
      var n, s;
      return (
        null != t
          ? ((s = st),
            null != it[e] && null != it[e].parentLocale
              ? it[e].set(b(it[e]._config, t))
              : (null != (n = ut(e)) && (s = n._config),
                (t = b(s, t)),
                null == n && (t.abbr = e),
                ((t = new x(t)).parentLocale = it[e]),
                (it[e] = t)),
            lt(e))
          : null != it[e] &&
            (null != it[e].parentLocale
              ? ((it[e] = it[e].parentLocale), e === lt() && lt(e))
              : null != it[e] && delete it[e]),
        it[e]
      );
    }),
    (m.locales = function () {
      return D(it);
    }),
    (m.weekdaysShort = function (e, t, n) {
      return yn(e, t, n, "weekdaysShort");
    }),
    (m.normalizeUnits = V),
    (m.relativeTimeRounding = function (e) {
      return void 0 === e ? Sn : "function" == typeof e && ((Sn = e), !0);
    }),
    (m.relativeTimeThreshold = function (e, t) {
      return (
        void 0 !== Yn[e] &&
        (void 0 === t ? Yn[e] : ((Yn[e] = t), "s" === e && (Yn.ss = t - 1), !0))
      );
    }),
    (m.calendarFormat = function (e, t) {
      return (t = e.diff(t, "days", !0)) < -6
        ? "sameElse"
        : t < -1
        ? "lastWeek"
        : t < 0
        ? "lastDay"
        : t < 1
        ? "sameDay"
        : t < 2
        ? "nextDay"
        : t < 7
        ? "nextWeek"
        : "sameElse";
    }),
    (m.prototype = re),
    (m.HTML5_FMT = {
      DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
      DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
      DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
      DATE: "YYYY-MM-DD",
      TIME: "HH:mm",
      TIME_SECONDS: "HH:mm:ss",
      TIME_MS: "HH:mm:ss.SSS",
      WEEK: "GGGG-[W]WW",
      MONTH: "YYYY-MM",
    }),
    m
  );
});
!(function (a, i) {
  "use strict";
  "object" == typeof module && module.exports
    ? (module.exports = i(require("moment")))
    : "function" == typeof define && define.amd
    ? define(["moment"], i)
    : i(a.moment);
})(this, function (o) {
  "use strict";
  void 0 === o.version && o.default && (o = o.default);
  var i,
    c = {},
    A = {},
    n = {},
    s = {},
    u = {};
  (o && "string" == typeof o.version) ||
    y(
      "Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/"
    );
  var a = o.version.split("."),
    e = +a[0],
    r = +a[1];
  function t(a) {
    return 96 < a ? a - 87 : 64 < a ? a - 29 : a - 48;
  }
  function m(a) {
    var i = 0,
      e = a.split("."),
      r = e[0],
      o = e[1] || "",
      c = 1,
      A = 0,
      e = 1;
    for (45 === a.charCodeAt(0) && (e = -(i = 1)); i < r.length; i++)
      A = 60 * A + t(r.charCodeAt(i));
    for (i = 0; i < o.length; i++) (c /= 60), (A += t(o.charCodeAt(i)) * c);
    return A * e;
  }
  function l(a) {
    for (var i = 0; i < a.length; i++) a[i] = m(a[i]);
  }
  function f(a, i) {
    for (var e = [], r = 0; r < i.length; r++) e[r] = a[i[r]];
    return e;
  }
  function p(a) {
    var i = a.split("|"),
      e = i[2].split(" "),
      r = i[3].split(""),
      a = i[4].split(" ");
    return (
      l(e),
      l(r),
      l(a),
      (function (a, i) {
        for (var e = 0; e < i; e++)
          a[e] = Math.round((a[e - 1] || 0) + 6e4 * a[e]);
        a[i - 1] = 1 / 0;
      })(a, r.length),
      {
        name: i[0],
        abbrs: f(i[1].split(" "), r),
        offsets: f(e, r),
        untils: a,
        population: 0 | i[5],
      }
    );
  }
  function M(a) {
    a && this._set(p(a));
  }
  function b(a, i) {
    (this.name = a), (this.zones = i);
  }
  function d(a) {
    var i = a.toTimeString(),
      e = i.match(/\([a-z ]+\)/i);
    "GMT" ===
      (e =
        e && e[0]
          ? (e = e[0].match(/[A-Z]/g))
            ? e.join("")
            : void 0
          : (e = i.match(/[A-Z]{3,5}/g))
          ? e[0]
          : void 0) && (e = void 0),
      (this.at = +a),
      (this.abbr = e),
      (this.offset = a.getTimezoneOffset());
  }
  function h(a) {
    (this.zone = a), (this.offsetScore = 0), (this.abbrScore = 0);
  }
  function g() {
    for (
      var a,
        i,
        e = new Date().getFullYear() - 2,
        r = new d(new Date(e, 0, 1)),
        o = [r],
        c = 1;
      c < 48;
      c++
    )
      (i = new d(new Date(e, c, 1))).offset !== r.offset &&
        ((a = (function (a, i) {
          for (var e; (e = 6e4 * (((i.at - a.at) / 12e4) | 0)); )
            (e = new d(new Date(a.at + e))).offset === a.offset
              ? (a = e)
              : (i = e);
          return a;
        })(r, i)),
        o.push(a),
        o.push(new d(new Date(a.at + 6e4)))),
        (r = i);
    for (c = 0; c < 4; c++)
      o.push(new d(new Date(e + c, 0, 1))),
        o.push(new d(new Date(e + c, 6, 1)));
    return o;
  }
  function E(a, i) {
    return a.offsetScore !== i.offsetScore
      ? a.offsetScore - i.offsetScore
      : a.abbrScore !== i.abbrScore
      ? a.abbrScore - i.abbrScore
      : a.zone.population !== i.zone.population
      ? i.zone.population - a.zone.population
      : i.zone.name.localeCompare(a.zone.name);
  }
  function z() {
    try {
      var a = Intl.DateTimeFormat().resolvedOptions().timeZone;
      if (a && 3 < a.length) {
        var i = s[P(a)];
        if (i) return i;
        y(
          "Moment Timezone found " +
            a +
            " from the Intl api, but did not have that data loaded."
        );
      }
    } catch (a) {}
    for (
      var e,
        r,
        o = g(),
        c = o.length,
        A = (function (a) {
          for (var i, e, r = a.length, o = {}, c = [], A = 0; A < r; A++)
            for (i in (e = u[a[A].offset] || {}))
              e.hasOwnProperty(i) && (o[i] = !0);
          for (A in o) o.hasOwnProperty(A) && c.push(s[A]);
          return c;
        })(o),
        n = [],
        t = 0;
      t < A.length;
      t++
    ) {
      for (e = new h(T(A[t])), r = 0; r < c; r++) e.scoreOffsetAt(o[r]);
      n.push(e);
    }
    return n.sort(E), 0 < n.length ? n[0].zone.name : void 0;
  }
  function P(a) {
    return (a || "").toLowerCase().replace(/\//g, "_");
  }
  function S(a) {
    var i, e, r, o;
    for ("string" == typeof a && (a = [a]), i = 0; i < a.length; i++)
      (o = P((e = (r = a[i].split("|"))[0]))),
        (c[o] = a[i]),
        (s[o] = e),
        (function (a, i) {
          var e, r;
          for (l(i), e = 0; e < i.length; e++)
            (r = i[e]), (u[r] = u[r] || {}), (u[r][a] = !0);
        })(o, r[2].split(" "));
  }
  function T(a, i) {
    a = P(a);
    var e,
      r = c[a];
    return r instanceof M
      ? r
      : "string" == typeof r
      ? ((r = new M(r)), (c[a] = r))
      : A[a] && i !== T && (e = T(A[a], T))
      ? ((r = c[a] = new M())._set(e), (r.name = s[a]), r)
      : null;
  }
  function _(a) {
    var i, e, r, o;
    for ("string" == typeof a && (a = [a]), i = 0; i < a.length; i++)
      (r = P((e = a[i].split("|"))[0])),
        (o = P(e[1])),
        (A[r] = o),
        (s[r] = e[0]),
        (A[o] = r),
        (s[o] = e[1]);
  }
  function k(a) {
    S(a.zones),
      _(a.links),
      (function (a) {
        var i, e, r;
        if (a && a.length)
          for (i = 0; i < a.length; i++)
            (e = (r = a[i].split("|"))[0].toUpperCase()),
              (r = r[1].split(" ")),
              (n[e] = new b(e, r));
      })(a.countries),
      (O.dataVersion = a.version);
  }
  function B(a) {
    return (
      B.didShowError ||
        ((B.didShowError = !0),
        y(
          "moment.tz.zoneExists('" +
            a +
            "') has been deprecated in favor of !moment.tz.zone('" +
            a +
            "')"
        )),
      !!T(a)
    );
  }
  function C(a) {
    var i = "X" === a._f || "x" === a._f;
    return !(!a._a || void 0 !== a._tzm || i);
  }
  function y(a) {
    "undefined" != typeof console &&
      "function" == typeof console.error &&
      console.error(a);
  }
  function O(a) {
    var i = Array.prototype.slice.call(arguments, 0, -1),
      e = arguments[arguments.length - 1],
      r = T(e),
      i = o.utc.apply(null, i);
    return (
      r && !o.isMoment(a) && C(i) && i.add(r.parse(i), "minutes"), i.tz(e), i
    );
  }
  (e < 2 || (2 == e && r < 6)) &&
    y(
      "Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js " +
        o.version +
        ". See momentjs.com"
    ),
    (M.prototype = {
      _set: function (a) {
        (this.name = a.name),
          (this.abbrs = a.abbrs),
          (this.untils = a.untils),
          (this.offsets = a.offsets),
          (this.population = a.population);
      },
      _index: function (a) {
        for (var i = +a, e = this.untils, r = 0; r < e.length; r++)
          if (i < e[r]) return r;
      },
      countries: function () {
        var i = this.name;
        return Object.keys(n).filter(function (a) {
          return -1 !== n[a].zones.indexOf(i);
        });
      },
      parse: function (a) {
        for (
          var i,
            e,
            r,
            o = +a,
            c = this.offsets,
            A = this.untils,
            n = A.length - 1,
            t = 0;
          t < n;
          t++
        )
          if (
            ((i = c[t]),
            (e = c[t + 1]),
            (r = c[t && t - 1]),
            i < e && O.moveAmbiguousForward
              ? (i = e)
              : r < i && O.moveInvalidForward && (i = r),
            o < A[t] - 6e4 * i)
          )
            return c[t];
        return c[n];
      },
      abbr: function (a) {
        return this.abbrs[this._index(a)];
      },
      offset: function (a) {
        return (
          y("zone.offset has been deprecated in favor of zone.utcOffset"),
          this.offsets[this._index(a)]
        );
      },
      utcOffset: function (a) {
        return this.offsets[this._index(a)];
      },
    }),
    (h.prototype.scoreOffsetAt = function (a) {
      (this.offsetScore += Math.abs(this.zone.utcOffset(a.at) - a.offset)),
        this.zone.abbr(a.at).replace(/[^A-Z]/g, "") !== a.abbr &&
          this.abbrScore++;
    }),
    (O.version = "0.5.34"),
    (O.dataVersion = ""),
    (O._zones = c),
    (O._links = A),
    (O._names = s),
    (O._countries = n),
    (O.add = S),
    (O.link = _),
    (O.load = k),
    (O.zone = T),
    (O.zoneExists = B),
    (O.guess = function (a) {
      return (i && !a) || (i = z()), i;
    }),
    (O.names = function () {
      var a,
        i = [];
      for (a in s)
        s.hasOwnProperty(a) && (c[a] || c[A[a]]) && s[a] && i.push(s[a]);
      return i.sort();
    }),
    (O.Zone = M),
    (O.unpack = p),
    (O.unpackBase60 = m),
    (O.needsOffset = C),
    (O.moveInvalidForward = !0),
    (O.moveAmbiguousForward = !1),
    (O.countries = function () {
      return Object.keys(n);
    }),
    (O.zonesForCountry = function (a, i) {
      var e;
      return (
        (e = (e = a).toUpperCase()),
        (a = n[e] || null)
          ? ((a = a.zones.sort()),
            i
              ? a.map(function (a) {
                  return { name: a, offset: T(a).utcOffset(new Date()) };
                })
              : a)
          : null
      );
    });
  var L,
    a = o.fn;
  function N(a) {
    return function () {
      return this._z ? this._z.abbr(this) : a.call(this);
    };
  }
  function D(a) {
    return function () {
      return (this._z = null), a.apply(this, arguments);
    };
  }
  (o.tz = O),
    (o.defaultZone = null),
    (o.updateOffset = function (a, i) {
      var e,
        r = o.defaultZone;
      void 0 === a._z &&
        (r &&
          C(a) &&
          !a._isUTC &&
          ((a._d = o.utc(a._a)._d), a.utc().add(r.parse(a), "minutes")),
        (a._z = r)),
        a._z &&
          ((e = a._z.utcOffset(a)),
          Math.abs(e) < 16 && (e /= 60),
          void 0 !== a.utcOffset
            ? ((r = a._z), a.utcOffset(-e, i), (a._z = r))
            : a.zone(e, i));
    }),
    (a.tz = function (a, i) {
      if (a) {
        if ("string" != typeof a)
          throw new Error(
            "Time zone name must be a string, got " + a + " [" + typeof a + "]"
          );
        return (
          (this._z = T(a)),
          this._z
            ? o.updateOffset(this, i)
            : y(
                "Moment Timezone has no data for " +
                  a +
                  ". See http://momentjs.com/timezone/docs/#/data-loading/."
              ),
          this
        );
      }
      if (this._z) return this._z.name;
    }),
    (a.zoneName = N(a.zoneName)),
    (a.zoneAbbr = N(a.zoneAbbr)),
    (a.utc = D(a.utc)),
    (a.local = D(a.local)),
    (a.utcOffset =
      ((L = a.utcOffset),
      function () {
        return (
          0 < arguments.length && (this._z = null), L.apply(this, arguments)
        );
      })),
    (o.tz.setDefault = function (a) {
      return (
        (e < 2 || (2 == e && r < 9)) &&
          y(
            "Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js " +
              o.version +
              "."
          ),
        (o.defaultZone = a ? T(a) : null),
        o
      );
    });
  a = o.momentProperties;
  return (
    "[object Array]" === Object.prototype.toString.call(a)
      ? (a.push("_z"), a.push("_a"))
      : a && (a._z = null),
    k({
      version: "2021e",
      zones: [
        "Africa/Abidjan|GMT|0|0||48e5",
        "Africa/Nairobi|EAT|-30|0||47e5",
        "Africa/Algiers|CET|-10|0||26e5",
        "Africa/Lagos|WAT|-10|0||17e6",
        "Africa/Maputo|CAT|-20|0||26e5",
        "Africa/Cairo|EET|-20|0||15e6",
        "Africa/Casablanca|+00 +01|0 -10|0101010101010101010101010101|1QyO0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00|32e5",
        "Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|11e6",
        "Africa/Johannesburg|SAST|-20|0||84e5",
        "Africa/Juba|EAT CAT|-30 -20|01|24nx0|",
        "Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5",
        "Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|",
        "Africa/Windhoek|CAT WAT|-20 -10|01010|1QBA0 11B0 1nX0 11B0|32e4",
        "America/Adak|HST HDT|a0 90|01010101010101010101010|1Qto0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
        "America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1Qtn0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
        "America/Santo_Domingo|AST|40|0||29e5",
        "America/Fortaleza|-03|30|0||34e5",
        "America/Asuncion|-03 -04|30 40|01010101010101010101010|1QyP0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5",
        "America/Panama|EST|50|0||15e5",
        "America/Mexico_City|CST CDT|60 50|01010101010101010101010|1QBI0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|20e6",
        "America/Managua|CST|60|0||22e5",
        "America/La_Paz|-04|40|0||19e5",
        "America/Lima|-05|50|0||11e6",
        "America/Denver|MST MDT|70 60|01010101010101010101010|1Qtl0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
        "America/Campo_Grande|-03 -04|30 40|01010101|1QkP0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4",
        "America/Caracas|-0430 -04|4u 40|01|1QMT0|29e5",
        "America/Chicago|CST CDT|60 50|01010101010101010101010|1Qtk0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
        "America/Chihuahua|MST MDT|70 60|01010101010101010101010|1QBJ0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|81e4",
        "America/Phoenix|MST|70|0||42e5",
        "America/Whitehorse|PST PDT MST|80 70 70|01010101012|1Qtm0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3",
        "America/New_York|EST EDT|50 40|01010101010101010101010|1Qtj0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
        "America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1Qtm0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
        "America/Halifax|AST ADT|40 30|01010101010101010101010|1Qti0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
        "America/Godthab|-03 -02|30 20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e3",
        "America/Grand_Turk|AST EDT EST|40 40 50|0121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2",
        "America/Havana|CST CDT|50 40|01010101010101010101010|1Qth0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
        "America/Metlakatla|AKST AKDT PST|90 80 80|010101201010101010101010|1Qtn0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
        "America/Miquelon|-03 -02|30 20|01010101010101010101010|1Qth0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
        "America/Noronha|-02|20|0||30e2",
        "America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1SST0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
        "Antarctica/Palmer|-03 -04|30 40|010|1QSr0 Ap0|40",
        "America/Santiago|-03 -04|30 40|01010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5",
        "America/Sao_Paulo|-02 -03|20 30|01010101|1QkO0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
        "Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e4",
        "America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1Qthu 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
        "Antarctica/Casey|+08 +11|-80 -b0|01010101|1RWg0 3m10 1o30 14k0 1kr0 12l0 1o01|10",
        "Asia/Bangkok|+07|-70|0||15e6",
        "Asia/Vladivostok|+10|-a0|0||60e4",
        "Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1QBs0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5",
        "Asia/Tashkent|+05|-50|0||23e5",
        "Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00|14e5",
        "Asia/Baghdad|+03|-30|0||66e5",
        "Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|40",
        "Asia/Dhaka|+06|-60|0||16e6",
        "Asia/Amman|EET EEST|-20 -30|01010101010101010101010|1QAK0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00 LA0 1C00 Oo0 1zc0 Oo0 1C00 LA0 1C00|25e5",
        "Asia/Kamchatka|+12|-c0|0||18e4",
        "Asia/Dubai|+04|-40|0||39e5",
        "Asia/Barnaul|+06 +07|-60 -70|01|1QyI0|",
        "Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1QyK0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5",
        "Asia/Kuala_Lumpur|+08|-80|0||71e5",
        "Asia/Kolkata|IST|-5u|0||15e6",
        "Asia/Chita|+08 +09|-80 -90|01|1QyG0|33e4",
        "Asia/Ulaanbaatar|+08 +09|-80 -90|010|1Qyi0 1cJ0|12e5",
        "Asia/Shanghai|CST|-80|0||23e6",
        "Asia/Colombo|+0530|-5u|0||22e5",
        "Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1QxW0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5",
        "Asia/Yakutsk|+09|-90|0||28e4",
        "Asia/Famagusta|EET EEST +03|-20 -30 -30|0120101010101010101010|1QyN0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|",
        "Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1Qyn0 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0|18e5",
        "Asia/Hong_Kong|HKT|-80|0||73e5",
        "Asia/Hovd|+07 +08|-70 -80|010|1Qyj0 1cJ0|81e3",
        "Europe/Istanbul|EET EEST +03|-20 -30 -30|012|1QyN0 15w0|13e6",
        "Asia/Jakarta|WIB|-70|0||31e6",
        "Asia/Jayapura|WIT|-90|0||26e4",
        "Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1Qy00 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4",
        "Asia/Kabul|+0430|-4u|0||46e5",
        "Asia/Karachi|PKT|-50|0||24e6",
        "Asia/Kathmandu|+0545|-5J|0||12e5",
        "Asia/Magadan|+10 +11|-a0 -b0|01|1QJQ0|95e3",
        "Asia/Makassar|WITA|-80|0||15e5",
        "Asia/Manila|PST|-80|0||24e6",
        "Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|35e5",
        "Asia/Novosibirsk|+06 +07|-60 -70|01|1Rmk0|15e5",
        "Asia/Pyongyang|KST KST|-8u -90|01|1VGf0|29e5",
        "Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4",
        "Asia/Rangoon|+0630|-6u|0||48e5",
        "Asia/Sakhalin|+10 +11|-a0 -b0|01|1QyE0|58e4",
        "Asia/Seoul|KST|-90|0||23e6",
        "Pacific/Bougainville|+11|-b0|0||18e4",
        "Asia/Tehran|+0330 +0430|-3u -4u|01010101010101010101010|1Qwku 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
        "Asia/Tokyo|JST|-90|0||38e6",
        "Asia/Tomsk|+06 +07|-60 -70|01|1QXU0|10e5",
        "Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5",
        "Atlantic/Cape_Verde|-01|10|0||50e4",
        "Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1QBsu 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5",
        "Australia/Brisbane|AEST|-a0|0||20e5",
        "Australia/Darwin|ACST|-9u|0||12e4",
        "Australia/Eucla|+0845|-8J|0||368",
        "Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1QBr0 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu|347",
        "Australia/Perth|AWST|-80|0||18e5",
        "Pacific/Easter|-05 -06|50 60|01010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2",
        "Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5",
        "Etc/GMT-1|+01|-10|0||",
        "Pacific/Fakaofo|+13|-d0|0||483",
        "Pacific/Kiritimati|+14|-e0|0||51e2",
        "Etc/GMT-2|+02|-20|0||",
        "Pacific/Tahiti|-10|a0|0||18e4",
        "Pacific/Niue|-11|b0|0||12e2",
        "Etc/GMT+12|-12|c0|0||",
        "Pacific/Galapagos|-06|60|0||25e3",
        "Etc/GMT+7|-07|70|0||",
        "Pacific/Pitcairn|-08|80|0||56",
        "Pacific/Gambier|-09|90|0||125",
        "Etc/UTC|UTC|0|0||",
        "Europe/Ulyanovsk|+03 +04|-30 -40|01|1QyL0|13e5",
        "Europe/London|GMT BST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|10e6",
        "Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1QyM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|67e4",
        "Europe/Moscow|MSK|-30|0||16e6",
        "Europe/Saratov|+03 +04|-30 -40|01|1Sfz0|",
        "Europe/Volgograd|+03 +04|-30 -40|010|1WQL0 5gn0|10e5",
        "Pacific/Honolulu|HST|a0|0||37e4",
        "MET|MET MEST|-10 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|",
        "Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00|600",
        "Pacific/Apia|+14 +13|-e0 -d0|010101010101|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3",
        "Pacific/Fiji|+13 +12|-d0 -c0|010101010101010101010|1Q6C0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 4q00 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0|88e4",
        "Pacific/Guam|ChST|-a0|0||17e4",
        "Pacific/Marquesas|-0930|9u|0||86e2",
        "Pacific/Pago_Pago|SST|b0|0||37e2",
        "Pacific/Norfolk|+11 +12|-b0 -c0|0101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4",
        "Pacific/Tongatapu|+13 +14|-d0 -e0|010|1S4d0 s00|75e3",
      ],
      links: [
        "Africa/Abidjan|Africa/Accra",
        "Africa/Abidjan|Africa/Bamako",
        "Africa/Abidjan|Africa/Banjul",
        "Africa/Abidjan|Africa/Bissau",
        "Africa/Abidjan|Africa/Conakry",
        "Africa/Abidjan|Africa/Dakar",
        "Africa/Abidjan|Africa/Freetown",
        "Africa/Abidjan|Africa/Lome",
        "Africa/Abidjan|Africa/Monrovia",
        "Africa/Abidjan|Africa/Nouakchott",
        "Africa/Abidjan|Africa/Ouagadougou",
        "Africa/Abidjan|Africa/Timbuktu",
        "Africa/Abidjan|America/Danmarkshavn",
        "Africa/Abidjan|Atlantic/Reykjavik",
        "Africa/Abidjan|Atlantic/St_Helena",
        "Africa/Abidjan|Etc/GMT",
        "Africa/Abidjan|Etc/GMT+0",
        "Africa/Abidjan|Etc/GMT-0",
        "Africa/Abidjan|Etc/GMT0",
        "Africa/Abidjan|Etc/Greenwich",
        "Africa/Abidjan|GMT",
        "Africa/Abidjan|GMT+0",
        "Africa/Abidjan|GMT-0",
        "Africa/Abidjan|GMT0",
        "Africa/Abidjan|Greenwich",
        "Africa/Abidjan|Iceland",
        "Africa/Algiers|Africa/Tunis",
        "Africa/Cairo|Africa/Tripoli",
        "Africa/Cairo|Egypt",
        "Africa/Cairo|Europe/Kaliningrad",
        "Africa/Cairo|Libya",
        "Africa/Casablanca|Africa/El_Aaiun",
        "Africa/Johannesburg|Africa/Maseru",
        "Africa/Johannesburg|Africa/Mbabane",
        "Africa/Lagos|Africa/Bangui",
        "Africa/Lagos|Africa/Brazzaville",
        "Africa/Lagos|Africa/Douala",
        "Africa/Lagos|Africa/Kinshasa",
        "Africa/Lagos|Africa/Libreville",
        "Africa/Lagos|Africa/Luanda",
        "Africa/Lagos|Africa/Malabo",
        "Africa/Lagos|Africa/Ndjamena",
        "Africa/Lagos|Africa/Niamey",
        "Africa/Lagos|Africa/Porto-Novo",
        "Africa/Maputo|Africa/Blantyre",
        "Africa/Maputo|Africa/Bujumbura",
        "Africa/Maputo|Africa/Gaborone",
        "Africa/Maputo|Africa/Harare",
        "Africa/Maputo|Africa/Kigali",
        "Africa/Maputo|Africa/Lubumbashi",
        "Africa/Maputo|Africa/Lusaka",
        "Africa/Nairobi|Africa/Addis_Ababa",
        "Africa/Nairobi|Africa/Asmara",
        "Africa/Nairobi|Africa/Asmera",
        "Africa/Nairobi|Africa/Dar_es_Salaam",
        "Africa/Nairobi|Africa/Djibouti",
        "Africa/Nairobi|Africa/Kampala",
        "Africa/Nairobi|Africa/Mogadishu",
        "Africa/Nairobi|Indian/Antananarivo",
        "Africa/Nairobi|Indian/Comoro",
        "Africa/Nairobi|Indian/Mayotte",
        "America/Adak|America/Atka",
        "America/Adak|US/Aleutian",
        "America/Anchorage|America/Juneau",
        "America/Anchorage|America/Nome",
        "America/Anchorage|America/Sitka",
        "America/Anchorage|America/Yakutat",
        "America/Anchorage|US/Alaska",
        "America/Campo_Grande|America/Cuiaba",
        "America/Chicago|America/Indiana/Knox",
        "America/Chicago|America/Indiana/Tell_City",
        "America/Chicago|America/Knox_IN",
        "America/Chicago|America/Matamoros",
        "America/Chicago|America/Menominee",
        "America/Chicago|America/North_Dakota/Beulah",
        "America/Chicago|America/North_Dakota/Center",
        "America/Chicago|America/North_Dakota/New_Salem",
        "America/Chicago|America/Rainy_River",
        "America/Chicago|America/Rankin_Inlet",
        "America/Chicago|America/Resolute",
        "America/Chicago|America/Winnipeg",
        "America/Chicago|CST6CDT",
        "America/Chicago|Canada/Central",
        "America/Chicago|US/Central",
        "America/Chicago|US/Indiana-Starke",
        "America/Chihuahua|America/Mazatlan",
        "America/Chihuahua|Mexico/BajaSur",
        "America/Denver|America/Boise",
        "America/Denver|America/Cambridge_Bay",
        "America/Denver|America/Edmonton",
        "America/Denver|America/Inuvik",
        "America/Denver|America/Ojinaga",
        "America/Denver|America/Shiprock",
        "America/Denver|America/Yellowknife",
        "America/Denver|Canada/Mountain",
        "America/Denver|MST7MDT",
        "America/Denver|Navajo",
        "America/Denver|US/Mountain",
        "America/Fortaleza|America/Araguaina",
        "America/Fortaleza|America/Argentina/Buenos_Aires",
        "America/Fortaleza|America/Argentina/Catamarca",
        "America/Fortaleza|America/Argentina/ComodRivadavia",
        "America/Fortaleza|America/Argentina/Cordoba",
        "America/Fortaleza|America/Argentina/Jujuy",
        "America/Fortaleza|America/Argentina/La_Rioja",
        "America/Fortaleza|America/Argentina/Mendoza",
        "America/Fortaleza|America/Argentina/Rio_Gallegos",
        "America/Fortaleza|America/Argentina/Salta",
        "America/Fortaleza|America/Argentina/San_Juan",
        "America/Fortaleza|America/Argentina/San_Luis",
        "America/Fortaleza|America/Argentina/Tucuman",
        "America/Fortaleza|America/Argentina/Ushuaia",
        "America/Fortaleza|America/Bahia",
        "America/Fortaleza|America/Belem",
        "America/Fortaleza|America/Buenos_Aires",
        "America/Fortaleza|America/Catamarca",
        "America/Fortaleza|America/Cayenne",
        "America/Fortaleza|America/Cordoba",
        "America/Fortaleza|America/Jujuy",
        "America/Fortaleza|America/Maceio",
        "America/Fortaleza|America/Mendoza",
        "America/Fortaleza|America/Montevideo",
        "America/Fortaleza|America/Paramaribo",
        "America/Fortaleza|America/Recife",
        "America/Fortaleza|America/Rosario",
        "America/Fortaleza|America/Santarem",
        "America/Fortaleza|Antarctica/Rothera",
        "America/Fortaleza|Atlantic/Stanley",
        "America/Fortaleza|Etc/GMT+3",
        "America/Godthab|America/Nuuk",
        "America/Halifax|America/Glace_Bay",
        "America/Halifax|America/Goose_Bay",
        "America/Halifax|America/Moncton",
        "America/Halifax|America/Thule",
        "America/Halifax|Atlantic/Bermuda",
        "America/Halifax|Canada/Atlantic",
        "America/Havana|Cuba",
        "America/La_Paz|America/Boa_Vista",
        "America/La_Paz|America/Guyana",
        "America/La_Paz|America/Manaus",
        "America/La_Paz|America/Porto_Velho",
        "America/La_Paz|Brazil/West",
        "America/La_Paz|Etc/GMT+4",
        "America/Lima|America/Bogota",
        "America/Lima|America/Eirunepe",
        "America/Lima|America/Guayaquil",
        "America/Lima|America/Porto_Acre",
        "America/Lima|America/Rio_Branco",
        "America/Lima|Brazil/Acre",
        "America/Lima|Etc/GMT+5",
        "America/Los_Angeles|America/Ensenada",
        "America/Los_Angeles|America/Santa_Isabel",
        "America/Los_Angeles|America/Tijuana",
        "America/Los_Angeles|America/Vancouver",
        "America/Los_Angeles|Canada/Pacific",
        "America/Los_Angeles|Mexico/BajaNorte",
        "America/Los_Angeles|PST8PDT",
        "America/Los_Angeles|US/Pacific",
        "America/Managua|America/Belize",
        "America/Managua|America/Costa_Rica",
        "America/Managua|America/El_Salvador",
        "America/Managua|America/Guatemala",
        "America/Managua|America/Regina",
        "America/Managua|America/Swift_Current",
        "America/Managua|America/Tegucigalpa",
        "America/Managua|Canada/Saskatchewan",
        "America/Mexico_City|America/Bahia_Banderas",
        "America/Mexico_City|America/Merida",
        "America/Mexico_City|America/Monterrey",
        "America/Mexico_City|Mexico/General",
        "America/New_York|America/Detroit",
        "America/New_York|America/Fort_Wayne",
        "America/New_York|America/Indiana/Indianapolis",
        "America/New_York|America/Indiana/Marengo",
        "America/New_York|America/Indiana/Petersburg",
        "America/New_York|America/Indiana/Vevay",
        "America/New_York|America/Indiana/Vincennes",
        "America/New_York|America/Indiana/Winamac",
        "America/New_York|America/Indianapolis",
        "America/New_York|America/Iqaluit",
        "America/New_York|America/Kentucky/Louisville",
        "America/New_York|America/Kentucky/Monticello",
        "America/New_York|America/Louisville",
        "America/New_York|America/Montreal",
        "America/New_York|America/Nassau",
        "America/New_York|America/Nipigon",
        "America/New_York|America/Pangnirtung",
        "America/New_York|America/Thunder_Bay",
        "America/New_York|America/Toronto",
        "America/New_York|Canada/Eastern",
        "America/New_York|EST5EDT",
        "America/New_York|US/East-Indiana",
        "America/New_York|US/Eastern",
        "America/New_York|US/Michigan",
        "America/Noronha|Atlantic/South_Georgia",
        "America/Noronha|Brazil/DeNoronha",
        "America/Noronha|Etc/GMT+2",
        "America/Panama|America/Atikokan",
        "America/Panama|America/Cancun",
        "America/Panama|America/Cayman",
        "America/Panama|America/Coral_Harbour",
        "America/Panama|America/Jamaica",
        "America/Panama|EST",
        "America/Panama|Jamaica",
        "America/Phoenix|America/Creston",
        "America/Phoenix|America/Dawson_Creek",
        "America/Phoenix|America/Fort_Nelson",
        "America/Phoenix|America/Hermosillo",
        "America/Phoenix|MST",
        "America/Phoenix|US/Arizona",
        "America/Santiago|Chile/Continental",
        "America/Santo_Domingo|America/Anguilla",
        "America/Santo_Domingo|America/Antigua",
        "America/Santo_Domingo|America/Aruba",
        "America/Santo_Domingo|America/Barbados",
        "America/Santo_Domingo|America/Blanc-Sablon",
        "America/Santo_Domingo|America/Curacao",
        "America/Santo_Domingo|America/Dominica",
        "America/Santo_Domingo|America/Grenada",
        "America/Santo_Domingo|America/Guadeloupe",
        "America/Santo_Domingo|America/Kralendijk",
        "America/Santo_Domingo|America/Lower_Princes",
        "America/Santo_Domingo|America/Marigot",
        "America/Santo_Domingo|America/Martinique",
        "America/Santo_Domingo|America/Montserrat",
        "America/Santo_Domingo|America/Port_of_Spain",
        "America/Santo_Domingo|America/Puerto_Rico",
        "America/Santo_Domingo|America/St_Barthelemy",
        "America/Santo_Domingo|America/St_Kitts",
        "America/Santo_Domingo|America/St_Lucia",
        "America/Santo_Domingo|America/St_Thomas",
        "America/Santo_Domingo|America/St_Vincent",
        "America/Santo_Domingo|America/Tortola",
        "America/Santo_Domingo|America/Virgin",
        "America/Sao_Paulo|Brazil/East",
        "America/St_Johns|Canada/Newfoundland",
        "America/Whitehorse|America/Dawson",
        "America/Whitehorse|Canada/Yukon",
        "Antarctica/Palmer|America/Punta_Arenas",
        "Asia/Baghdad|Antarctica/Syowa",
        "Asia/Baghdad|Asia/Aden",
        "Asia/Baghdad|Asia/Bahrain",
        "Asia/Baghdad|Asia/Kuwait",
        "Asia/Baghdad|Asia/Qatar",
        "Asia/Baghdad|Asia/Riyadh",
        "Asia/Baghdad|Etc/GMT-3",
        "Asia/Baghdad|Europe/Kirov",
        "Asia/Baghdad|Europe/Minsk",
        "Asia/Bangkok|Antarctica/Davis",
        "Asia/Bangkok|Asia/Ho_Chi_Minh",
        "Asia/Bangkok|Asia/Krasnoyarsk",
        "Asia/Bangkok|Asia/Novokuznetsk",
        "Asia/Bangkok|Asia/Phnom_Penh",
        "Asia/Bangkok|Asia/Saigon",
        "Asia/Bangkok|Asia/Vientiane",
        "Asia/Bangkok|Etc/GMT-7",
        "Asia/Bangkok|Indian/Christmas",
        "Asia/Dhaka|Antarctica/Vostok",
        "Asia/Dhaka|Asia/Almaty",
        "Asia/Dhaka|Asia/Bishkek",
        "Asia/Dhaka|Asia/Dacca",
        "Asia/Dhaka|Asia/Kashgar",
        "Asia/Dhaka|Asia/Omsk",
        "Asia/Dhaka|Asia/Qostanay",
        "Asia/Dhaka|Asia/Thimbu",
        "Asia/Dhaka|Asia/Thimphu",
        "Asia/Dhaka|Asia/Urumqi",
        "Asia/Dhaka|Etc/GMT-6",
        "Asia/Dhaka|Indian/Chagos",
        "Asia/Dubai|Asia/Baku",
        "Asia/Dubai|Asia/Muscat",
        "Asia/Dubai|Asia/Tbilisi",
        "Asia/Dubai|Asia/Yerevan",
        "Asia/Dubai|Etc/GMT-4",
        "Asia/Dubai|Europe/Samara",
        "Asia/Dubai|Indian/Mahe",
        "Asia/Dubai|Indian/Mauritius",
        "Asia/Dubai|Indian/Reunion",
        "Asia/Gaza|Asia/Hebron",
        "Asia/Hong_Kong|Hongkong",
        "Asia/Jakarta|Asia/Pontianak",
        "Asia/Jerusalem|Asia/Tel_Aviv",
        "Asia/Jerusalem|Israel",
        "Asia/Kamchatka|Asia/Anadyr",
        "Asia/Kamchatka|Etc/GMT-12",
        "Asia/Kamchatka|Kwajalein",
        "Asia/Kamchatka|Pacific/Funafuti",
        "Asia/Kamchatka|Pacific/Kwajalein",
        "Asia/Kamchatka|Pacific/Majuro",
        "Asia/Kamchatka|Pacific/Nauru",
        "Asia/Kamchatka|Pacific/Tarawa",
        "Asia/Kamchatka|Pacific/Wake",
        "Asia/Kamchatka|Pacific/Wallis",
        "Asia/Kathmandu|Asia/Katmandu",
        "Asia/Kolkata|Asia/Calcutta",
        "Asia/Kuala_Lumpur|Asia/Brunei",
        "Asia/Kuala_Lumpur|Asia/Irkutsk",
        "Asia/Kuala_Lumpur|Asia/Kuching",
        "Asia/Kuala_Lumpur|Asia/Singapore",
        "Asia/Kuala_Lumpur|Etc/GMT-8",
        "Asia/Kuala_Lumpur|Singapore",
        "Asia/Makassar|Asia/Ujung_Pandang",
        "Asia/Rangoon|Asia/Yangon",
        "Asia/Rangoon|Indian/Cocos",
        "Asia/Seoul|ROK",
        "Asia/Shanghai|Asia/Chongqing",
        "Asia/Shanghai|Asia/Chungking",
        "Asia/Shanghai|Asia/Harbin",
        "Asia/Shanghai|Asia/Macao",
        "Asia/Shanghai|Asia/Macau",
        "Asia/Shanghai|Asia/Taipei",
        "Asia/Shanghai|PRC",
        "Asia/Shanghai|ROC",
        "Asia/Tashkent|Antarctica/Mawson",
        "Asia/Tashkent|Asia/Aqtau",
        "Asia/Tashkent|Asia/Aqtobe",
        "Asia/Tashkent|Asia/Ashgabat",
        "Asia/Tashkent|Asia/Ashkhabad",
        "Asia/Tashkent|Asia/Atyrau",
        "Asia/Tashkent|Asia/Dushanbe",
        "Asia/Tashkent|Asia/Oral",
        "Asia/Tashkent|Asia/Samarkand",
        "Asia/Tashkent|Asia/Yekaterinburg",
        "Asia/Tashkent|Etc/GMT-5",
        "Asia/Tashkent|Indian/Kerguelen",
        "Asia/Tashkent|Indian/Maldives",
        "Asia/Tehran|Iran",
        "Asia/Tokyo|Japan",
        "Asia/Ulaanbaatar|Asia/Choibalsan",
        "Asia/Ulaanbaatar|Asia/Ulan_Bator",
        "Asia/Vladivostok|Antarctica/DumontDUrville",
        "Asia/Vladivostok|Asia/Ust-Nera",
        "Asia/Vladivostok|Etc/GMT-10",
        "Asia/Vladivostok|Pacific/Chuuk",
        "Asia/Vladivostok|Pacific/Port_Moresby",
        "Asia/Vladivostok|Pacific/Truk",
        "Asia/Vladivostok|Pacific/Yap",
        "Asia/Yakutsk|Asia/Dili",
        "Asia/Yakutsk|Asia/Khandyga",
        "Asia/Yakutsk|Etc/GMT-9",
        "Asia/Yakutsk|Pacific/Palau",
        "Atlantic/Azores|America/Scoresbysund",
        "Atlantic/Cape_Verde|Etc/GMT+1",
        "Australia/Adelaide|Australia/Broken_Hill",
        "Australia/Adelaide|Australia/South",
        "Australia/Adelaide|Australia/Yancowinna",
        "Australia/Brisbane|Australia/Lindeman",
        "Australia/Brisbane|Australia/Queensland",
        "Australia/Darwin|Australia/North",
        "Australia/Lord_Howe|Australia/LHI",
        "Australia/Perth|Australia/West",
        "Australia/Sydney|Antarctica/Macquarie",
        "Australia/Sydney|Australia/ACT",
        "Australia/Sydney|Australia/Canberra",
        "Australia/Sydney|Australia/Currie",
        "Australia/Sydney|Australia/Hobart",
        "Australia/Sydney|Australia/Melbourne",
        "Australia/Sydney|Australia/NSW",
        "Australia/Sydney|Australia/Tasmania",
        "Australia/Sydney|Australia/Victoria",
        "Etc/UTC|Etc/UCT",
        "Etc/UTC|Etc/Universal",
        "Etc/UTC|Etc/Zulu",
        "Etc/UTC|UCT",
        "Etc/UTC|UTC",
        "Etc/UTC|Universal",
        "Etc/UTC|Zulu",
        "Europe/Athens|Asia/Nicosia",
        "Europe/Athens|EET",
        "Europe/Athens|Europe/Bucharest",
        "Europe/Athens|Europe/Helsinki",
        "Europe/Athens|Europe/Kiev",
        "Europe/Athens|Europe/Mariehamn",
        "Europe/Athens|Europe/Nicosia",
        "Europe/Athens|Europe/Riga",
        "Europe/Athens|Europe/Sofia",
        "Europe/Athens|Europe/Tallinn",
        "Europe/Athens|Europe/Uzhgorod",
        "Europe/Athens|Europe/Vilnius",
        "Europe/Athens|Europe/Zaporozhye",
        "Europe/Chisinau|Europe/Tiraspol",
        "Europe/Dublin|Eire",
        "Europe/Istanbul|Asia/Istanbul",
        "Europe/Istanbul|Turkey",
        "Europe/Lisbon|Atlantic/Canary",
        "Europe/Lisbon|Atlantic/Faeroe",
        "Europe/Lisbon|Atlantic/Faroe",
        "Europe/Lisbon|Atlantic/Madeira",
        "Europe/Lisbon|Portugal",
        "Europe/Lisbon|WET",
        "Europe/London|Europe/Belfast",
        "Europe/London|Europe/Guernsey",
        "Europe/London|Europe/Isle_of_Man",
        "Europe/London|Europe/Jersey",
        "Europe/London|GB",
        "Europe/London|GB-Eire",
        "Europe/Moscow|Europe/Simferopol",
        "Europe/Moscow|W-SU",
        "Europe/Paris|Africa/Ceuta",
        "Europe/Paris|Arctic/Longyearbyen",
        "Europe/Paris|Atlantic/Jan_Mayen",
        "Europe/Paris|CET",
        "Europe/Paris|Europe/Amsterdam",
        "Europe/Paris|Europe/Andorra",
        "Europe/Paris|Europe/Belgrade",
        "Europe/Paris|Europe/Berlin",
        "Europe/Paris|Europe/Bratislava",
        "Europe/Paris|Europe/Brussels",
        "Europe/Paris|Europe/Budapest",
        "Europe/Paris|Europe/Busingen",
        "Europe/Paris|Europe/Copenhagen",
        "Europe/Paris|Europe/Gibraltar",
        "Europe/Paris|Europe/Ljubljana",
        "Europe/Paris|Europe/Luxembourg",
        "Europe/Paris|Europe/Madrid",
        "Europe/Paris|Europe/Malta",
        "Europe/Paris|Europe/Monaco",
        "Europe/Paris|Europe/Oslo",
        "Europe/Paris|Europe/Podgorica",
        "Europe/Paris|Europe/Prague",
        "Europe/Paris|Europe/Rome",
        "Europe/Paris|Europe/San_Marino",
        "Europe/Paris|Europe/Sarajevo",
        "Europe/Paris|Europe/Skopje",
        "Europe/Paris|Europe/Stockholm",
        "Europe/Paris|Europe/Tirane",
        "Europe/Paris|Europe/Vaduz",
        "Europe/Paris|Europe/Vatican",
        "Europe/Paris|Europe/Vienna",
        "Europe/Paris|Europe/Warsaw",
        "Europe/Paris|Europe/Zagreb",
        "Europe/Paris|Europe/Zurich",
        "Europe/Paris|Poland",
        "Europe/Ulyanovsk|Europe/Astrakhan",
        "Pacific/Auckland|Antarctica/McMurdo",
        "Pacific/Auckland|Antarctica/South_Pole",
        "Pacific/Auckland|NZ",
        "Pacific/Bougainville|Asia/Srednekolymsk",
        "Pacific/Bougainville|Etc/GMT-11",
        "Pacific/Bougainville|Pacific/Efate",
        "Pacific/Bougainville|Pacific/Guadalcanal",
        "Pacific/Bougainville|Pacific/Kosrae",
        "Pacific/Bougainville|Pacific/Noumea",
        "Pacific/Bougainville|Pacific/Pohnpei",
        "Pacific/Bougainville|Pacific/Ponape",
        "Pacific/Chatham|NZ-CHAT",
        "Pacific/Easter|Chile/EasterIsland",
        "Pacific/Fakaofo|Etc/GMT-13",
        "Pacific/Fakaofo|Pacific/Enderbury",
        "Pacific/Fakaofo|Pacific/Kanton",
        "Pacific/Galapagos|Etc/GMT+6",
        "Pacific/Gambier|Etc/GMT+9",
        "Pacific/Guam|Pacific/Saipan",
        "Pacific/Honolulu|HST",
        "Pacific/Honolulu|Pacific/Johnston",
        "Pacific/Honolulu|US/Hawaii",
        "Pacific/Kiritimati|Etc/GMT-14",
        "Pacific/Niue|Etc/GMT+11",
        "Pacific/Pago_Pago|Pacific/Midway",
        "Pacific/Pago_Pago|Pacific/Samoa",
        "Pacific/Pago_Pago|US/Samoa",
        "Pacific/Pitcairn|Etc/GMT+8",
        "Pacific/Tahiti|Etc/GMT+10",
        "Pacific/Tahiti|Pacific/Rarotonga",
      ],
      countries: [
        "AD|Europe/Andorra",
        "AE|Asia/Dubai",
        "AF|Asia/Kabul",
        "AG|America/Port_of_Spain America/Antigua",
        "AI|America/Port_of_Spain America/Anguilla",
        "AL|Europe/Tirane",
        "AM|Asia/Yerevan",
        "AO|Africa/Lagos Africa/Luanda",
        "AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
        "AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
        "AS|Pacific/Pago_Pago",
        "AT|Europe/Vienna",
        "AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
        "AW|America/Curacao America/Aruba",
        "AX|Europe/Helsinki Europe/Mariehamn",
        "AZ|Asia/Baku",
        "BA|Europe/Belgrade Europe/Sarajevo",
        "BB|America/Barbados",
        "BD|Asia/Dhaka",
        "BE|Europe/Brussels",
        "BF|Africa/Abidjan Africa/Ouagadougou",
        "BG|Europe/Sofia",
        "BH|Asia/Qatar Asia/Bahrain",
        "BI|Africa/Maputo Africa/Bujumbura",
        "BJ|Africa/Lagos Africa/Porto-Novo",
        "BL|America/Port_of_Spain America/St_Barthelemy",
        "BM|Atlantic/Bermuda",
        "BN|Asia/Brunei",
        "BO|America/La_Paz",
        "BQ|America/Curacao America/Kralendijk",
        "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
        "BS|America/Nassau",
        "BT|Asia/Thimphu",
        "BW|Africa/Maputo Africa/Gaborone",
        "BY|Europe/Minsk",
        "BZ|America/Belize",
        "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver",
        "CC|Indian/Cocos",
        "CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
        "CF|Africa/Lagos Africa/Bangui",
        "CG|Africa/Lagos Africa/Brazzaville",
        "CH|Europe/Zurich",
        "CI|Africa/Abidjan",
        "CK|Pacific/Rarotonga",
        "CL|America/Santiago America/Punta_Arenas Pacific/Easter",
        "CM|Africa/Lagos Africa/Douala",
        "CN|Asia/Shanghai Asia/Urumqi",
        "CO|America/Bogota",
        "CR|America/Costa_Rica",
        "CU|America/Havana",
        "CV|Atlantic/Cape_Verde",
        "CW|America/Curacao",
        "CX|Indian/Christmas",
        "CY|Asia/Nicosia Asia/Famagusta",
        "CZ|Europe/Prague",
        "DE|Europe/Zurich Europe/Berlin Europe/Busingen",
        "DJ|Africa/Nairobi Africa/Djibouti",
        "DK|Europe/Copenhagen",
        "DM|America/Port_of_Spain America/Dominica",
        "DO|America/Santo_Domingo",
        "DZ|Africa/Algiers",
        "EC|America/Guayaquil Pacific/Galapagos",
        "EE|Europe/Tallinn",
        "EG|Africa/Cairo",
        "EH|Africa/El_Aaiun",
        "ER|Africa/Nairobi Africa/Asmara",
        "ES|Europe/Madrid Africa/Ceuta Atlantic/Canary",
        "ET|Africa/Nairobi Africa/Addis_Ababa",
        "FI|Europe/Helsinki",
        "FJ|Pacific/Fiji",
        "FK|Atlantic/Stanley",
        "FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
        "FO|Atlantic/Faroe",
        "FR|Europe/Paris",
        "GA|Africa/Lagos Africa/Libreville",
        "GB|Europe/London",
        "GD|America/Port_of_Spain America/Grenada",
        "GE|Asia/Tbilisi",
        "GF|America/Cayenne",
        "GG|Europe/London Europe/Guernsey",
        "GH|Africa/Accra",
        "GI|Europe/Gibraltar",
        "GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
        "GM|Africa/Abidjan Africa/Banjul",
        "GN|Africa/Abidjan Africa/Conakry",
        "GP|America/Port_of_Spain America/Guadeloupe",
        "GQ|Africa/Lagos Africa/Malabo",
        "GR|Europe/Athens",
        "GS|Atlantic/South_Georgia",
        "GT|America/Guatemala",
        "GU|Pacific/Guam",
        "GW|Africa/Bissau",
        "GY|America/Guyana",
        "HK|Asia/Hong_Kong",
        "HN|America/Tegucigalpa",
        "HR|Europe/Belgrade Europe/Zagreb",
        "HT|America/Port-au-Prince",
        "HU|Europe/Budapest",
        "ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura",
        "IE|Europe/Dublin",
        "IL|Asia/Jerusalem",
        "IM|Europe/London Europe/Isle_of_Man",
        "IN|Asia/Kolkata",
        "IO|Indian/Chagos",
        "IQ|Asia/Baghdad",
        "IR|Asia/Tehran",
        "IS|Atlantic/Reykjavik",
        "IT|Europe/Rome",
        "JE|Europe/London Europe/Jersey",
        "JM|America/Jamaica",
        "JO|Asia/Amman",
        "JP|Asia/Tokyo",
        "KE|Africa/Nairobi",
        "KG|Asia/Bishkek",
        "KH|Asia/Bangkok Asia/Phnom_Penh",
        "KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
        "KM|Africa/Nairobi Indian/Comoro",
        "KN|America/Port_of_Spain America/St_Kitts",
        "KP|Asia/Pyongyang",
        "KR|Asia/Seoul",
        "KW|Asia/Riyadh Asia/Kuwait",
        "KY|America/Panama America/Cayman",
        "KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
        "LA|Asia/Bangkok Asia/Vientiane",
        "LB|Asia/Beirut",
        "LC|America/Port_of_Spain America/St_Lucia",
        "LI|Europe/Zurich Europe/Vaduz",
        "LK|Asia/Colombo",
        "LR|Africa/Monrovia",
        "LS|Africa/Johannesburg Africa/Maseru",
        "LT|Europe/Vilnius",
        "LU|Europe/Luxembourg",
        "LV|Europe/Riga",
        "LY|Africa/Tripoli",
        "MA|Africa/Casablanca",
        "MC|Europe/Monaco",
        "MD|Europe/Chisinau",
        "ME|Europe/Belgrade Europe/Podgorica",
        "MF|America/Port_of_Spain America/Marigot",
        "MG|Africa/Nairobi Indian/Antananarivo",
        "MH|Pacific/Majuro Pacific/Kwajalein",
        "MK|Europe/Belgrade Europe/Skopje",
        "ML|Africa/Abidjan Africa/Bamako",
        "MM|Asia/Yangon",
        "MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan",
        "MO|Asia/Macau",
        "MP|Pacific/Guam Pacific/Saipan",
        "MQ|America/Martinique",
        "MR|Africa/Abidjan Africa/Nouakchott",
        "MS|America/Port_of_Spain America/Montserrat",
        "MT|Europe/Malta",
        "MU|Indian/Mauritius",
        "MV|Indian/Maldives",
        "MW|Africa/Maputo Africa/Blantyre",
        "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
        "MY|Asia/Kuala_Lumpur Asia/Kuching",
        "MZ|Africa/Maputo",
        "NA|Africa/Windhoek",
        "NC|Pacific/Noumea",
        "NE|Africa/Lagos Africa/Niamey",
        "NF|Pacific/Norfolk",
        "NG|Africa/Lagos",
        "NI|America/Managua",
        "NL|Europe/Amsterdam",
        "NO|Europe/Oslo",
        "NP|Asia/Kathmandu",
        "NR|Pacific/Nauru",
        "NU|Pacific/Niue",
        "NZ|Pacific/Auckland Pacific/Chatham",
        "OM|Asia/Dubai Asia/Muscat",
        "PA|America/Panama",
        "PE|America/Lima",
        "PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier",
        "PG|Pacific/Port_Moresby Pacific/Bougainville",
        "PH|Asia/Manila",
        "PK|Asia/Karachi",
        "PL|Europe/Warsaw",
        "PM|America/Miquelon",
        "PN|Pacific/Pitcairn",
        "PR|America/Puerto_Rico",
        "PS|Asia/Gaza Asia/Hebron",
        "PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores",
        "PW|Pacific/Palau",
        "PY|America/Asuncion",
        "QA|Asia/Qatar",
        "RE|Indian/Reunion",
        "RO|Europe/Bucharest",
        "RS|Europe/Belgrade",
        "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
        "RW|Africa/Maputo Africa/Kigali",
        "SA|Asia/Riyadh",
        "SB|Pacific/Guadalcanal",
        "SC|Indian/Mahe",
        "SD|Africa/Khartoum",
        "SE|Europe/Stockholm",
        "SG|Asia/Singapore",
        "SH|Africa/Abidjan Atlantic/St_Helena",
        "SI|Europe/Belgrade Europe/Ljubljana",
        "SJ|Europe/Oslo Arctic/Longyearbyen",
        "SK|Europe/Prague Europe/Bratislava",
        "SL|Africa/Abidjan Africa/Freetown",
        "SM|Europe/Rome Europe/San_Marino",
        "SN|Africa/Abidjan Africa/Dakar",
        "SO|Africa/Nairobi Africa/Mogadishu",
        "SR|America/Paramaribo",
        "SS|Africa/Juba",
        "ST|Africa/Sao_Tome",
        "SV|America/El_Salvador",
        "SX|America/Curacao America/Lower_Princes",
        "SY|Asia/Damascus",
        "SZ|Africa/Johannesburg Africa/Mbabane",
        "TC|America/Grand_Turk",
        "TD|Africa/Ndjamena",
        "TF|Indian/Reunion Indian/Kerguelen",
        "TG|Africa/Abidjan Africa/Lome",
        "TH|Asia/Bangkok",
        "TJ|Asia/Dushanbe",
        "TK|Pacific/Fakaofo",
        "TL|Asia/Dili",
        "TM|Asia/Ashgabat",
        "TN|Africa/Tunis",
        "TO|Pacific/Tongatapu",
        "TR|Europe/Istanbul",
        "TT|America/Port_of_Spain",
        "TV|Pacific/Funafuti",
        "TW|Asia/Taipei",
        "TZ|Africa/Nairobi Africa/Dar_es_Salaam",
        "UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
        "UG|Africa/Nairobi Africa/Kampala",
        "UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
        "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
        "UY|America/Montevideo",
        "UZ|Asia/Samarkand Asia/Tashkent",
        "VA|Europe/Rome Europe/Vatican",
        "VC|America/Port_of_Spain America/St_Vincent",
        "VE|America/Caracas",
        "VG|America/Port_of_Spain America/Tortola",
        "VI|America/Port_of_Spain America/St_Thomas",
        "VN|Asia/Bangkok Asia/Ho_Chi_Minh",
        "VU|Pacific/Efate",
        "WF|Pacific/Wallis",
        "WS|Pacific/Apia",
        "YE|Asia/Riyadh Asia/Aden",
        "YT|Africa/Nairobi Indian/Mayotte",
        "ZA|Africa/Johannesburg",
        "ZM|Africa/Maputo Africa/Lusaka",
        "ZW|Africa/Maputo Africa/Harare",
      ],
    }),
    o
  );
});
