!(function (t, e) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = e() : typeof define === 'function' && define.amd ? define(e) : t.dayjs = e() }(this, () => { 'use strict' const t = 'millisecond' const e = 'second' const n = 'minute' const r = 'hour' const i = 'day' const s = 'week' const u = 'month' const a = 'quarter' const o = 'year' const f = 'date' const h = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/ const c = /\[([^\]]+)]|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 const d = { 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('_') } const $ = function (t, e, n) { const r = String(t) return !r || r.length >= e ? t : `${Array(e + 1 - r.length).join(n)}${t}` } const l = { s: $, z(t) { const e = -t.utcOffset() const n = Math.abs(e) const r = Math.floor(n / 60) const i = n % 60 return `${(e <= 0 ? '+' : '-') + $(r, 2, '0')}:${$(i, 2, '0')}` }, m: function t(e, n) { if (e.date() < n.date()) return -t(n, e) const r = 12 * (n.year() - e.year()) + (n.month() - e.month()) const i = e.clone().add(r, u) const s = n - i < 0 const a = e.clone().add(r + (s ? -1 : 1), u) return +(-(r + (n - i) / (s ? i - a : a - i)) || 0) }, a(t) { return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) }, p(h) { return { M: u, y: o, w: s, d: i, D: f, h: r, m: n, s: e, ms: t, Q: a }[h] || String(h || '').toLowerCase().replace(/s$/, '') }, u(t) { return void 0 === t } } let y = 'en' const M = {} M[y] = d const m = function (t) { return t instanceof S } const D = function (t, e, n) { let r if (!t) return y if (typeof t === 'string') M[t] && (r = t), e && (M[t] = e, r = t) else { const i = t.name M[i] = t, r = i } return !n && r && (y = r), r || !n && y } const v = function (t, e) { if (m(t)) return t.clone() const n = typeof e === 'object' ? e : {} return n.date = t, n.args = arguments, new S(n) } const g = l g.l = D, g.i = m, g.w = function (t, e) { return v(t, { locale: e.$L, utc: e.$u, x: e.$x, $offset: e.$offset }) } var S = (function () { function d(t) { this.$L = D(t.locale, null, !0), this.parse(t) } const $ = d.prototype return $.parse = function (t) { this.$d = (function (t) { const e = t.date const n = t.utc if (e === null) return new Date(NaN) if (g.u(e)) return new Date() if (e instanceof Date) return new Date(e) if (typeof e === 'string' && !/Z$/i.test(e)) { const r = e.match(h) if (r) { const i = r[2] - 1 || 0 const s = (r[7] || '0').substring(0, 3) return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s) } } return new Date(e) }(t)), this.$x = t.x || {}, this.init() }, $.init = function () { const 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() }, $.$utils = function () { return g }, $.isValid = function () { return !(this.$d.toString() === 'Invalid Date') }, $.isSame = function (t, e) { const n = v(t) return this.startOf(e) <= n && n <= this.endOf(e) }, $.isAfter = function (t, e) { return v(t) < this.startOf(e) }, $.isBefore = function (t, e) { return this.endOf(e) < v(t) }, $.$g = function (t, e, n) { return g.u(t) ? this[e] : this.set(n, t) }, $.unix = function () { return Math.floor(this.valueOf() / 1e3) }, $.valueOf = function () { return this.$d.getTime() }, $.startOf = function (t, a) { const h = this const c = !!g.u(a) || a const d = g.p(t) const $ = function (t, e) { const n = g.w(h.$u ? Date.UTC(h.$y, e, t) : new Date(h.$y, e, t), h) return c ? n : n.endOf(i) } const l = function (t, e) { return g.w(h.toDate()[t].apply(h.toDate('s'), (c ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), h) } const y = this.$W const M = this.$M const m = this.$D const D = `set${this.$u ? 'UTC' : ''}` switch (d) { case o: return c ? $(1, 0) : $(31, 11) case u: return c ? $(1, M) : $(0, M + 1) case s: var v = this.$locale().weekStart || 0 var S = (y < v ? y + 7 : y) - v return $(c ? m - S : m + (6 - S), M) case i: case f: return l(`${D}Hours`, 0) case r: return l(`${D}Minutes`, 1) case n: return l(`${D}Seconds`, 2) case e: return l(`${D}Milliseconds`, 3) default: return this.clone() } }, $.endOf = function (t) { return this.startOf(t, !1) }, $.$set = function (s, a) { let h; const c = g.p(s) const d = `set${this.$u ? 'UTC' : ''}` const $ = (h = {}, h[i] = `${d}Date`, h[f] = `${d}Date`, h[u] = `${d}Month`, h[o] = `${d}FullYear`, h[r] = `${d}Hours`, h[n] = `${d}Minutes`, h[e] = `${d}Seconds`, h[t] = `${d}Milliseconds`, h)[c] const l = c === i ? this.$D + (a - this.$W) : a if (c === u || c === o) { const y = this.clone().set(f, 1) y.$d[$](l), y.init(), this.$d = y.set(f, Math.min(this.$D, y.daysInMonth())).$d } else $ && this.$d[$](l) return this.init(), this }, $.set = function (t, e) { return this.clone().$set(t, e) }, $.get = function (t) { return this[g.p(t)]() }, $.add = function (t, a) { let f; const h = this t = Number(t) const c = g.p(a) const d = function (e) { const n = v(h) return g.w(n.date(n.date() + Math.round(e * t)), h) } if (c === u) return this.set(u, this.$M + t) if (c === o) return this.set(o, this.$y + t) if (c === i) return d(1) if (c === s) return d(7) const $ = (f = {}, f[n] = 6e4, f[r] = 36e5, f[e] = 1e3, f)[c] || 1 const l = this.$d.getTime() + t * $ return g.w(l, this) }, $.subtract = function (t, e) { return this.add(-1 * t, e) }, $.format = function (t) { const e = this if (!this.isValid()) return 'Invalid Date' const n = t || 'YYYY-MM-DDTHH:mm:ssZ' const r = g.z(this) const i = this.$locale() const s = this.$H const u = this.$m const a = this.$M const o = i.weekdays const f = i.months const h = function (t, r, i, s) { return t && (t[r] || t(e, n)) || i[r].substr(0, s) } const d = function (t) { return g.s(s % 12 || 12, t, '0') } const $ = i.meridiem || function (t, e, n) { const r = t < 12 ? 'AM' : 'PM' return n ? r.toLowerCase() : r } const l = { YY: String(this.$y).slice(-2), YYYY: this.$y, M: a + 1, MM: g.s(a + 1, 2, '0'), MMM: h(i.monthsShort, a, f, 3), MMMM: h(f, a), D: this.$D, DD: g.s(this.$D, 2, '0'), d: String(this.$W), dd: h(i.weekdaysMin, this.$W, o, 2), ddd: h(i.weekdaysShort, this.$W, o, 3), dddd: o[this.$W], H: String(s), HH: g.s(s, 2, '0'), h: d(1), hh: d(2), a: $(s, u, !0), A: $(s, u, !1), m: String(u), mm: g.s(u, 2, '0'), s: String(this.$s), ss: g.s(this.$s, 2, '0'), SSS: g.s(this.$ms, 3, '0'), Z: r } return n.replace(c, (t, e) => e || l[t] || r.replace(':', '')) }, $.utcOffset = function () { return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) }, $.diff = function (t, f, h) { let c; const d = g.p(f) const $ = v(t) const l = 6e4 * ($.utcOffset() - this.utcOffset()) const y = this - $ let M = g.m(this, $) return M = (c = {}, c[o] = M / 12, c[u] = M, c[a] = M / 3, c[s] = (y - l) / 6048e5, c[i] = (y - l) / 864e5, c[r] = y / 36e5, c[n] = y / 6e4, c[e] = y / 1e3, c)[d] || y, h ? M : g.a(M) }, $.daysInMonth = function () { return this.endOf(u).$D }, $.$locale = function () { return M[this.$L] }, $.locale = function (t, e) { if (!t) return this.$L const n = this.clone() const r = D(t, e, !0) return r && (n.$L = r), n }, $.clone = function () { return g.w(this.$d, this) }, $.toDate = function () { return new Date(this.valueOf()) }, $.toJSON = function () { return this.isValid() ? this.toISOString() : null }, $.toISOString = function () { return this.$d.toISOString() }, $.toString = function () { return this.$d.toUTCString() }, d }()) const p = S.prototype return v.prototype = p, [ ['$ms', t], ['$s', e], ['$m', n], ['$H', r], ['$W', i], ['$M', u], ['$y', o], ['$D', f] ].forEach((t) => { p[t[1]] = function (e) { return this.$g(e, t[0], t[1]) } }), v.extend = function (t, e) { return t.$i || (t(e, S, v), t.$i = !0), v }, v.locale = D, v.isDayjs = m, v.unix = function (t) { return v(1e3 * t) }, v.en = M[y], v.Ls = M, v.p = {}, v }))