UNPKG

vue3-jalali-calendar

Version:
3,348 lines 137 kB
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";#persian-calendar{font-weight:400;font-size:1em;direction:rtl;-webkit-user-select:none;user-select:none}#persian-calendar *{padding:0;margin:0;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;outline:none;text-transform:none;text-decoration:none}#persian-calendar #vpc_header{padding:20px 15px;display:flex}#persian-calendar #vpc_header #vpc_date-control{display:flex;justify-content:flex-start;font-size:1em}#persian-calendar #vpc_header #vpc_date-control .vpc_control-btn{width:1em;height:1em;padding:.3em;border-radius:9999px!important;cursor:pointer!important;background-color:#7367f0!important;color:#fff!important}#persian-calendar #vpc_header #vpc_date-control .vpc_control-btn[disabled]{background-color:#ccc!important;cursor:not-allowed!important}#persian-calendar #vpc_header #vpc_date-control .vpc_now-date{margin:auto .75em;white-space:nowrap;width:215px;text-align:center}#persian-calendar #vpc_header #vpc_date-control .vpc_today-btn{display:flex;justify-content:center;align-items:center;height:1em;margin:0 10px;height:1.3em;line-height:1em;vertical-align:middle;padding:.2em 1.2em;border-radius:15px!important;cursor:pointer!important;background-color:#7367f0!important;color:#fff!important;font-size:16px!important}#persian-calendar #vpc_header .vpc_period-control{margin-right:auto;display:flex;justify-content:space-between}#persian-calendar #vpc_header .vpc_period-control .vpc_period-btn{display:flex;justify-content:center;align-items:center;height:1em;margin:0 10px;height:1.3em;line-height:1em;vertical-align:middle;padding:.2em 1.2em;border-radius:15px!important;border:0;cursor:pointer!important;background-color:#7367f0!important;color:#fff!important;font-size:16px!important}#persian-calendar #vpc_calendar{border-radius:15px;box-shadow:0 4px 25px #0000001a}#persian-calendar #vpc_calendar #vpc_days-header{display:flex;justify-content:flex-start;width:100%;flex-grow:1;flex-shrink:1;flex-basis:0;flex-flow:row nowrap;border-width:0;position:relative;overflow-y:auto;-ms-overflow-style:none}#persian-calendar #vpc_calendar #vpc_days-header div{width:100%;overflow:hidden;padding:.5em;border-right:1px solid #ddd;border-top:1px solid #ddd;-webkit-user-select:none;user-select:none;background:#fff;color:#626262;font-size:.9em;line-height:.6em;text-align:center;cursor:default}#persian-calendar #vpc_calendar #vpc_days-header div:first-child{border-top-right-radius:15px}#persian-calendar #vpc_calendar #vpc_days-header div:last-child{border-top-left-radius:15px;border-left:1px solid #ddd}#persian-calendar #vpc_calendar .vpc_week{display:flex;justify-content:flex-start;width:100%;flex-grow:1;flex-shrink:1;flex-basis:0;flex-flow:row nowrap;border-width:0;position:relative;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}#persian-calendar #vpc_calendar .vpc_week::-webkit-scrollbar{display:none}#persian-calendar #vpc_calendar .vpc_week .week_events{position:absolute;overflow:auto;overflow-x:hidden;height:calc(100% - 2em);width:100%;top:2em}#persian-calendar #vpc_calendar .vpc_week .week_events::-webkit-scrollbar{width:5px}#persian-calendar #vpc_calendar .vpc_week .week_events::-webkit-scrollbar-track{background:#f1f1f1}#persian-calendar #vpc_calendar .vpc_week .week_events::-webkit-scrollbar-thumb{background:#888}#persian-calendar #vpc_calendar .vpc_week .week_events::-webkit-scrollbar-thumb:hover{background:#555}#persian-calendar #vpc_calendar .vpc_week .week_events .more_event_btn{z-index:1;position:sticky!important;max-width:9.5rem;padding:8px 0!important;border-radius:0!important}#persian-calendar #vpc_calendar .vpc_week .vpc_day{width:100%;overflow:hidden;padding:.5em;border-right:1px solid #ddd;border-top:1px solid #ddd;-webkit-user-select:none;user-select:none;background:#fff;min-height:120px;cursor:pointer}#persian-calendar #vpc_calendar .vpc_week .vpc_day:hover{background-color:#e6e6e6}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_past{background-color:#fafafa}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_past .vpc_day-number{background-color:#565656;color:transparent;text-shadow:0px 1px 1px rgba(255,255,255,.5);-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;cursor:default}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_not-current-month{background-color:#ececec}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_not-current-month .vpc_day-number{background-color:#565656;color:transparent;text-shadow:0px 1px 1px rgba(255,255,255,.5);-webkit-background-clip:text;-moz-background-clip:text;background-clip:text}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_week-period-day{min-height:600px}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_week-period-day .vpc_day-number{justify-content:center;font-size:1.4em;text-align:center;width:auto!important}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_today .vpc_day-number{line-height:1.5em;height:1.2em;padding:0;border-radius:9999px!important;background-color:#019183!important;color:#fff!important;justify-content:center;text-align:center;width:auto!important;margin:3px}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_day-disable,#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_weekend{background-color:#ececec!important}#persian-calendar #vpc_calendar .vpc_week .vpc_day.vpc_vacation{background-color:#ff00001a!important}#persian-calendar #vpc_calendar .vpc_week .vpc_day .vpc_day-number{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center}#persian-calendar #vpc_calendar .vpc_week .vpc_day .vpc_day-number .vpc_vacations-description{font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#persian-calendar #vpc_calendar .vpc_week .vpc_day:last-child{border-left:1px solid #ddd}#persian-calendar #vpc_calendar .vpc_week .vpc_event{display:flex;justify-content:center;align-items:center;height:1em;font-size:.7em;height:1.3em;padding-left:.78em;border-color:#e0e0f0;border-radius:.5em;text-overflow:ellipsis;position:absolute;white-space:nowrap;overflow:hidden;background-color:#666;color:#fff;-webkit-user-select:none;user-select:none}#persian-calendar #vpc_calendar .vpc_week .vpc_event:hover{opacity:80%;cursor:pointer}#persian-calendar #vpc_calendar .vpc_week .vpc_event:focus{box-shadow:none}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset0{right:0}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span1{text-align:center;width:calc((100% / 7) - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset1{right:calc(100% / 7)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span2{text-align:center;width:calc((200% / 7) - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset2{right:calc(200% / 7)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span3{text-align:center;width:calc((300% / 7) - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset3{right:calc(300% / 7)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span4{text-align:center;width:calc((400% / 7) - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset4{right:calc(400% / 7)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span5{text-align:center;width:calc((500% / 7) - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset5{right:calc(500% / 7)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span6{text-align:center;width:calc((600% / 7) - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset6{right:calc(600% / 7)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.span7{text-align:center;width:calc(100% - .75em)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.offset7{right:100%}#persian-calendar #vpc_calendar .vpc_week .vpc_event.isHovered{filter:brightness(95%)}#persian-calendar #vpc_calendar .vpc_week .vpc_event.continued{border-right-style:none;border-top-right-radius:0;border-bottom-right-radius:0}#persian-calendar #vpc_calendar .vpc_week .vpc_event.continued:not(.toBeContinued) .vpc_event-end-time{display:block}#persian-calendar #vpc_calendar .vpc_week .vpc_event.continued.span1 .vpc_event-start-date{display:none}#persian-calendar #vpc_calendar .vpc_week .vpc_event.continued .vpc_event-start-date{display:block}#persian-calendar #vpc_calendar .vpc_week .vpc_event.toBeContinued{border-left-style:none;border-top-left-radius:0;border-bottom-left-radius:0}#persian-calendar #vpc_calendar .vpc_week .vpc_event.toBeContinued:not(.continued) .vpc_event-start-time{display:block}#persian-calendar #vpc_calendar .vpc_week .vpc_event.toBeContinued.span1 .vpc_event-end-date{display:none}#persian-calendar #vpc_calendar .vpc_week .vpc_event.toBeContinued .vpc_event-end-date{display:block}#persian-calendar #vpc_calendar .vpc_week .vpc_event.continued:before,#persian-calendar #vpc_calendar .vpc_week .vpc_event.toBeContinued:after{content:" ⇠";padding:0 .1em}#persian-calendar #vpc_calendar .vpc_week .vpc_event:not(.continued):not(.toBeContinued) .vpc_event-start-time,#persian-calendar #vpc_calendar .vpc_week .vpc_event:not(.continued):not(.toBeContinued) .vpc_event-end-time{display:block}#persian-calendar #vpc_calendar .vpc_week .vpc_event.oneDay{background-color:unset!important;color:#262626!important}#persian-calendar #vpc_calendar .vpc_week .vpc_event.oneDay .vpc_event-title{justify-content:inherit;margin-right:0;width:100%}#persian-calendar #vpc_calendar .vpc_week .vpc_event.oneDay .vpc_event-ball{width:10px;height:10px;margin:0 .1em;border-radius:999px}#persian-calendar #vpc_calendar .vpc_week .vpc_event.oneDay .vpc_event-end-time{display:none!important}#persian-calendar #vpc_calendar .vpc_week .vpc_event .vpc_event-title{text-overflow:ellipsis;overflow:hidden;margin:0 auto}#persian-calendar #vpc_calendar .vpc_week .vpc_event .vpc_event-start-time,#persian-calendar #vpc_calendar .vpc_week .vpc_event .vpc_event-start-time span,#persian-calendar #vpc_calendar .vpc_week .vpc_event .vpc_event-end-time,#persian-calendar #vpc_calendar .vpc_week .vpc_event .vpc_event-start-date,#persian-calendar #vpc_calendar .vpc_week .vpc_event .vpc_event-end-date{margin:0 .2em;display:none}#persian-calendar #vpc_calendar .vpc_week .vpc_event .startTime,#persian-calendar #vpc_calendar .vpc_week .vpc_event .endTime{font-weight:700;color:#666}#persian-calendar #vpc_calendar .vpc_week.vpc_week-period .vpc_event{height:1.4em}#persian-calendar #vpc_calendar .vpc_week.vpc_week-period .vpc_event.oneDay{display:block;height:2em;line-height:1em}#persian-calendar #vpc_calendar .vpc_week.vpc_week-period .vpc_event.oneDay .vpc_event-ball{position:absolute;top:.1em}#persian-calendar #vpc_calendar .vpc_week.vpc_week-period .vpc_event.oneDay .vpc_event-start-time span{display:contents}#persian-calendar #vpc_calendar .vpc_week.vpc_week-period .vpc_event.oneDay .vpc_event-title{margin:0 .8em}#persian-calendar #vpc_calendar .vpc_week:last-child .vpc_day{border-bottom:1px solid #ddd}#persian-calendar .slide-left-enter-active,#persian-calendar .slide-right-enter-active{transition:all .2s ease}#persian-calendar .slide-left-leave-active,#persian-calendar .slide-right-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}#persian-calendar .slide-left-enter,#persian-calendar .slide-right-leave-to{transform:translate(10px);opacity:0}#persian-calendar .slide-left-leave-to,#persian-calendar .slide-right-enter{transform:translate(-10px);opacity:0}#persian-calendar .popover-show-event-details{width:250px}#persian-calendar .popover-show-event-details .popover-body .card-header-class .event-title{font-size:.65rem;max-width:75%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#persian-calendar .popover-show-event-details .popover-body .card-header-class .event-action .fa-pencil-square-o,#persian-calendar .popover-show-event-details .popover-body .card-header-class .event-action .fa-trash-o{font-size:1rem;margin:0 .2rem;cursor:pointer}#persian-calendar .popover-show-event-details .popover-body .card-header-class .event-action .fa-pencil-square-o:hover{color:#0093ee}#persian-calendar .popover-show-event-details .popover-body .card-header-class .event-action .fa-trash-o:hover{color:#f5365c}#persian-calendar .popover-show-event-details .popover-body .card-body-class,#persian-calendar .popover-show-event-details .popover-body .card-footer-class{font-size:.7rem}#persian-calendar .popover-show-vacation-description{width:150px}')),document.head.appendChild(e)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
import { defineComponent as jo, ref as ve, computed as He, watch as rt, onMounted as Oo, openBlock as K, createElementBlock as ee, createElementVNode as A, normalizeStyle as zt, toDisplayString as Me, createCommentVNode as Re, createVNode as To, Transition as bo, withCtx as xo, Fragment as Yr, renderList as wr, normalizeClass as gr, renderSlot as Po, createTextVNode as Wo, unref as Lo } from "vue";
var Ts = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function Fo(n) {
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
}
function bs(n) {
  throw new Error('Could not dynamically require "' + n + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var xs = { exports: {} };
(function(n, i) {
  (function(u, l) {
    n.exports = l();
  })(Ts, function() {
    var u;
    function l() {
      return u.apply(null, arguments);
    }
    function f(e) {
      u = e;
    }
    function y(e) {
      return e instanceof Array || Object.prototype.toString.call(e) === "[object Array]";
    }
    function Y(e) {
      return e != null && Object.prototype.toString.call(e) === "[object Object]";
    }
    function _(e, t) {
      return Object.prototype.hasOwnProperty.call(e, t);
    }
    function j(e) {
      if (Object.getOwnPropertyNames)
        return Object.getOwnPropertyNames(e).length === 0;
      var t;
      for (t in e)
        if (_(e, t))
          return !1;
      return !0;
    }
    function b(e) {
      return e === void 0;
    }
    function U(e) {
      return typeof e == "number" || Object.prototype.toString.call(e) === "[object Number]";
    }
    function I(e) {
      return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]";
    }
    function q(e, t) {
      var r = [], s, a = e.length;
      for (s = 0; s < a; ++s)
        r.push(t(e[s], s));
      return r;
    }
    function fe(e, t) {
      for (var r in t)
        _(t, r) && (e[r] = t[r]);
      return _(t, "toString") && (e.toString = t.toString), _(t, "valueOf") && (e.valueOf = t.valueOf), e;
    }
    function ie(e, t, r, s) {
      return qr(e, t, r, s, !0).utc();
    }
    function gt() {
      return {
        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
      };
    }
    function k(e) {
      return e._pf == null && (e._pf = gt()), e._pf;
    }
    var at;
    Array.prototype.some ? at = Array.prototype.some : at = function(e) {
      var t = Object(this), r = t.length >>> 0, s;
      for (s = 0; s < r; s++)
        if (s in t && e.call(this, t[s], s, t))
          return !0;
      return !1;
    };
    function H(e) {
      if (e._isValid == null) {
        var t = k(e), r = at.call(t.parsedDateParts, function(a) {
          return a != null;
        }), s = !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 && r);
        if (e._strict && (s = s && t.charsLeftOver === 0 && t.unusedTokens.length === 0 && t.bigHour === void 0), Object.isFrozen == null || !Object.isFrozen(e))
          e._isValid = s;
        else
          return s;
      }
      return e._isValid;
    }
    function Ge(e) {
      var t = ie(NaN);
      return e != null ? fe(k(t), e) : k(t).userInvalidated = !0, t;
    }
    var Be = l.momentProperties = [], nt = !1;
    function ye(e, t) {
      var r, s, a, o = Be.length;
      if (b(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), b(t._i) || (e._i = t._i), b(t._f) || (e._f = t._f), b(t._l) || (e._l = t._l), b(t._strict) || (e._strict = t._strict), b(t._tzm) || (e._tzm = t._tzm), b(t._isUTC) || (e._isUTC = t._isUTC), b(t._offset) || (e._offset = t._offset), b(t._pf) || (e._pf = k(t)), b(t._locale) || (e._locale = t._locale), o > 0)
        for (r = 0; r < o; r++)
          s = Be[r], a = t[s], b(a) || (e[s] = a);
      return e;
    }
    function Pe(e) {
      ye(this, e), this._d = new Date(e._d != null ? e._d.getTime() : NaN), this.isValid() || (this._d = /* @__PURE__ */ new Date(NaN)), nt === !1 && (nt = !0, l.updateOffset(this), nt = !1);
    }
    function te(e) {
      return e instanceof Pe || e != null && e._isAMomentObject != null;
    }
    function kt(e) {
      l.suppressDeprecationWarnings === !1 && typeof console < "u" && console.warn && console.warn("Deprecation warning: " + e);
    }
    function re(e, t) {
      var r = !0;
      return fe(function() {
        if (l.deprecationHandler != null && l.deprecationHandler(null, e), r) {
          var s = [], a, o, d, w = arguments.length;
          for (o = 0; o < w; o++) {
            if (a = "", typeof arguments[o] == "object") {
              a += `
[` + o + "] ";
              for (d in arguments[0])
                _(arguments[0], d) && (a += d + ": " + arguments[0][d] + ", ");
              a = a.slice(0, -2);
            } else
              a = arguments[o];
            s.push(a);
          }
          kt(
            e + `
Arguments: ` + Array.prototype.slice.call(s).join("") + `
` + new Error().stack
          ), r = !1;
        }
        return t.apply(this, arguments);
      }, t);
    }
    var pt = {};
    function St(e, t) {
      l.deprecationHandler != null && l.deprecationHandler(e, t), pt[e] || (kt(t), pt[e] = !0);
    }
    l.suppressDeprecationWarnings = !1, l.deprecationHandler = null;
    function oe(e) {
      return typeof Function < "u" && e instanceof Function || Object.prototype.toString.call(e) === "[object Function]";
    }
    function Jt(e) {
      var t, r;
      for (r in e)
        _(e, r) && (t = e[r], oe(t) ? this[r] = t : this["_" + r] = t);
      this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp(
        (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source
      );
    }
    function it(e, t) {
      var r = fe({}, e), s;
      for (s in t)
        _(t, s) && (Y(e[s]) && Y(t[s]) ? (r[s] = {}, fe(r[s], e[s]), fe(r[s], t[s])) : t[s] != null ? r[s] = t[s] : delete r[s]);
      for (s in e)
        _(e, s) && !_(t, s) && Y(e[s]) && (r[s] = fe({}, r[s]));
      return r;
    }
    function ot(e) {
      e != null && this.set(e);
    }
    var lt;
    Object.keys ? lt = Object.keys : lt = function(e) {
      var t, r = [];
      for (t in e)
        _(e, t) && r.push(t);
      return r;
    };
    var qt = {
      sameDay: "[Today at] LT",
      nextDay: "[Tomorrow at] LT",
      nextWeek: "dddd [at] LT",
      lastDay: "[Yesterday at] LT",
      lastWeek: "[Last] dddd [at] LT",
      sameElse: "L"
    };
    function Qt(e, t, r) {
      var s = this._calendar[e] || this._calendar.sameElse;
      return oe(s) ? s.call(t, r) : s;
    }
    function le(e, t, r) {
      var s = "" + Math.abs(e), a = t - s.length, o = e >= 0;
      return (o ? r ? "+" : "" : "-") + Math.pow(10, Math.max(0, a)).toString().substr(1) + s;
    }
    var We = /(\[[^\[]*\])|(\\)?([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, Ce = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, m = {}, v = {};
    function c(e, t, r, s) {
      var a = s;
      typeof s == "string" && (a = function() {
        return this[s]();
      }), e && (v[e] = a), t && (v[t[0]] = function() {
        return le(a.apply(this, arguments), t[1], t[2]);
      }), r && (v[r] = function() {
        return this.localeData().ordinal(
          a.apply(this, arguments),
          e
        );
      });
    }
    function O(e) {
      return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, "");
    }
    function Q(e) {
      var t = e.match(We), r, s;
      for (r = 0, s = t.length; r < s; r++)
        v[t[r]] ? t[r] = v[t[r]] : t[r] = O(t[r]);
      return function(a) {
        var o = "", d;
        for (d = 0; d < s; d++)
          o += oe(t[d]) ? t[d].call(a, e) : t[d];
        return o;
      };
    }
    function he(e, t) {
      return e.isValid() ? (t = $e(t, e.localeData()), m[t] = m[t] || Q(t), m[t](e)) : e.localeData().invalidDate();
    }
    function $e(e, t) {
      var r = 5;
      function s(a) {
        return t.longDateFormat(a) || a;
      }
      for (Ce.lastIndex = 0; r >= 0 && Ce.test(e); )
        e = e.replace(
          Ce,
          s
        ), Ce.lastIndex = 0, r -= 1;
      return e;
    }
    var Ae = {
      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"
    };
    function V(e) {
      var t = this._longDateFormat[e], r = this._longDateFormat[e.toUpperCase()];
      return t || !r ? t : (this._longDateFormat[e] = r.match(We).map(function(s) {
        return s === "MMMM" || s === "MM" || s === "DD" || s === "dddd" ? s.slice(1) : s;
      }).join(""), this._longDateFormat[e]);
    }
    var ut = "Invalid date";
    function ze() {
      return this._invalidDate;
    }
    var Xt = "%d", jt = /\d{1,2}/;
    function we(e) {
      return this._ordinal.replace("%d", e);
    }
    var Ze = {
      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"
    };
    function Is(e, t, r, s) {
      var a = this._relativeTime[r];
      return oe(a) ? a(e, t, r, s) : a.replace(/%d/i, e);
    }
    function Es(e, t) {
      var r = this._relativeTime[e > 0 ? "future" : "past"];
      return oe(r) ? r(t) : r.replace(/%s/i, t);
    }
    var dt = {};
    function z(e, t) {
      var r = e.toLowerCase();
      dt[r] = dt[r + "s"] = dt[t] = e;
    }
    function ue(e) {
      return typeof e == "string" ? dt[e] || dt[e.toLowerCase()] : void 0;
    }
    function Kt(e) {
      var t = {}, r, s;
      for (s in e)
        _(e, s) && (r = ue(s), r && (t[r] = e[s]));
      return t;
    }
    var br = {};
    function Z(e, t) {
      br[e] = t;
    }
    function Us(e) {
      var t = [], r;
      for (r in e)
        _(e, r) && t.push({ unit: r, priority: br[r] });
      return t.sort(function(s, a) {
        return s.priority - a.priority;
      }), t;
    }
    function Ot(e) {
      return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0;
    }
    function de(e) {
      return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
    }
    function T(e) {
      var t = +e, r = 0;
      return t !== 0 && isFinite(t) && (r = de(t)), r;
    }
    function Je(e, t) {
      return function(r) {
        return r != null ? (xr(this, e, r), l.updateOffset(this, t), this) : Tt(this, e);
      };
    }
    function Tt(e, t) {
      return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN;
    }
    function xr(e, t, r) {
      e.isValid() && !isNaN(r) && (t === "FullYear" && Ot(e.year()) && e.month() === 1 && e.date() === 29 ? (r = T(r), e._d["set" + (e._isUTC ? "UTC" : "") + t](
        r,
        e.month(),
        Nt(r, e.month())
      )) : e._d["set" + (e._isUTC ? "UTC" : "") + t](r));
    }
    function Hs(e) {
      return e = ue(e), oe(this[e]) ? this[e]() : this;
    }
    function Vs(e, t) {
      if (typeof e == "object") {
        e = Kt(e);
        var r = Us(e), s, a = r.length;
        for (s = 0; s < a; s++)
          this[r[s].unit](e[r[s].unit]);
      } else if (e = ue(e), oe(this[e]))
        return this[e](t);
      return this;
    }
    var Pr = /\d/, se = /\d\d/, Wr = /\d{3}/, er = /\d{4}/, bt = /[+-]?\d{6}/, R = /\d\d?/, Lr = /\d\d\d\d?/, Fr = /\d\d\d\d\d\d?/, xt = /\d{1,3}/, tr = /\d{1,4}/, Pt = /[+-]?\d{1,6}/, qe = /\d+/, Wt = /[+-]?\d+/, Gs = /Z|[+-]\d\d:?\d\d/gi, Lt = /Z|[+-]\d\d(?::?\d\d)?/gi, Bs = /[+-]?\d+(\.\d{1,3})?/, ft = /[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, Ft;
    Ft = {};
    function M(e, t, r) {
      Ft[e] = oe(t) ? t : function(s, a) {
        return s && r ? r : t;
      };
    }
    function $s(e, t) {
      return _(Ft, e) ? Ft[e](t._strict, t._locale) : new RegExp(zs(e));
    }
    function zs(e) {
      return ae(
        e.replace("\\", "").replace(
          /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
          function(t, r, s, a, o) {
            return r || s || a || o;
          }
        )
      );
    }
    function ae(e) {
      return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
    }
    var rr = {};
    function L(e, t) {
      var r, s = t, a;
      for (typeof e == "string" && (e = [e]), U(t) && (s = function(o, d) {
        d[t] = T(o);
      }), a = e.length, r = 0; r < a; r++)
        rr[e[r]] = s;
    }
    function ht(e, t) {
      L(e, function(r, s, a, o) {
        a._w = a._w || {}, t(r, a._w, a, o);
      });
    }
    function Zs(e, t, r) {
      t != null && _(rr, e) && rr[e](t, r._a, r, e);
    }
    var J = 0, ge = 1, De = 2, B = 3, ce = 4, ke = 5, Ie = 6, Js = 7, qs = 8;
    function Qs(e, t) {
      return (e % t + t) % t;
    }
    var G;
    Array.prototype.indexOf ? G = Array.prototype.indexOf : G = function(e) {
      var t;
      for (t = 0; t < this.length; ++t)
        if (this[t] === e)
          return t;
      return -1;
    };
    function Nt(e, t) {
      if (isNaN(e) || isNaN(t))
        return NaN;
      var r = Qs(t, 12);
      return e += (t - r) / 12, r === 1 ? Ot(e) ? 29 : 28 : 31 - r % 7 % 2;
    }
    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);
    }), z("month", "M"), Z("month", 8), M("M", R), M("MM", R, se), M("MMM", function(e, t) {
      return t.monthsShortRegex(e);
    }), M("MMMM", function(e, t) {
      return t.monthsRegex(e);
    }), L(["M", "MM"], function(e, t) {
      t[ge] = T(e) - 1;
    }), L(["MMM", "MMMM"], function(e, t, r, s) {
      var a = r._locale.monthsParse(e, s, r._strict);
      a != null ? t[ge] = a : k(r).invalidMonth = e;
    });
    var Xs = "January_February_March_April_May_June_July_August_September_October_November_December".split(
      "_"
    ), Nr = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), Rr = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, Ks = ft, ea = ft;
    function ta(e, t) {
      return e ? y(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || Rr).test(t) ? "format" : "standalone"][e.month()] : y(this._months) ? this._months : this._months.standalone;
    }
    function ra(e, t) {
      return e ? y(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[Rr.test(t) ? "format" : "standalone"][e.month()] : y(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone;
    }
    function sa(e, t, r) {
      var s, a, o, d = e.toLocaleLowerCase();
      if (!this._monthsParse)
        for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], s = 0; s < 12; ++s)
          o = ie([2e3, s]), this._shortMonthsParse[s] = this.monthsShort(
            o,
            ""
          ).toLocaleLowerCase(), this._longMonthsParse[s] = this.months(o, "").toLocaleLowerCase();
      return r ? t === "MMM" ? (a = G.call(this._shortMonthsParse, d), a !== -1 ? a : null) : (a = G.call(this._longMonthsParse, d), a !== -1 ? a : null) : t === "MMM" ? (a = G.call(this._shortMonthsParse, d), a !== -1 ? a : (a = G.call(this._longMonthsParse, d), a !== -1 ? a : null)) : (a = G.call(this._longMonthsParse, d), a !== -1 ? a : (a = G.call(this._shortMonthsParse, d), a !== -1 ? a : null));
    }
    function aa(e, t, r) {
      var s, a, o;
      if (this._monthsParseExact)
        return sa.call(this, e, t, r);
      for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), s = 0; s < 12; s++) {
        if (a = ie([2e3, s]), r && !this._longMonthsParse[s] && (this._longMonthsParse[s] = new RegExp(
          "^" + this.months(a, "").replace(".", "") + "$",
          "i"
        ), this._shortMonthsParse[s] = new RegExp(
          "^" + this.monthsShort(a, "").replace(".", "") + "$",
          "i"
        )), !r && !this._monthsParse[s] && (o = "^" + this.months(a, "") + "|^" + this.monthsShort(a, ""), this._monthsParse[s] = new RegExp(o.replace(".", ""), "i")), r && t === "MMMM" && this._longMonthsParse[s].test(e))
          return s;
        if (r && t === "MMM" && this._shortMonthsParse[s].test(e))
          return s;
        if (!r && this._monthsParse[s].test(e))
          return s;
      }
    }
    function Cr(e, t) {
      var r;
      if (!e.isValid())
        return e;
      if (typeof t == "string") {
        if (/^\d+$/.test(t))
          t = T(t);
        else if (t = e.localeData().monthsParse(t), !U(t))
          return e;
      }
      return r = Math.min(e.date(), Nt(e.year(), t)), e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, r), e;
    }
    function Ar(e) {
      return e != null ? (Cr(this, e), l.updateOffset(this, !0), this) : Tt(this, "Month");
    }
    function na() {
      return Nt(this.year(), this.month());
    }
    function ia(e) {
      return this._monthsParseExact ? (_(this, "_monthsRegex") || Ir.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (_(this, "_monthsShortRegex") || (this._monthsShortRegex = Ks), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex);
    }
    function oa(e) {
      return this._monthsParseExact ? (_(this, "_monthsRegex") || Ir.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (_(this, "_monthsRegex") || (this._monthsRegex = ea), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex);
    }
    function Ir() {
      function e(d, w) {
        return w.length - d.length;
      }
      var t = [], r = [], s = [], a, o;
      for (a = 0; a < 12; a++)
        o = ie([2e3, a]), t.push(this.monthsShort(o, "")), r.push(this.months(o, "")), s.push(this.months(o, "")), s.push(this.monthsShort(o, ""));
      for (t.sort(e), r.sort(e), s.sort(e), a = 0; a < 12; a++)
        t[a] = ae(t[a]), r[a] = ae(r[a]);
      for (a = 0; a < 24; a++)
        s[a] = ae(s[a]);
      this._monthsRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp(
        "^(" + r.join("|") + ")",
        "i"
      ), this._monthsShortStrictRegex = new RegExp(
        "^(" + t.join("|") + ")",
        "i"
      );
    }
    c("Y", 0, 0, function() {
      var e = this.year();
      return e <= 9999 ? le(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"), z("year", "y"), Z("year", 1), M("Y", Wt), M("YY", R, se), M("YYYY", tr, er), M("YYYYY", Pt, bt), M("YYYYYY", Pt, bt), L(["YYYYY", "YYYYYY"], J), L("YYYY", function(e, t) {
      t[J] = e.length === 2 ? l.parseTwoDigitYear(e) : T(e);
    }), L("YY", function(e, t) {
      t[J] = l.parseTwoDigitYear(e);
    }), L("Y", function(e, t) {
      t[J] = parseInt(e, 10);
    });
    function ct(e) {
      return Ot(e) ? 366 : 365;
    }
    l.parseTwoDigitYear = function(e) {
      return T(e) + (T(e) > 68 ? 1900 : 2e3);
    };
    var Er = Je("FullYear", !0);
    function la() {
      return Ot(this.year());
    }
    function ua(e, t, r, s, a, o, d) {
      var w;
      return e < 100 && e >= 0 ? (w = new Date(e + 400, t, r, s, a, o, d), isFinite(w.getFullYear()) && w.setFullYear(e)) : w = new Date(e, t, r, s, a, o, d), w;
    }
    function _t(e) {
      var t, r;
      return e < 100 && e >= 0 ? (r = Array.prototype.slice.call(arguments), r[0] = e + 400, t = new Date(Date.UTC.apply(null, r)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t;
    }
    function Rt(e, t, r) {
      var s = 7 + t - r, a = (7 + _t(e, 0, s).getUTCDay() - t) % 7;
      return -a + s - 1;
    }
    function Ur(e, t, r, s, a) {
      var o = (7 + r - s) % 7, d = Rt(e, s, a), w = 1 + 7 * (t - 1) + o + d, S, F;
      return w <= 0 ? (S = e - 1, F = ct(S) + w) : w > ct(e) ? (S = e + 1, F = w - ct(e)) : (S = e, F = w), {
        year: S,
        dayOfYear: F
      };
    }
    function mt(e, t, r) {
      var s = Rt(e.year(), t, r), a = Math.floor((e.dayOfYear() - s - 1) / 7) + 1, o, d;
      return a < 1 ? (d = e.year() - 1, o = a + pe(d, t, r)) : a > pe(e.year(), t, r) ? (o = a - pe(e.year(), t, r), d = e.year() + 1) : (d = e.year(), o = a), {
        week: o,
        year: d
      };
    }
    function pe(e, t, r) {
      var s = Rt(e, t, r), a = Rt(e + 1, t, r);
      return (ct(e) - s + a) / 7;
    }
    c("w", ["ww", 2], "wo", "week"), c("W", ["WW", 2], "Wo", "isoWeek"), z("week", "w"), z("isoWeek", "W"), Z("week", 5), Z("isoWeek", 5), M("w", R), M("ww", R, se), M("W", R), M("WW", R, se), ht(
      ["w", "ww", "W", "WW"],
      function(e, t, r, s) {
        t[s.substr(0, 1)] = T(e);
      }
    );
    function da(e) {
      return mt(e, this._week.dow, this._week.doy).week;
    }
    var fa = {
      dow: 0,
      // Sunday is the first day of the week.
      doy: 6
      // The week that contains Jan 6th is the first week of the year.
    };
    function ha() {
      return this._week.dow;
    }
    function ca() {
      return this._week.doy;
    }
    function _a(e) {
      var t = this.localeData().week(this);
      return e == null ? t : this.add((e - t) * 7, "d");
    }
    function ma(e) {
      var t = mt(this, 1, 4).week;
      return e == null ? t : this.add((e - t) * 7, "d");
    }
    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"), z("day", "d"), z("weekday", "e"), z("isoWeekday", "E"), Z("day", 11), Z("weekday", 11), Z("isoWeekday", 11), M("d", R), M("e", R), M("E", R), M("dd", function(e, t) {
      return t.weekdaysMinRegex(e);
    }), M("ddd", function(e, t) {
      return t.weekdaysShortRegex(e);
    }), M("dddd", function(e, t) {
      return t.weekdaysRegex(e);
    }), ht(["dd", "ddd", "dddd"], function(e, t, r, s) {
      var a = r._locale.weekdaysParse(e, s, r._strict);
      a != null ? t.d = a : k(r).invalidWeekday = e;
    }), ht(["d", "e", "E"], function(e, t, r, s) {
      t[s] = T(e);
    });
    function ya(e, t) {
      return typeof e != "string" ? e : isNaN(e) ? (e = t.weekdaysParse(e), typeof e == "number" ? e : null) : parseInt(e, 10);
    }
    function Da(e, t) {
      return typeof e == "string" ? t.weekdaysParse(e) % 7 || 7 : isNaN(e) ? null : e;
    }
    function sr(e, t) {
      return e.slice(t, 7).concat(e.slice(0, t));
    }
    var va = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), Hr = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), Ma = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), Ya = ft, wa = ft, ga = ft;
    function ka(e, t) {
      var r = y(this._weekdays) ? this._weekdays : this._weekdays[e && e !== !0 && this._weekdays.isFormat.test(t) ? "format" : "standalone"];
      return e === !0 ? sr(r, this._week.dow) : e ? r[e.day()] : r;
    }
    function pa(e) {
      return e === !0 ? sr(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort;
    }
    function Sa(e) {
      return e === !0 ? sr(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin;
    }
    function ja(e, t, r) {
      var s, a, o, d = e.toLocaleLowerCase();
      if (!this._weekdaysParse)
        for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], s = 0; s < 7; ++s)
          o = ie([2e3, 1]).day(s), this._minWeekdaysParse[s] = this.weekdaysMin(
            o,
            ""
          ).toLocaleLowerCase(), this._shortWeekdaysParse[s] = this.weekdaysShort(
            o,
            ""
          ).toLocaleLowerCase(), this._weekdaysParse[s] = this.weekdays(o, "").toLocaleLowerCase();
      return r ? t === "dddd" ? (a = G.call(this._weekdaysParse, d), a !== -1 ? a : null) : t === "ddd" ? (a = G.call(this._shortWeekdaysParse, d), a !== -1 ? a : null) : (a = G.call(this._minWeekdaysParse, d), a !== -1 ? a : null) : t === "dddd" ? (a = G.call(this._weekdaysParse, d), a !== -1 || (a = G.call(this._shortWeekdaysParse, d), a !== -1) ? a : (a = G.call(this._minWeekdaysParse, d), a !== -1 ? a : null)) : t === "ddd" ? (a = G.call(this._shortWeekdaysParse, d), a !== -1 || (a = G.call(this._weekdaysParse, d), a !== -1) ? a : (a = G.call(this._minWeekdaysParse, d), a !== -1 ? a : null)) : (a = G.call(this._minWeekdaysParse, d), a !== -1 || (a = G.call(this._weekdaysParse, d), a !== -1) ? a : (a = G.call(this._shortWeekdaysParse, d), a !== -1 ? a : null));
    }
    function Oa(e, t, r) {
      var s, a, o;
      if (this._weekdaysParseExact)
        return ja.call(this, e, t, r);
      for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), s = 0; s < 7; s++) {
        if (a = ie([2e3, 1]).day(s), r && !this._fullWeekdaysParse[s] && (this._fullWeekdaysParse[s] = new RegExp(
          "^" + this.weekdays(a, "").replace(".", "\\.?") + "$",
          "i"
        ), this._shortWeekdaysParse[s] = new RegExp(
          "^" + this.weekdaysShort(a, "").replace(".", "\\.?") + "$",
          "i"
        ), this._minWeekdaysParse[s] = new RegExp(
          "^" + this.weekdaysMin(a, "").replace(".", "\\.?") + "$",
          "i"
        )), this._weekdaysParse[s] || (o = "^" + this.weekdays(a, "") + "|^" + this.weekdaysShort(a, "") + "|^" + this.weekdaysMin(a, ""), this._weekdaysParse[s] = new RegExp(o.replace(".", ""), "i")), r && t === "dddd" && this._fullWeekdaysParse[s].test(e))
          return s;
        if (r && t === "ddd" && this._shortWeekdaysParse[s].test(e))
          return s;
        if (r && t === "dd" && this._minWeekdaysParse[s].test(e))
          return s;
        if (!r && this._weekdaysParse[s].test(e))
          return s;
      }
    }
    function Ta(e) {
      if (!this.isValid())
        return e != null ? this : NaN;
      var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
      return e != null ? (e = ya(e, this.localeData()), this.add(e - t, "d")) : t;
    }
    function ba(e) {
      if (!this.isValid())
        return e != null ? this : NaN;
      var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
      return e == null ? t : this.add(e - t, "d");
    }
    function xa(e) {
      if (!this.isValid())
        return e != null ? this : NaN;
      if (e != null) {
        var t = Da(e, this.localeData());
        return this.day(this.day() % 7 ? t : t - 7);
      } else
        return this.day() || 7;
    }
    function Pa(e) {
      return this._weekdaysParseExact ? (_(this, "_weekdaysRegex") || ar.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (_(this, "_weekdaysRegex") || (this._weekdaysRegex = Ya), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex);
    }
    function Wa(e) {
      return this._weekdaysParseExact ? (_(this, "_weekdaysRegex") || ar.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (_(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = wa), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
    }
    function La(e) {
      return this._weekdaysParseExact ? (_(this, "_weekdaysRegex") || ar.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (_(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = ga), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
    }
    function ar() {
      function e(X, be) {
        return be.length - X.length;
      }
      var t = [], r = [], s = [], a = [], o, d, w, S, F;
      for (o = 0; o < 7; o++)
        d = ie([2e3, 1]).day(o), w = ae(this.weekdaysMin(d, "")), S = ae(this.weekdaysShort(d, "")), F = ae(this.weekdays(d, "")), t.push(w), r.push(S), s.push(F), a.push(w), a.push(S), a.push(F);
      t.sort(e), r.sort(e), s.sort(e), a.sort(e), this._weekdaysRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp(
        "^(" + s.join("|") + ")",
        "i"
      ), this._weekdaysShortStrictRegex = new RegExp(
        "^(" + r.join("|") + ")",
        "i"
      ), this._weekdaysMinStrictRegex = new RegExp(
        "^(" + t.join("|") + ")",
        "i"
      );
    }
    function nr() {
      return this.hours() % 12 || 12;
    }
    function Fa() {
      return this.hours() || 24;
    }
    c("H", ["HH", 2], 0, "hour"), c("h", ["hh", 2], 0, nr), c("k", ["kk", 2], 0, Fa), c("hmm", 0, 0, function() {
      return "" + nr.apply(this) + le(this.minutes(), 2);
    }), c("hmmss", 0, 0, function() {
      return "" + nr.apply(this) + le(this.minutes(), 2) + le(this.seconds(), 2);
    }), c("Hmm", 0, 0, function() {
      return "" + this.hours() + le(this.minutes(), 2);
    }), c("Hmmss", 0, 0, function() {
      return "" + this.hours() + le(this.minutes(), 2) + le(this.seconds(), 2);
    });
    function Vr(e, t) {
      c(e, 0, 0, function() {
        return this.localeData().meridiem(
          this.hours(),
          this.minutes(),
          t
        );
      });
    }
    Vr("a", !0), Vr("A", !1), z("hour", "h"), Z("hour", 13);
    function Gr(e, t) {
      return t._meridiemParse;
    }
    M("a", Gr), M("A", Gr), M("H", R), M("h", R), M("k", R), M("HH", R, se), M("hh", R, se), M("kk", R, se), M("hmm", Lr), M("hmmss", Fr), M("Hmm", Lr), M("Hmmss", Fr), L(["H", "HH"], B), L(["k", "kk"], function(e, t, r) {
      var s = T(e);
      t[B] = s === 24 ? 0 : s;
    }), L(["a", "A"], function(e, t, r) {
      r._isPm = r._locale.isPM(e), r._meridiem = e;
    }), L(["h", "hh"], function(e, t, r) {
      t[B] = T(e), k(r).bigHour = !0;
    }), L("hmm", function(e, t, r) {
      var s = e.length - 2;
      t[B] = T(e.substr(0, s)), t[ce] = T(e.substr(s)), k(r).bigHour = !0;
    }), L("hmmss", function(e, t, r) {
      var s = e.length - 4, a = e.length - 2;
      t[B] = T(e.substr(0, s)), t[ce] = T(e.substr(s, 2)), t[ke] = T(e.substr(a)), k(r).bigHour = !0;
    }), L("Hmm", function(e, t, r) {
      var s = e.length - 2;
      t[B] = T(e.substr(0, s)), t[ce] = T(e.substr(s));
    }), L("Hmmss", function(e, t, r) {
      var s = e.length - 4, a = e.length - 2;
      t[B] = T(e.substr(0, s)), t[ce] = T(e.substr(s, 2)), t[ke] = T(e.substr(a));
    });
    function Na(e) {
      return (e + "").toLowerCase().charAt(0) === "p";
    }
    var Ra = /[ap]\.?m?\.?/i, Ca = Je("Hours", !0);
    function Aa(e, t, r) {
      return e > 11 ? r ? "pm" : "PM" : r ? "am" : "AM";
    }
    var Br = {
      calendar: qt,
      longDateFormat: Ae,
      invalidDate: ut,
      ordinal: Xt,
      dayOfMonthOrdinalParse: jt,
      relativeTime: Ze,
      months: Xs,
      monthsShort: Nr,
      week: fa,
      weekdays: va,
      weekdaysMin: Ma,
      weekdaysShort: Hr,
      meridiemParse: Ra
    }, E = {}, yt = {}, Dt;
    function Ia(e, t) {
      var r, s = Math.min(e.length, t.length);
      for (r = 0; r < s; r += 1)
        if (e[r] !== t[r])
          return r;
      return s;
    }
    function $r(e) {
      return e && e.toLowerCase().replace("_", "-");
    }
    function Ea(e) {
      for (var t = 0, r, s, a, o; t < e.length; ) {
        for (o = $r(e[t]).split("-"), r = o.length, s = $r(e[t + 1]), s = s ? s.split("-") : null; r > 0; ) {
          if (a = Ct(o.slice(0, r).join("-")), a)
            return a;
          if (s && s.length >= r && Ia(o, s) >= r - 1)
            break;
          r--;
        }
        t++;
      }
      return Dt;
    }
    function Ua(e) {
      return e.match("^[^/\\\\]*$") != null;
    }
    function Ct(e) {
      var t = null, r;
      if (E[e] === void 0 && n && n.exports && Ua(e))
        try {
          t = Dt._abbr, r = bs, r("./locale/" + e), Le(t);
        } catch {
          E[e] = null;
        }
      return E[e];
    }
    function Le(e, t) {
      var r;
      return e && (b(t) ? r = Se(e) : r = ir(e, t), r ? Dt = r : typeof console < "u" && console.warn && console.warn(
        "Locale " + e + " not found. Did you forget to load it?"
      )), Dt._abbr;
    }
    function ir(e, t) {
      if (t !== null) {
        var r, s = Br;
        if (t.abbr = e, E[e] != null)
          St(
            "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 = E[e]._config;
        else if (t.parentLocale != null)
          if (E[t.parentLocale] != null)
            s = E[t.parentLocale]._config;
          else if (r = Ct(t.parentLocale), r != null)
            s = r._config;
          else
            return yt[t.parentLocale] || (yt[t.parentLocale] = []), yt[t.parentLocale].push({
              name: e,
              config: t
            }), null;
        return E[e] = new ot(it(s, t)), yt[e] && yt[e].forEach(function(a) {
          ir(a.name, a.config);
        }), Le(e), E[e];
      } else
        return delete E[e], null;
    }
    function Ha(e, t) {
      if (t != null) {
        var r, s, a = Br;
        E[e] != null && E[e].parentLocale != null ? E[e].set(it(E[e]._config, t)) : (s = Ct(e), s != null && (a = s._config), t = it(a, t), s == null && (t.abbr = e), r = new ot(t), r.parentLocale = E[e], E[e] = r), Le(e);
      } else
        E[e] != null && (E[e].parentLocale != null ? (E[e] = E[e].parentLocale, e === Le() && Le(e)) : E[e] != null && delete E[e]);
      return E[e];
    }
    function Se(e) {
      var t;
      if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)
        return Dt;
      if (!y(e)) {
        if (t = Ct(e), t)
          return t;
        e = [e];
      }
      return Ea(e);
    }
    function Va() {
      return lt(E);
    }
    function or(e) {
      var t, r = e._a;
      return r && k(e).overflow === -2 && (t = r[ge] < 0 || r[ge] > 11 ? ge : r[De] < 1 || r[De] > Nt(r[J], r[ge]) ? De : r[B] < 0 || r[B] > 24 || r[B] === 24 && (r[ce] !== 0 || r[ke] !== 0 || r[Ie] !== 0) ? B : r[ce] < 0 || r[ce] > 59 ? ce : r[ke] < 0 || r[ke] > 59 ? ke : r[Ie] < 0 || r[Ie] > 999 ? Ie : -1, k(e)._overflowDayOfYear && (t < J || t > De) && (t = De), k(e)._overflowWeeks && t === -1 && (t = Js), k(e)._overflowWeekday && t === -1 && (t = qs), k(e).overflow = t), e;
    }
    var Ga = /^\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)?)?$/, Ba = /^\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)?)?$/, $a = /Z|[+-]\d\d(?::?\d\d)?/, At = [
      ["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]
    ], lr = [
      ["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/]
    ], za = /^\/?Date\((-?\d+)/i, Za = /^(?:(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}))$/, Ja = {
      UT: 0,
      GMT: 0,
      EDT: -4 * 60,
      EST: -5 * 60,
      CDT: -5 * 60,
      CST: -6 * 60,
      MDT: -6 * 60,
      MST: -7 * 60,
      PDT: -7 * 60,
      PST: -8 * 60
    };
    function zr(e) {
      var t, r, s = e._i, a = Ga.exec(s) || Ba.exec(s), o, d, w, S, F = At.length, X = lr.length;
      if (a) {
        for (k(e).iso = !0, t = 0, r = F; t < r; t++)
          if (At[t][1].exec(a[1])) {
            d = At[t][0], o = At[t][2] !== !1;
            break;
          }
        if (d == null) {
          e._isValid = !1;
          return;
        }
        if (a[3]) {
          for (t = 0, r = X; t < r; t++)
            if (lr[t][1].exec(a[3])) {
              w = (a[2] || " ") + lr[t][0];
              break;
            }
          if (w == null) {
            e._isValid = !1;
            return;
          }
        }
        if (!o && w != null) {
          e._isValid = !1;
          return;
        }
        if (a[4])
          if ($a.exec(a[4]))
            S = "Z";
          else {
            e._isValid = !1;
            return;
          }
        e._f = d + (w || "") + (S || ""), dr(e);
      } else
        e._isValid = !1;
    }
    function qa(e, t, r, s, a, o) {
      var d = [
        Qa(e),
        Nr.indexOf(t),
        parseInt(r, 10),
        parseInt(s, 10),
        parseInt(a, 10)
      ];
      return o && d.push(parseInt(o, 10)), d;
    }
    function Qa(e) {
      var t = parseInt(e, 10);
      return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t;
    }
    function Xa(e) {
      return e.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
    }
    function Ka(e, t, r) {
      if (e) {
        var s = Hr.indexOf(e), a = new Date(
          t[0],
          t[1],
          t[2]
        ).getDay();
        if (s !== a)
          return k(r).weekdayMismatch = !0, r._isValid = !1, !1;
      }
      return !0;
    }
    function en(e, t, r) {
      if (e)
        return Ja[e];
      if (t)
        return 0;
      var s = parseInt(r, 10), a = s % 100, o = (s - a) / 100;
      return o * 60 + a;
    }
    function Zr(e) {
      var t = Za.exec(Xa(e._i)), r;
      if (t) {
        if (r = qa(
          t[4],
          t[3],
          t[2],
          t[5],
          t[6],
          t[7]
        ), !Ka(t[1], r, e))
          return;
        e._a = r, e._tzm = en(t[8], t[9], t[10]), e._d = _t.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), k(e).rfc2822 = !0;
      } else
        e._isValid = !1;
    }
    function tn(e) {
      var t = za.exec(e._i);
      if (t !== null) {
        e._d = /* @__PURE__ */ new Date(+t[1]);
        return;
      }
      if (zr(e), e._isValid === !1)
        delete e._isValid;
      else
        return;
      if (Zr(e), e._isValid === !1)
        delete e._isValid;
      else
        return;
      e._strict ? e._isValid = !1 : l.createFromInputFallback(e);
    }
    l.createFromInputFallback = re(
      "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 = /* @__PURE__ */ new Date(e._i + (e._useUTC ? " UTC" : ""));
      }
    );
    function Qe(e, t, r) {
      return e ?? t ?? r;
    }
    function rn(e) {
      var t = new Date(l.now());
      return e._useUTC ? [
        t.getUTCFullYear(),
        t.getUTCMonth(),
        t.getUTCDate()
      ] : [t.getFullYear(), t.getMonth(), t.getDate()];
    }
    function ur(e) {
      var t, r, s = [], a, o, d;
      if (!e._d) {
        for (a = rn(e), e._w && e._a[De] == null && e._a[ge] == null && sn(e), e._dayOfYear != null && (d = Qe(e._a[J], a[J]), (e._dayOfYear > ct(d) || e._dayOfYear === 0) && (k(e)._overflowDayOfYear = !0), r = _t(d, 0, e._dayOfYear), e._a[ge] = r.getUTCMonth(), e._a[De] = r.getUTCDate()), t = 0; t < 3 && e._a[t] == null; ++t)
          e._a[t] = s[t] = a[t];
        for (; t < 7; t++)
          e._a[t] = s[t] = e._a[t] == null ? t === 2 ? 1 : 0 : e._a[t];
        e._a[B] === 24 && e._a[ce] === 0 && e._a[ke] === 0 && e._a[Ie] === 0 && (e._nextDay = !0, e._a[B] = 0), e._d = (e._useUTC ? _t : ua).apply(
          null,
          s
        ), o = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), e._tzm != null && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[B] = 24), e._w && typeof e._w.d < "u" && e._w.d !== o && (k(e).weekdayMismatch = !0);
      }
    }
    function sn(e) {
      var t, r, s, a, o, d, w, S, F;
      t = e._w, t.GG != null || t.W != null || t.E != null ? (o = 1, d = 4, r = Qe(
        t.GG,
        e._a[J],
        mt(C(), 1, 4).year
      ), s = Qe(t.W, 1), a = Qe(t.E, 1), (a < 1 || a > 7) && (S = !0)) : (o = e._locale._week.dow, d = e._locale._week.doy, F = mt(C(), o, d), r = Qe(t.gg, e._a[J], F.year), s = Qe(t.w, F.week), t.d != null ? (a = t.d, (a < 0 || a > 6) && (S = !0)) : t.e != null ? (a = t.e + o, (t.e < 0 || t.e > 6) && (S = !0)) : a = o), s < 1 || s > pe(r, o, d) ? k(e)._overflowWeeks = !0 : S != null ? k(e)._overflowWeekday = !0 : (w = Ur(r, s, a, o, d), e._a[J] = w.year, e._dayOfYear = w.dayOfYear);
    }
    l.ISO_8601 = function() {
    }, l.RFC_2822 = function() {
    };
    function dr(e) {
      if (e._f === l.ISO_8601) {
        zr(e);
        return;
      }
      if (e._f === l.RFC_2822) {
        Zr(e);
        return;
      }
      e._a = [], k(e).empty = !0;
      var t = "" + e._i, r, s, a, o, d, w = t.length, S = 0, F, X;
      for (a = $e(e._f, e._locale).match(We) || [], X = a.length, r = 0; r < X; r++)
        o = a[r], s = (t.match($s(o, e)) || [])[0], s && (d = t.substr(0, t.indexOf(s)), d.length > 0 && k(e).unusedInput.push(d), t = t.slice(
          t.indexOf(s) + s.length
        ), S += s.length), v[o] ? (s ? k(e).empty = !1 : k(e).unusedTokens.push(o), Zs(o, s, e)) : e._strict && !s && k(e).unusedTokens.push(o);
      k(e).charsLeftOver = w - S, t.length > 0 && k(e).unusedInput.push(t), e._a[B] <= 12 && k(e).bigHour === !0 && e._a[B] > 0 && (k(e).bigHour = void 0), k(e).parsedDateParts = e._a.slice(0), k(e).meridiem = e._meridiem, e._a[B] = an(
        e._locale,
        e._a[B],
        e._meridiem
      ), F = k(e).era, F !== null && (e._a[J] = e._locale.erasConvertYear(F, e._a[J])), ur(e), or(e);
    }
    function an(e, t, r) {
      var s;
      return r == null ? t : e.meridiemHour != null ? e.meridiemHour(t, r) : (e.isPM != null && (s = e.isPM(r), s && t < 12 && (t += 12), !s && t === 12 && (t = 0)), t);
    }
    function nn(e) {
      var t, r, s, a, o, d, w = !1, S = e._f.length;
      if (S === 0) {
        k(e).invalidFormat = !0, e._d = /* @__PURE__ */ new Date(NaN);
        return;
      }
      for (a = 0; a < S; a++)
        o = 0, d = !1, t = ye({}, e), e._useUTC != null && (t._useUTC = e._useUTC), t._f = e._f[a], dr(t), H(t) && (d = !0), o += k(t).charsLeftOver, o += k(t).unusedTokens.length * 10, k(t).score = o, w ? o < s && (s = o, r = t) : (s == null || o < s || d) && (s = o, r = t, d && (w = !0));
      fe(e, r || t);
    }
    function on(e) {
      if (!e._d) {
        var t = Kt(e._i), r = t.day === void 0 ? t.date : t.day;
        e._a = q(
          [t.year, t.month, r, t.hour, t.minute, t.second, t.millisecond],
          function(s) {
            return s && parseInt(s, 10);
          }
        ), ur(e);
      }
    }
    function ln(e) {
      var t = new Pe(or(Jr(e)));
      return t._nextDay && (t.add(1, "d"), t._nextDay = void 0), t;
    }
    function Jr(e) {
      var t = e._i, r = e._f;
      return e._locale = e._locale || Se(e._l), t === null || r === void 0 && t === "" ? Ge({ nullInput: !0 }) : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), te(t) ? new Pe(or(t)) : (I(t) ? e._d = t : y(r) ? nn(e) : r ? dr(e) : un(e), H(e) || (e._d = null), e));
    }
    function un(e) {
      var t = e._i;
      b(t) ? e._d = new Date(l.now()) : I(t) ? e._d = new Date(t.valueOf()) : typeof t == "string" ? tn(e) : y(t) ? (e._a = q(t.slice(0), function(r) {
        return parseInt(r, 10);
      }), ur(e)) : Y(t) ? on(e) : U(t) ? e._d = new Date(t) : l.createFromInputFallback(e);
    }
    function qr(e, t, r, s, a) {
      var o = {};
      return (t === !0 || t === !1) && (s = t, t = void 0), (r === !0 || r === !1) && (s = r, r = void 0), (Y(e) && j(e) || y(e) && e.length === 0) && (e = void 0), o._isAMomentObject = !0, o._useUTC = o._isUTC = a, o._l = r, o._i = e, o._f = t, o._strict = s, ln(o);
    }
    function C(e, t, r, s) {
      return qr(e, t, r, s, !1);
    }
    var dn = re(
      "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
      function() {
        var e = C.apply(null, arguments);
        return this.isValid() && e.isValid() ? e < this ? this : e : Ge();
      }
    ), fn = re(
      "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
      function() {
        var e = C.apply(null, arguments);
        return this.isValid() && e.isValid() ? e > this ? this : e : Ge();
      }
    );
    function Qr(e, t) {
      var r, s;
      if (t.length === 1 && y(t[0]) && (t = t[0]), !t.length)
        return C();
      for (r = t[0], s = 1; s < t.length; ++s)
        (!t[s].isValid() || t[s][e](r)) && (r = t[s]);
      return r;
    }
    function hn() {
      var e = [].slice.call(arguments, 0);
      return Qr("isBefore", e);
    }
    function cn() {
      var e = [].slice.call(arguments, 0);
      return Qr("isAfter", e);
    }
    var _n = function() {
      return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
    }, vt = [
      "year",
      "quarter",
      "month",
      "week",
      "day",
      "hour",
      "minute",
      "second",
      "millisecond"
    ];
    function mn(e) {
      var t, r = !1, s, a = vt.length;
      for (t in e)
        if (_(e, t) && !(G.call(vt, t) !== -1 && (e[t] == null || !isNaN(e[t]))))
          return !1;
      for (s = 0; s < a; ++s)
        if (e[vt[s]]) {
          if (r)
            return !1;
          parseFloat(e[vt[s]]) !== T(e[vt[s]]) && (r = !0);
        }
      return !0;
    }
    function yn() {
      return this._isValid;
    }
    function Dn() {
      return _e(NaN);
    }
    function It(e) {
      var t = Kt(e), r = t.year || 0, s = t.quarter || 0, a = t.month || 0, o = t.week || t.isoWeek || 0, d = t.day || 0, w = t.hour || 0, S = t.minute || 0, F = t.second || 0, X = t.millisecond || 0;
      this._isValid = mn(t), this._milliseconds = +X + F * 1e3 + // 1000
      S * 6e4 + // 1000 * 60
      w * 1e3 * 60 * 60, this._days = +d + o * 7, this._months = +a + s * 3 + r * 12, this._data = {}, this._locale = Se(), this._bubble();
    }
    function Et(e) {
      return e instanceof It;
    }
    function fr(e) {
      return e < 0 ? Math.round(-1 * e) * -1 : Math.round(e);
    }
    function vn(e, t, r) {
      var s = Math.min(e.length, t.length), a = Math.abs(e.length - t.length), o = 0, d;
      for (d = 0; d < s; d++)
        (r && e[d] !== t[d] || !r && T(e[d]) !== T(t[d])) && o++;
      return o + a;
    }
    function Xr(e, t) {
      c(e, 0, 0, function() {
        var r = this.utcOffset(), s = "+";
        return r < 0 && (r = -r, s = "-"), s + le(~~(r / 60), 2) + t + le(~~r % 60, 2);
      });
    }
    Xr("Z", ":"), Xr("ZZ", ""), M("Z", Lt), M("ZZ", Lt), L(["Z", "ZZ"], function(e, t, r) {
      r._useUTC = !0, r._tzm = hr(Lt, e);
    });
    var Mn = /([\+\-]|\d\d)/gi;
    function hr(e, t) {
      var r = (t || "").match(e), s, a, o;
      return r === null ? null : (s = r[r.length - 1] || [], a = (s + "").match(Mn) || ["-", 0, 0], o = +(a[1] * 60) + T(a[2]), o === 0 ? 0 : a[0] === "+" ? o : -o);
    }
    function cr(e, t) {
      var r, s;
      return t._isUTC ? (r = t.clone(), s = (te(e) || I(e) ? e.valueOf() : C(e).valueOf()) - r.valueOf(), r._d.setTime(r._d.valueOf() + s), l.updateOffset(r, !1), r) : C(e).local();
    }
    function _r(e) {
      return -Math.round(e._d.getTimezoneOffset());
    }
    l.updateOffset = function() {
    };
    function Yn(e, t, r) {
      var s = this._offset || 0, a;
      if (!this.isValid())
        return e != null ? this : NaN;
      if (e != null) {
        if (typeof e == "string") {
          if (e = hr(Lt, e), e === null)
            return this;
        } else
          Math.abs(e) < 16 && !r && (e = e * 60);
        return !this._isUTC && t && (a = _r(this)), this._offset = e, this._isUTC = !0, a != null && this.add(a, "m"), s !== e && (!t || this._changeInProgress ? rs(
          this,
          _e(e - s, "m"),
          1,
          !1
        ) : this._changeInProgress || (this._changeInProgress = !0, l.updateOffset(this, !0), this._changeInProgress = null)), this;
      } else
        return this._isUTC ? s : _r(this);
    }
    function wn(e, t) {
      return e != null ? (typeof e != "string" && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset();
    }
    function gn(e) {
      return this.utcOffset(0, e);
    }
    function kn(e) {
      return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(_r(this), "m")), this;
    }
    function pn() {
      if (this._tzm != null)
        this.utcOffset(this._tzm, !1, !0);
      else if (typeof this._i == "string") {
        var e = hr(Gs, this._i);
        e != null ? this.utcOffset(e) : this.utcOffset(0, !0);
      }
      return this;
    }
    function Sn(e) {
      return this.isValid() ? (e = e ? C(e).utcOffset() : 0, (this.utcOffset() - e) % 60 === 0) : !1;
    }
    function jn() {
      return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
    }
    function On() {
      if (!b(this._isDSTShifted))
        return this._isDSTShifted;
      var e = {}, t;
      return ye(e, this), e = Jr(e), e._a ? (t = e._isUTC ? ie(e._a) : C(e._a), this._isDSTShifted = this.isValid() && vn(e._a, t.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted;
    }
    function Tn() {
      return this.isValid() ? !this._isUTC : !1;
    }
    function bn() {
      return this.isValid() ? this._isUTC : !1;
    }
    function Kr() {
      return this.isValid() ? this._isUTC && this._offset === 0 : !1;
    }
    var xn = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, Pn = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
    function _e(e, t) {
      var r = e, s = null, a, o, d;
      return Et(e) ? r = {
        ms: e._milliseconds,
        d: e._days,
        M: e._months
      } : U(e) || !isNaN(+e) ? (r = {}, t ? r[t] = +e : r.milliseconds = +e) : (s = xn.exec(e)) ? (a = s[1] === "-" ? -1 : 1, r = {
        y: 0,
        d: T(s[De]) * a,
        h: T(s[B]) * a,
        m: T(s[ce]) * a,
        s: T(s[ke]) * a,
        ms: T(fr(s[Ie] * 1e3)) * a
        // the millisecond decimal point is included in the match
      }) : (s = Pn.exec(e)) ? (a = s[1] === "-" ? -1 : 1, r = {
        y: Ee(s[2], a),
        M: Ee(s[3], a),
        w: Ee(s[4], a),
        d: Ee(s[5], a),
        h: Ee(s[6], a),
        m: Ee(s[7], a),
        s: Ee(s[8], a)
      }) : r == null ? r = {} : typeof r == "object" && ("from" in r || "to" in r) && (d = Wn(
        C(r.from),
        C(r.to)
      ), r = {}, r.ms = d.milliseconds, r.M = d.months), o = new It(r), Et(e) && _(e, "_locale") && (o._locale = e._locale), Et(e) && _(e, "_isValid") && (o._isValid = e._isValid), o;
    }
    _e.fn = It.prototype, _e.invalid = Dn;
    function Ee(e, t) {
      var r = e && parseFloat(e.replace(",", "."));
      return (isNaN(r) ? 0 : r) * t;
    }
    function es(e, t) {
      var r = {};
      return r.months = t.month() - e.month() + (t.year() - e.year()) * 12, e.clone().add(r.months, "M").isAfter(t) && --r.months, r.milliseconds = +t - +e.clone().add(r.months, "M"), r;
    }
    function Wn(e, t) {
      var r;
      return e.isValid() && t.isValid() ? (t = cr(t, e), e.isBefore(t) ? r = es(e, t) : (r = es(t, e), r.milliseconds = -r.milliseconds, r.months = -r.months), r) : { milliseconds: 0, months: 0 };
    }
    function ts(e, t) {
      return function(r, s) {
        var a, o;
        return s !== null && !isNaN(+s) && (St(
          t,
          "moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
        ), o = r, r = s, s = o), a = _e(r, s), rs(this, a, e), this;
      };
    }
    function rs(e, t, r, s) {
      var a = t._milliseconds, o = fr(t._days), d = fr(t._months);
      e.isValid() && (s = s ?? !0, d && Cr(e, Tt(e, "Month") + d * r), o && xr(e, "Date", Tt(e, "Date") + o * r), a && e._d.setTime(e._d.valueOf() + a * r), s && l.updateOffset(e, o || d));
    }
    var Ln = ts(1, "add"), Fn = ts(-1, "subtract");
    function ss(e) {
      return typeof e == "string" || e instanceof String;
    }
    function Nn(e) {
      return te(e) || I(e) || ss(e) || U(e) || Cn(e) || Rn(e) || e === null || e === void 0;
    }
    function Rn(e) {
      var t = Y(e) && !j(e), r = !1, s = [
        "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, o, d = s.length;
      for (a = 0; a < d; a += 1)
        o = s[a], r = r || _(e, o);
      return t && r;
    }
    function Cn(e) {
      var t = y(e), r = !1;
      return t && (r = e.filter(function(s) {
        return !U(s) && ss(e);
      }).length === 0), t && r;
    }
    function An(e) {
      var t = Y(e) && !j(e), r = !1, s = [
        "sameDay",
        "nextDay",
        "lastDay",
        "nextWeek",
        "lastWeek",
        "sameElse"
      ], a, o;
      for (a = 0; a < s.length; a += 1)
        o = s[a], r = r || _(e, o);
      return t && r;
    }
    function In(e, t) {
      var r = e.diff(t, "days", !0);
      return r < -6 ? "sameElse" : r < -1 ? "lastWeek" : r < 0 ? "lastDay" : r < 1 ? "sameDay" : r < 2 ? "nextDay" : r < 7 ? "nextWeek" : "sameElse";
    }
    function En(e, t) {
      arguments.length === 1 && (arguments[0] ? Nn(arguments[0]) ? (e = arguments[0], t = void 0) : An(arguments[0]) && (t = arguments[0], e = void 0) : (e = void 0, t = void 0));
      var r = e || C(), s = cr(r, this).startOf("day"), a = l.calendarFormat(this, s) || "sameElse", o = t && (oe(t[a]) ? t[a].call(this, r) : t[a]);
      return this.format(
        o || this.localeData().calendar(a, this, C(r))
      );
    }
    function Un() {
      return new Pe(this);
    }
    function Hn(e, t) {
      var r = te(e) ? e : C(e);
      return this.isValid() && r.isValid() ? (t = ue(t) || "millisecond", t === "millisecond" ? this.valueOf() > r.valueOf() : r.valueOf() < this.clone().startOf(t).valueOf()) : !1;
    }
    function Vn(e, t) {
      var r = te(e) ? e : C(e);
      return this.isValid() && r.isValid() ? (t = ue(t) || "millisecond", t === "millisecond" ? this.valueOf() < r.valueOf() : this.clone().endOf(t).valueOf() < r.valueOf()) : !1;
    }
    function Gn(e, t, r, s) {
      var a = te(e) ? e : C(e), o = te(t) ? t : C(t);
      return this.isValid() && a.isValid() && o.isValid() ? (s = s || "()", (s[0] === "(" ? this.isAfter(a, r) : !this.isBefore(a, r)) && (s[1] === ")" ? this.isBefore(o, r) : !this.isAfter(o, r))) : !1;
    }
    function Bn(e, t) {
      var r = te(e) ? e : C(e), s;
      return this.isValid() && r.isValid() ? (t = ue(t) || "millisecond", t === "millisecond" ? this.valueOf() === r.valueOf() : (s = r.valueOf(), this.clone().startOf(t).valueOf() <= s && s <= this.clone().endOf(t).valueOf())) : !1;
    }
    function $n(e, t) {
      return this.isSame(e, t) || this.isAfter(e, t);
    }
    function zn(e, t) {
      return this.isSame(e, t) || this.isBefore(e, t);
    }
    function Zn(e, t, r) {
      var s, a, o;
      if (!this.isValid())
        return NaN;
      if (s = cr(e, this), !s.isValid())
        return NaN;
      switch (a = (s.utcOffset() - this.utcOffset()) * 6e4, t = ue(t), t) {
        case "year":
          o = Ut(this, s) / 12;
          break;
        case "month":
          o = Ut(this, s);
          break;
        case "quarter":
          o = Ut(this, s) / 3;
          break;
        case "second":
          o = (this - s) / 1e3;
          break;
        case "minute":
          o = (this - s) / 6e4;
          break;
        case "hour":
          o = (this - s) / 36e5;
          break;
        case "day":
          o = (this - s - a) / 864e5;
          break;
        case "week":
          o = (this - s - a) / 6048e5;
          break;
        default:
          o = this - s;
      }
      return r ? o : de(o);
    }
    function Ut(e, t) {
      if (e.date() < t.date())
        return -Ut(t, e);
      var r = (t.year() - e.year()) * 12 + (t.month() - e.month()), s = e.clone().add(r, "months"), a, o;
      return t - s < 0 ? (a = e.clone().add(r - 1, "months"), o = (t - s) / (s - a)) : (a = e.clone().add(r + 1, "months"), o = (t - s) / (a - s)), -(r + o) || 0;
    }
    l.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", l.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
    function Jn() {
      return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
    }
    function qn(e) {
      if (!this.isValid())
        return null;
      var t = e !== !0, r = t ? this.clone().utc() : this;
      return r.year() < 0 || r.year() > 9999 ? he(
        r,
        t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
      ) : oe(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", he(r, "Z")) : he(
        r,
        t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
      );
    }
    function Qn() {
      if (!this.isValid())
        return "moment.invalid(/* " + this._i + " */)";
      var e = "moment", t = "", r, s, a, o;
      return this.isLocal() || (e = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone", t = "Z"), r = "[" + e + '("]', s = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", a = "-MM-DD[T]HH:mm:ss.SSS", o = t + '[")]', this.format(r + s + a + o);
    }
    function Xn(e) {
      e || (e = this.isUtc() ? l.defaultFormatUtc : l.defaultFormat);
      var t = he(this, e);
      return this.localeData().postformat(t);
    }
    function Kn(e, t) {
      return this.isValid() && (te(e) && e.isValid() || C(e).isValid()) ? _e({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
    }
    function ei(e) {
      return this.from(C(), e);
    }
    function ti(e, t) {
      return this.isValid() && (te(e) && e.isValid() || C(e).isValid()) ? _e({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
    }
    function ri(e) {
      return this.to(C(), e);
    }
    function as(e) {
      var t;
      return e === void 0 ? this._locale._abbr : (t = Se(e), t != null && (this._locale = t), this);
    }
    var ns = re(
      "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
      function(e) {
        return e === void 0 ? this.localeData() : this.locale(e);
      }
    );
    function is() {
      return this._locale;
    }
    var Ht = 1e3, Xe = 60 * Ht, Vt = 60 * Xe, os = (365 * 400 + 97) * 24 * Vt;
    function Ke(e, t) {
      return (e % t + t) % t;
    }
    function ls(e, t, r) {
      return e < 100 && e >= 0 ? new Date(e + 400, t, r) - os : new Date(e, t, r).valueOf();
    }
    function us(e, t, r) {
      return e < 100 && e >= 0 ? Date.UTC(e + 400, t, r) - os : Date.UTC(e, t, r);
    }
    function si(e) {
      var t, r;
      if (e = ue(e), e === void 0 || e === "millisecond" || !this.isValid())
        return this;
      switch (r = this._isUTC ? us : ls, e) {
        case "year":
          t = r(this.year(), 0, 1);
          break;
        case "quarter":
          t = r(
            this.year(),
            this.month() - this.month() % 3,
            1
          );
          break;
        case "month":
          t = r(this.year(), this.month(), 1);
          break;
        case "week":
          t = r(
            this.year(),
            this.month(),
            this.date() - this.weekday()
          );
          break;
        case "isoWeek":
          t = r(
            this.year(),
            this.month(),
            this.date() - (this.isoWeekday() - 1)
          );
          break;
        case "day":
        case "date":
          t = r(this.year(), this.month(), this.date());
          break;
        case "hour":
          t = this._d.valueOf(), t -= Ke(
            t + (this._isUTC ? 0 : this.utcOffset() * Xe),
            Vt
          );
          break;
        case "minute":
          t = this._d.valueOf(), t -= Ke(t, Xe);
          break;
        case "second":
          t = this._d.valueOf(), t -= Ke(t, Ht);
          break;
      }
      return this._d.setTime(t), l.updateOffset(this, !0), this;
    }
    function ai(e) {
      var t, r;
      if (e = ue(e), e === void 0 || e === "millisecond" || !this.isValid())
        return this;
      switch (r = this._isUTC ? us : ls, e) {
        case "year":
          t = r(this.year() + 1, 0, 1) - 1;
          break;
        case "quarter":
          t = r(
            this.year(),
            this.month() - this.month() % 3 + 3,
            1
          ) - 1;
          break;
        case "month":
          t = r(this.year(), this.month() + 1, 1) - 1;
          break;
        case "week":
          t = r(
            this.year(),
            this.month(),
            this.date() - this.weekday() + 7
          ) - 1;
          break;
        case "isoWeek":
          t = r(
            this.year(),
            this.month(),
            this.date() - (this.isoWeekday() - 1) + 7
          ) - 1;
          break;
        case "day":
        case "date":
          t = r(this.year(), this.month(), this.date() + 1) - 1;
          break;
        case "hour":
          t = this._d.valueOf(), t += Vt - Ke(
            t + (this._isUTC ? 0 : this.utcOffset() * Xe),
            Vt
          ) - 1;
          break;
        case "minute":
          t = this._d.valueOf(), t += Xe - Ke(t, Xe) - 1;
          break;
        case "second":
          t = this._d.valueOf(), t += Ht - Ke(t, Ht) - 1;
          break;
      }
      return this._d.setTime(t), l.updateOffset(this, !0), this;
    }
    function ni() {
      return this._d.valueOf() - (this._offset || 0) * 6e4;
    }
    function ii() {
      return Math.floor(this.valueOf() / 1e3);
    }
    function oi() {
      return new Date(this.valueOf());
    }
    function li() {
      var e = this;
      return [
        e.year(),
        e.month(),
        e.date(),
        e.hour(),
        e.minute(),
        e.second(),
        e.millisecond()
      ];
    }
    function ui() {
      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()
      };
    }
    function di() {
      return this.isValid() ? this.toISOString() : null;
    }
    function fi() {
      return H(this);
    }
    function hi() {
      return fe({}, k(this));
    }
    function ci() {
      return k(this).overflow;
    }
    function _i() {
      return {
        input: this._i,
        format: this._f,
        locale: this._locale,
        isUTC: this._isUTC,
        strict: this._strict
      };
    }
    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"), M("N", mr), M("NN", mr), M("NNN", mr), M("NNNN", Si), M("NNNNN", ji), L(
      ["N", "NN", "NNN", "NNNN", "NNNNN"],
      function(e, t, r, s) {
        var a = r._locale.erasParse(e, s, r._strict);
        a ? k(r).era = a : k(r).invalidEra = e;
      }
    ), M("y", qe), M("yy", qe), M("yyy", qe), M("yyyy", qe), M("yo", Oi), L(["y", "yy", "yyy", "yyyy"], J), L(["yo"], function(e, t, r, s) {
      var a;
      r._locale._eraYearOrdinalRegex && (a = e.match(r._locale._eraYearOrdinalRegex)), r._locale.eraYearOrdinalParse ? t[J] = r._locale.eraYearOrdinalParse(e, a) : t[J] = parseInt(e, 10);
    });
    function mi(e, t) {
      var r, s, a, o = this._eras || Se("en")._eras;
      for (r = 0, s = o.length; r < s; ++r) {
        switch (typeof o[r].since) {
          case "string":
            a = l(o[r].since).startOf("day"), o[r].since = a.valueOf();
            break;
        }
        switch (typeof o[r].until) {
          case "undefined":
            o[r].until = 1 / 0;
            break;
          case "string":
            a = l(o[r].until).startOf("day").valueOf(), o[r].until = a.valueOf();
            break;
        }
      }
      return o;
    }
    function yi(e, t, r) {
      var s, a, o = this.eras(), d, w, S;
      for (e = e.toUpperCase(), s = 0, a = o.length; s < a; ++s)
        if (d = o[s].name.toUpperCase(), w = o[s].abbr.toUpperCase(), S = o[s].narrow.toUpperCase(), r)
          switch (t) {
            case "N":
            case "NN":
            case "NNN":
              if (w === e)
                return o[s];
              break;
            case "NNNN":
              if (d === e)
                return o[s];
              break;
            case "NNNNN":
              if (S === e)
                return o[s];
              break;
          }
        else if ([d, w, S].indexOf(e) >= 0)
          return o[s];
    }
    function Di(e, t) {
      var r = e.since <= e.until ? 1 : -1;
      return t === void 0 ? l(e.since).year() : l(e.since).year() + (t - e.offset) * r;
    }
    function vi() {
      var e, t, r, s = this.localeData().eras();
      for (e = 0, t = s.length; e < t; ++e)
        if (r = this.clone().startOf("day").valueOf(), s[e].since <= r && r <= s[e].until || s[e].until <= r && r <= s[e].since)
          return s[e].name;
      return "";
    }
    function Mi() {
      var e, t, r, s = this.localeData().eras();
      for (e = 0, t = s.length; e < t; ++e)
        if (r = this.clone().startOf("day").valueOf(), s[e].since <= r && r <= s[e].until || s[e].until <= r && r <= s[e].since)
          return s[e].narrow;
      return "";
    }
    function Yi() {
      var e, t, r, s = this.localeData().eras();
      for (e = 0, t = s.length; e < t; ++e)
        if (r = this.clone().startOf("day").valueOf(), s[e].since <= r && r <= s[e].until || s[e].until <= r && r <= s[e].since)
          return s[e].abbr;
      return "";
    }
    function wi() {
      var e, t, r, s, a = this.localeData().eras();
      for (e = 0, t = a.length; e < t; ++e)
        if (r = a[e].since <= a[e].until ? 1 : -1, s = this.clone().startOf("day").valueOf(), a[e].since <= s && s <= a[e].until || a[e].until <= s && s <= a[e].since)
          return (this.year() - l(a[e].since).year()) * r + a[e].offset;
      return this.year();
    }
    function gi(e) {
      return _(this, "_erasNameRegex") || yr.call(this), e ? this._erasNameRegex : this._erasRegex;
    }
    function ki(e) {
      return _(this, "_erasAbbrRegex") || yr.call(this), e ? this._erasAbbrRegex : this._erasRegex;
    }
    function pi(e) {
      return _(this, "_erasNarrowRegex") || yr.call(this), e ? this._erasNarrowRegex : this._erasRegex;
    }
    function mr(e, t) {
      return t.erasAbbrRegex(e);
    }
    function Si(e, t) {
      return t.erasNameRegex(e);
    }
    function ji(e, t) {
      return t.erasNarrowRegex(e);
    }
    function Oi(e, t) {
      return t._eraYearOrdinalRegex || qe;
    }
    function yr() {
      var e = [], t = [], r = [], s = [], a, o, d = this.eras();
      for (a = 0, o = d.length; a < o; ++a)
        t.push(ae(d[a].name)), e.push(ae(d[a].abbr)), r.push(ae(d[a].narrow)), s.push(ae(d[a].name)), s.push(ae(d[a].abbr)), s.push(ae(d[a].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(
        "^(" + r.join("|") + ")",
        "i"
      );
    }
    c(0, ["gg", 2], 0, function() {
      return this.weekYear() % 100;
    }), c(0, ["GG", 2], 0, function() {
      return this.isoWeekYear() % 100;
    });
    function Gt(e, t) {
      c(0, [e, e.length], 0, t);
    }
    Gt("gggg", "weekYear"), Gt("ggggg", "weekYear"), Gt("GGGG", "isoWeekYear"), Gt("GGGGG", "isoWeekYear"), z("weekYear", "gg"), z("isoWeekYear", "GG"), Z("weekYear", 1), Z("isoWeekYear", 1), M("G", Wt), M("g", Wt), M("GG", R, se), M("gg", R, se), M("GGGG", tr, er), M("gggg", tr, er), M("GGGGG", Pt, bt), M("ggggg", Pt, bt), ht(
      ["gggg", "ggggg", "GGGG", "GGGGG"],
      function(e, t, r, s) {
        t[s.substr(0, 2)] = T(e);
      }
    ), ht(["gg", "GG"], function(e, t, r, s) {
      t[s] = l.parseTwoDigitYear(e);
    });
    function Ti(e) {
      return ds.call(
        this,
        e,
        this.week(),
        this.weekday(),
        this.localeData()._week.dow,
        this.localeData()._week.doy
      );
    }
    function bi(e) {
      return ds.call(
        this,
        e,
        this.isoWeek(),
        this.isoWeekday(),
        1,
        4
      );
    }
    function xi() {
      return pe(this.year(), 1, 4);
    }
    function Pi() {
      return pe(this.isoWeekYear(), 1, 4);
    }
    function Wi() {
      var e = this.localeData()._week;
      return pe(this.year(), e.dow, e.doy);
    }
    function Li() {
      var e = this.localeData()._week;
      return pe(this.weekYear(), e.dow, e.doy);
    }
    function ds(e, t, r, s, a) {
      var o;
      return e == null ? mt(this, s, a).year : (o = pe(e, s, a), t > o && (t = o), Fi.call(this, e, t, r, s, a));
    }
    function Fi(e, t, r, s, a) {
      var o = Ur(e, t, r, s, a), d = _t(o.year, 0, o.dayOfYear);
      return this.year(d.getUTCFullYear()), this.month(d.getUTCMonth()), this.date(d.getUTCDate()), this;
    }
    c("Q", 0, "Qo", "quarter"), z("quarter", "Q"), Z("quarter", 7), M("Q", Pr), L("Q", function(e, t) {
      t[ge] = (T(e) - 1) * 3;
    });
    function Ni(e) {
      return e == null ? Math.ceil((this.month() + 1) / 3) : this.month((e - 1) * 3 + this.month() % 3);
    }
    c("D", ["DD", 2], "Do", "date"), z("date", "D"), Z("date", 9), M("D", R), M("DD", R, se), M("Do", function(e, t) {
      return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient;
    }), L(["D", "DD"], De), L("Do", function(e, t) {
      t[De] = T(e.match(R)[0]);
    });
    var fs = Je("Date", !0);
    c("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), z("dayOfYear", "DDD"), Z("dayOfYear", 4), M("DDD", xt), M("DDDD", Wr), L(["DDD", "DDDD"], function(e, t, r) {
      r._dayOfYear = T(e);
    });
    function Ri(e) {
      var t = Math.round(
        (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
      ) + 1;
      return e == null ? t : this.add(e - t, "d");
    }
    c("m", ["mm", 2], 0, "minute"), z("minute", "m"), Z("minute", 14), M("m", R), M("mm", R, se), L(["m", "mm"], ce);
    var Ci = Je("Minutes", !1);
    c("s", ["ss", 2], 0, "second"), z("second", "s"), Z("second", 15), M("s", R), M("ss", R, se), L(["s", "ss"], ke);
    var Ai = Je("Seconds", !1);
    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 this.millisecond() * 10;
    }), c(0, ["SSSSS", 5], 0, function() {
      return this.millisecond() * 100;
    }), c(0, ["SSSSSS", 6], 0, function() {
      return this.millisecond() * 1e3;
    }), c(0, ["SSSSSSS", 7], 0, function() {
      return this.millisecond() * 1e4;
    }), c(0, ["SSSSSSSS", 8], 0, function() {
      return this.millisecond() * 1e5;
    }), c(0, ["SSSSSSSSS", 9], 0, function() {
      return this.millisecond() * 1e6;
    }), z("millisecond", "ms"), Z("millisecond", 16), M("S", xt, Pr), M("SS", xt, se), M("SSS", xt, Wr);
    var Fe, hs;
    for (Fe = "SSSS"; Fe.length <= 9; Fe += "S")
      M(Fe, qe);
    function Ii(e, t) {
      t[Ie] = T(("0." + e) * 1e3);
    }
    for (Fe = "S"; Fe.length <= 9; Fe += "S")
      L(Fe, Ii);
    hs = Je("Milliseconds", !1), c("z", 0, 0, "zoneAbbr"), c("zz", 0, 0, "zoneName");
    function Ei() {
      return this._isUTC ? "UTC" : "";
    }
    function Ui() {
      return this._isUTC ? "Coordinated Universal Time" : "";
    }
    var h = Pe.prototype;
    h.add = Ln, h.calendar = En, h.clone = Un, h.diff = Zn, h.endOf = ai, h.format = Xn, h.from = Kn, h.fromNow = ei, h.to = ti, h.toNow = ri, h.get = Hs, h.invalidAt = ci, h.isAfter = Hn, h.isBefore = Vn, h.isBetween = Gn, h.isSame = Bn, h.isSameOrAfter = $n, h.isSameOrBefore = zn, h.isValid = fi, h.lang = ns, h.locale = as, h.localeData = is, h.max = fn, h.min = dn, h.parsingFlags = hi, h.set = Vs, h.startOf = si, h.subtract = Fn, h.toArray = li, h.toObject = ui, h.toDate = oi, h.toISOString = qn, h.inspect = Qn, typeof Symbol < "u" && Symbol.for != null && (h[Symbol.for("nodejs.util.inspect.custom")] = function() {
      return "Moment<" + this.format() + ">";
    }), h.toJSON = di, h.toString = Jn, h.unix = ii, h.valueOf = ni, h.creationData = _i, h.eraName = vi, h.eraNarrow = Mi, h.eraAbbr = Yi, h.eraYear = wi, h.year = Er, h.isLeapYear = la, h.weekYear = Ti, h.isoWeekYear = bi, h.quarter = h.quarters = Ni, h.month = Ar, h.daysInMonth = na, h.week = h.weeks = _a, h.isoWeek = h.isoWeeks = ma, h.weeksInYear = Wi, h.weeksInWeekYear = Li, h.isoWeeksInYear = xi, h.isoWeeksInISOWeekYear = Pi, h.date = fs, h.day = h.days = Ta, h.weekday = ba, h.isoWeekday = xa, h.dayOfYear = Ri, h.hour = h.hours = Ca, h.minute = h.minutes = Ci, h.second = h.seconds = Ai, h.millisecond = h.milliseconds = hs, h.utcOffset = Yn, h.utc = gn, h.local = kn, h.parseZone = pn, h.hasAlignedHourOffset = Sn, h.isDST = jn, h.isLocal = Tn, h.isUtcOffset = bn, h.isUtc = Kr, h.isUTC = Kr, h.zoneAbbr = Ei, h.zoneName = Ui, h.dates = re(
      "dates accessor is deprecated. Use date instead.",
      fs
    ), h.months = re(
      "months accessor is deprecated. Use month instead",
      Ar
    ), h.years = re(
      "years accessor is deprecated. Use year instead",
      Er
    ), h.zone = re(
      "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
      wn
    ), h.isDSTShifted = re(
      "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
      On
    );
    function Hi(e) {
      return C(e * 1e3);
    }
    function Vi() {
      return C.apply(null, arguments).parseZone();
    }
    function cs(e) {
      return e;
    }
    var W = ot.prototype;
    W.calendar = Qt, W.longDateFormat = V, W.invalidDate = ze, W.ordinal = we, W.preparse = cs, W.postformat = cs, W.relativeTime = Is, W.pastFuture = Es, W.set = Jt, W.eras = mi, W.erasParse = yi, W.erasConvertYear = Di, W.erasAbbrRegex = ki, W.erasNameRegex = gi, W.erasNarrowRegex = pi, W.months = ta, W.monthsShort = ra, W.monthsParse = aa, W.monthsRegex = oa, W.monthsShortRegex = ia, W.week = da, W.firstDayOfYear = ca, W.firstDayOfWeek = ha, W.weekdays = ka, W.weekdaysMin = Sa, W.weekdaysShort = pa, W.weekdaysParse = Oa, W.weekdaysRegex = Pa, W.weekdaysShortRegex = Wa, W.weekdaysMinRegex = La, W.isPM = Na, W.meridiem = Aa;
    function Bt(e, t, r, s) {
      var a = Se(), o = ie().set(s, t);
      return a[r](o, e);
    }
    function _s(e, t, r) {
      if (U(e) && (t = e, e = void 0), e = e || "", t != null)
        return Bt(e, t, r, "month");
      var s, a = [];
      for (s = 0; s < 12; s++)
        a[s] = Bt(e, s, r, "month");
      return a;
    }
    function Dr(e, t, r, s) {
      typeof e == "boolean" ? (U(t) && (r = t, t = void 0), t = t || "") : (t = e, r = t, e = !1, U(t) && (r = t, t = void 0), t = t || "");
      var a = Se(), o = e ? a._week.dow : 0, d, w = [];
      if (r != null)
        return Bt(t, (r + o) % 7, s, "day");
      for (d = 0; d < 7; d++)
        w[d] = Bt(t, (d + o) % 7, s, "day");
      return w;
    }
    function Gi(e, t) {
      return _s(e, t, "months");
    }
    function Bi(e, t) {
      return _s(e, t, "monthsShort");
    }
    function $i(e, t, r) {
      return Dr(e, t, r, "weekdays");
    }
    function zi(e, t, r) {
      return Dr(e, t, r, "weekdaysShort");
    }
    function Zi(e, t, r) {
      return Dr(e, t, r, "weekdaysMin");
    }
    Le("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, r = T(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
        return e + r;
      }
    }), l.lang = re(
      "moment.lang is deprecated. Use moment.locale instead.",
      Le
    ), l.langData = re(
      "moment.langData is deprecated. Use moment.localeData instead.",
      Se
    );
    var je = Math.abs;
    function Ji() {
      var e = this._data;
      return this._milliseconds = je(this._milliseconds), this._days = je(this._days), this._months = je(this._months), e.milliseconds = je(e.milliseconds), e.seconds = je(e.seconds), e.minutes = je(e.minutes), e.hours = je(e.hours), e.months = je(e.months), e.years = je(e.years), this;
    }
    function ms(e, t, r, s) {
      var a = _e(t, r);
      return e._milliseconds += s * a._milliseconds, e._days += s * a._days, e._months += s * a._months, e._bubble();
    }
    function qi(e, t) {
      return ms(this, e, t, 1);
    }
    function Qi(e, t) {
      return ms(this, e, t, -1);
    }
    function ys(e) {
      return e < 0 ? Math.floor(e) : Math.ceil(e);
    }
    function Xi() {
      var e = this._milliseconds, t = this._days, r = this._months, s = this._data, a, o, d, w, S;
      return e >= 0 && t >= 0 && r >= 0 || e <= 0 && t <= 0 && r <= 0 || (e += ys(vr(r) + t) * 864e5, t = 0, r = 0), s.milliseconds = e % 1e3, a = de(e / 1e3), s.seconds = a % 60, o = de(a / 60), s.minutes = o % 60, d = de(o / 60), s.hours = d % 24, t += de(d / 24), S = de(Ds(t)), r += S, t -= ys(vr(S)), w = de(r / 12), r %= 12, s.days = t, s.months = r, s.years = w, this;
    }
    function Ds(e) {
      return e * 4800 / 146097;
    }
    function vr(e) {
      return e * 146097 / 4800;
    }
    function Ki(e) {
      if (!this.isValid())
        return NaN;
      var t, r, s = this._milliseconds;
      if (e = ue(e), e === "month" || e === "quarter" || e === "year")
        switch (t = this._days + s / 864e5, r = this._months + Ds(t), e) {
          case "month":
            return r;
          case "quarter":
            return r / 3;
          case "year":
            return r / 12;
        }
      else
        switch (t = this._days + Math.round(vr(this._months)), e) {
          case "week":
            return t / 7 + s / 6048e5;
          case "day":
            return t + s / 864e5;
          case "hour":
            return t * 24 + s / 36e5;
          case "minute":
            return t * 1440 + s / 6e4;
          case "second":
            return t * 86400 + s / 1e3;
          case "millisecond":
            return Math.floor(t * 864e5) + s;
          default:
            throw new Error("Unknown unit " + e);
        }
    }
    function eo() {
      return this.isValid() ? this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + T(this._months / 12) * 31536e6 : NaN;
    }
    function Oe(e) {
      return function() {
        return this.as(e);
      };
    }
    var to = Oe("ms"), ro = Oe("s"), so = Oe("m"), ao = Oe("h"), no = Oe("d"), io = Oe("w"), oo = Oe("M"), lo = Oe("Q"), uo = Oe("y");
    function fo() {
      return _e(this);
    }
    function ho(e) {
      return e = ue(e), this.isValid() ? this[e + "s"]() : NaN;
    }
    function Ue(e) {
      return function() {
        return this.isValid() ? this._data[e] : NaN;
      };
    }
    var co = Ue("milliseconds"), _o = Ue("seconds"), mo = Ue("minutes"), yo = Ue("hours"), Do = Ue("days"), vo = Ue("months"), Mo = Ue("years");
    function Yo() {
      return de(this.days() / 7);
    }
    var Te = Math.round, et = {
      ss: 44,
      // a few seconds to seconds
      s: 45,
      // seconds to minute
      m: 45,
      // minutes to hour
      h: 22,
      // hours to day
      d: 26,
      // days to month/week
      w: null,
      // weeks to month
      M: 11
      // months to year
    };
    function wo(e, t, r, s, a) {
      return a.relativeTime(t || 1, !!r, e, s);
    }
    function go(e, t, r, s) {
      var a = _e(e).abs(), o = Te(a.as("s")), d = Te(a.as("m")), w = Te(a.as("h")), S = Te(a.as("d")), F = Te(a.as("M")), X = Te(a.as("w")), be = Te(a.as("y")), Ne = o <= r.ss && ["s", o] || o < r.s && ["ss", o] || d <= 1 && ["m"] || d < r.m && ["mm", d] || w <= 1 && ["h"] || w < r.h && ["hh", w] || S <= 1 && ["d"] || S < r.d && ["dd", S];
      return r.w != null && (Ne = Ne || X <= 1 && ["w"] || X < r.w && ["ww", X]), Ne = Ne || F <= 1 && ["M"] || F < r.M && ["MM", F] || be <= 1 && ["y"] || ["yy", be], Ne[2] = t, Ne[3] = +e > 0, Ne[4] = s, wo.apply(null, Ne);
    }
    function ko(e) {
      return e === void 0 ? Te : typeof e == "function" ? (Te = e, !0) : !1;
    }
    function po(e, t) {
      return et[e] === void 0 ? !1 : t === void 0 ? et[e] : (et[e] = t, e === "s" && (et.ss = t - 1), !0);
    }
    function So(e, t) {
      if (!this.isValid())
        return this.localeData().invalidDate();
      var r = !1, s = et, a, o;
      return typeof e == "object" && (t = e, e = !1), typeof e == "boolean" && (r = e), typeof t == "object" && (s = Object.assign({}, et, t), t.s != null && t.ss == null && (s.ss = t.s - 1)), a = this.localeData(), o = go(this, !r, s, a), r && (o = a.pastFuture(+this, o)), a.postformat(o);
    }
    var Mr = Math.abs;
    function tt(e) {
      return (e > 0) - (e < 0) || +e;
    }
    function $t() {
      if (!this.isValid())
        return this.localeData().invalidDate();
      var e = Mr(this._milliseconds) / 1e3, t = Mr(this._days), r = Mr(this._months), s, a, o, d, w = this.asSeconds(), S, F, X, be;
      return w ? (s = de(e / 60), a = de(s / 60), e %= 60, s %= 60, o = de(r / 12), r %= 12, d = e ? e.toFixed(3).replace(/\.?0+$/, "") : "", S = w < 0 ? "-" : "", F = tt(this._months) !== tt(w) ? "-" : "", X = tt(this._days) !== tt(w) ? "-" : "", be = tt(this._milliseconds) !== tt(w) ? "-" : "", S + "P" + (o ? F + o + "Y" : "") + (r ? F + r + "M" : "") + (t ? X + t + "D" : "") + (a || s || e ? "T" : "") + (a ? be + a + "H" : "") + (s ? be + s + "M" : "") + (e ? be + d + "S" : "")) : "P0D";
    }
    var x = It.prototype;
    x.isValid = yn, x.abs = Ji, x.add = qi, x.subtract = Qi, x.as = Ki, x.asMilliseconds = to, x.asSeconds = ro, x.asMinutes = so, x.asHours = ao, x.asDays = no, x.asWeeks = io, x.asMonths = oo, x.asQuarters = lo, x.asYears = uo, x.valueOf = eo, x._bubble = Xi, x.clone = fo, x.get = ho, x.milliseconds = co, x.seconds = _o, x.minutes = mo, x.hours = yo, x.days = Do, x.weeks = Yo, x.months = vo, x.years = Mo, x.humanize = So, x.toISOString = $t, x.toString = $t, x.toJSON = $t, x.locale = as, x.localeData = is, x.toIsoString = re(
      "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
      $t
    ), x.lang = ns, c("X", 0, 0, "unix"), c("x", 0, 0, "valueOf"), M("x", Wt), M("X", Bs), L("X", function(e, t, r) {
      r._d = new Date(parseFloat(e) * 1e3);
    }), L("x", function(e, t, r) {
      r._d = new Date(T(e));
    });
    //! moment.js
    return l.version = "2.29.4", f(C), l.fn = h, l.min = hn, l.max = cn, l.now = _n, l.utc = ie, l.unix = Hi, l.months = Gi, l.isDate = I, l.locale = Le, l.invalid = Ge, l.duration = _e, l.isMoment = te, l.weekdays = $i, l.parseZone = Vi, l.localeData = Se, l.isDuration = Et, l.monthsShort = Bi, l.weekdaysMin = Zi, l.defineLocale = ir, l.updateLocale = Ha, l.locales = Va, l.weekdaysShort = zi, l.normalizeUnits = ue, l.relativeTimeRounding = ko, l.relativeTimeThreshold = po, l.calendarFormat = In, l.prototype = h, l.HTML5_FMT = {
      DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
      // <input type="datetime-local" />
      DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
      // <input type="datetime-local" step="1" />
      DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
      // <input type="datetime-local" step="0.001" />
      DATE: "YYYY-MM-DD",
      // <input type="date" />
      TIME: "HH:mm",
      // <input type="time" />
      TIME_SECONDS: "HH:mm:ss",
      // <input type="time" step="1" />
      TIME_MS: "HH:mm:ss.SSS",
      // <input type="time" step="0.001" />
      WEEK: "GGGG-[W]WW",
      // <input type="week" />
      MONTH: "YYYY-MM"
      // <input type="month" />
    }, l;
  });
})(xs);
var Ps = xs.exports;
(function(n, i) {
  (function(u, l) {
    l(typeof bs == "function" ? Ps : u.moment);
  })(Ts, function(u) {
    //! moment.js locale configuration
    var l = {
      1: "۱",
      2: "۲",
      3: "۳",
      4: "۴",
      5: "۵",
      6: "۶",
      7: "۷",
      8: "۸",
      9: "۹",
      0: "۰"
    }, f = {
      "۱": "1",
      "۲": "2",
      "۳": "3",
      "۴": "4",
      "۵": "5",
      "۶": "6",
      "۷": "7",
      "۸": "8",
      "۹": "9",
      "۰": "0"
    }, y = u.defineLocale("fa", {
      months: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split(
        "_"
      ),
      monthsShort: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split(
        "_"
      ),
      weekdays: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split(
        "_"
      ),
      weekdaysShort: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split(
        "_"
      ),
      weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_"),
      weekdaysParseExact: !0,
      longDateFormat: {
        LT: "HH:mm",
        LTS: "HH:mm:ss",
        L: "DD/MM/YYYY",
        LL: "D MMMM YYYY",
        LLL: "D MMMM YYYY HH:mm",
        LLLL: "dddd, D MMMM YYYY HH:mm"
      },
      meridiemParse: /قبل از ظهر|بعد از ظهر/,
      isPM: function(Y) {
        return /بعد از ظهر/.test(Y);
      },
      meridiem: function(Y, _, j) {
        return Y < 12 ? "قبل از ظهر" : "بعد از ظهر";
      },
      calendar: {
        sameDay: "[امروز ساعت] LT",
        nextDay: "[فردا ساعت] LT",
        nextWeek: "dddd [ساعت] LT",
        lastDay: "[دیروز ساعت] LT",
        lastWeek: "dddd [پیش] [ساعت] LT",
        sameElse: "L"
      },
      relativeTime: {
        future: "در %s",
        past: "%s پیش",
        s: "چند ثانیه",
        ss: "%d ثانیه",
        m: "یک دقیقه",
        mm: "%d دقیقه",
        h: "یک ساعت",
        hh: "%d ساعت",
        d: "یک روز",
        dd: "%d روز",
        M: "یک ماه",
        MM: "%d ماه",
        y: "یک سال",
        yy: "%d سال"
      },
      preparse: function(Y) {
        return Y.replace(/[۰-۹]/g, function(_) {
          return f[_];
        }).replace(/،/g, ",");
      },
      postformat: function(Y) {
        return Y.replace(/\d/g, function(_) {
          return l[_];
        }).replace(/,/g, "،");
      },
      dayOfMonthOrdinalParse: /\d{1,2}م/,
      ordinal: "%dم",
      week: {
        dow: 6,
        // Saturday is the first day of the week.
        doy: 12
        // The week that contains Jan 12th is the first week of the year.
      }
    });
    return y;
  });
})();
var No = D, g = Ps, pr = /(\[[^\[]*\])|(\\)?j(Mo|MM?M?M?|Do|DDDo|DD?D?D?|w[o|w]?|YYYYY|YYYY|YY|gg(ggg?)?|)|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g, vs = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g, Ms = /\d\d?/, Ys = /\d{1,3}/, ws = /\d{3}/, gs = /\d{1,4}/, ks = /[+\-]?\d{1,6}/, ps = /[0-9]*["a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, Ro = /Z|[\+\-]\d\d:?\d\d/i, Co = /T/i, Ao = /[\+\-]?\d+(\.\d{1,3})?/, Io = {
  jm: "jmonth",
  jmonths: "jmonth",
  jy: "jyear",
  jyears: "jyear"
}, kr = {}, Ss = "DDD w M D".split(" "), js = "M D w".split(" "), Mt = {
  Jalali: 1,
  Gregorian: 2
}, Ye = {
  jM: function() {
    return this.jMonth() + 1;
  },
  jMMM: function(n) {
    return this.localeData().jMonthsShort(this, n);
  },
  jMMMM: function(n) {
    return this.localeData().jMonths(this, n);
  },
  jD: function() {
    return this.jDate();
  },
  jDDD: function() {
    return this.jDayOfYear();
  },
  jw: function() {
    return this.jWeek();
  },
  jYY: function() {
    return xe(this.jYear() % 100, 2);
  },
  jYYYY: function() {
    return xe(this.jYear(), 4);
  },
  jYYYYY: function() {
    return xe(this.jYear(), 5);
  },
  jgg: function() {
    return xe(this.jWeekYear() % 100, 2);
  },
  jgggg: function() {
    return this.jWeekYear();
  },
  jggggg: function() {
    return xe(this.jWeekYear(), 5);
  }
};
function Os(n, i) {
  return function(u) {
    return xe(n.call(this, u), i);
  };
}
function Eo(n, i) {
  return function(u) {
    return this.localeData().ordinal(n.call(this, u), i);
  };
}
(function() {
  for (var n; Ss.length; )
    n = Ss.pop(), Ye["j" + n + "o"] = Eo(Ye["j" + n], n);
  for (; js.length; )
    n = js.pop(), Ye["j" + n + n] = Os(Ye["j" + n], 2);
  Ye.jDDDD = Os(Ye.jDDD, 3);
})();
function Sr(n, i) {
  var u;
  for (u in i)
    i.hasOwnProperty(u) && (n[u] = i[u]);
  return n;
}
function xe(n, i) {
  for (var u = n + ""; u.length < i; )
    u = "0" + u;
  return u;
}
function Uo(n) {
  return Object.prototype.toString.call(n) === "[object Array]";
}
function Ws(n) {
  for (var i = 0; i < n.length; i++)
    (!i || n[i - 1] !== "j" && n[i - 1] !== n[i]) && (n[i] === "Y" || n[i] === "M" || n[i] === "D" || n[i] === "g") && (n = n.slice(0, i) + "j" + n.slice(i));
  return n;
}
function Ho(n) {
  switch (n) {
    case "week":
      return "jWeek";
    case "year":
      return "jYear";
    case "month":
      return "jMonth";
    case "months":
      return "jMonths";
    case "monthName":
      return "jMonthsShort";
    case "monthsShort":
      return "jMonthsShort";
  }
  return n;
}
function Ve(n, i) {
  if (me(i) && (n = Ho(n)), n) {
    var u = n.toLowerCase();
    u.startsWith("j") && (n = Io[u] || u), n === "jday" ? n = "day" : n === "jd" && (n = "d");
  }
  return n;
}
function jr(n, i, u, l) {
  var f = n._d;
  n._isUTC ? n._d = new Date(Date.UTC(
    i,
    u,
    l,
    f.getUTCHours(),
    f.getUTCMinutes(),
    f.getUTCSeconds(),
    f.getUTCMilliseconds()
  )) : n._d = new Date(
    i,
    u,
    l,
    f.getHours(),
    f.getMinutes(),
    f.getSeconds(),
    f.getMilliseconds()
  );
}
function Ls(n) {
  function i() {
  }
  return i.prototype = n, new i();
}
function Vo(n) {
  return Object.getPrototypeOf ? Object.getPrototypeOf(n) : "".__proto__ ? n.__proto__ : n.constructor.prototype;
}
Sr(
  Vo(g.localeData()),
  {
    _jMonths: [
      "Farvardin",
      "Ordibehesht",
      "Khordaad",
      "Tir",
      "Mordaad",
      "Shahrivar",
      "Mehr",
      "Aabaan",
      "Aazar",
      "Dey",
      "Bahman",
      "Esfand"
    ],
    jMonths: function(n) {
      return n ? this._jMonths[n.jMonth()] : this._jMonths;
    },
    _jMonthsShort: [
      "Far",
      "Ord",
      "Kho",
      "Tir",
      "Amo",
      "Sha",
      "Meh",
      "Aab",
      "Aaz",
      "Dey",
      "Bah",
      "Esf"
    ],
    jMonthsShort: function(n) {
      return n ? this._jMonthsShort[n.jMonth()] : this._jMonthsShort;
    },
    jMonthsParse: function(n) {
      var i, u, l;
      for (this._jMonthsParse || (this._jMonthsParse = []), i = 0; i < 12; i += 1)
        if (this._jMonthsParse[i] || (u = D([2e3, (2 + i) % 12, 25]), l = "^" + this.jMonths(u, "") + "|^" + this.jMonthsShort(u, ""), this._jMonthsParse[i] = new RegExp(l.replace(".", ""), "i")), this._jMonthsParse[i].test(n))
          return i;
    }
  }
);
function Go(n) {
  var i = n.match(pr), u = i.length, l;
  for (l = 0; l < u; l += 1)
    Ye[i[l]] && (i[l] = Ye[i[l]]);
  return function(f) {
    var y = "";
    for (l = 0; l < u; l += 1)
      y += i[l] instanceof Function ? "[" + i[l].call(f, n) + "]" : i[l];
    return y;
  };
}
function Fs(n, i) {
  switch (n) {
    case "jDDDD":
      return ws;
    case "jYYYY":
      return gs;
    case "jYYYYY":
      return ks;
    case "jDDD":
      return Ys;
    case "jMMM":
    case "jMMMM":
      return ps;
    case "jMM":
    case "jDD":
    case "jYY":
    case "jM":
    case "jD":
      return Ms;
    case "DDDD":
      return ws;
    case "YYYY":
      return gs;
    case "YYYYY":
      return ks;
    case "S":
    case "SS":
    case "SSS":
    case "DDD":
      return Ys;
    case "MMM":
    case "MMMM":
    case "dd":
    case "ddd":
    case "dddd":
      return ps;
    case "a":
    case "A":
      return g.localeData(i._l)._meridiemParse;
    case "X":
      return Ao;
    case "Z":
    case "ZZ":
      return Ro;
    case "T":
      return Co;
    case "MM":
    case "DD":
    case "YY":
    case "HH":
    case "hh":
    case "mm":
    case "ss":
    case "M":
    case "D":
    case "d":
    case "H":
    case "h":
    case "m":
    case "s":
      return Ms;
    default:
      return new RegExp(n.replace("\\", ""));
  }
}
function $(n) {
  return n == null;
}
function Bo(n, i, u) {
  var l, f = u._a;
  switch (n) {
    case "jM":
    case "jMM":
      f[1] = $(i) ? 0 : ~~i - 1;
      break;
    case "jMMM":
    case "jMMMM":
      l = g.localeData(u._l).jMonthsParse(i), $(l) ? u._isValid = !1 : f[1] = l;
      break;
    case "jD":
    case "jDD":
    case "jDDD":
    case "jDDDD":
      $(i) || (f[2] = ~~i);
      break;
    case "jYY":
      f[0] = ~~i + (~~i > 47 ? 1300 : 1400);
      break;
    case "jYYYY":
    case "jYYYYY":
      f[0] = ~~i;
  }
  $(i) && (u._isValid = !1);
}
function $o(n) {
  var i, u, l = n._a[0], f = n._a[1], y = n._a[2];
  if (!($(l) && $(f) && $(y)))
    return l = $(l) ? 0 : l, f = $(f) ? 0 : f, y = $(y) ? 1 : y, (y < 1 || y > D.jDaysInMonth(l, f) || f < 0 || f > 11) && (n._isValid = !1), i = wt(l, f, y), u = Zt(i.gy, i.gm, i.gd), n._jDiff = 0, ~~u.jy !== l && (n._jDiff += 1), ~~u.jm !== f && (n._jDiff += 1), ~~u.jd !== y && (n._jDiff += 1), [i.gy, i.gm, i.gd];
}
function zo(n) {
  var i = n._f.match(pr), u = n._i + "", l = i.length, f, y, Y;
  for (n._a = [], f = 0; f < l; f += 1)
    y = i[f], Y = (Fs(y, n).exec(u) || [])[0], Y && (u = u.slice(u.indexOf(Y) + Y.length)), Ye[y] && Bo(y, Y, n);
  return u && (n._il = u), $o(n);
}
function Zo(n, i) {
  var u = n._f.length, l, f, y, Y, _, j;
  if (u === 0)
    return Yt(/* @__PURE__ */ new Date(NaN));
  for (l = 0; l < u; l += 1)
    f = n._f[l], _ = 0, y = Yt(n._i, f, n._l, n._strict, i), y.isValid() && (_ += y._jDiff, y._il && (_ += y._il.length), ($(j) || _ < j) && (j = _, Y = y));
  return Y;
}
function Jo(n) {
  var i = n._i + "", u = "", l = "", f = n._f.match(pr), y = f.length, Y, _, j;
  for (Y = 0; Y < y; Y += 1)
    _ = f[Y], j = (Fs(_, n).exec(i) || [])[0], j && (i = i.slice(i.indexOf(j) + j.length)), Ye[_] instanceof Function || (l += _, j && (u += j));
  n._i = u, n._f = l;
}
function Ns(n, i, u) {
  var l = u - i, f = u - n.day(), y;
  return f > l && (f -= 7), f < l - 7 && (f += 7), y = D(n).add(f, "d"), {
    week: Math.ceil(y.jDayOfYear() / 7),
    year: y.jYear()
  };
}
function me(n) {
  return n && n.calSystem === Mt.Jalali || g.justUseJalali && n.calSystem !== Mt.Gregorian;
}
function qo(n, i, u) {
  return g.justUseJalali || i && i.calSystem === Mt.Jalali;
}
function Yt(n, i, u, l, f) {
  typeof u == "boolean" && (f = f || l, l = u, u = void 0), g.ISO_8601 === i && (i = "YYYY-MM-DDTHH:mm:ss.SSSZ");
  const y = qo(i, this);
  n && typeof n == "string" && !i && y && !g.useGregorianParser && (n = n.replace(/\//g, "-"), /\d{4}\-\d{2}\-\d{2}/.test(n) ? i = "jYYYY-jMM-jDD" : /\d{4}\-\d{2}\-\d{1}/.test(n) ? i = "jYYYY-jMM-jD" : /\d{4}\-\d{1}\-\d{1}/.test(n) ? i = "jYYYY-jM-jD" : /\d{4}\-\d{1}\-\d{2}/.test(n) ? i = "jYYYY-jM-jDD" : /\d{4}\-W\d{2}\-\d{2}/.test(n) ? i = "jYYYY-jW-jDD" : /\d{4}\-\d{3}/.test(n) ? i = "jYYYY-jDDD" : /\d{8}/.test(n) ? i = "jYYYYjMMjDD" : /\d{4}W\d{2}\d{1}/.test(n) ? i = "jYYYYjWWjD" : /\d{4}W\d{2}/.test(n) ? i = "jYYYYjWW" : /\d{4}\d{3}/.test(n) && (i = "jYYYYjDDD")), i && y && (i = Ws(i)), i && typeof i == "string" && (i = Rs(i, g));
  var Y = {
    _i: n,
    _f: i,
    _l: u,
    _strict: l,
    _isUTC: f
  }, _, j, b, U = n, I = i;
  if (i) {
    if (Uo(i))
      return Zo(Y, f);
    _ = zo(Y), Jo(Y), _ && (i = "YYYY-MM-DD-" + Y._f, n = xe(_[0], 4) + "-" + xe(_[1] + 1, 2) + "-" + xe(_[2], 2) + "-" + Y._i);
  }
  return f ? j = g.utc(n, i, u, l) : j = g(n, i, u, l), (Y._isValid === !1 || n && n._isAMomentObject && !n._isValid) && (j._isValid = !1), j._jDiff = Y._jDiff || 0, b = Ls(D.fn), Sr(b, j), l && b.isValid() && (b._isValid = b.format(I) === U), n && n.calSystem && (b.calSystem = n.calSystem), b;
}
function D(n, i, u, l) {
  return Yt(n, i, u, l, !1);
}
Sr(D, g);
D.fn = Ls(g.fn);
D.utc = function(n, i, u, l) {
  return Yt(n, i, u, l, !0);
};
D.unix = function(n) {
  return Yt(n * 1e3);
};
function Rs(n, i) {
  for (var u = 5, l = function(f) {
    return i.localeData().longDateFormat(f) || f;
  }; u > 0 && vs.test(n); )
    u -= 1, n = n.replace(vs, l);
  return n;
}
D.fn.format = function(n) {
  n = n || D.defaultFormat, n && (me(this) && (n = Ws(n)), n = Rs(n, this), kr[n] || (kr[n] = Go(n)), n = kr[n](this));
  var i = g.fn.format.call(this, n);
  return i;
};
D.fn.year = function(n) {
  return me(this) ? D.fn.jYear.call(this, n) : g.fn.year.call(this, n);
};
D.fn.jYear = function(n) {
  var i, u, l;
  return typeof n == "number" ? (u = st(this), i = Math.min(u.jd, D.jDaysInMonth(n, u.jm)), l = wt(n, u.jm, i), jr(this, l.gy, l.gm, l.gd), g.updateOffset(this), this) : st(this).jy;
};
D.fn.month = function(n) {
  return me(this) ? D.fn.jMonth.call(this, n) : g.fn.month.call(this, n);
};
D.fn.jMonth = function(n) {
  var i, u, l;
  return $(n) ? st(this).jm : typeof n == "string" && (n = this.localeData().jMonthsParse(n), typeof n != "number") ? this : (u = st(this), i = Math.min(u.jd, D.jDaysInMonth(u.jy, n)), this.jYear(u.jy + N(n, 12)), n = ne(n, 12), n < 0 && (n += 12, this.jYear(this.jYear() - 1)), l = wt(this.jYear(), n, i), jr(this, l.gy, l.gm, l.gd), g.updateOffset(this), this);
};
D.fn.date = function(n) {
  return me(this) ? D.fn.jDate.call(this, n) : g.fn.date.call(this, n);
};
function st(n) {
  var i = n._d;
  return n._isUTC ? Zt(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()) : Zt(i.getFullYear(), i.getMonth(), i.getDate());
}
D.fn.jDate = function(n) {
  var i, u;
  return typeof n == "number" ? (i = st(this), u = wt(i.jy, i.jm, n), jr(this, u.gy, u.gm, u.gd), g.updateOffset(this), this) : st(this).jd;
};
D.fn.jDay = function(n) {
  return typeof n == "number" ? g.fn.day.call(this, n - 1) : (g.fn.day.call(this) + 1) % 7;
};
D.fn.diff = function(n, i, u) {
  if (!me(this))
    return g.fn.diff.call(this, n, i, u);
  var l;
  switch (i) {
    case "year":
      l = f(this, n) / 12;
      break;
    case "month":
      l = f(this, n);
      break;
    case "quarter":
      l = f(this, n) / 3;
      break;
    default:
      l = g.fn.diff.call(this, n, i, u);
  }
  return u ? l : l < 0 ? Math.ceil(l) || 0 : Math.floor(l);
  function f(y, Y) {
    if (y.date() < Y.date())
      return -f(Y, y);
    var _ = (Y.jYear() - y.jYear()) * 12 + (Y.jMonth() - y.jMonth()), j = y.clone().add(_, "months"), b, U;
    return Y - j < 0 ? (b = y.clone().add(_ - 1, "months"), U = (Y - j) / (j - b)) : (b = y.clone().add(_ + 1, "months"), U = (Y - j) / (b - j)), -(_ + U) || 0;
  }
};
D.fn.dayOfYear = function(n) {
  return me(this) ? D.fn.jDayOfYear.call(this, n) : g.fn.dayOfYear.call(this, n);
};
D.fn.jDayOfYear = function(n) {
  var i = Math.round((D(this).startOf("day") - D(this).startOf("jYear")) / 864e5) + 1;
  return $(n) ? i : this.add(n - i, "d");
};
D.fn.week = function(n) {
  return me(this) ? D.fn.jWeek.call(this, n) : g.fn.week.call(this, n);
};
D.fn.jWeek = function(n) {
  var i = Ns(this, 6, 12).week;
  return $(n) ? i : this.add((n - i) * 7, "d");
};
D.fn.weekYear = function(n) {
  return me(this) ? D.fn.jWeekYear.call(this, n) : g.fn.weekYear.call(this, n);
};
D.fn.jWeekYear = function(n) {
  var i = Ns(this, 6, 12).year;
  return $(n) ? i : this.add(n - i, "jyear");
};
D.fn.add = function(n, i) {
  var u;
  return !$(i) && !isNaN(+i) && (u = n, n = i, i = u), i = Ve(i, this), (i === "jweek" || i === "isoweek") && (i = "week"), i === "jyear" ? this.jYear(this.jYear() + n) : i === "jmonth" ? this.jMonth(this.jMonth() + n) : g.fn.add.call(this, n, i), this;
};
D.fn.subtract = function(n, i) {
  var u;
  return !$(i) && !isNaN(+i) && (u = n, n = i, i = u), i = Ve(i, this), i === "jyear" ? this.jYear(this.jYear() - n) : i === "jmonth" ? this.jMonth(this.jMonth() - n) : g.fn.subtract.call(this, n, i), this;
};
D.fn.startOf = function(n) {
  var i = Ve(n, this);
  return i === "jweek" ? this.startOf("day").subtract(this.jDay(), "day") : (i === "jyear" && (this.jMonth(0), i = "jmonth"), i === "jmonth" && (this.jDate(1), i = "day"), i === "day" ? (this.hours(0), this.minutes(0), this.seconds(0), this.milliseconds(0), this) : g.fn.startOf.call(this, n));
};
D.fn.endOf = function(n) {
  return n = Ve(n, this), n === void 0 || n === "milisecond" ? this : this.startOf(n).add(1, n).subtract(1, "ms");
};
D.fn.isSame = function(n, i) {
  return i = Ve(i, this), i === "jyear" || i === "jmonth" ? g.fn.isSame.call(this.clone().startOf(i), n.clone().startOf(i)) : g.fn.isSame.call(this, n, i);
};
D.fn.isBefore = function(n, i) {
  return i = Ve(i, this), i === "jyear" || i === "jmonth" ? g.fn.isBefore.call(this.clone().startOf(i), n.clone().startOf(i)) : g.fn.isBefore.call(this, n, i);
};
D.fn.isAfter = function(n, i) {
  return i = Ve(i, this), i === "jyear" || i === "jmonth" ? g.fn.isAfter.call(this.clone().startOf(i), n.clone().startOf(i)) : g.fn.isAfter.call(this, n, i);
};
D.fn.clone = function() {
  return D(this);
};
D.fn.doAsJalali = function() {
  return this.calSystem = Mt.Jalali, this;
};
D.fn.doAsGregorian = function() {
  return this.calSystem = Mt.Gregorian, this;
};
D.fn.jYears = D.fn.jYear;
D.fn.jMonths = D.fn.jMonth;
D.fn.jDates = D.fn.jDate;
D.fn.jWeeks = D.fn.jWeek;
D.fn.daysInMonth = function() {
  return me(this) ? this.jDaysInMonth() : g.fn.daysInMonth.call(this);
};
D.fn.jDaysInMonth = function() {
  var n = this.jMonth(), i = this.jYear();
  return n < 6 ? 31 : n < 11 || D.jIsLeapYear(i) ? 30 : 29;
};
D.fn.isLeapYear = function() {
  return me(this) ? this.jIsLeapYear() : g.fn.isLeapYear.call(this);
};
D.fn.jIsLeapYear = function() {
  var n = this.jYear();
  return Cs(n);
};
D.fn.locale = function(n) {
  return n && g.changeCalendarSystemByItsLocale && (n === "fa" ? this.doAsJalali() : this.doAsGregorian()), g.fn.locale.call(this, n);
};
D.locale = function(n, i) {
  return n && g.changeCalendarSystemByItsLocale && (n === "fa" ? this.useJalaliSystemPrimarily(i) : this.useJalaliSystemSecondary()), g.locale.call(this, n);
};
D.from = function(n, i, u) {
  var l = D.locale();
  D.locale(i);
  var f = D(n, u);
  return f.locale(l), D.locale(l), f;
};
D.bindCalendarSystemAndLocale = function() {
  g.changeCalendarSystemByItsLocale = !0;
};
D.unBindCalendarSystemAndLocale = function() {
  g.changeCalendarSystemByItsLocale = !1;
};
D.useJalaliSystemPrimarily = function(n) {
  g.justUseJalali = !0;
  var i = !1;
  n && (i = n.useGregorianParser), g.useGregorianParser = i;
};
D.useJalaliSystemSecondary = function() {
  g.justUseJalali = !1;
};
D.jDaysInMonth = function(n, i) {
  return n += N(i, 12), i = ne(i, 12), i < 0 && (i += 12, n -= 1), i < 6 ? 31 : i < 11 || D.jIsLeapYear(n) ? 30 : 29;
};
D.jIsLeapYear = Cs;
g.updateLocale("fa", {
  months: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
  monthsShort: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),
  weekdays: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),
  weekdaysShort: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),
  weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_"),
  longDateFormat: {
    LT: "HH:mm",
    L: "jYYYY/jMM/jDD",
    LL: "jD jMMMM jYYYY",
    LLL: "jD jMMMM jYYYY LT",
    LLLL: "dddd، jD jMMMM jYYYY LT"
  },
  calendar: {
    sameDay: "[امروز ساعت] LT",
    nextDay: "[فردا ساعت] LT",
    nextWeek: "dddd [ساعت] LT",
    lastDay: "[دیروز ساعت] LT",
    lastWeek: "dddd [ی پیش ساعت] LT",
    sameElse: "L"
  },
  relativeTime: {
    future: "در %s",
    past: "%s پیش",
    s: "چند ثانیه",
    m: "1 دقیقه",
    mm: "%d دقیقه",
    h: "1 ساعت",
    hh: "%d ساعت",
    d: "1 روز",
    dd: "%d روز",
    M: "1 ماه",
    MM: "%d ماه",
    y: "1 سال",
    yy: "%d سال"
  },
  ordinal: "%dم",
  preparse: function(n) {
    return n;
  },
  postformat: function(n) {
    return n;
  },
  week: {
    dow: 6,
    doy: 12
    // The week that contains Jan 1st is the first week of the year.
  },
  meridiem: function(n) {
    return n < 12 ? "ق.ظ" : "ب.ظ";
  },
  jMonths: "فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند".split("_"),
  jMonthsShort: "فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند".split("_")
});
D.bindCalendarSystemAndLocale();
g.locale("en");
D.jConvert = {
  toJalali: Zt,
  toGregorian: wt
};
function Zt(n, i, u) {
  var l = Qo(n, i + 1, u);
  return l.jm -= 1, l;
}
function wt(n, i, u) {
  var l = Xo(n, i + 1, u);
  return l.gm -= 1, l;
}
function N(n, i) {
  return ~~(n / i);
}
function ne(n, i) {
  return n - ~~(n / i) * i;
}
function Qo(n, i, u) {
  return Object.prototype.toString.call(n) === "[object Date]" && (u = n.getDate(), i = n.getMonth() + 1, n = n.getFullYear()), el(Tr(n, i, u));
}
function Xo(n, i, u) {
  return As(Ko(n, i, u));
}
function Cs(n) {
  return Or(n).leap === 0;
}
function Or(n) {
  var i = [
    -61,
    9,
    38,
    199,
    426,
    686,
    756,
    818,
    1111,
    1181,
    1210,
    1635,
    2060,
    2097,
    2192,
    2262,
    2324,
    2394,
    2456,
    3178
  ], u = i.length, l = n + 621, f = -14, y = i[0], Y, _, j, b, U, I, q;
  if (n < y || n >= i[u - 1])
    throw new Error("Invalid Jalali year " + n);
  for (q = 1; q < u && (Y = i[q], _ = Y - y, !(n < Y)); q += 1)
    f = f + N(_, 33) * 8 + N(ne(_, 33), 4), y = Y;
  return I = n - y, f = f + N(I, 33) * 8 + N(ne(I, 33) + 3, 4), ne(_, 33) === 4 && _ - I === 4 && (f += 1), b = N(l, 4) - N((N(l, 100) + 1) * 3, 4) - 150, U = 20 + f - b, _ - I < 6 && (I = I - _ + N(_ + 4, 33) * 33), j = ne(ne(I + 1, 33) - 1, 4), j === -1 && (j = 4), {
    leap: j,
    gy: l,
    march: U
  };
}
function Ko(n, i, u) {
  var l = Or(n);
  return Tr(l.gy, 3, l.march) + (i - 1) * 31 - N(i, 7) * (i - 7) + u - 1;
}
function el(n) {
  var i = As(n).gy, u = i - 621, l = Or(u), f = Tr(i, 3, l.march), y, Y, _;
  if (_ = n - f, _ >= 0) {
    if (_ <= 185)
      return Y = 1 + N(_, 31), y = ne(_, 31) + 1, {
        jy: u,
        jm: Y,
        jd: y
      };
    _ -= 186;
  } else
    u -= 1, _ += 179, l.leap === 1 && (_ += 1);
  return Y = 7 + N(_, 30), y = ne(_, 30) + 1, {
    jy: u,
    jm: Y,
    jd: y
  };
}
function Tr(n, i, u) {
  var l = N((n + N(i - 8, 6) + 100100) * 1461, 4) + N(153 * ne(i + 9, 12) + 2, 5) + u - 34840408;
  return l = l - N(N(n + 100100 + N(i - 8, 6), 100) * 3, 4) + 752, l;
}
function As(n) {
  var i, u, l, f, y;
  return i = 4 * n + 139361631, i = i + N(N(4 * n + 183187720, 146097) * 3, 4) * 4 - 3908, u = N(ne(i, 1461), 4) * 5 + 308, l = N(ne(u, 153), 5) + 1, f = ne(N(u, 153), 12) + 1, y = N(i, 1461) - 100100 + N(8 - f, 6), {
    gy: y,
    gm: f,
    gd: l
  };
}
const p = /* @__PURE__ */ Fo(No), tl = { id: "persian-calendar" }, rl = {
  id: "vpc_header",
  slot: "header"
}, sl = { id: "vpc_date-control" }, al = ["disabled"], nl = /* @__PURE__ */ A("svg", {
  xmlns: "http://www.w3.org/2000/svg",
  width: "1em",
  height: "1em",
  viewBox: "0 0 24 24",
  fill: "none",
  stroke: "currentColor",
  "stroke-width": "2",
  "stroke-linecap": "round",
  "stroke-linejoin": "round"
}, [
  /* @__PURE__ */ A("polyline", { points: "9 18 15 12 9 6" })
], -1), il = [
  nl
], ol = ["disabled"], ll = /* @__PURE__ */ A("svg", {
  xmlns: "http://www.w3.org/2000/svg",
  width: "1em",
  height: "1em",
  viewBox: "0 0 24 24",
  fill: "none",
  stroke: "currentColor",
  "stroke-width": "2",
  "stroke-linecap": "round",
  "stroke-linejoin": "round"
}, [
  /* @__PURE__ */ A("polyline", { points: "15 18 9 12 15 6" })
], -1), ul = [
  ll
], dl = {
  key: 0,
  class: "vpc_period-control"
}, fl = { key: 0 }, hl = { id: "vpc_calendar" }, cl = /* @__PURE__ */ A("div", { id: "vpc_days-header" }, [
  /* @__PURE__ */ A("div", null, "شنبه"),
  /* @__PURE__ */ A("div", null, "یکشنبه"),
  /* @__PURE__ */ A("div", null, "دوشنبه"),
  /* @__PURE__ */ A("div", null, "سه شنبه"),
  /* @__PURE__ */ A("div", null, "چهار شنبه"),
  /* @__PURE__ */ A("div", null, "پنج شنبه"),
  /* @__PURE__ */ A("div", null, "جمعه")
], -1), _l = ["onClick"], ml = {
  key: 0,
  class: "vpc_event-start-time"
}, yl = {
  key: 1,
  class: "vpc_event-start-date"
}, Dl = { class: "vpc_event-title" }, vl = {
  key: 2,
  class: "vpc_event-end-time"
}, Ml = {
  key: 3,
  class: "vpc_event-end-date"
}, Yl = ["id", "onClick"], wl = { class: "vpc_day-number" }, gl = { class: "vpc_vacations-description" }, P = "jYYYY-jM-jD", pl = /* @__PURE__ */ jo({
  __name: "jalaliCalendar",
  props: {
    dateFormat: {
      type: String,
      default: "jYYYYDD"
    },
    showDate: {
      type: [Object, String],
      default: /* @__PURE__ */ new Date()
    },
    eventsList: {
      type: Array,
      default: []
    },
    vacationsList: {
      type: Array,
      default: []
    },
    minDate: [Object, String],
    maxDate: [Object, String],
    hideEventTimes: {
      type: Boolean,
      default: !1
    },
    disableToday: {
      type: Boolean,
      default: !1
    },
    disablePeriod: {
      type: Boolean,
      default: !1
    },
    hideMonthShadow: {
      type: Boolean,
      default: !1
    },
    hidePastDaysShadow: {
      type: Boolean,
      default: !1
    },
    disablePastDays: {
      type: Boolean,
      default: !1
    },
    addEventButton: Boolean
  },
  emits: [
    "startAndEndOfWeekPeriod",
    "startAndEndOfMonthPeriod",
    "on-page-add",
    "on-page-subtract",
    "on-display-period",
    "dayClick"
  ],
  setup(n, { emit: i }) {
    const u = n, l = () => p().locale("fa").format(P), f = ve(l()), y = ve(), Y = ve(), _ = ve(!0), j = ve("slide-right"), b = ve("week"), U = ve([]), I = ve(null), q = ve(null), fe = He({
      get() {
        return p(f.value).format("M");
      },
      set(m) {
        f.value = m;
      }
    }), ie = He({
      get() {
        return p(f.value).format("YYYY");
      },
      set(m) {
        f.value = m;
      }
    }), gt = He(() => {
      const m = [];
      let v = p(`${ie.value}-${fe.value}-1`, P).locale(
        "fa"
      );
      do
        m.push(v), v = p(v).add(1, "days");
      while (p(v).format("M") === fe.value);
      v = p(m[0]);
      const c = 0, O = 6;
      if (v.jDay() !== c)
        do
          v = p(v).subtract(1, "days"), m.unshift(v);
        while (v.jDay() !== c);
      if (v = p(m[m.length - 1]), v.jDay() !== O)
        do
          v = p(v).add(1, "days"), m.push(v);
        while (v.jDay() !== O);
      return m;
    }), k = He(() => {
      const m = y, v = [m.value.format(P)];
      for (let c = 1; c <= 6; c++)
        v[c] = m.value.add(1, "day").format(P);
      return v;
    }), at = () => {
      const m = [];
      let v = [];
      for (let c = 0; c < gt.value.length; c++)
        v.push(gt.value[c]), v.length === 7 && (m.push(v), v = []);
      return m;
    }, H = He(() => b.value === "week"), Ge = He(() => {
      y.value = p(f.value, P).locale("fa").startOf(H.value ? "week" : "month"), Y.value = p(f.value, P).locale("fa").endOf(H.value ? "week" : "month");
      let m = "DD";
      return y.value.isSame(Y.value, "month") || (m = "DD MMMM"), y.value.isSame(Y.value, "year") || (m = "DD MMMM YYYY"), H.value ? `${y.value.format(
        m
      )} - ${Y.value.format("DD MMMM YYYY")}` : p(f.value, P).locale("fa").format("MMMM YYYY");
    }), Be = ve(!0), nt = He(() => ({
      vpc_week: !0,
      "vpc_week-period": H.value
    }));
    rt(f, () => _.value = !1), rt(
      () => u.showDate,
      (m) => f.value = ye(m)
    ), rt(u.eventsList, (m) => U.value = m), rt(
      () => u.minDate,
      (m) => ye(m)
    ), rt(
      () => u.maxDate,
      (m) => ye(m)
    ), Oo(() => {
      rt([y, b], () => {
        Be.value = p().locale("fa").isBetween(
          p(y.value.format(P), P),
          p(Y.value.format(P), P)
        );
      }), f.value = ye(u.showDate), u.minDate && (I.value = ye(u.minDate)), u.maxDate && (q.value = ye(u.maxDate)), U.value = u.eventsList;
    });
    function ye(m) {
      try {
        if (typeof m == "string")
          return p(m).format(P);
        if (typeof m == "object")
          return p(m).format(P);
      } catch {
        throw new TypeError(
          "[VuePersianCalendar Error]: showDate property value is not valid"
        );
      }
    }
    function Pe() {
      if (!q.value)
        return;
      const v = p(f.value).add(
        1,
        H.value ? "weeks" : "months"
      ).startOf(H.value ? "jWeek" : "jMonth");
      return q.value.isValid() && v.isAfter(q.value);
    }
    function te() {
      if (!I.value)
        return;
      const m = p(f.value).subtract(
        1,
        H.value ? "weeks" : "months"
      ), v = p(I.value).startOf(
        H.value ? "jWeek" : "jMonth"
      );
      return I.value.isValid() && v.isAfter(m);
    }
    function kt() {
      Pe() || (j.value = "slide-left", f.value = p(f.value, P).add(1, H.value ? "week" : "jmonth").format(P), i("on-page-add", f.value));
    }
    function re() {
      te() || (j.value = "slide-right", f.value = p(f.value, P).subtract(1, H.value ? "week" : "jmonth").format(P), i("on-page-subtract", f.value));
    }
    function pt() {
      const m = p(f.value, P);
      Be.value || (m.isBefore(p(), "month") || H.value && m.isBefore(p().startOf("jWeek")) ? (j.value = "slide-left", f.value = l()) : (m.isAfter(p(), "month") || H.value && m.isAfter(p(), "week")) && (j.value = "slide-right", f.value = l()));
    }
    function St() {
      b.value = H.value ? "month" : "week", _.value = !1;
    }
    function oe(m) {
      return p(m, P).locale("en").format("YYYY-MM-DD");
    }
    function Jt(m) {
      const v = u.vacationsList.find((c) => c.date.format(P) === p(m, P).format(P));
      return v ? v.title : "";
    }
    function it(m) {
      const v = m.clone();
      return !p(f.value, P).isBetween(
        p(v.startOf("month").format(P), P),
        p(v.endOf("month").format(P), P)
      );
    }
    function ot(m) {
      typeof m == "string" && (m = p(m, P));
      const v = m.format(P) === l(), c = u.vacationsList.some(
        (Q) => Q.date === oe(m)
      );
      let O = !1;
      return I && (O = I.value && m.isBefore(I.value, "day") || O), q && (O = q.value && m.isAfter(q.value, "day") || O), {
        vpc_day: !0,
        vpc_today: v && !u.disableToday,
        vpc_past: u.disablePastDays && m.isBefore(p(l(), P)),
        "vpc_not-current-month": !H.value && it(m),
        "vpc_week-period-day": H.value,
        "vpc_day-disable": O,
        // vpc_weekend: isFriday,
        vpc_vacation: c
      };
    }
    function lt(m, v) {
      return m.startDateTime.isBefore(v.startDateTime) ? -1 : v.startDateTime.isBefore(m.startDateTime) ? 1 : m.endDateTime.isAfter(v.endDateTime) ? -1 : v.endDateTime.isAfter(m.endDateTime) ? 1 : m.id < v.id ? -1 : 1;
    }
    function qt(m, v) {
      return u.eventsList.filter(
        (c) => c.endDateTime.isSameOrAfter(m) && c.startDateTime.isSameOrBefore(v)
      ).sort(lt);
    }
    function Qt(m, v) {
      const c = typeof v == "string" ? p(v, P) : v, O = typeof m == "string" ? p(m, P) : m, Q = qt(O, c), he = [], $e = [[], [], [], [], [], [], []];
      for (let Ae = 0; Ae < Q.length; Ae++) {
        const V = Object.assign({}, Q[Ae], {
          classes: Q[Ae].classes ? [...Q[Ae].classes] : [],
          eventRow: 0
        }), ut = V.startDateTime.isBefore(O), ze = ut ? 0 : We(V.startDateTime, O), Xt = ut ? We(V.endDateTime, O) + 1 : We(V.endDateTime, V.startDateTime) + 1, jt = Math.min(7 - ze, Xt);
        ut && V.classes.push("continued"), We(V.endDateTime, O) > 6 && V.classes.push("toBeContinued"), V.endDateTime.isBefore(p(l(), P)) && V.classes.push("past"), V.endDateTime.isBetween(
          p(V.startDateTime),
          p(V.startDateTime).endOf("day"),
          void 0,
          "[]"
        ) && V.classes.push("oneDay");
        for (let we = 0; we < 7; we++)
          if (we === ze) {
            let Ze = 0;
            for (; $e[we][Ze]; )
              Ze++;
            V.eventRow = Ze, $e[we][Ze] = !0;
          } else
            we < ze + jt && ($e[we][V.eventRow] = !0);
        V.classes.push(`offset${ze}`), V.classes.push(`span${jt}`), he.push(V);
      }
      return he;
    }
    function le(m) {
      const v = m + 1, c = H.value ? "2.6em" : "1.3em";
      return `calc( 0em + ${v}*${c} + ${v}*2px)`;
    }
    function We(m, v) {
      const c = p(v).locale("fa"), O = p(m).locale("fa"), Q = c.clone().startOf("day").add(O.diff(c, "m"), "m").locale("fa"), he = O.diff(c, "day");
      return Q.isBefore(O, "day") ? he + 1 : he;
    }
    function Ce(m, v) {
      i("dayClick", { day: m, event: v });
    }
    return (m, v) => (K(), ee("div", tl, [
      A("div", rl, [
        A("div", sl, [
          A("div", {
            class: "vpc_control-btn",
            onClick: re,
            disabled: te()
          }, il, 8, al),
          A("span", {
            class: "vpc_now-date",
            style: zt(H.value ? "" : "width: 80px")
          }, Me(Ge.value), 5),
          A("div", {
            class: "vpc_control-btn",
            onClick: kt,
            disabled: Pe()
          }, ul, 8, ol),
          n.disableToday ? Re("", !0) : (K(), ee("div", {
            key: 0,
            class: "vpc_today-btn",
            style: zt(
              Be.value ? "background-color: #ccc !important;cursor: not-allowed !important  " : ""
            ),
            onClick: pt
          }, " امروز ", 4))
        ]),
        n.disablePeriod ? Re("", !0) : (K(), ee("div", dl, [
          n.addEventButton ? (K(), ee("button", {
            key: 0,
            class: "vpc_period-btn",
            onClick: v[0] || (v[0] = (c) => Ce())
          }, " رویداد جدید ")) : Re("", !0),
          A("div", {
            class: "vpc_period-btn",
            onClick: St
          }, Me(b.value === "week" ? "ماه" : "هفته"), 1)
        ]))
      ]),
      To(bo, {
        name: j.value,
        onAfterLeave: v[1] || (v[1] = (c) => _.value = !0)
      }, {
        default: xo(() => [
          _.value ? (K(), ee("div", fl, [
            A("div", hl, [
              cl,
              (K(!0), ee(Yr, null, wr(b.value === "week" ? [k.value] : at(), (c) => (K(), ee("div", {
                key: Math.random(),
                class: gr(nt.value)
              }, [
                (K(!0), ee(Yr, null, wr(Qt(c[0], c[6]), (O, Q) => Po(m.$slots, "default", { value: O }, () => [
                  (K(), ee("div", {
                    key: Q,
                    class: gr([O.classes, "vpc_event"]),
                    style: zt(`top:${le(Q + 1)};background-color:${O.color};`),
                    onClick: (he) => m.$emit("on-event-click", O)
                  }, [
                    A("div", {
                      style: zt({ "background-color": O.color }),
                      class: "vpc_event-ball"
                    }, null, 4),
                    n.hideEventTimes ? Re("", !0) : (K(), ee("span", ml, [
                      Wo(Me(O.startDateTime.format("HH:mm")), 1),
                      A("span", null, " - " + Me(O.endDateTime.format("HH:mm")), 1)
                    ])),
                    n.hideEventTimes ? Re("", !0) : (K(), ee("span", yl, Me(O.startDateTime.format("jMM/jDD")), 1)),
                    A("span", Dl, Me(O.title), 1),
                    n.hideEventTimes ? Re("", !0) : (K(), ee("span", vl, Me(O.endDateTime.format("HH:mm")), 1)),
                    n.hideEventTimes ? Re("", !0) : (K(), ee("span", Ml, Me(O.endDateTime.format("jMM/jDD")), 1))
                  ], 14, _l))
                ])), 256)),
                (K(!0), ee(Yr, null, wr(c, (O) => (K(), ee("div", {
                  key: Math.random(),
                  class: gr(ot(O)),
                  id: `popover-show-vacation-description_${Math.random()}`,
                  onClick: (Q) => Ce(O, Q)
                }, [
                  A("div", wl, [
                    A("div", null, Me(Lo(p)(O).format("D")), 1),
                    A("div", gl, Me(Jt(O)), 1)
                  ])
                ], 10, Yl))), 128))
              ], 2))), 128))
            ])
          ])) : Re("", !0)
        ]),
        _: 3
      }, 8, ["name"])
    ]));
  }
});
export {
  pl as jalaliCalendar
};