UNPKG

react-nepalipatro

Version:

A reusable Nepali (Bikram Sambat) calendar React component.

767 lines 75.5 kB
import { jsxs as Z, jsx as M } from "react/jsx-runtime";
import { useEffect as u1, useState as A1 } from "react";
function y1(u) {
  return u && u.__esModule && Object.prototype.hasOwnProperty.call(u, "default") ? u.default : u;
}
var a1 = { exports: {} }, c1 = a1.exports, e1;
function l1() {
  return e1 || (e1 = 1, function(u, c) {
    (function(l, p) {
      u.exports = p();
    })(c1, function() {
      var l = 1e3, p = 6e4, m = 36e5, v = "millisecond", f = "second", x = "minute", S = "hour", C = "day", g = "week", _ = "month", E = "quarter", b = "year", $ = "date", P = "Invalid Date", w = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, F = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, z = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(y) {
        var a = ["th", "st", "nd", "rd"], t = y % 100;
        return "[" + y + (a[(t - 20) % 10] || a[t] || a[0]) + "]";
      } }, T = function(y, a, t) {
        var d = String(y);
        return !d || d.length >= a ? y : "" + Array(a + 1 - d.length).join(t) + y;
      }, I = { s: T, z: function(y) {
        var a = -y.utcOffset(), t = Math.abs(a), d = Math.floor(t / 60), s = t % 60;
        return (a <= 0 ? "+" : "-") + T(d, 2, "0") + ":" + T(s, 2, "0");
      }, m: function y(a, t) {
        if (a.date() < t.date()) return -y(t, a);
        var d = 12 * (t.year() - a.year()) + (t.month() - a.month()), s = a.clone().add(d, _), r = t - s < 0, A = a.clone().add(d + (r ? -1 : 1), _);
        return +(-(d + (t - s) / (r ? s - A : A - s)) || 0);
      }, a: function(y) {
        return y < 0 ? Math.ceil(y) || 0 : Math.floor(y);
      }, p: function(y) {
        return { M: _, y: b, w: g, d: C, D: $, h: S, m: x, s: f, ms: v, Q: E }[y] || String(y || "").toLowerCase().replace(/s$/, "");
      }, u: function(y) {
        return y === void 0;
      } }, R = "en", H = {};
      H[R] = z;
      var Q = "$isDayjsObject", V = function(y) {
        return y instanceof j || !(!y || !y[Q]);
      }, o = function y(a, t, d) {
        var s;
        if (!a) return R;
        if (typeof a == "string") {
          var r = a.toLowerCase();
          H[r] && (s = r), t && (H[r] = t, s = r);
          var A = a.split("-");
          if (!s && A.length > 1) return y(A[0]);
        } else {
          var i = a.name;
          H[i] = a, s = i;
        }
        return !d && s && (R = s), s || !d && R;
      }, e = function(y, a) {
        if (V(y)) return y.clone();
        var t = typeof a == "object" ? a : {};
        return t.date = y, t.args = arguments, new j(t);
      }, n = I;
      n.l = o, n.i = V, n.w = function(y, a) {
        return e(y, { locale: a.$L, utc: a.$u, x: a.$x, $offset: a.$offset });
      };
      var j = function() {
        function y(t) {
          this.$L = o(t.locale, null, !0), this.parse(t), this.$x = this.$x || t.x || {}, this[Q] = !0;
        }
        var a = y.prototype;
        return a.parse = function(t) {
          this.$d = function(d) {
            var s = d.date, r = d.utc;
            if (s === null) return /* @__PURE__ */ new Date(NaN);
            if (n.u(s)) return /* @__PURE__ */ new Date();
            if (s instanceof Date) return new Date(s);
            if (typeof s == "string" && !/Z$/i.test(s)) {
              var A = s.match(w);
              if (A) {
                var i = A[2] - 1 || 0, h = (A[7] || "0").substring(0, 3);
                return r ? new Date(Date.UTC(A[1], i, A[3] || 1, A[4] || 0, A[5] || 0, A[6] || 0, h)) : new Date(A[1], i, A[3] || 1, A[4] || 0, A[5] || 0, A[6] || 0, h);
              }
            }
            return new Date(s);
          }(t), this.init();
        }, a.init = function() {
          var t = this.$d;
          this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();
        }, a.$utils = function() {
          return n;
        }, a.isValid = function() {
          return this.$d.toString() !== P;
        }, a.isSame = function(t, d) {
          var s = e(t);
          return this.startOf(d) <= s && s <= this.endOf(d);
        }, a.isAfter = function(t, d) {
          return e(t) < this.startOf(d);
        }, a.isBefore = function(t, d) {
          return this.endOf(d) < e(t);
        }, a.$g = function(t, d, s) {
          return n.u(t) ? this[d] : this.set(s, t);
        }, a.unix = function() {
          return Math.floor(this.valueOf() / 1e3);
        }, a.valueOf = function() {
          return this.$d.getTime();
        }, a.startOf = function(t, d) {
          var s = this, r = !!n.u(d) || d, A = n.p(t), i = function(J, O) {
            var L = n.w(s.$u ? Date.UTC(s.$y, O, J) : new Date(s.$y, O, J), s);
            return r ? L : L.endOf(C);
          }, h = function(J, O) {
            return n.w(s.toDate()[J].apply(s.toDate("s"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(O)), s);
          }, D = this.$W, Y = this.$M, N = this.$D, G = "set" + (this.$u ? "UTC" : "");
          switch (A) {
            case b:
              return r ? i(1, 0) : i(31, 11);
            case _:
              return r ? i(1, Y) : i(0, Y + 1);
            case g:
              var U = this.$locale().weekStart || 0, K = (D < U ? D + 7 : D) - U;
              return i(r ? N - K : N + (6 - K), Y);
            case C:
            case $:
              return h(G + "Hours", 0);
            case S:
              return h(G + "Minutes", 1);
            case x:
              return h(G + "Seconds", 2);
            case f:
              return h(G + "Milliseconds", 3);
            default:
              return this.clone();
          }
        }, a.endOf = function(t) {
          return this.startOf(t, !1);
        }, a.$set = function(t, d) {
          var s, r = n.p(t), A = "set" + (this.$u ? "UTC" : ""), i = (s = {}, s[C] = A + "Date", s[$] = A + "Date", s[_] = A + "Month", s[b] = A + "FullYear", s[S] = A + "Hours", s[x] = A + "Minutes", s[f] = A + "Seconds", s[v] = A + "Milliseconds", s)[r], h = r === C ? this.$D + (d - this.$W) : d;
          if (r === _ || r === b) {
            var D = this.clone().set($, 1);
            D.$d[i](h), D.init(), this.$d = D.set($, Math.min(this.$D, D.daysInMonth())).$d;
          } else i && this.$d[i](h);
          return this.init(), this;
        }, a.set = function(t, d) {
          return this.clone().$set(t, d);
        }, a.get = function(t) {
          return this[n.p(t)]();
        }, a.add = function(t, d) {
          var s, r = this;
          t = Number(t);
          var A = n.p(d), i = function(Y) {
            var N = e(r);
            return n.w(N.date(N.date() + Math.round(Y * t)), r);
          };
          if (A === _) return this.set(_, this.$M + t);
          if (A === b) return this.set(b, this.$y + t);
          if (A === C) return i(1);
          if (A === g) return i(7);
          var h = (s = {}, s[x] = p, s[S] = m, s[f] = l, s)[A] || 1, D = this.$d.getTime() + t * h;
          return n.w(D, this);
        }, a.subtract = function(t, d) {
          return this.add(-1 * t, d);
        }, a.format = function(t) {
          var d = this, s = this.$locale();
          if (!this.isValid()) return s.invalidDate || P;
          var r = t || "YYYY-MM-DDTHH:mm:ssZ", A = n.z(this), i = this.$H, h = this.$m, D = this.$M, Y = s.weekdays, N = s.months, G = s.meridiem, U = function(O, L, X, t1) {
            return O && (O[L] || O(d, r)) || X[L].slice(0, t1);
          }, K = function(O) {
            return n.s(i % 12 || 12, O, "0");
          }, J = G || function(O, L, X) {
            var t1 = O < 12 ? "AM" : "PM";
            return X ? t1.toLowerCase() : t1;
          };
          return r.replace(F, function(O, L) {
            return L || function(X) {
              switch (X) {
                case "YY":
                  return String(d.$y).slice(-2);
                case "YYYY":
                  return n.s(d.$y, 4, "0");
                case "M":
                  return D + 1;
                case "MM":
                  return n.s(D + 1, 2, "0");
                case "MMM":
                  return U(s.monthsShort, D, N, 3);
                case "MMMM":
                  return U(N, D);
                case "D":
                  return d.$D;
                case "DD":
                  return n.s(d.$D, 2, "0");
                case "d":
                  return String(d.$W);
                case "dd":
                  return U(s.weekdaysMin, d.$W, Y, 2);
                case "ddd":
                  return U(s.weekdaysShort, d.$W, Y, 3);
                case "dddd":
                  return Y[d.$W];
                case "H":
                  return String(i);
                case "HH":
                  return n.s(i, 2, "0");
                case "h":
                  return K(1);
                case "hh":
                  return K(2);
                case "a":
                  return J(i, h, !0);
                case "A":
                  return J(i, h, !1);
                case "m":
                  return String(h);
                case "mm":
                  return n.s(h, 2, "0");
                case "s":
                  return String(d.$s);
                case "ss":
                  return n.s(d.$s, 2, "0");
                case "SSS":
                  return n.s(d.$ms, 3, "0");
                case "Z":
                  return A;
              }
              return null;
            }(O) || A.replace(":", "");
          });
        }, a.utcOffset = function() {
          return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
        }, a.diff = function(t, d, s) {
          var r, A = this, i = n.p(d), h = e(t), D = (h.utcOffset() - this.utcOffset()) * p, Y = this - h, N = function() {
            return n.m(A, h);
          };
          switch (i) {
            case b:
              r = N() / 12;
              break;
            case _:
              r = N();
              break;
            case E:
              r = N() / 3;
              break;
            case g:
              r = (Y - D) / 6048e5;
              break;
            case C:
              r = (Y - D) / 864e5;
              break;
            case S:
              r = Y / m;
              break;
            case x:
              r = Y / p;
              break;
            case f:
              r = Y / l;
              break;
            default:
              r = Y;
          }
          return s ? r : n.a(r);
        }, a.daysInMonth = function() {
          return this.endOf(_).$D;
        }, a.$locale = function() {
          return H[this.$L];
        }, a.locale = function(t, d) {
          if (!t) return this.$L;
          var s = this.clone(), r = o(t, d, !0);
          return r && (s.$L = r), s;
        }, a.clone = function() {
          return n.w(this.$d, this);
        }, a.toDate = function() {
          return new Date(this.valueOf());
        }, a.toJSON = function() {
          return this.isValid() ? this.toISOString() : null;
        }, a.toISOString = function() {
          return this.$d.toISOString();
        }, a.toString = function() {
          return this.$d.toUTCString();
        }, y;
      }(), q = j.prototype;
      return e.prototype = q, [["$ms", v], ["$s", f], ["$m", x], ["$H", S], ["$W", C], ["$M", _], ["$y", b], ["$D", $]].forEach(function(y) {
        q[y[1]] = function(a) {
          return this.$g(a, y[0], y[1]);
        };
      }), e.extend = function(y, a) {
        return y.$i || (y(a, j, e), y.$i = !0), e;
      }, e.locale = o, e.isDayjs = V, e.unix = function(y) {
        return e(1e3 * y);
      }, e.en = H[R], e.Ls = H, e.p = {}, e;
    });
  }(a1)), a1.exports;
}
var f1 = l1();
const B = /* @__PURE__ */ y1(f1), h1 = {
  2e3: { 1: { days: 30, startAd: "1943-04-14" }, 2: { days: 32, startAd: "1943-05-14" }, 3: { days: 31, startAd: "1943-06-15" }, 4: { days: 32, startAd: "1943-07-16" }, 5: { days: 31, startAd: "1943-08-17" }, 6: { days: 30, startAd: "1943-09-17" }, 7: { days: 30, startAd: "1943-10-17" }, 8: { days: 30, startAd: "1943-11-16" }, 9: { days: 29, startAd: "1943-12-16" }, 10: { days: 30, startAd: "1944-01-14" }, 11: { days: 29, startAd: "1944-02-13" }, 12: { days: 31, startAd: "1944-03-13" } },
  2001: { 1: { days: 31, startAd: "1944-04-13" }, 2: { days: 31, startAd: "1944-05-14" }, 3: { days: 32, startAd: "1944-06-14" }, 4: { days: 31, startAd: "1944-07-16" }, 5: { days: 31, startAd: "1944-08-16" }, 6: { days: 31, startAd: "1944-09-16" }, 7: { days: 30, startAd: "1944-10-17" }, 8: { days: 29, startAd: "1944-11-16" }, 9: { days: 30, startAd: "1944-12-15" }, 10: { days: 29, startAd: "1945-01-14" }, 11: { days: 30, startAd: "1945-02-12" }, 12: { days: 30, startAd: "1945-03-14" } },
  2002: { 1: { days: 31, startAd: "1945-04-13" }, 2: { days: 31, startAd: "1945-05-14" }, 3: { days: 32, startAd: "1945-06-14" }, 4: { days: 32, startAd: "1945-07-16" }, 5: { days: 31, startAd: "1945-08-17" }, 6: { days: 30, startAd: "1945-09-17" }, 7: { days: 30, startAd: "1945-10-17" }, 8: { days: 29, startAd: "1945-11-16" }, 9: { days: 30, startAd: "1945-12-15" }, 10: { days: 29, startAd: "1946-01-14" }, 11: { days: 30, startAd: "1946-02-12" }, 12: { days: 30, startAd: "1946-03-14" } },
  2003: { 1: { days: 31, startAd: "1946-04-13" }, 2: { days: 32, startAd: "1946-05-14" }, 3: { days: 31, startAd: "1946-06-15" }, 4: { days: 32, startAd: "1946-07-16" }, 5: { days: 31, startAd: "1946-08-17" }, 6: { days: 30, startAd: "1946-09-17" }, 7: { days: 30, startAd: "1946-10-17" }, 8: { days: 30, startAd: "1946-11-16" }, 9: { days: 29, startAd: "1946-12-16" }, 10: { days: 29, startAd: "1947-01-14" }, 11: { days: 30, startAd: "1947-02-12" }, 12: { days: 31, startAd: "1947-03-14" } },
  2004: { 1: { days: 30, startAd: "1947-04-14" }, 2: { days: 32, startAd: "1947-05-14" }, 3: { days: 31, startAd: "1947-06-15" }, 4: { days: 32, startAd: "1947-07-16" }, 5: { days: 31, startAd: "1947-08-17" }, 6: { days: 30, startAd: "1947-09-17" }, 7: { days: 30, startAd: "1947-10-17" }, 8: { days: 30, startAd: "1947-11-16" }, 9: { days: 29, startAd: "1947-12-16" }, 10: { days: 30, startAd: "1948-01-14" }, 11: { days: 29, startAd: "1948-02-13" }, 12: { days: 31, startAd: "1948-03-13" } },
  2005: { 1: { days: 31, startAd: "1948-04-13" }, 2: { days: 31, startAd: "1948-05-14" }, 3: { days: 32, startAd: "1948-06-14" }, 4: { days: 31, startAd: "1948-07-16" }, 5: { days: 31, startAd: "1948-08-16" }, 6: { days: 31, startAd: "1948-09-16" }, 7: { days: 30, startAd: "1948-10-17" }, 8: { days: 29, startAd: "1948-11-16" }, 9: { days: 30, startAd: "1948-12-15" }, 10: { days: 29, startAd: "1949-01-14" }, 11: { days: 30, startAd: "1949-02-12" }, 12: { days: 30, startAd: "1949-03-14" } },
  2006: { 1: { days: 31, startAd: "1949-04-13" }, 2: { days: 31, startAd: "1949-05-14" }, 3: { days: 32, startAd: "1949-06-14" }, 4: { days: 32, startAd: "1949-07-16" }, 5: { days: 31, startAd: "1949-08-17" }, 6: { days: 30, startAd: "1949-09-17" }, 7: { days: 30, startAd: "1949-10-17" }, 8: { days: 29, startAd: "1949-11-16" }, 9: { days: 30, startAd: "1949-12-15" }, 10: { days: 29, startAd: "1950-01-14" }, 11: { days: 30, startAd: "1950-02-12" }, 12: { days: 30, startAd: "1950-03-14" } },
  2007: { 1: { days: 31, startAd: "1950-04-13" }, 2: { days: 32, startAd: "1950-05-14" }, 3: { days: 31, startAd: "1950-06-15" }, 4: { days: 32, startAd: "1950-07-16" }, 5: { days: 31, startAd: "1950-08-17" }, 6: { days: 30, startAd: "1950-09-17" }, 7: { days: 30, startAd: "1950-10-17" }, 8: { days: 30, startAd: "1950-11-16" }, 9: { days: 29, startAd: "1950-12-16" }, 10: { days: 29, startAd: "1951-01-14" }, 11: { days: 30, startAd: "1951-02-12" }, 12: { days: 31, startAd: "1951-03-14" } },
  2008: { 1: { days: 31, startAd: "1951-04-14" }, 2: { days: 31, startAd: "1951-05-15" }, 3: { days: 31, startAd: "1951-06-15" }, 4: { days: 32, startAd: "1951-07-16" }, 5: { days: 31, startAd: "1951-08-17" }, 6: { days: 31, startAd: "1951-09-17" }, 7: { days: 29, startAd: "1951-10-18" }, 8: { days: 30, startAd: "1951-11-16" }, 9: { days: 30, startAd: "1951-12-16" }, 10: { days: 29, startAd: "1952-01-15" }, 11: { days: 29, startAd: "1952-02-13" }, 12: { days: 31, startAd: "1952-03-13" } },
  2009: { 1: { days: 31, startAd: "1952-04-13" }, 2: { days: 31, startAd: "1952-05-14" }, 3: { days: 32, startAd: "1952-06-14" }, 4: { days: 31, startAd: "1952-07-16" }, 5: { days: 31, startAd: "1952-08-16" }, 6: { days: 31, startAd: "1952-09-16" }, 7: { days: 30, startAd: "1952-10-17" }, 8: { days: 29, startAd: "1952-11-16" }, 9: { days: 30, startAd: "1952-12-15" }, 10: { days: 29, startAd: "1953-01-14" }, 11: { days: 30, startAd: "1953-02-12" }, 12: { days: 30, startAd: "1953-03-14" } },
  2010: { 1: { days: 31, startAd: "1953-04-13" }, 2: { days: 31, startAd: "1953-05-14" }, 3: { days: 32, startAd: "1953-06-14" }, 4: { days: 32, startAd: "1953-07-16" }, 5: { days: 31, startAd: "1953-08-17" }, 6: { days: 30, startAd: "1953-09-17" }, 7: { days: 30, startAd: "1953-10-17" }, 8: { days: 29, startAd: "1953-11-16" }, 9: { days: 30, startAd: "1953-12-15" }, 10: { days: 29, startAd: "1954-01-14" }, 11: { days: 30, startAd: "1954-02-12" }, 12: { days: 30, startAd: "1954-03-14" } },
  2011: { 1: { days: 31, startAd: "1954-04-13" }, 2: { days: 32, startAd: "1954-05-14" }, 3: { days: 31, startAd: "1954-06-15" }, 4: { days: 32, startAd: "1954-07-16" }, 5: { days: 31, startAd: "1954-08-17" }, 6: { days: 30, startAd: "1954-09-17" }, 7: { days: 30, startAd: "1954-10-17" }, 8: { days: 30, startAd: "1954-11-16" }, 9: { days: 29, startAd: "1954-12-16" }, 10: { days: 29, startAd: "1955-01-14" }, 11: { days: 30, startAd: "1955-02-12" }, 12: { days: 31, startAd: "1955-03-14" } },
  2012: { 1: { days: 31, startAd: "1955-04-14" }, 2: { days: 31, startAd: "1955-05-15" }, 3: { days: 31, startAd: "1955-06-15" }, 4: { days: 32, startAd: "1955-07-16" }, 5: { days: 31, startAd: "1955-08-17" }, 6: { days: 31, startAd: "1955-09-17" }, 7: { days: 29, startAd: "1955-10-18" }, 8: { days: 30, startAd: "1955-11-16" }, 9: { days: 30, startAd: "1955-12-16" }, 10: { days: 29, startAd: "1956-01-15" }, 11: { days: 30, startAd: "1956-02-13" }, 12: { days: 30, startAd: "1956-03-14" } },
  2013: { 1: { days: 31, startAd: "1956-04-13" }, 2: { days: 31, startAd: "1956-05-14" }, 3: { days: 32, startAd: "1956-06-14" }, 4: { days: 31, startAd: "1956-07-16" }, 5: { days: 31, startAd: "1956-08-16" }, 6: { days: 31, startAd: "1956-09-16" }, 7: { days: 30, startAd: "1956-10-17" }, 8: { days: 29, startAd: "1956-11-16" }, 9: { days: 30, startAd: "1956-12-15" }, 10: { days: 29, startAd: "1957-01-14" }, 11: { days: 30, startAd: "1957-02-12" }, 12: { days: 30, startAd: "1957-03-14" } },
  2014: { 1: { days: 31, startAd: "1957-04-13" }, 2: { days: 31, startAd: "1957-05-14" }, 3: { days: 32, startAd: "1957-06-14" }, 4: { days: 32, startAd: "1957-07-16" }, 5: { days: 31, startAd: "1957-08-17" }, 6: { days: 30, startAd: "1957-09-17" }, 7: { days: 30, startAd: "1957-10-17" }, 8: { days: 29, startAd: "1957-11-16" }, 9: { days: 30, startAd: "1957-12-15" }, 10: { days: 29, startAd: "1958-01-14" }, 11: { days: 30, startAd: "1958-02-12" }, 12: { days: 30, startAd: "1958-03-14" } },
  2015: { 1: { days: 31, startAd: "1958-04-13" }, 2: { days: 32, startAd: "1958-05-14" }, 3: { days: 31, startAd: "1958-06-15" }, 4: { days: 32, startAd: "1958-07-16" }, 5: { days: 31, startAd: "1958-08-17" }, 6: { days: 30, startAd: "1958-09-17" }, 7: { days: 30, startAd: "1958-10-17" }, 8: { days: 30, startAd: "1958-11-16" }, 9: { days: 29, startAd: "1958-12-16" }, 10: { days: 29, startAd: "1959-01-14" }, 11: { days: 30, startAd: "1959-02-12" }, 12: { days: 31, startAd: "1959-03-14" } },
  2016: { 1: { days: 31, startAd: "1959-04-14" }, 2: { days: 31, startAd: "1959-05-15" }, 3: { days: 31, startAd: "1959-06-15" }, 4: { days: 32, startAd: "1959-07-16" }, 5: { days: 31, startAd: "1959-08-17" }, 6: { days: 31, startAd: "1959-09-17" }, 7: { days: 29, startAd: "1959-10-18" }, 8: { days: 30, startAd: "1959-11-16" }, 9: { days: 30, startAd: "1959-12-16" }, 10: { days: 29, startAd: "1960-01-15" }, 11: { days: 30, startAd: "1960-02-13" }, 12: { days: 30, startAd: "1960-03-14" } },
  2017: { 1: { days: 31, startAd: "1960-04-13" }, 2: { days: 31, startAd: "1960-05-14" }, 3: { days: 32, startAd: "1960-06-14" }, 4: { days: 31, startAd: "1960-07-16" }, 5: { days: 31, startAd: "1960-08-16" }, 6: { days: 31, startAd: "1960-09-16" }, 7: { days: 30, startAd: "1960-10-17" }, 8: { days: 29, startAd: "1960-11-16" }, 9: { days: 30, startAd: "1960-12-15" }, 10: { days: 29, startAd: "1961-01-14" }, 11: { days: 30, startAd: "1961-02-12" }, 12: { days: 30, startAd: "1961-03-14" } },
  2018: { 1: { days: 31, startAd: "1961-04-13" }, 2: { days: 32, startAd: "1961-05-14" }, 3: { days: 31, startAd: "1961-06-15" }, 4: { days: 32, startAd: "1961-07-16" }, 5: { days: 31, startAd: "1961-08-17" }, 6: { days: 30, startAd: "1961-09-17" }, 7: { days: 30, startAd: "1961-10-17" }, 8: { days: 29, startAd: "1961-11-16" }, 9: { days: 30, startAd: "1961-12-15" }, 10: { days: 29, startAd: "1962-01-14" }, 11: { days: 30, startAd: "1962-02-12" }, 12: { days: 30, startAd: "1962-03-14" } },
  2019: { 1: { days: 31, startAd: "1962-04-13" }, 2: { days: 32, startAd: "1962-05-14" }, 3: { days: 31, startAd: "1962-06-15" }, 4: { days: 32, startAd: "1962-07-16" }, 5: { days: 31, startAd: "1962-08-17" }, 6: { days: 30, startAd: "1962-09-17" }, 7: { days: 30, startAd: "1962-10-17" }, 8: { days: 30, startAd: "1962-11-16" }, 9: { days: 29, startAd: "1962-12-16" }, 10: { days: 30, startAd: "1963-01-14" }, 11: { days: 29, startAd: "1963-02-13" }, 12: { days: 31, startAd: "1963-03-14" } },
  2020: { 1: { days: 31, startAd: "1963-04-14" }, 2: { days: 31, startAd: "1963-05-15" }, 3: { days: 31, startAd: "1963-06-15" }, 4: { days: 32, startAd: "1963-07-16" }, 5: { days: 31, startAd: "1963-08-17" }, 6: { days: 31, startAd: "1963-09-17" }, 7: { days: 30, startAd: "1963-10-18" }, 8: { days: 29, startAd: "1963-11-17" }, 9: { days: 30, startAd: "1963-12-16" }, 10: { days: 29, startAd: "1964-01-15" }, 11: { days: 30, startAd: "1964-02-13" }, 12: { days: 30, startAd: "1964-03-14" } },
  2021: { 1: { days: 31, startAd: "1964-04-13" }, 2: { days: 31, startAd: "1964-05-14" }, 3: { days: 32, startAd: "1964-06-14" }, 4: { days: 31, startAd: "1964-07-16" }, 5: { days: 31, startAd: "1964-08-16" }, 6: { days: 31, startAd: "1964-09-16" }, 7: { days: 30, startAd: "1964-10-17" }, 8: { days: 29, startAd: "1964-11-16" }, 9: { days: 30, startAd: "1964-12-15" }, 10: { days: 29, startAd: "1965-01-14" }, 11: { days: 30, startAd: "1965-02-12" }, 12: { days: 30, startAd: "1965-03-14" } },
  2022: { 1: { days: 31, startAd: "1965-04-13" }, 2: { days: 32, startAd: "1965-05-14" }, 3: { days: 31, startAd: "1965-06-15" }, 4: { days: 32, startAd: "1965-07-16" }, 5: { days: 31, startAd: "1965-08-17" }, 6: { days: 30, startAd: "1965-09-17" }, 7: { days: 30, startAd: "1965-10-17" }, 8: { days: 30, startAd: "1965-11-16" }, 9: { days: 29, startAd: "1965-12-16" }, 10: { days: 29, startAd: "1966-01-14" }, 11: { days: 30, startAd: "1966-02-12" }, 12: { days: 30, startAd: "1966-03-14" } },
  2023: { 1: { days: 31, startAd: "1966-04-13" }, 2: { days: 32, startAd: "1966-05-14" }, 3: { days: 31, startAd: "1966-06-15" }, 4: { days: 32, startAd: "1966-07-16" }, 5: { days: 31, startAd: "1966-08-17" }, 6: { days: 30, startAd: "1966-09-17" }, 7: { days: 30, startAd: "1966-10-17" }, 8: { days: 30, startAd: "1966-11-16" }, 9: { days: 29, startAd: "1966-12-16" }, 10: { days: 30, startAd: "1967-01-14" }, 11: { days: 29, startAd: "1967-02-13" }, 12: { days: 31, startAd: "1967-03-14" } },
  2024: { 1: { days: 31, startAd: "1967-04-14" }, 2: { days: 31, startAd: "1967-05-15" }, 3: { days: 31, startAd: "1967-06-15" }, 4: { days: 32, startAd: "1967-07-16" }, 5: { days: 31, startAd: "1967-08-17" }, 6: { days: 31, startAd: "1967-09-17" }, 7: { days: 30, startAd: "1967-10-18" }, 8: { days: 29, startAd: "1967-11-17" }, 9: { days: 30, startAd: "1967-12-16" }, 10: { days: 29, startAd: "1968-01-15" }, 11: { days: 30, startAd: "1968-02-13" }, 12: { days: 30, startAd: "1968-03-14" } },
  2025: { 1: { days: 31, startAd: "1968-04-13" }, 2: { days: 31, startAd: "1968-05-14" }, 3: { days: 32, startAd: "1968-06-14" }, 4: { days: 31, startAd: "1968-07-16" }, 5: { days: 31, startAd: "1968-08-16" }, 6: { days: 31, startAd: "1968-09-16" }, 7: { days: 30, startAd: "1968-10-17" }, 8: { days: 29, startAd: "1968-11-16" }, 9: { days: 30, startAd: "1968-12-15" }, 10: { days: 29, startAd: "1969-01-14" }, 11: { days: 30, startAd: "1969-02-12" }, 12: { days: 30, startAd: "1969-03-14" } },
  2026: { 1: { days: 31, startAd: "1969-04-13" }, 2: { days: 32, startAd: "1969-05-14" }, 3: { days: 31, startAd: "1969-06-15" }, 4: { days: 32, startAd: "1969-07-16" }, 5: { days: 31, startAd: "1969-08-17" }, 6: { days: 30, startAd: "1969-09-17" }, 7: { days: 30, startAd: "1969-10-17" }, 8: { days: 30, startAd: "1969-11-16" }, 9: { days: 29, startAd: "1969-12-16" }, 10: { days: 29, startAd: "1970-01-14" }, 11: { days: 30, startAd: "1970-02-12" }, 12: { days: 31, startAd: "1970-03-14" } },
  2027: { 1: { days: 30, startAd: "1970-04-14" }, 2: { days: 32, startAd: "1970-05-14" }, 3: { days: 31, startAd: "1970-06-15" }, 4: { days: 32, startAd: "1970-07-16" }, 5: { days: 31, startAd: "1970-08-17" }, 6: { days: 30, startAd: "1970-09-17" }, 7: { days: 30, startAd: "1970-10-17" }, 8: { days: 30, startAd: "1970-11-16" }, 9: { days: 29, startAd: "1970-12-16" }, 10: { days: 30, startAd: "1971-01-14" }, 11: { days: 29, startAd: "1971-02-13" }, 12: { days: 31, startAd: "1971-03-14" } },
  2028: { 1: { days: 31, startAd: "1971-04-14" }, 2: { days: 31, startAd: "1971-05-15" }, 3: { days: 32, startAd: "1971-06-15" }, 4: { days: 31, startAd: "1971-07-17" }, 5: { days: 31, startAd: "1971-08-17" }, 6: { days: 31, startAd: "1971-09-17" }, 7: { days: 30, startAd: "1971-10-18" }, 8: { days: 29, startAd: "1971-11-17" }, 9: { days: 30, startAd: "1971-12-16" }, 10: { days: 29, startAd: "1972-01-15" }, 11: { days: 30, startAd: "1972-02-13" }, 12: { days: 30, startAd: "1972-03-14" } },
  2029: { 1: { days: 31, startAd: "1972-04-13" }, 2: { days: 31, startAd: "1972-05-14" }, 3: { days: 32, startAd: "1972-06-14" }, 4: { days: 31, startAd: "1972-07-16" }, 5: { days: 32, startAd: "1972-08-16" }, 6: { days: 30, startAd: "1972-09-17" }, 7: { days: 30, startAd: "1972-10-17" }, 8: { days: 29, startAd: "1972-11-16" }, 9: { days: 30, startAd: "1972-12-15" }, 10: { days: 29, startAd: "1973-01-14" }, 11: { days: 30, startAd: "1973-02-12" }, 12: { days: 30, startAd: "1973-03-14" } },
  2030: { 1: { days: 31, startAd: "1973-04-13" }, 2: { days: 32, startAd: "1973-05-14" }, 3: { days: 31, startAd: "1973-06-15" }, 4: { days: 32, startAd: "1973-07-16" }, 5: { days: 31, startAd: "1973-08-17" }, 6: { days: 30, startAd: "1973-09-17" }, 7: { days: 30, startAd: "1973-10-17" }, 8: { days: 30, startAd: "1973-11-16" }, 9: { days: 29, startAd: "1973-12-16" }, 10: { days: 29, startAd: "1974-01-14" }, 11: { days: 30, startAd: "1974-02-12" }, 12: { days: 31, startAd: "1974-03-14" } },
  2031: { 1: { days: 30, startAd: "1974-04-14" }, 2: { days: 32, startAd: "1974-05-14" }, 3: { days: 31, startAd: "1974-06-15" }, 4: { days: 32, startAd: "1974-07-16" }, 5: { days: 31, startAd: "1974-08-17" }, 6: { days: 30, startAd: "1974-09-17" }, 7: { days: 30, startAd: "1974-10-17" }, 8: { days: 30, startAd: "1974-11-16" }, 9: { days: 29, startAd: "1974-12-16" }, 10: { days: 30, startAd: "1975-01-14" }, 11: { days: 29, startAd: "1975-02-13" }, 12: { days: 31, startAd: "1975-03-14" } },
  2032: { 1: { days: 31, startAd: "1975-04-14" }, 2: { days: 31, startAd: "1975-05-15" }, 3: { days: 32, startAd: "1975-06-15" }, 4: { days: 31, startAd: "1975-07-17" }, 5: { days: 31, startAd: "1975-08-17" }, 6: { days: 31, startAd: "1975-09-17" }, 7: { days: 30, startAd: "1975-10-18" }, 8: { days: 29, startAd: "1975-11-17" }, 9: { days: 30, startAd: "1975-12-16" }, 10: { days: 29, startAd: "1976-01-15" }, 11: { days: 30, startAd: "1976-02-13" }, 12: { days: 30, startAd: "1976-03-14" } },
  2033: { 1: { days: 31, startAd: "1976-04-13" }, 2: { days: 31, startAd: "1976-05-14" }, 3: { days: 32, startAd: "1976-06-14" }, 4: { days: 32, startAd: "1976-07-16" }, 5: { days: 31, startAd: "1976-08-17" }, 6: { days: 30, startAd: "1976-09-17" }, 7: { days: 30, startAd: "1976-10-17" }, 8: { days: 29, startAd: "1976-11-16" }, 9: { days: 30, startAd: "1976-12-15" }, 10: { days: 29, startAd: "1977-01-14" }, 11: { days: 30, startAd: "1977-02-12" }, 12: { days: 30, startAd: "1977-03-14" } },
  2034: { 1: { days: 31, startAd: "1977-04-13" }, 2: { days: 32, startAd: "1977-05-14" }, 3: { days: 31, startAd: "1977-06-15" }, 4: { days: 32, startAd: "1977-07-16" }, 5: { days: 31, startAd: "1977-08-17" }, 6: { days: 30, startAd: "1977-09-17" }, 7: { days: 30, startAd: "1977-10-17" }, 8: { days: 30, startAd: "1977-11-16" }, 9: { days: 29, startAd: "1977-12-16" }, 10: { days: 29, startAd: "1978-01-14" }, 11: { days: 30, startAd: "1978-02-12" }, 12: { days: 31, startAd: "1978-03-14" } },
  2035: { 1: { days: 30, startAd: "1978-04-14" }, 2: { days: 32, startAd: "1978-05-14" }, 3: { days: 31, startAd: "1978-06-15" }, 4: { days: 32, startAd: "1978-07-16" }, 5: { days: 31, startAd: "1978-08-17" }, 6: { days: 31, startAd: "1978-09-17" }, 7: { days: 29, startAd: "1978-10-18" }, 8: { days: 30, startAd: "1978-11-16" }, 9: { days: 30, startAd: "1978-12-16" }, 10: { days: 29, startAd: "1979-01-15" }, 11: { days: 29, startAd: "1979-02-13" }, 12: { days: 31, startAd: "1979-03-14" } },
  2036: { 1: { days: 31, startAd: "1979-04-14" }, 2: { days: 31, startAd: "1979-05-15" }, 3: { days: 32, startAd: "1979-06-15" }, 4: { days: 31, startAd: "1979-07-17" }, 5: { days: 31, startAd: "1979-08-17" }, 6: { days: 31, startAd: "1979-09-17" }, 7: { days: 30, startAd: "1979-10-18" }, 8: { days: 29, startAd: "1979-11-17" }, 9: { days: 30, startAd: "1979-12-16" }, 10: { days: 29, startAd: "1980-01-15" }, 11: { days: 30, startAd: "1980-02-13" }, 12: { days: 30, startAd: "1980-03-14" } },
  2037: { 1: { days: 31, startAd: "1980-04-13" }, 2: { days: 31, startAd: "1980-05-14" }, 3: { days: 32, startAd: "1980-06-14" }, 4: { days: 32, startAd: "1980-07-16" }, 5: { days: 31, startAd: "1980-08-17" }, 6: { days: 30, startAd: "1980-09-17" }, 7: { days: 30, startAd: "1980-10-17" }, 8: { days: 29, startAd: "1980-11-16" }, 9: { days: 30, startAd: "1980-12-15" }, 10: { days: 29, startAd: "1981-01-14" }, 11: { days: 30, startAd: "1981-02-12" }, 12: { days: 30, startAd: "1981-03-14" } },
  2038: { 1: { days: 31, startAd: "1981-04-13" }, 2: { days: 32, startAd: "1981-05-14" }, 3: { days: 31, startAd: "1981-06-15" }, 4: { days: 32, startAd: "1981-07-16" }, 5: { days: 31, startAd: "1981-08-17" }, 6: { days: 30, startAd: "1981-09-17" }, 7: { days: 30, startAd: "1981-10-17" }, 8: { days: 30, startAd: "1981-11-16" }, 9: { days: 29, startAd: "1981-12-16" }, 10: { days: 29, startAd: "1982-01-14" }, 11: { days: 30, startAd: "1982-02-12" }, 12: { days: 31, startAd: "1982-03-14" } },
  2039: { 1: { days: 31, startAd: "1982-04-14" }, 2: { days: 31, startAd: "1982-05-15" }, 3: { days: 31, startAd: "1982-06-15" }, 4: { days: 32, startAd: "1982-07-16" }, 5: { days: 31, startAd: "1982-08-17" }, 6: { days: 31, startAd: "1982-09-17" }, 7: { days: 29, startAd: "1982-10-18" }, 8: { days: 30, startAd: "1982-11-16" }, 9: { days: 30, startAd: "1982-12-16" }, 10: { days: 29, startAd: "1983-01-15" }, 11: { days: 30, startAd: "1983-02-13" }, 12: { days: 30, startAd: "1983-03-15" } },
  2040: { 1: { days: 31, startAd: "1983-04-14" }, 2: { days: 31, startAd: "1983-05-15" }, 3: { days: 32, startAd: "1983-06-15" }, 4: { days: 31, startAd: "1983-07-17" }, 5: { days: 31, startAd: "1983-08-17" }, 6: { days: 31, startAd: "1983-09-17" }, 7: { days: 30, startAd: "1983-10-18" }, 8: { days: 29, startAd: "1983-11-17" }, 9: { days: 30, startAd: "1983-12-16" }, 10: { days: 29, startAd: "1984-01-15" }, 11: { days: 30, startAd: "1984-02-13" }, 12: { days: 30, startAd: "1984-03-14" } },
  2041: { 1: { days: 31, startAd: "1984-04-13" }, 2: { days: 31, startAd: "1984-05-14" }, 3: { days: 32, startAd: "1984-06-14" }, 4: { days: 32, startAd: "1984-07-16" }, 5: { days: 31, startAd: "1984-08-17" }, 6: { days: 30, startAd: "1984-09-17" }, 7: { days: 30, startAd: "1984-10-17" }, 8: { days: 29, startAd: "1984-11-16" }, 9: { days: 30, startAd: "1984-12-15" }, 10: { days: 29, startAd: "1985-01-14" }, 11: { days: 30, startAd: "1985-02-12" }, 12: { days: 30, startAd: "1985-03-14" } },
  2042: { 1: { days: 31, startAd: "1985-04-13" }, 2: { days: 32, startAd: "1985-05-14" }, 3: { days: 31, startAd: "1985-06-15" }, 4: { days: 32, startAd: "1985-07-16" }, 5: { days: 31, startAd: "1985-08-17" }, 6: { days: 30, startAd: "1985-09-17" }, 7: { days: 30, startAd: "1985-10-17" }, 8: { days: 30, startAd: "1985-11-16" }, 9: { days: 29, startAd: "1985-12-16" }, 10: { days: 29, startAd: "1986-01-14" }, 11: { days: 30, startAd: "1986-02-12" }, 12: { days: 31, startAd: "1986-03-14" } },
  2043: { 1: { days: 31, startAd: "1986-04-14" }, 2: { days: 31, startAd: "1986-05-15" }, 3: { days: 31, startAd: "1986-06-15" }, 4: { days: 32, startAd: "1986-07-16" }, 5: { days: 31, startAd: "1986-08-17" }, 6: { days: 31, startAd: "1986-09-17" }, 7: { days: 29, startAd: "1986-10-18" }, 8: { days: 30, startAd: "1986-11-16" }, 9: { days: 30, startAd: "1986-12-16" }, 10: { days: 29, startAd: "1987-01-15" }, 11: { days: 30, startAd: "1987-02-13" }, 12: { days: 30, startAd: "1987-03-15" } },
  2044: { 1: { days: 31, startAd: "1987-04-14" }, 2: { days: 31, startAd: "1987-05-15" }, 3: { days: 32, startAd: "1987-06-15" }, 4: { days: 31, startAd: "1987-07-17" }, 5: { days: 31, startAd: "1987-08-17" }, 6: { days: 31, startAd: "1987-09-17" }, 7: { days: 30, startAd: "1987-10-18" }, 8: { days: 29, startAd: "1987-11-17" }, 9: { days: 30, startAd: "1987-12-16" }, 10: { days: 29, startAd: "1988-01-15" }, 11: { days: 30, startAd: "1988-02-13" }, 12: { days: 30, startAd: "1988-03-14" } },
  2045: { 1: { days: 31, startAd: "1988-04-13" }, 2: { days: 32, startAd: "1988-05-14" }, 3: { days: 31, startAd: "1988-06-15" }, 4: { days: 32, startAd: "1988-07-16" }, 5: { days: 31, startAd: "1988-08-17" }, 6: { days: 30, startAd: "1988-09-17" }, 7: { days: 30, startAd: "1988-10-17" }, 8: { days: 29, startAd: "1988-11-16" }, 9: { days: 30, startAd: "1988-12-15" }, 10: { days: 29, startAd: "1989-01-14" }, 11: { days: 30, startAd: "1989-02-12" }, 12: { days: 30, startAd: "1989-03-14" } },
  2046: { 1: { days: 31, startAd: "1989-04-13" }, 2: { days: 32, startAd: "1989-05-14" }, 3: { days: 31, startAd: "1989-06-15" }, 4: { days: 32, startAd: "1989-07-16" }, 5: { days: 31, startAd: "1989-08-17" }, 6: { days: 30, startAd: "1989-09-17" }, 7: { days: 30, startAd: "1989-10-17" }, 8: { days: 30, startAd: "1989-11-16" }, 9: { days: 29, startAd: "1989-12-16" }, 10: { days: 29, startAd: "1990-01-14" }, 11: { days: 30, startAd: "1990-02-12" }, 12: { days: 31, startAd: "1990-03-14" } },
  2047: { 1: { days: 31, startAd: "1990-04-14" }, 2: { days: 31, startAd: "1990-05-15" }, 3: { days: 31, startAd: "1990-06-15" }, 4: { days: 32, startAd: "1990-07-16" }, 5: { days: 31, startAd: "1990-08-17" }, 6: { days: 31, startAd: "1990-09-17" }, 7: { days: 30, startAd: "1990-10-18" }, 8: { days: 29, startAd: "1990-11-17" }, 9: { days: 30, startAd: "1990-12-16" }, 10: { days: 29, startAd: "1991-01-15" }, 11: { days: 30, startAd: "1991-02-13" }, 12: { days: 30, startAd: "1991-03-15" } },
  2048: { 1: { days: 31, startAd: "1991-04-14" }, 2: { days: 31, startAd: "1991-05-15" }, 3: { days: 32, startAd: "1991-06-15" }, 4: { days: 31, startAd: "1991-07-17" }, 5: { days: 31, startAd: "1991-08-17" }, 6: { days: 31, startAd: "1991-09-17" }, 7: { days: 30, startAd: "1991-10-18" }, 8: { days: 29, startAd: "1991-11-17" }, 9: { days: 30, startAd: "1991-12-16" }, 10: { days: 29, startAd: "1992-01-15" }, 11: { days: 30, startAd: "1992-02-13" }, 12: { days: 30, startAd: "1992-03-14" } },
  2049: { 1: { days: 31, startAd: "1992-04-13" }, 2: { days: 32, startAd: "1992-05-14" }, 3: { days: 31, startAd: "1992-06-15" }, 4: { days: 32, startAd: "1992-07-16" }, 5: { days: 31, startAd: "1992-08-17" }, 6: { days: 30, startAd: "1992-09-17" }, 7: { days: 30, startAd: "1992-10-17" }, 8: { days: 30, startAd: "1992-11-16" }, 9: { days: 29, startAd: "1992-12-16" }, 10: { days: 29, startAd: "1993-01-14" }, 11: { days: 30, startAd: "1993-02-12" }, 12: { days: 30, startAd: "1993-03-14" } },
  2050: { 1: { days: 31, startAd: "1993-04-13" }, 2: { days: 32, startAd: "1993-05-14" }, 3: { days: 31, startAd: "1993-06-15" }, 4: { days: 32, startAd: "1993-07-16" }, 5: { days: 31, startAd: "1993-08-17" }, 6: { days: 30, startAd: "1993-09-17" }, 7: { days: 30, startAd: "1993-10-17" }, 8: { days: 30, startAd: "1993-11-16" }, 9: { days: 29, startAd: "1993-12-16" }, 10: { days: 30, startAd: "1994-01-14" }, 11: { days: 29, startAd: "1994-02-13" }, 12: { days: 31, startAd: "1994-03-14" } },
  2051: { 1: { days: 31, startAd: "1994-04-14" }, 2: { days: 31, startAd: "1994-05-15" }, 3: { days: 31, startAd: "1994-06-15" }, 4: { days: 32, startAd: "1994-07-16" }, 5: { days: 31, startAd: "1994-08-17" }, 6: { days: 31, startAd: "1994-09-17" }, 7: { days: 30, startAd: "1994-10-18" }, 8: { days: 29, startAd: "1994-11-17" }, 9: { days: 30, startAd: "1994-12-16" }, 10: { days: 29, startAd: "1995-01-15" }, 11: { days: 30, startAd: "1995-02-13" }, 12: { days: 30, startAd: "1995-03-15" } },
  2052: { 1: { days: 31, startAd: "1995-04-14" }, 2: { days: 31, startAd: "1995-05-15" }, 3: { days: 32, startAd: "1995-06-15" }, 4: { days: 31, startAd: "1995-07-17" }, 5: { days: 31, startAd: "1995-08-17" }, 6: { days: 31, startAd: "1995-09-17" }, 7: { days: 30, startAd: "1995-10-18" }, 8: { days: 29, startAd: "1995-11-17" }, 9: { days: 30, startAd: "1995-12-16" }, 10: { days: 29, startAd: "1996-01-15" }, 11: { days: 30, startAd: "1996-02-13" }, 12: { days: 30, startAd: "1996-03-14" } },
  2053: { 1: { days: 31, startAd: "1996-04-13" }, 2: { days: 32, startAd: "1996-05-14" }, 3: { days: 31, startAd: "1996-06-15" }, 4: { days: 32, startAd: "1996-07-16" }, 5: { days: 31, startAd: "1996-08-17" }, 6: { days: 30, startAd: "1996-09-17" }, 7: { days: 30, startAd: "1996-10-17" }, 8: { days: 30, startAd: "1996-11-16" }, 9: { days: 29, startAd: "1996-12-16" }, 10: { days: 29, startAd: "1997-01-14" }, 11: { days: 30, startAd: "1997-02-12" }, 12: { days: 30, startAd: "1997-03-14" } },
  2054: { 1: { days: 31, startAd: "1997-04-13" }, 2: { days: 32, startAd: "1997-05-14" }, 3: { days: 31, startAd: "1997-06-15" }, 4: { days: 32, startAd: "1997-07-16" }, 5: { days: 31, startAd: "1997-08-17" }, 6: { days: 30, startAd: "1997-09-17" }, 7: { days: 30, startAd: "1997-10-17" }, 8: { days: 30, startAd: "1997-11-16" }, 9: { days: 29, startAd: "1997-12-16" }, 10: { days: 30, startAd: "1998-01-14" }, 11: { days: 29, startAd: "1998-02-13" }, 12: { days: 31, startAd: "1998-03-14" } },
  2055: { 1: { days: 31, startAd: "1998-04-14" }, 2: { days: 31, startAd: "1998-05-15" }, 3: { days: 32, startAd: "1998-06-15" }, 4: { days: 31, startAd: "1998-07-17" }, 5: { days: 31, startAd: "1998-08-17" }, 6: { days: 31, startAd: "1998-09-17" }, 7: { days: 30, startAd: "1998-10-18" }, 8: { days: 29, startAd: "1998-11-17" }, 9: { days: 30, startAd: "1998-12-16" }, 10: { days: 29, startAd: "1999-01-15" }, 11: { days: 30, startAd: "1999-02-13" }, 12: { days: 30, startAd: "1999-03-15" } },
  2056: { 1: { days: 31, startAd: "1999-04-14" }, 2: { days: 31, startAd: "1999-05-15" }, 3: { days: 32, startAd: "1999-06-15" }, 4: { days: 31, startAd: "1999-07-17" }, 5: { days: 32, startAd: "1999-08-17" }, 6: { days: 30, startAd: "1999-09-18" }, 7: { days: 30, startAd: "1999-10-18" }, 8: { days: 29, startAd: "1999-11-17" }, 9: { days: 30, startAd: "1999-12-16" }, 10: { days: 29, startAd: "2000-01-15" }, 11: { days: 30, startAd: "2000-02-13" }, 12: { days: 30, startAd: "2000-03-14" } },
  2057: { 1: { days: 31, startAd: "2000-04-13" }, 2: { days: 32, startAd: "2000-05-14" }, 3: { days: 31, startAd: "2000-06-15" }, 4: { days: 32, startAd: "2000-07-16" }, 5: { days: 31, startAd: "2000-08-17" }, 6: { days: 30, startAd: "2000-09-17" }, 7: { days: 30, startAd: "2000-10-17" }, 8: { days: 30, startAd: "2000-11-16" }, 9: { days: 29, startAd: "2000-12-16" }, 10: { days: 29, startAd: "2001-01-14" }, 11: { days: 30, startAd: "2001-02-12" }, 12: { days: 31, startAd: "2001-03-14" } },
  2058: { 1: { days: 30, startAd: "2001-04-14" }, 2: { days: 32, startAd: "2001-05-14" }, 3: { days: 31, startAd: "2001-06-15" }, 4: { days: 32, startAd: "2001-07-16" }, 5: { days: 31, startAd: "2001-08-17" }, 6: { days: 30, startAd: "2001-09-17" }, 7: { days: 30, startAd: "2001-10-17" }, 8: { days: 30, startAd: "2001-11-16" }, 9: { days: 29, startAd: "2001-12-16" }, 10: { days: 30, startAd: "2002-01-14" }, 11: { days: 29, startAd: "2002-02-13" }, 12: { days: 31, startAd: "2002-03-14" } },
  2059: { 1: { days: 31, startAd: "2002-04-14" }, 2: { days: 31, startAd: "2002-05-15" }, 3: { days: 32, startAd: "2002-06-15" }, 4: { days: 31, startAd: "2002-07-17" }, 5: { days: 31, startAd: "2002-08-17" }, 6: { days: 31, startAd: "2002-09-17" }, 7: { days: 30, startAd: "2002-10-18" }, 8: { days: 29, startAd: "2002-11-17" }, 9: { days: 30, startAd: "2002-12-16" }, 10: { days: 29, startAd: "2003-01-15" }, 11: { days: 30, startAd: "2003-02-13" }, 12: { days: 30, startAd: "2003-03-15" } },
  2060: { 1: { days: 31, startAd: "2003-04-14" }, 2: { days: 31, startAd: "2003-05-15" }, 3: { days: 32, startAd: "2003-06-15" }, 4: { days: 32, startAd: "2003-07-17" }, 5: { days: 31, startAd: "2003-08-18" }, 6: { days: 30, startAd: "2003-09-18" }, 7: { days: 30, startAd: "2003-10-18" }, 8: { days: 29, startAd: "2003-11-17" }, 9: { days: 30, startAd: "2003-12-16" }, 10: { days: 29, startAd: "2004-01-15" }, 11: { days: 30, startAd: "2004-02-13" }, 12: { days: 30, startAd: "2004-03-14" } },
  2061: { 1: { days: 31, startAd: "2004-04-13" }, 2: { days: 32, startAd: "2004-05-14" }, 3: { days: 31, startAd: "2004-06-15" }, 4: { days: 32, startAd: "2004-07-16" }, 5: { days: 31, startAd: "2004-08-17" }, 6: { days: 30, startAd: "2004-09-17" }, 7: { days: 30, startAd: "2004-10-17" }, 8: { days: 30, startAd: "2004-11-16" }, 9: { days: 29, startAd: "2004-12-16" }, 10: { days: 29, startAd: "2005-01-14" }, 11: { days: 30, startAd: "2005-02-12" }, 12: { days: 31, startAd: "2005-03-14" } },
  2062: { 1: { days: 30, startAd: "2005-04-14" }, 2: { days: 32, startAd: "2005-05-14" }, 3: { days: 31, startAd: "2005-06-15" }, 4: { days: 32, startAd: "2005-07-16" }, 5: { days: 31, startAd: "2005-08-17" }, 6: { days: 31, startAd: "2005-09-17" }, 7: { days: 29, startAd: "2005-10-18" }, 8: { days: 30, startAd: "2005-11-16" }, 9: { days: 29, startAd: "2005-12-16" }, 10: { days: 30, startAd: "2006-01-14" }, 11: { days: 29, startAd: "2006-02-13" }, 12: { days: 31, startAd: "2006-03-14" } },
  2063: { 1: { days: 31, startAd: "2006-04-14" }, 2: { days: 31, startAd: "2006-05-15" }, 3: { days: 32, startAd: "2006-06-15" }, 4: { days: 31, startAd: "2006-07-17" }, 5: { days: 31, startAd: "2006-08-17" }, 6: { days: 31, startAd: "2006-09-17" }, 7: { days: 30, startAd: "2006-10-18" }, 8: { days: 29, startAd: "2006-11-17" }, 9: { days: 30, startAd: "2006-12-16" }, 10: { days: 29, startAd: "2007-01-15" }, 11: { days: 30, startAd: "2007-02-13" }, 12: { days: 30, startAd: "2007-03-15" } },
  2064: { 1: { days: 31, startAd: "2007-04-14" }, 2: { days: 31, startAd: "2007-05-15" }, 3: { days: 32, startAd: "2007-06-15" }, 4: { days: 32, startAd: "2007-07-17" }, 5: { days: 31, startAd: "2007-08-18" }, 6: { days: 30, startAd: "2007-09-18" }, 7: { days: 30, startAd: "2007-10-18" }, 8: { days: 29, startAd: "2007-11-17" }, 9: { days: 30, startAd: "2007-12-16" }, 10: { days: 29, startAd: "2008-01-15" }, 11: { days: 30, startAd: "2008-02-13" }, 12: { days: 30, startAd: "2008-03-14" } },
  2065: { 1: { days: 31, startAd: "2008-04-13" }, 2: { days: 32, startAd: "2008-05-14" }, 3: { days: 31, startAd: "2008-06-15" }, 4: { days: 32, startAd: "2008-07-16" }, 5: { days: 31, startAd: "2008-08-17" }, 6: { days: 30, startAd: "2008-09-17" }, 7: { days: 30, startAd: "2008-10-17" }, 8: { days: 30, startAd: "2008-11-16" }, 9: { days: 29, startAd: "2008-12-16" }, 10: { days: 29, startAd: "2009-01-14" }, 11: { days: 30, startAd: "2009-02-12" }, 12: { days: 31, startAd: "2009-03-14" } },
  2066: { 1: { days: 31, startAd: "2009-04-14" }, 2: { days: 31, startAd: "2009-05-15" }, 3: { days: 31, startAd: "2009-06-15" }, 4: { days: 32, startAd: "2009-07-16" }, 5: { days: 31, startAd: "2009-08-17" }, 6: { days: 31, startAd: "2009-09-17" }, 7: { days: 29, startAd: "2009-10-18" }, 8: { days: 30, startAd: "2009-11-16" }, 9: { days: 30, startAd: "2009-12-16" }, 10: { days: 29, startAd: "2010-01-15" }, 11: { days: 29, startAd: "2010-02-13" }, 12: { days: 31, startAd: "2010-03-14" } },
  2067: { 1: { days: 31, startAd: "2010-04-14" }, 2: { days: 31, startAd: "2010-05-15" }, 3: { days: 32, startAd: "2010-06-15" }, 4: { days: 31, startAd: "2010-07-17" }, 5: { days: 31, startAd: "2010-08-17" }, 6: { days: 31, startAd: "2010-09-17" }, 7: { days: 30, startAd: "2010-10-18" }, 8: { days: 29, startAd: "2010-11-17" }, 9: { days: 30, startAd: "2010-12-16" }, 10: { days: 29, startAd: "2011-01-15" }, 11: { days: 30, startAd: "2011-02-13" }, 12: { days: 30, startAd: "2011-03-15" } },
  2068: { 1: { days: 31, startAd: "2011-04-14" }, 2: { days: 31, startAd: "2011-05-15" }, 3: { days: 32, startAd: "2011-06-15" }, 4: { days: 32, startAd: "2011-07-17" }, 5: { days: 31, startAd: "2011-08-18" }, 6: { days: 30, startAd: "2011-09-18" }, 7: { days: 30, startAd: "2011-10-18" }, 8: { days: 29, startAd: "2011-11-17" }, 9: { days: 30, startAd: "2011-12-16" }, 10: { days: 29, startAd: "2012-01-15" }, 11: { days: 30, startAd: "2012-02-13" }, 12: { days: 30, startAd: "2012-03-14" } },
  2069: { 1: { days: 31, startAd: "2012-04-13" }, 2: { days: 32, startAd: "2012-05-14" }, 3: { days: 31, startAd: "2012-06-15" }, 4: { days: 32, startAd: "2012-07-16" }, 5: { days: 31, startAd: "2012-08-17" }, 6: { days: 30, startAd: "2012-09-17" }, 7: { days: 30, startAd: "2012-10-17" }, 8: { days: 30, startAd: "2012-11-16" }, 9: { days: 29, startAd: "2012-12-16" }, 10: { days: 29, startAd: "2013-01-14" }, 11: { days: 30, startAd: "2013-02-12" }, 12: { days: 31, startAd: "2013-03-14" } },
  2070: { 1: { days: 31, startAd: "2013-04-14" }, 2: { days: 31, startAd: "2013-05-15" }, 3: { days: 31, startAd: "2013-06-15" }, 4: { days: 32, startAd: "2013-07-16" }, 5: { days: 31, startAd: "2013-08-17" }, 6: { days: 31, startAd: "2013-09-17" }, 7: { days: 29, startAd: "2013-10-18" }, 8: { days: 30, startAd: "2013-11-16" }, 9: { days: 30, startAd: "2013-12-16" }, 10: { days: 29, startAd: "2014-01-15" }, 11: { days: 30, startAd: "2014-02-13" }, 12: { days: 30, startAd: "2014-03-15" } },
  2071: { 1: { days: 31, startAd: "2014-04-14" }, 2: { days: 31, startAd: "2014-05-15" }, 3: { days: 32, startAd: "2014-06-15" }, 4: { days: 31, startAd: "2014-07-17" }, 5: { days: 31, startAd: "2014-08-17" }, 6: { days: 31, startAd: "2014-09-17" }, 7: { days: 30, startAd: "2014-10-18" }, 8: { days: 29, startAd: "2014-11-17" }, 9: { days: 30, startAd: "2014-12-16" }, 10: { days: 29, startAd: "2015-01-15" }, 11: { days: 30, startAd: "2015-02-13" }, 12: { days: 30, startAd: "2015-03-15" } },
  2072: { 1: { days: 31, startAd: "2015-04-14" }, 2: { days: 32, startAd: "2015-05-15" }, 3: { days: 31, startAd: "2015-06-16" }, 4: { days: 32, startAd: "2015-07-17" }, 5: { days: 31, startAd: "2015-08-18" }, 6: { days: 30, startAd: "2015-09-18" }, 7: { days: 30, startAd: "2015-10-18" }, 8: { days: 29, startAd: "2015-11-17" }, 9: { days: 30, startAd: "2015-12-16" }, 10: { days: 29, startAd: "2016-01-15" }, 11: { days: 30, startAd: "2016-02-13" }, 12: { days: 30, startAd: "2016-03-14" } },
  2073: { 1: { days: 31, startAd: "2016-04-13" }, 2: { days: 32, startAd: "2016-05-14" }, 3: { days: 31, startAd: "2016-06-15" }, 4: { days: 32, startAd: "2016-07-16" }, 5: { days: 31, startAd: "2016-08-17" }, 6: { days: 30, startAd: "2016-09-17" }, 7: { days: 30, startAd: "2016-10-17" }, 8: { days: 30, startAd: "2016-11-16" }, 9: { days: 29, startAd: "2016-12-16" }, 10: { days: 29, startAd: "2017-01-14" }, 11: { days: 30, startAd: "2017-02-12" }, 12: { days: 31, startAd: "2017-03-14" } },
  2074: { 1: { days: 31, startAd: "2017-04-14" }, 2: { days: 31, startAd: "2017-05-15" }, 3: { days: 31, startAd: "2017-06-15" }, 4: { days: 32, startAd: "2017-07-16" }, 5: { days: 31, startAd: "2017-08-17" }, 6: { days: 31, startAd: "2017-09-17" }, 7: { days: 30, startAd: "2017-10-18" }, 8: { days: 29, startAd: "2017-11-17" }, 9: { days: 30, startAd: "2017-12-16" }, 10: { days: 29, startAd: "2018-01-15" }, 11: { days: 30, startAd: "2018-02-13" }, 12: { days: 30, startAd: "2018-03-15" } },
  2075: { 1: { days: 31, startAd: "2018-04-14" }, 2: { days: 31, startAd: "2018-05-15" }, 3: { days: 32, startAd: "2018-06-15" }, 4: { days: 31, startAd: "2018-07-17" }, 5: { days: 31, startAd: "2018-08-17" }, 6: { days: 31, startAd: "2018-09-17" }, 7: { days: 30, startAd: "2018-10-18" }, 8: { days: 29, startAd: "2018-11-17" }, 9: { days: 30, startAd: "2018-12-16" }, 10: { days: 29, startAd: "2019-01-15" }, 11: { days: 30, startAd: "2019-02-13" }, 12: { days: 30, startAd: "2019-03-15" } },
  2076: { 1: { days: 31, startAd: "2019-04-14" }, 2: { days: 32, startAd: "2019-05-15" }, 3: { days: 31, startAd: "2019-06-16" }, 4: { days: 32, startAd: "2019-07-17" }, 5: { days: 31, startAd: "2019-08-18" }, 6: { days: 30, startAd: "2019-09-18" }, 7: { days: 30, startAd: "2019-10-18" }, 8: { days: 30, startAd: "2019-11-17" }, 9: { days: 29, startAd: "2019-12-17" }, 10: { days: 29, startAd: "2020-01-15" }, 11: { days: 30, startAd: "2020-02-13" }, 12: { days: 30, startAd: "2020-03-14" } },
  2077: { 1: { days: 31, startAd: "2020-04-13" }, 2: { days: 32, startAd: "2020-05-14" }, 3: { days: 31, startAd: "2020-06-15" }, 4: { days: 32, startAd: "2020-07-16" }, 5: { days: 31, startAd: "2020-08-17" }, 6: { days: 30, startAd: "2020-09-17" }, 7: { days: 30, startAd: "2020-10-17" }, 8: { days: 30, startAd: "2020-11-16" }, 9: { days: 29, startAd: "2020-12-16" }, 10: { days: 30, startAd: "2021-01-14" }, 11: { days: 29, startAd: "2021-02-13" }, 12: { days: 31, startAd: "2021-03-14" } },
  2078: { 1: { days: 31, startAd: "2021-04-14" }, 2: { days: 31, startAd: "2021-05-15" }, 3: { days: 31, startAd: "2021-06-15" }, 4: { days: 32, startAd: "2021-07-16" }, 5: { days: 31, startAd: "2021-08-17" }, 6: { days: 31, startAd: "2021-09-17" }, 7: { days: 30, startAd: "2021-10-18" }, 8: { days: 29, startAd: "2021-11-17" }, 9: { days: 30, startAd: "2021-12-16" }, 10: { days: 29, startAd: "2022-01-15" }, 11: { days: 30, startAd: "2022-02-13" }, 12: { days: 30, startAd: "2022-03-15" } },
  2079: { 1: { days: 31, startAd: "2022-04-14" }, 2: { days: 31, startAd: "2022-05-15" }, 3: { days: 32, startAd: "2022-06-15" }, 4: { days: 31, startAd: "2022-07-17" }, 5: { days: 31, startAd: "2022-08-17" }, 6: { days: 31, startAd: "2022-09-17" }, 7: { days: 30, startAd: "2022-10-18" }, 8: { days: 29, startAd: "2022-11-17" }, 9: { days: 30, startAd: "2022-12-16" }, 10: { days: 29, startAd: "2023-01-15" }, 11: { days: 30, startAd: "2023-02-13" }, 12: { days: 30, startAd: "2023-03-15" } },
  2080: { 1: { days: 31, startAd: "2023-04-14" }, 2: { days: 32, startAd: "2023-05-15" }, 3: { days: 31, startAd: "2023-06-16" }, 4: { days: 32, startAd: "2023-07-17" }, 5: { days: 31, startAd: "2023-08-18" }, 6: { days: 30, startAd: "2023-09-18" }, 7: { days: 30, startAd: "2023-10-18" }, 8: { days: 30, startAd: "2023-11-17" }, 9: { days: 29, startAd: "2023-12-17" }, 10: { days: 29, startAd: "2024-01-15" }, 11: { days: 30, startAd: "2024-02-13" }, 12: { days: 30, startAd: "2024-03-14" } },
  2081: { 1: { days: 31, startAd: "2024-04-13" }, 2: { days: 32, startAd: "2024-05-14" }, 3: { days: 31, startAd: "2024-06-15" }, 4: { days: 32, startAd: "2024-07-16" }, 5: { days: 31, startAd: "2024-08-17" }, 6: { days: 30, startAd: "2024-09-17" }, 7: { days: 30, startAd: "2024-10-17" }, 8: { days: 30, startAd: "2024-11-16" }, 9: { days: 29, startAd: "2024-12-16" }, 10: { days: 30, startAd: "2025-01-14" }, 11: { days: 29, startAd: "2025-02-13" }, 12: { days: 31, startAd: "2025-03-14" } },
  2082: { 1: { days: 31, startAd: "2025-04-14" }, 2: { days: 31, startAd: "2025-05-15" }, 3: { days: 32, startAd: "2025-06-15" }, 4: { days: 31, startAd: "2025-07-17" }, 5: { days: 31, startAd: "2025-08-17" }, 6: { days: 31, startAd: "2025-09-17" }, 7: { days: 30, startAd: "2025-10-18" }, 8: { days: 29, startAd: "2025-11-17" }, 9: { days: 30, startAd: "2025-12-16" }, 10: { days: 29, startAd: "2026-01-15" }, 11: { days: 30, startAd: "2026-02-13" }, 12: { days: 30, startAd: "2026-03-15" } },
  2083: { 1: { days: 31, startAd: "2026-04-14" }, 2: { days: 31, startAd: "2026-05-15" }, 3: { days: 32, startAd: "2026-06-15" }, 4: { days: 31, startAd: "2026-07-17" }, 5: { days: 31, startAd: "2026-08-17" }, 6: { days: 30, startAd: "2026-09-17" }, 7: { days: 30, startAd: "2026-10-17" }, 8: { days: 30, startAd: "2026-11-16" }, 9: { days: 29, startAd: "2026-12-16" }, 10: { days: 30, startAd: "2027-01-14" }, 11: { days: 30, startAd: "2027-02-13" }, 12: { days: 30, startAd: "2027-03-15" } },
  2084: { 1: { days: 31, startAd: "2027-04-14" }, 2: { days: 31, startAd: "2027-05-15" }, 3: { days: 32, startAd: "2027-06-15" }, 4: { days: 31, startAd: "2027-07-17" }, 5: { days: 31, startAd: "2027-08-17" }, 6: { days: 30, startAd: "2027-09-17" }, 7: { days: 30, startAd: "2027-10-17" }, 8: { days: 30, startAd: "2027-11-16" }, 9: { days: 29, startAd: "2027-12-16" }, 10: { days: 30, startAd: "2028-01-14" }, 11: { days: 30, startAd: "2028-02-13" }, 12: { days: 30, startAd: "2028-03-14" } },
  2085: { 1: { days: 31, startAd: "2028-04-13" }, 2: { days: 32, startAd: "2028-05-14" }, 3: { days: 31, startAd: "2028-06-15" }, 4: { days: 32, startAd: "2028-07-16" }, 5: { days: 30, startAd: "2028-08-17" }, 6: { days: 31, startAd: "2028-09-16" }, 7: { days: 30, startAd: "2028-10-17" }, 8: { days: 30, startAd: "2028-11-16" }, 9: { days: 29, startAd: "2028-12-16" }, 10: { days: 30, startAd: "2029-01-14" }, 11: { days: 30, startAd: "2029-02-13" }, 12: { days: 30, startAd: "2029-03-15" } },
  2086: { 1: { days: 30, startAd: "2029-04-14" }, 2: { days: 32, startAd: "2029-05-14" }, 3: { days: 31, startAd: "2029-06-15" }, 4: { days: 32, startAd: "2029-07-16" }, 5: { days: 31, startAd: "2029-08-17" }, 6: { days: 30, startAd: "2029-09-17" }, 7: { days: 30, startAd: "2029-10-17" }, 8: { days: 30, startAd: "2029-11-16" }, 9: { days: 29, startAd: "2029-12-16" }, 10: { days: 30, startAd: "2030-01-14" }, 11: { days: 30, startAd: "2030-02-13" }, 12: { days: 30, startAd: "2030-03-15" } },
  2087: { 1: { days: 31, startAd: "2030-04-14" }, 2: { days: 31, startAd: "2030-05-15" }, 3: { days: 32, startAd: "2030-06-15" }, 4: { days: 31, startAd: "2030-07-17" }, 5: { days: 31, startAd: "2030-08-17" }, 6: { days: 31, startAd: "2030-09-17" }, 7: { days: 30, startAd: "2030-10-18" }, 8: { days: 30, startAd: "2030-11-17" }, 9: { days: 29, startAd: "2030-12-17" }, 10: { days: 30, startAd: "2031-01-15" }, 11: { days: 30, startAd: "2031-02-14" }, 12: { days: 30, startAd: "2031-03-16" } },
  2088: { 1: { days: 30, startAd: "2031-04-15" }, 2: { days: 31, startAd: "2031-05-15" }, 3: { days: 32, startAd: "2031-06-15" }, 4: { days: 32, startAd: "2031-07-17" }, 5: { days: 30, startAd: "2031-08-18" }, 6: { days: 31, startAd: "2031-09-17" }, 7: { days: 30, startAd: "2031-10-18" }, 8: { days: 30, startAd: "2031-11-17" }, 9: { days: 29, startAd: "2031-12-17" }, 10: { days: 30, startAd: "2032-01-15" }, 11: { days: 30, startAd: "2032-02-14" }, 12: { days: 30, startAd: "2032-03-15" } },
  2089: { 1: { days: 30, startAd: "2032-04-14" }, 2: { days: 32, startAd: "2032-05-14" }, 3: { days: 31, startAd: "2032-06-15" }, 4: { days: 32, startAd: "2032-07-16" }, 5: { days: 31, startAd: "2032-08-17" }, 6: { days: 30, startAd: "2032-09-17" }, 7: { days: 30, startAd: "2032-10-17" }, 8: { days: 30, startAd: "2032-11-16" }, 9: { days: 29, startAd: "2032-12-16" }, 10: { days: 30, startAd: "2033-01-14" }, 11: { days: 30, startAd: "2033-02-13" }, 12: { days: 30, startAd: "2033-03-15" } },
  2090: { 1: { days: 30, startAd: "2033-04-14" }, 2: { days: 32, startAd: "2033-05-14" }, 3: { days: 31, startAd: "2033-06-15" }, 4: { days: 32, startAd: "2033-07-16" }, 5: { days: 31, startAd: "2033-08-17" }, 6: { days: 30, startAd: "2033-09-17" }, 7: { days: 30, startAd: "2033-10-17" }, 8: { days: 30, startAd: "2033-11-16" }, 9: { days: 29, startAd: "2033-12-16" }, 10: { days: 30, startAd: "2034-01-14" }, 11: { days: 30, startAd: "2034-02-13" }, 12: { days: 30, startAd: "2034-03-15" } },
  2091: { 1: { days: 31, startAd: "2034-04-14" }, 2: { days: 31, startAd: "2034-05-15" }, 3: { days: 32, startAd: "2034-06-15" }, 4: { days: 31, startAd: "2034-07-17" }, 5: { days: 31, startAd: "2034-08-17" }, 6: { days: 31, startAd: "2034-09-17" }, 7: { days: 30, startAd: "2034-10-18" }, 8: { days: 30, startAd: "2034-11-17" }, 9: { days: 29, startAd: "2034-12-17" }, 10: { days: 30, startAd: "2035-01-15" }, 11: { days: 30, startAd: "2035-02-14" }, 12: { days: 30, startAd: "2035-03-16" } },
  2092: { 1: { days: 30, startAd: "2035-04-15" }, 2: { days: 31, startAd: "2035-05-15" }, 3: { days: 32, startAd: "2035-06-15" }, 4: { days: 32, startAd: "2035-07-17" }, 5: { days: 31, startAd: "2035-08-18" }, 6: { days: 30, startAd: "2035-09-18" }, 7: { days: 30, startAd: "2035-10-18" }, 8: { days: 30, startAd: "2035-11-17" }, 9: { days: 29, startAd: "2035-12-17" }, 10: { days: 30, startAd: "2036-01-15" }, 11: { days: 30, startAd: "2036-02-14" }, 12: { days: 30, startAd: "2036-03-15" } },
  2093: { 1: { days: 30, startAd: "2036-04-14" }, 2: { days: 32, startAd: "2036-05-14" }, 3: { days: 31, startAd: "2036-06-15" }, 4: { days: 32, startAd: "2036-07-16" }, 5: { days: 31, startAd: "2036-08-17" }, 6: { days: 30, startAd: "2036-09-17" }, 7: { days: 30, startAd: "2036-10-17" }, 8: { days: 30, startAd: "2036-11-16" }, 9: { days: 29, startAd: "2036-12-16" }, 10: { days: 30, startAd: "2037-01-14" }, 11: { days: 30, startAd: "2037-02-13" }, 12: { days: 30, startAd: "2037-03-15" } },
  2094: { 1: { days: 31, startAd: "2037-04-14" }, 2: { days: 31, startAd: "2037-05-15" }, 3: { days: 32, startAd: "2037-06-15" }, 4: { days: 31, startAd: "2037-07-17" }, 5: { days: 31, startAd: "2037-08-17" }, 6: { days: 30, startAd: "2037-09-17" }, 7: { days: 30, startAd: "2037-10-17" }, 8: { days: 30, startAd: "2037-11-16" }, 9: { days: 29, startAd: "2037-12-16" }, 10: { days: 30, startAd: "2038-01-14" }, 11: { days: 30, startAd: "2038-02-13" }, 12: { days: 30, startAd: "2038-03-15" } },
  2095: { 1: { days: 31, startAd: "2038-04-14" }, 2: { days: 31, startAd: "2038-05-15" }, 3: { days: 32, startAd: "2038-06-15" }, 4: { days: 31, startAd: "2038-07-17" }, 5: { days: 31, startAd: "2038-08-17" }, 6: { days: 31, startAd: "2038-09-17" }, 7: { days: 30, startAd: "2038-10-18" }, 8: { days: 29, startAd: "2038-11-17" }, 9: { days: 30, startAd: "2038-12-16" }, 10: { days: 30, startAd: "2039-01-15" }, 11: { days: 30, startAd: "2039-02-14" }, 12: { days: 30, startAd: "2039-03-16" } },
  2096: { 1: { days: 30, startAd: "2039-04-15" }, 2: { days: 31, startAd: "2039-05-15" }, 3: { days: 32, startAd: "2039-06-15" }, 4: { days: 32, startAd: "2039-07-17" }, 5: { days: 31, startAd: "2039-08-18" }, 6: { days: 30, startAd: "2039-09-18" }, 7: { days: 30, startAd: "2039-10-18" }, 8: { days: 29, startAd: "2039-11-17" }, 9: { days: 30, startAd: "2039-12-16" }, 10: { days: 29, startAd: "2040-01-15" }, 11: { days: 30, startAd: "2040-02-13" }, 12: { days: 30, startAd: "2040-03-14" } },
  2097: { 1: { days: 31, startAd: "2040-04-13" }, 2: { days: 32, startAd: "2040-05-14" }, 3: { days: 31, startAd: "2040-06-15" }, 4: { days: 32, startAd: "2040-07-16" }, 5: { days: 31, startAd: "2040-08-17" }, 6: { days: 30, startAd: "2040-09-17" }, 7: { days: 30, startAd: "2040-10-17" }, 8: { days: 30, startAd: "2040-11-16" }, 9: { days: 29, startAd: "2040-12-16" }, 10: { days: 30, startAd: "2041-01-14" }, 11: { days: 30, startAd: "2041-02-13" }, 12: { days: 30, startAd: "2041-03-15" } },
  2098: { 1: { days: 31, startAd: "2041-04-14" }, 2: { days: 31, startAd: "2041-05-15" }, 3: { days: 32, startAd: "2041-06-15" }, 4: { days: 31, startAd: "2041-07-17" }, 5: { days: 31, startAd: "2041-08-17" }, 6: { days: 31, startAd: "2041-09-17" }, 7: { days: 29, startAd: "2041-10-18" }, 8: { days: 30, startAd: "2041-11-16" }, 9: { days: 29, startAd: "2041-12-16" }, 10: { days: 30, startAd: "2042-01-14" }, 11: { days: 29, startAd: "2042-02-13" }, 12: { days: 31, startAd: "2042-03-14" } },
  2099: { 1: { days: 31, startAd: "2042-04-14" }, 2: { days: 32, startAd: "2042-05-15" }, 3: { days: 31, startAd: "2042-06-16" }, 4: { days: 32, startAd: "2042-07-17" }, 5: { days: 31, startAd: "2042-08-18" }, 6: { days: 30, startAd: "2042-09-18" }, 7: { days: 30, startAd: "2042-10-18" }, 8: { days: 30, startAd: "2042-11-17" }, 9: { days: 29, startAd: "2042-12-17" }, 10: { days: 29, startAd: "2043-01-15" }, 11: { days: 30, startAd: "2043-02-13" }, 12: { days: 31, startAd: "2043-03-15" } },
  2100: {}
}, W = h1, m1 = ({
  color: u = "currentColor",
  size: c = 24,
  ...l
}) => /* @__PURE__ */ Z(
  "svg",
  {
    xmlns: "http://www.w3.org/2000/svg",
    width: c,
    height: c,
    viewBox: "0 0 24 24",
    fill: "none",
    stroke: u,
    strokeWidth: 2,
    strokeLinecap: "round",
    strokeLinejoin: "round",
    className: "lucide lucide-chevrons-left-icon lucide-chevrons-left",
    ...l,
    children: [
      /* @__PURE__ */ M("path", { d: "m11 17-5-5 5-5" }),
      /* @__PURE__ */ M("path", { d: "m18 17-5-5 5-5" })
    ]
  }
), $1 = ({
  color: u = "currentColor",
  size: c = 24,
  ...l
}) => /* @__PURE__ */ Z(
  "svg",
  {
    xmlns: "http://www.w3.org/2000/svg",
    width: c,
    height: c,
    viewBox: "0 0 24 24",
    fill: "none",
    stroke: u,
    strokeWidth: 2,
    strokeLinecap: "round",
    strokeLinejoin: "round",
    className: "lucide lucide-chevrons-right-icon lucide-chevrons-right",
    ...l,
    children: [
      /* @__PURE__ */ M("path", { d: "m6 17 5-5-5-5" }),
      /* @__PURE__ */ M("path", { d: "m13 17 5-5-5-5" })
    ]
  }
), p1 = "_root_q9m9g_2", v1 = "_header_q9m9g_10", g1 = "_button_q9m9g_19", S1 = "_select_q9m9g_28", D1 = "_weekRow_q9m9g_36", M1 = "_weekCell_q9m9g_46", _1 = "_dayCell_q9m9g_53", b1 = "_dayCellToday_q9m9g_73", w1 = "_dayCellInactive_q9m9g_79", C1 = "_dayCellEventDot_q9m9g_85", Y1 = "_dayNumber_q9m9g_93", x1 = "_gridContainer_q9m9g_98", k = {
  root: p1,
  header: v1,
  button: g1,
  select: S1,
  weekRow: D1,
  weekCell: M1,
  dayCell: _1,
  dayCellToday: b1,
  dayCellInactive: w1,
  dayCellEventDot: C1,
  dayNumber: Y1,
  gridContainer: x1
}, O1 = () => {
  u1(() => {
    const u = "noto-sans-devanagari-font";
    if (document.getElementById(u)) return;
    const c = document.createElement("link");
    c.id = u, c.rel = "stylesheet", c.href = "https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari&display=swap", document.head.appendChild(c);
  }, []);
};
function s1(u, c) {
  var m;
  const l = B(u), p = Object.keys(c).sort();
  for (let v = 0; v < p.length; v++) {
    const f = p[v], x = Object.keys(c[f]).sort((S, C) => +S - +C);
    for (let S = 0; S < x.length; S++) {
      const C = x[S], g = c[f][C];
      if (!g || !g.startAd) continue;
      const _ = B(g.startAd);
      let E = null;
      if (S + 1 < x.length) {
        const b = c[f][x[S + 1]];
        b && b.startAd && (E = B(b.startAd));
      } else if (v + 1 < p.length) {
        const b = p[v + 1], $ = (m = c[b]) == null ? void 0 : m["1"];
        $ && $.startAd && (E = B($.startAd));
      }
      if ((l.isSame(_) || l.isAfter(_)) && (!E || l.isBefore(E))) {
        const $ = 1 + l.diff(_, "day");
        return {
          bsYear: Number(f),
          bsMonth: Number(C),
          bsDay: $
        };
      }
    }
  }
  return null;
}
function k1(u, c, l, p) {
  const m = p[u.toString()];
  if (!m) return null;
  const v = m[c.toString()];
  return !v || !v.startAd ? null : B(v.startAd).add(l - 1, "day").format("YYYY-MM-DD");
}
var d1 = { exports: {} }, N1 = d1.exports, n1;
function I1() {
  return n1 || (n1 = 1, function(u, c) {
    (function(l, p) {
      u.exports = p();
    })(N1, function() {
      return function(l, p) {
        p.prototype.isSameOrBefore = function(m, v) {
          return this.isSame(m, v) || this.isBefore(m, v);
        };
      };
    });
  }(d1)), d1.exports;
}
var j1 = I1();
const B1 = /* @__PURE__ */ y1(j1);
var r1 = { exports: {} }, T1 = r1.exports, o1;
function q1() {
  return o1 || (o1 = 1, function(u, c) {
    (function(l, p) {
      u.exports = p();
    })(T1, function() {
      return function(l, p) {
        p.prototype.isSameOrAfter = function(m, v) {
          return this.isSame(m, v) || this.isAfter(m, v);
        };
      };
    });
  }(r1)), r1.exports;
}
var E1 = q1();
const H1 = /* @__PURE__ */ y1(E1);
B.extend(H1);
B.extend(B1);
const L1 = [
  "बैशाख",
  "जेष्ठ",
  "आषाढ",
  "श्रावण",
  "भाद्र",
  "आश्विन",
  "कार्तिक",
  "मंसिर",
  "पौष",
  "माघ",
  "फाल्गुण",
  "चैत्र"
], W1 = [
  "आइत",
  "सोम",
  "मंगल",
  "बुध",
  "बिही",
  "शुक्र",
  "शनि"
];
function i1(u) {
  const c = ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"];
  return u.toString().split("").map((l) => /\d/.test(l) ? c[+l] : l).join("");
}
const U1 = ({
  calendarType: u = "BS",
  // year,
  // month,
  events: c = [],
  onDayClick: l,
  renderDay: p,
  classNames: m = {},
  styles: v = {}
}) => {
  var Q, V;
  O1();
  const f = u === "BS", x = f ? W1 : ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], S = B(), C = S.format("YYYY-MM-DD"), g = s1(C, W), _ = g ? `${g.bsYear}-${String(g.bsMonth).padStart(
    2,
    "0"
  )}-${String(g.bsDay).padStart(2, "0")}` : null, E = f ? (g == null ? void 0 : g.bsYear) ?? 2080 : S.year(), b = f ? (g == null ? void 0 : g.bsMonth) ?? 1 : S.month() + 1, [$, P] = A1(E), [w, F] = A1(b);
  let z = [], T = 0, I = 0;
  if (f) {
    const o = W[$.toString()], e = o == null ? void 0 : o[w.toString()];
    if (!e)
      return /* @__PURE__ */ Z("div", { children: [
        "Invalid BS date: ",
        $,
        "-",
        w
      ] });
    I = e.days, T = B(e.startAd).day();
    const n = Math.ceil((T + I) / 7) * 7, j = w === 1 ? 12 : w - 1, q = w === 1 ? $ - 1 : $, y = w === 12 ? 1 : w + 1, a = w === 12 ? $ + 1 : $, t = ((V = (Q = W[q.toString()]) == null ? void 0 : Q[j.toString()]) == null ? void 0 : V.days) ?? 0;
    z = [...Array(n)].map((d, s) => {
      const r = s - T + 1;
      if (r <= 0) {
        const i = t + r, h = `${q}-${String(j).padStart(
          2,
          "0"
        )}-${String(i).padStart(2, "0")}`;
        return { day: i, date: h, isCurrent: !1 };
      }
      if (r > I) {
        const i = r - I, h = `${a}-${String(y).padStart(
          2,
          "0"
        )}-${String(i).padStart(2, "0")}`;
        return { day: i, date: h, isCurrent: !1 };
      }
      const A = `${$}-${String(w).padStart(
        2,
        "0"
      )}-${String(r).padStart(2, "0")}`;
      return { day: r, date: A, isCurrent: !0 };
    });
  } else {
    const o = B(
      `${$}-${String(w).padStart(2, "0")}-01`
    );
    I = o.daysInMonth(), T = o.day();
    const e = Math.ceil((T + I) / 7) * 7, n = o.subtract(1, "month"), j = o.add(1, "month"), q = n.daysInMonth();
    z = [...Array(e)].map((y, a) => {
      const t = a - T + 1;
      if (t <= 0) {
        const s = n.set("date", q + t).format("YYYY-MM-DD");
        return { day: q + t, date: s, isCurrent: !1 };
      }
      if (t > I) {
        const s = j.set("date", t - I).format("YYYY-MM-DD");
        return { day: t - I, date: s, isCurrent: !1 };
      }
      const d = o.set("date", t).format("YYYY-MM-DD");
      return { day: t, date: d, isCurrent: !0 };
    });
  }
  const R = () => {
    w === 1 ? (F(12), P($ - 1)) : F(w - 1);
  }, H = () => {
    w === 12 ? (F(1), P($ + 1)) : F(w + 1);
  };
  return /* @__PURE__ */ Z(
    "div",
    {
      className: `${k.root} ${m.root || ""}`,
      style: v.root,
      children: [
        /* @__PURE__ */ Z(
          "div",
          {
            className: `${k.header} ${m.header || ""}`,
            style: v.header,
            children: [
              /* @__PURE__ */ M(
                "button",
                {
                  onClick: R,
                  className: `${k.button} ${m.button || ""}`,
                  children: /* @__PURE__ */ M(m1, {})
                }
              ),
              /* @__PURE__ */ Z("div", { className: "flex gap-2 items-center", children: [
                " ",
                /* @__PURE__ */ M(
                  "select",
                  {
                    className: `${k.select} ${m.select || ""}`,
                    value: w,
                    onChange: (o) => F(Number(o.target.value)),
                    children: f ? L1.map((o, e) => /* @__PURE__ */ M("option", { value: e + 1, children: o }, e)) : Array.from({ length: 12 }).map((o, e) => /* @__PURE__ */ M("option", { value: e + 1, children: B().month(e).format("MMMM") }, e))
                  }
                ),
                /* @__PURE__ */ M(
                  "select",
                  {
                    className: `${k.select} ${m.select || ""}`,
                    value: $,
                    style: {
                      fontFamily: "'Noto Sans Devanagari', sans-serif",
                      lineHeight: "1",
                      letterSpacing: "normal"
                    },
                    onChange: (o) => P(Number(o.target.value)),
                    children: (f ? Object.keys(W) : Array.from({ length: 100 }, (o, e) => 1970 + e)).map((o) => /* @__PURE__ */ M("option", { value: o, children: f ? i1(o) : o }, o))
                  }
                )
              ] }),
              /* @__PURE__ */ M(
                "button",
                {
                  onClick: H,
                  className: `${k.button} ${m.button || ""}`,
                  children: /* @__PURE__ */ M($1, {})
                }
              )
            ]
          }
        ),
        /* @__PURE__ */ M("div", { className: `${k.weekRow} ${m.weekRow || ""}`, children: x.map((o) => /* @__PURE__ */ M("div", { className: k.weekCell, children: o }, o)) }),
        /* @__PURE__ */ M("div", { className: k.gridContainer, style: { ...v.grid }, children: z.map(({ day: o, date: e, isCurrent: n }, j) => {
          const q = e === (f ? _ : C), y = c.some((a) => {
            const t = f ? s1(a.date, W) : null, d = t && `${t.bsYear}-${String(t.bsMonth).padStart(
              2,
              "0"
            )}-${String(t.bsDay).padStart(2, "0")}`;
            return f ? d === e : a.date === e;
          });
          return /* @__PURE__ */ Z(
            "div",
            {
              onClick: () => {
                let a = "", t = "";
                if (f) {
                  a = e;
                  const [s, r, A] = e.split("-").map(Number);
                  t = k1(
                    s,
                    r,
                    A,
                    W
                  ) || "";
                } else {
                  t = e;
                  const s = s1(e, W);
                  a = s ? `${s.bsYear}-${String(s.bsMonth).padStart(
                    2,
                    "0"
                  )}-${String(s.bsDay).padStart(2, "0")}` : "";
                }
                const d = c.filter((s) => {
                  if (s.date === t) return !0;
                  const r = s1(s.date, W);
                  return (r && `${r.bsYear}-${String(
                    r.bsMonth
                  ).padStart(2, "0")}-${String(r.bsDay).padStart(
                    2,
                    "0"
                  )}`) === a;
                });
                l == null || l({
                  bsDate: a,
                  adDate: t,
                  events: d
                  // Array of events (can be empty)
                });
              },
              className: `
              ${k.dayCell}
              ${q ? k.dayCellToday : ""}
              ${n ? "" : k.dayCellInactive}
              ${m.dayCell || ""}
            `,
              children: [
                /* @__PURE__ */ M(
                  "div",
                  {
                    className: `${k.dayNumber}`,
                    style: {
                      fontFamily: "'Noto Sans Devanagari', sans-serif",
                      lineHeight: "1",
                      letterSpacing: "normal"
                    },
                    children: p ? p(e) : f ? i1(o) : o
                  }
                ),
                n && y && /* @__PURE__ */ M(
                  "div",
                  {
                    className: `${k.dayCellEventDot} ${m.dayCellEventDot || ""}`
                  }
                )
              ]
            },
            j
          );
        }) })
      ]
    }
  );
};
export {
  U1 as NepaliCalendar
};
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.id="nepali-calendar-styles",e.appendChild(document.createTextNode("._root_q9m9g_2{background-color:#fff;border:1px solid #d1d5db;width:100%;display:flex;flex-direction:column}._header_q9m9g_10{display:flex;justify-content:center;gap:.5rem;align-items:center;padding:.75rem .5rem;background-color:#f9fafb}._button_q9m9g_19{font-size:.875rem;padding:.25rem .5rem;background-color:transparent;border-radius:.375rem;border:none;cursor:pointer}._select_q9m9g_28{font-size:.875rem;border-radius:.375rem;padding:.125rem .25rem;border:1px solid #d1d5db;background-color:#fff}._weekRow_q9m9g_36{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #d1d5db;border-left:1px solid #d1d5db;font-weight:600;color:#374151;text-align:center}._weekCell_q9m9g_46{padding:.5rem 0;font-size:1.125rem;font-weight:300;border-right:1px solid #e5e7eb}._dayCell_q9m9g_53{aspect-ratio:1 / 1;border-left:1px solid #d1d5db;border-bottom:1px solid #d1d5db;font-size:.75rem;text-align:center;padding:.125rem;transition:background-color .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}._dayCell_q9m9g_53:hover{background-color:#eff6ff;color:#131313}._dayCellToday_q9m9g_73{background-color:#0c4a6e;color:#fff;font-weight:600}._dayCellInactive_q9m9g_79{background-color:#f1f5f9;color:#9ca3af;cursor:default}._dayCellEventDot_q9m9g_85{margin-top:.25rem;width:.375rem;height:.375rem;border-radius:9999px;background-color:#ef4444}._dayNumber_q9m9g_93{font-weight:300;line-height:1.1;font-size:clamp(.8rem,4vw,1rem)}._gridContainer_q9m9g_98{display:grid;gap:.125rem;border-top:1px solid #d1d5db;grid-template-columns:repeat(7,minmax(0,1fr))}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();