# wt-security/2.2.2/htdocs/js/flatpickr.js

WebTotem Security, version 2.2.2. 2,786 lines.

- Page: https://pluginprobe.com/plugins/wt-security/2.2.2/code/htdocs/js/flatpickr.js
- Raw: https://pluginprobe.com/plugins/wt-security/2.2.2/raw/htdocs/js/flatpickr.js
- Modified: 2020-10-06T09:33:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wt-security/2.2.2/code/htdocs/js/flatpickr.js#L10-L20`.

```javascript
/* flatpickr v4.6.3,, @license MIT */
!(function (e, t) {
    "object" == typeof exports && "undefined" != typeof module
        ? (module.exports = t())
        : "function" == typeof define && define.amd
        ? define(t)
        : ((e = e || self).flatpickr = t());
})(this, function () {
    "use strict";
    var e = function () {
            return (e =
                Object.assign ||
                function (e) {
                    for (var t, n = 1, a = arguments.length; n < a; n++)
                        for (var i in (t = arguments[n]))
                            Object.prototype.hasOwnProperty.call(t, i) &&
                                (e[i] = t[i]);
                    return e;
                }).apply(this, arguments);
        },
        t = [
            "onChange",
            "onClose",
            "onDayCreate",
            "onDestroy",
            "onKeyDown",
            "onMonthChange",
            "onOpen",
            "onParseConfig",
            "onReady",
            "onValueUpdate",
            "onYearChange",
            "onPreCalendarPosition",
        ],
        n = {
            _disable: [],
            _enable: [],
            allowInput: !1,
            altFormat: "F j, Y",
            altInput: !1,
            altInputClass: "form-control input",
            animate:
                "object" == typeof window &&
                -1 === window.navigator.userAgent.indexOf("MSIE"),
            ariaDateFormat: "F j, Y",
            clickOpens: !0,
            closeOnSelect: !0,
            conjunction: ", ",
            dateFormat: "Y-m-d",
            defaultHour: 12,
            defaultMinute: 0,
            defaultSeconds: 0,
            disable: [],
            disableMobile: !1,
            enable: [],
            enableSeconds: !1,
            enableTime: !1,
            errorHandler: function (e) {
                return "undefined" != typeof console && console.warn(e);
            },
            getWeek: function (e) {
                var t = new Date(e.getTime());
                t.setHours(0, 0, 0, 0),
                    t.setDate(t.getDate() + 3 - ((t.getDay() + 6) % 7));
                var n = new Date(t.getFullYear(), 0, 4);
                return (
                    1 +
                    Math.round(
                        ((t.getTime() - n.getTime()) / 864e5 -
                            3 +
                            ((n.getDay() + 6) % 7)) /
                            7
                    )
                );
            },
            hourIncrement: 1,
            ignoredFocusElements: [],
            inline: !1,
            locale: "default",
            minuteIncrement: 5,
            mode: "single",
            monthSelectorType: "dropdown",
            nextArrow:
                "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
            noCalendar: !1,
            now: new Date(),
            onChange: [],
            onClose: [],
            onDayCreate: [],
            onDestroy: [],
            onKeyDown: [],
            onMonthChange: [],
            onOpen: [],
            onParseConfig: [],
            onReady: [],
            onValueUpdate: [],
            onYearChange: [],
            onPreCalendarPosition: [],
            plugins: [],
            position: "auto",
            positionElement: void 0,
            prevArrow:
                "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
            shorthandCurrentMonth: !1,
            showMonths: 1,
            static: !1,
            time_24hr: !1,
            weekNumbers: !1,
            wrap: !1,
        },
        a = {
            weekdays: {
                shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                longhand: [
                    "Sunday",
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday",
                ],
            },
            months: {
                shorthand: [
                    "Jan",
                    "Feb",
                    "Mar",
                    "Apr",
                    "May",
                    "Jun",
                    "Jul",
                    "Aug",
                    "Sep",
                    "Oct",
                    "Nov",
                    "Dec",
                ],
                longhand: [
                    "January",
                    "February",
                    "March",
                    "April",
                    "May",
                    "June",
                    "July",
                    "August",
                    "September",
                    "October",
                    "November",
                    "December",
                ],
            },
            daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
            firstDayOfWeek: 0,
            ordinal: function (e) {
                var t = e % 100;
                if (t > 3 && t < 21) return "th";
                switch (t % 10) {
                    case 1:
                        return "st";
                    case 2:
                        return "nd";
                    case 3:
                        return "rd";
                    default:
                        return "th";
                }
            },
            rangeSeparator: " to ",
            weekAbbreviation: "Wk",
            scrollTitle: "Scroll to increment",
            toggleTitle: "Click to toggle",
            amPM: ["AM", "PM"],
            yearAriaLabel: "Year",
            hourAriaLabel: "Hour",
            minuteAriaLabel: "Minute",
            time_24hr: !1,
        },
        i = function (e) {
            return ("0" + e).slice(-2);
        },
        o = function (e) {
            return !0 === e ? 1 : 0;
        };
    function r(e, t, n) {
        var a;
        return (
            void 0 === n && (n = !1),
            function () {
                var i = this,
                    o = arguments;
                null !== a && clearTimeout(a),
                    (a = window.setTimeout(function () {
                        (a = null), n || e.apply(i, o);
                    }, t)),
                    n && !a && e.apply(i, o);
            }
        );
    }
    var l = function (e) {
        return e instanceof Array ? e : [e];
    };
    function c(e, t, n) {
        if (!0 === n) return e.classList.add(t);
        e.classList.remove(t);
    }
    function d(e, t, n) {
        var a = window.document.createElement(e);
        return (
            (t = t || ""),
            (n = n || ""),
            (a.className = t),
            void 0 !== n && (a.textContent = n),
            a
        );
    }
    function s(e) {
        for (; e.firstChild; ) e.removeChild(e.firstChild);
    }
    function u(e, t) {
        var n = d("div", "numInputWrapper"),
            a = d("input", "numInput " + e),
            i = d("span", "arrowUp"),
            o = d("span", "arrowDown");
        if (
            (-1 === navigator.userAgent.indexOf("MSIE 9.0")
                ? (a.type = "number")
                : ((a.type = "text"), (a.pattern = "\\d*")),
            void 0 !== t)
        )
            for (var r in t) a.setAttribute(r, t[r]);
        return n.appendChild(a), n.appendChild(i), n.appendChild(o), n;
    }
    var f = function () {},
        m = function (e, t, n) {
            return n.months[t ? "shorthand" : "longhand"][e];
        },
        g = {
            D: f,
            F: function (e, t, n) {
                e.setMonth(n.months.longhand.indexOf(t));
            },
            G: function (e, t) {
                e.setHours(parseFloat(t));
            },
            H: function (e, t) {
                e.setHours(parseFloat(t));
            },
            J: function (e, t) {
                e.setDate(parseFloat(t));
            },
            K: function (e, t, n) {
                e.setHours(
                    (e.getHours() % 12) +
                        12 * o(new RegExp(n.amPM[1], "i").test(t))
                );
            },
            M: function (e, t, n) {
                e.setMonth(n.months.shorthand.indexOf(t));
            },
            S: function (e, t) {
                e.setSeconds(parseFloat(t));
            },
            U: function (e, t) {
                return new Date(1e3 * parseFloat(t));
            },
            W: function (e, t, n) {
                var a = parseInt(t),
                    i = new Date(
                        e.getFullYear(),
                        0,
                        2 + 7 * (a - 1),
                        0,
                        0,
                        0,
                        0
                    );
                return (
                    i.setDate(i.getDate() - i.getDay() + n.firstDayOfWeek), i
                );
            },
            Y: function (e, t) {
                e.setFullYear(parseFloat(t));
            },
            Z: function (e, t) {
                return new Date(t);
            },
            d: function (e, t) {
                e.setDate(parseFloat(t));
            },
            h: function (e, t) {
                e.setHours(parseFloat(t));
            },
            i: function (e, t) {
                e.setMinutes(parseFloat(t));
            },
            j: function (e, t) {
                e.setDate(parseFloat(t));
            },
            l: f,
            m: function (e, t) {
                e.setMonth(parseFloat(t) - 1);
            },
            n: function (e, t) {
                e.setMonth(parseFloat(t) - 1);
            },
            s: function (e, t) {
                e.setSeconds(parseFloat(t));
            },
            u: function (e, t) {
                return new Date(parseFloat(t));
            },
            w: f,
            y: function (e, t) {
                e.setFullYear(2e3 + parseFloat(t));
            },
        },
        p = {
            D: "(\\w+)",
            F: "(\\w+)",
            G: "(\\d\\d|\\d)",
            H: "(\\d\\d|\\d)",
            J: "(\\d\\d|\\d)\\w+",
            K: "",
            M: "(\\w+)",
            S: "(\\d\\d|\\d)",
            U: "(.+)",
            W: "(\\d\\d|\\d)",
            Y: "(\\d{4})",
            Z: "(.+)",
            d: "(\\d\\d|\\d)",
            h: "(\\d\\d|\\d)",
            i: "(\\d\\d|\\d)",
            j: "(\\d\\d|\\d)",
            l: "(\\w+)",
            m: "(\\d\\d|\\d)",
            n: "(\\d\\d|\\d)",
            s: "(\\d\\d|\\d)",
            u: "(.+)",
            w: "(\\d\\d|\\d)",
            y: "(\\d{2})",
        },
        h = {
            Z: function (e) {
                return e.toISOString();
            },
            D: function (e, t, n) {
                return t.weekdays.shorthand[h.w(e, t, n)];
            },
            F: function (e, t, n) {
                return m(h.n(e, t, n) - 1, !1, t);
            },
            G: function (e, t, n) {
                return i(h.h(e, t, n));
            },
            H: function (e) {
                return i(e.getHours());
            },
            J: function (e, t) {
                return void 0 !== t.ordinal
                    ? e.getDate() + t.ordinal(e.getDate())
                    : e.getDate();
            },
            K: function (e, t) {
                return t.amPM[o(e.getHours() > 11)];
            },
            M: function (e, t) {
                return m(e.getMonth(), !0, t);
            },
            S: function (e) {
                return i(e.getSeconds());
            },
            U: function (e) {
                return e.getTime() / 1e3;
            },
            W: function (e, t, n) {
                return n.getWeek(e);
            },
            Y: function (e) {
                return e.getFullYear();
            },
            d: function (e) {
                return i(e.getDate());
            },
            h: function (e) {
                return e.getHours() % 12 ? e.getHours() % 12 : 12;
            },
            i: function (e) {
                return i(e.getMinutes());
            },
            j: function (e) {
                return e.getDate();
            },
            l: function (e, t) {
                return t.weekdays.longhand[e.getDay()];
            },
            m: function (e) {
                return i(e.getMonth() + 1);
            },
            n: function (e) {
                return e.getMonth() + 1;
            },
            s: function (e) {
                return e.getSeconds();
            },
            u: function (e) {
                return e.getTime();
            },
            w: function (e) {
                return e.getDay();
            },
            y: function (e) {
                return String(e.getFullYear()).substring(2);
            },
        },
        v = function (e) {
            var t = e.config,
                i = void 0 === t ? n : t,
                o = e.l10n,
                r = void 0 === o ? a : o;
            return function (e, t, n) {
                var a = n || r;
                return void 0 !== i.formatDate
                    ? i.formatDate(e, t, a)
                    : t
                          .split("")
                          .map(function (t, n, o) {
                              return h[t] && "\\" !== o[n - 1]
                                  ? h[t](e, a, i)
                                  : "\\" !== t
                                  ? t
                                  : "";
                          })
                          .join("");
            };
        },
        D = function (e) {
            var t = e.config,
                i = void 0 === t ? n : t,
                o = e.l10n,
                r = void 0 === o ? a : o;
            return function (e, t, a, o) {
                if (0 === e || e) {
                    var l,
                        c = o || r,
                        d = e;
                    if (e instanceof Date) l = new Date(e.getTime());
                    else if ("string" != typeof e && void 0 !== e.toFixed)
                        l = new Date(e);
                    else if ("string" == typeof e) {
                        var s = t || (i || n).dateFormat,
                            u = String(e).trim();
                        if ("today" === u) (l = new Date()), (a = !0);
                        else if (/Z$/.test(u) || /GMT$/.test(u))
                            l = new Date(e);
                        else if (i && i.parseDate) l = i.parseDate(e, s);
                        else {
                            l =
                                i && i.noCalendar
                                    ? new Date(new Date().setHours(0, 0, 0, 0))
                                    : new Date(
                                          new Date().getFullYear(),
                                          0,
                                          1,
                                          0,
                                          0,
                                          0,
                                          0
                                      );
                            for (
                                var f = void 0, m = [], h = 0, v = 0, D = "";
                                h < s.length;
                                h++
                            ) {
                                var w = s[h],
                                    b = "\\" === w,
                                    C = "\\" === s[h - 1] || b;
                                if (p[w] && !C) {
                                    D += p[w];
                                    var M = new RegExp(D).exec(e);
                                    M &&
                                        (f = !0) &&
                                        m["Y" !== w ? "push" : "unshift"]({
                                            fn: g[w],
                                            val: M[++v],
                                        });
                                } else b || (D += ".");
                                m.forEach(function (e) {
                                    var t = e.fn,
                                        n = e.val;
                                    return (l = t(l, n, c) || l);
                                });
                            }
                            l = f ? l : void 0;
                        }
                    }
                    if (l instanceof Date && !isNaN(l.getTime()))
                        return !0 === a && l.setHours(0, 0, 0, 0), l;
                    i.errorHandler(new Error("Invalid date provided: " + d));
                }
            };
        };
    function w(e, t, n) {
        return (
            void 0 === n && (n = !0),
            !1 !== n
                ? new Date(e.getTime()).setHours(0, 0, 0, 0) -
                  new Date(t.getTime()).setHours(0, 0, 0, 0)
                : e.getTime() - t.getTime()
        );
    }
    var b = function (e, t, n) {
            return e > Math.min(t, n) && e < Math.max(t, n);
        },
        C = { DAY: 864e5 };
    "function" != typeof Object.assign &&
        (Object.assign = function (e) {
            for (var t = [], n = 1; n < arguments.length; n++)
                t[n - 1] = arguments[n];
            if (!e)
                throw TypeError("Cannot convert undefined or null to object");
            for (
                var a = function (t) {
                        t &&
                            Object.keys(t).forEach(function (n) {
                                return (e[n] = t[n]);
                            });
                    },
                    i = 0,
                    o = t;
                i < o.length;
                i++
            ) {
                a(o[i]);
            }
            return e;
        });
    var M = 300;
    function y(f, g) {
        var h = { config: e({}, n, E.defaultConfig), l10n: a };
        function y(e) {
            return e.bind(h);
        }
        function x() {
            var e = h.config;
            (!1 === e.weekNumbers && 1 === e.showMonths) ||
                (!0 !== e.noCalendar &&
                    window.requestAnimationFrame(function () {
                        if (
                            (void 0 !== h.calendarContainer &&
                                ((h.calendarContainer.style.visibility =
                                    "hidden"),
                                (h.calendarContainer.style.display = "block")),
                            void 0 !== h.daysContainer)
                        ) {
                            var t = (h.days.offsetWidth + 1) * e.showMonths;
                            (h.daysContainer.style.width = t + "px"),
                                (h.calendarContainer.style.width =
                                    t +
                                    (void 0 !== h.weekWrapper
                                        ? h.weekWrapper.offsetWidth
                                        : 0) +
                                    "px"),
                                h.calendarContainer.style.removeProperty(
                                    "visibility"
                                ),
                                h.calendarContainer.style.removeProperty(
                                    "display"
                                );
                        }
                    }));
        }
        function T(e) {
            0 === h.selectedDates.length && ie(),
                void 0 !== e &&
                    "blur" !== e.type &&
                    (function (e) {
                        e.preventDefault();
                        var t = "keydown" === e.type,
                            n = e.target;
                        void 0 !== h.amPM &&
                            e.target === h.amPM &&
                            (h.amPM.textContent =
                                h.l10n.amPM[
                                    o(h.amPM.textContent === h.l10n.amPM[0])
                                ]);
                        var a = parseFloat(n.getAttribute("min")),
                            r = parseFloat(n.getAttribute("max")),
                            l = parseFloat(n.getAttribute("step")),
                            c = parseInt(n.value, 10),
                            d = e.delta || (t ? (38 === e.which ? 1 : -1) : 0),
                            s = c + l * d;
                        if (void 0 !== n.value && 2 === n.value.length) {
                            var u = n === h.hourElement,
                                f = n === h.minuteElement;
                            s < a
                                ? ((s = r + s + o(!u) + (o(u) && o(!h.amPM))),
                                  f && j(void 0, -1, h.hourElement))
                                : s > r &&
                                  ((s =
                                      n === h.hourElement
                                          ? s - r - o(!h.amPM)
                                          : a),
                                  f && j(void 0, 1, h.hourElement)),
                                h.amPM &&
                                    u &&
                                    (1 === l
                                        ? s + c === 23
                                        : Math.abs(s - c) > l) &&
                                    (h.amPM.textContent =
                                        h.l10n.amPM[
                                            o(
                                                h.amPM.textContent ===
                                                    h.l10n.amPM[0]
                                            )
                                        ]),
                                (n.value = i(s));
                        }
                    })(e);
            var t = h._input.value;
            k(), we(), h._input.value !== t && h._debouncedChange();
        }
        function k() {
            if (void 0 !== h.hourElement && void 0 !== h.minuteElement) {
                var e,
                    t,
                    n = (parseInt(h.hourElement.value.slice(-2), 10) || 0) % 24,
                    a = (parseInt(h.minuteElement.value, 10) || 0) % 60,
                    i =
                        void 0 !== h.secondElement
                            ? (parseInt(h.secondElement.value, 10) || 0) % 60
                            : 0;
                void 0 !== h.amPM &&
                    ((e = n),
                    (t = h.amPM.textContent),
                    (n = (e % 12) + 12 * o(t === h.l10n.amPM[1])));
                var r =
                    void 0 !== h.config.minTime ||
                    (h.config.minDate &&
                        h.minDateHasTime &&
                        h.latestSelectedDateObj &&
                        0 === w(h.latestSelectedDateObj, h.config.minDate, !0));
                if (
                    void 0 !== h.config.maxTime ||
                    (h.config.maxDate &&
                        h.maxDateHasTime &&
                        h.latestSelectedDateObj &&
                        0 === w(h.latestSelectedDateObj, h.config.maxDate, !0))
                ) {
                    var l =
                        void 0 !== h.config.maxTime
                            ? h.config.maxTime
                            : h.config.maxDate;
                    (n = Math.min(n, l.getHours())) === l.getHours() &&
                        (a = Math.min(a, l.getMinutes())),
                        a === l.getMinutes() &&
                            (i = Math.min(i, l.getSeconds()));
                }
                if (r) {
                    var c =
                        void 0 !== h.config.minTime
                            ? h.config.minTime
                            : h.config.minDate;
                    (n = Math.max(n, c.getHours())) === c.getHours() &&
                        (a = Math.max(a, c.getMinutes())),
                        a === c.getMinutes() &&
                            (i = Math.max(i, c.getSeconds()));
                }
                O(n, a, i);
            }
        }
        function I(e) {
            var t = e || h.latestSelectedDateObj;
            t && O(t.getHours(), t.getMinutes(), t.getSeconds());
        }
        function S() {
            var e = h.config.defaultHour,
                t = h.config.defaultMinute,
                n = h.config.defaultSeconds;
            if (void 0 !== h.config.minDate) {
                var a = h.config.minDate.getHours(),
                    i = h.config.minDate.getMinutes();
                (e = Math.max(e, a)) === a && (t = Math.max(i, t)),
                    e === a && t === i && (n = h.config.minDate.getSeconds());
            }
            if (void 0 !== h.config.maxDate) {
                var o = h.config.maxDate.getHours(),
                    r = h.config.maxDate.getMinutes();
                (e = Math.min(e, o)) === o && (t = Math.min(r, t)),
                    e === o && t === r && (n = h.config.maxDate.getSeconds());
            }
            O(e, t, n);
        }
        function O(e, t, n) {
            void 0 !== h.latestSelectedDateObj &&
                h.latestSelectedDateObj.setHours(e % 24, t, n || 0, 0),
                h.hourElement &&
                    h.minuteElement &&
                    !h.isMobile &&
                    ((h.hourElement.value = i(
                        h.config.time_24hr
                            ? e
                            : ((12 + e) % 12) + 12 * o(e % 12 == 0)
                    )),
                    (h.minuteElement.value = i(t)),
                    void 0 !== h.amPM &&
                        (h.amPM.textContent = h.l10n.amPM[o(e >= 12)]),
                    void 0 !== h.secondElement &&
                        (h.secondElement.value = i(n)));
        }
        function _(e) {
            var t = parseInt(e.target.value) + (e.delta || 0);
            (t / 1e3 > 1 ||
                ("Enter" === e.key && !/[^\d]/.test(t.toString()))) &&
                Q(t);
        }
        function F(e, t, n, a) {
            return t instanceof Array
                ? t.forEach(function (t) {
                      return F(e, t, n, a);
                  })
                : e instanceof Array
                ? e.forEach(function (e) {
                      return F(e, t, n, a);
                  })
                : (e.addEventListener(t, n, a),
                  void h._handlers.push({
                      element: e,
                      event: t,
                      handler: n,
                      options: a,
                  }));
        }
        function N(e) {
            return function (t) {
                1 === t.which && e(t);
            };
        }
        function Y() {
            ge("onChange");
        }
        function A(e, t) {
            var n =
                    void 0 !== e
                        ? h.parseDate(e)
                        : h.latestSelectedDateObj ||
                          (h.config.minDate && h.config.minDate > h.now
                              ? h.config.minDate
                              : h.config.maxDate && h.config.maxDate < h.now
                              ? h.config.maxDate
                              : h.now),
                a = h.currentYear,
                i = h.currentMonth;
            try {
                void 0 !== n &&
                    ((h.currentYear = n.getFullYear()),
                    (h.currentMonth = n.getMonth()));
            } catch (e) {
                (e.message = "Invalid date supplied: " + n),
                    h.config.errorHandler(e);
            }
            t && h.currentYear !== a && (ge("onYearChange"), K()),
                !t ||
                    (h.currentYear === a && h.currentMonth === i) ||
                    ge("onMonthChange"),
                h.redraw();
        }
        function P(e) {
            ~e.target.className.indexOf("arrow") &&
                j(e, e.target.classList.contains("arrowUp") ? 1 : -1);
        }
        function j(e, t, n) {
            var a = e && e.target,
                i = n || (a && a.parentNode && a.parentNode.firstChild),
                o = pe("increment");
            (o.delta = t), i && i.dispatchEvent(o);
        }
        function H(e, t, n, a) {
            var i = X(t, !0),
                o = d("span", "flatpickr-day " + e, t.getDate().toString());
            return (
                (o.dateObj = t),
                (o.$i = a),
                o.setAttribute(
                    "aria-label",
                    h.formatDate(t, h.config.ariaDateFormat)
                ),
                -1 === e.indexOf("hidden") &&
                    0 === w(t, h.now) &&
                    ((h.todayDateElem = o),
                    o.classList.add("today"),
                    o.setAttribute("aria-current", "date")),
                i
                    ? ((o.tabIndex = -1),
                      he(t) &&
                          (o.classList.add("selected"),
                          (h.selectedDateElem = o),
                          "range" === h.config.mode &&
                              (c(
                                  o,
                                  "startRange",
                                  h.selectedDates[0] &&
                                      0 === w(t, h.selectedDates[0], !0)
                              ),
                              c(
                                  o,
                                  "endRange",
                                  h.selectedDates[1] &&
                                      0 === w(t, h.selectedDates[1], !0)
                              ),
                              "nextMonthDay" === e &&
                                  o.classList.add("inRange"))))
                    : o.classList.add("flatpickr-disabled"),
                "range" === h.config.mode &&
                    (function (e) {
                        return (
                            !(
                                "range" !== h.config.mode ||
                                h.selectedDates.length < 2
                            ) &&
                            w(e, h.selectedDates[0]) >= 0 &&
                            w(e, h.selectedDates[1]) <= 0
                        );
                    })(t) &&
                    !he(t) &&
                    o.classList.add("inRange"),
                h.weekNumbers &&
                    1 === h.config.showMonths &&
                    "prevMonthDay" !== e &&
                    n % 7 == 1 &&
                    h.weekNumbers.insertAdjacentHTML(
                        "beforeend",
                        "<span class='flatpickr-day'>" +
                            h.config.getWeek(t) +
                            "</span>"
                    ),
                ge("onDayCreate", o),
                o
            );
        }
        function L(e) {
            e.focus(), "range" === h.config.mode && ne(e);
        }
        function W(e) {
            for (
                var t = e > 0 ? 0 : h.config.showMonths - 1,
                    n = e > 0 ? h.config.showMonths : -1,
                    a = t;
                a != n;
                a += e
            )
                for (
                    var i = h.daysContainer.children[a],
                        o = e > 0 ? 0 : i.children.length - 1,
                        r = e > 0 ? i.children.length : -1,
                        l = o;
                    l != r;
                    l += e
                ) {
                    var c = i.children[l];
                    if (-1 === c.className.indexOf("hidden") && X(c.dateObj))
                        return c;
                }
        }
        function R(e, t) {
            var n = ee(document.activeElement || document.body),
                a =
                    void 0 !== e
                        ? e
                        : n
                        ? document.activeElement
                        : void 0 !== h.selectedDateElem &&
                          ee(h.selectedDateElem)
                        ? h.selectedDateElem
                        : void 0 !== h.todayDateElem && ee(h.todayDateElem)
                        ? h.todayDateElem
                        : W(t > 0 ? 1 : -1);
            return void 0 === a
                ? h._input.focus()
                : n
                ? void (function (e, t) {
                      for (
                          var n =
                                  -1 === e.className.indexOf("Month")
                                      ? e.dateObj.getMonth()
                                      : h.currentMonth,
                              a = t > 0 ? h.config.showMonths : -1,
                              i = t > 0 ? 1 : -1,
                              o = n - h.currentMonth;
                          o != a;
                          o += i
                      )
                          for (
                              var r = h.daysContainer.children[o],
                                  l =
                                      n - h.currentMonth === o
                                          ? e.$i + t
                                          : t < 0
                                          ? r.children.length - 1
                                          : 0,
                                  c = r.children.length,
                                  d = l;
                              d >= 0 && d < c && d != (t > 0 ? c : -1);
                              d += i
                          ) {
                              var s = r.children[d];
                              if (
                                  -1 === s.className.indexOf("hidden") &&
                                  X(s.dateObj) &&
                                  Math.abs(e.$i - d) >= Math.abs(t)
                              )
                                  return L(s);
                          }
                      h.changeMonth(i), R(W(i), 0);
                  })(a, t)
                : L(a);
        }
        function B(e, t) {
            for (
                var n =
                        (new Date(e, t, 1).getDay() -
                            h.l10n.firstDayOfWeek +
                            7) %
                        7,
                    a = h.utils.getDaysInMonth((t - 1 + 12) % 12),
                    i = h.utils.getDaysInMonth(t),
                    o = window.document.createDocumentFragment(),
                    r = h.config.showMonths > 1,
                    l = r ? "prevMonthDay hidden" : "prevMonthDay",
                    c = r ? "nextMonthDay hidden" : "nextMonthDay",
                    s = a + 1 - n,
                    u = 0;
                s <= a;
                s++, u++
            )
                o.appendChild(H(l, new Date(e, t - 1, s), s, u));
            for (s = 1; s <= i; s++, u++)
                o.appendChild(H("", new Date(e, t, s), s, u));
            for (
                var f = i + 1;
                f <= 42 - n && (1 === h.config.showMonths || u % 7 != 0);
                f++, u++
            )
                o.appendChild(H(c, new Date(e, t + 1, f % i), f, u));
            var m = d("div", "dayContainer");
            return m.appendChild(o), m;
        }
        function J() {
            if (void 0 !== h.daysContainer) {
                s(h.daysContainer), h.weekNumbers && s(h.weekNumbers);
                for (
                    var e = document.createDocumentFragment(), t = 0;
                    t < h.config.showMonths;
                    t++
                ) {
                    var n = new Date(h.currentYear, h.currentMonth, 1);
                    n.setMonth(h.currentMonth + t),
                        e.appendChild(B(n.getFullYear(), n.getMonth()));
                }
                h.daysContainer.appendChild(e),
                    (h.days = h.daysContainer.firstChild),
                    "range" === h.config.mode &&
                        1 === h.selectedDates.length &&
                        ne();
            }
        }
        function K() {
            if (
                !(
                    h.config.showMonths > 1 ||
                    "dropdown" !== h.config.monthSelectorType
                )
            ) {
                var e = function (e) {
                    return (
                        !(
                            void 0 !== h.config.minDate &&
                            h.currentYear === h.config.minDate.getFullYear() &&
                            e < h.config.minDate.getMonth()
                        ) &&
                        !(
                            void 0 !== h.config.maxDate &&
                            h.currentYear === h.config.maxDate.getFullYear() &&
                            e > h.config.maxDate.getMonth()
                        )
                    );
                };
                (h.monthsDropdownContainer.tabIndex = -1),
                    (h.monthsDropdownContainer.innerHTML = "");
                for (var t = 0; t < 12; t++)
                    if (e(t)) {
                        var n = d("option", "flatpickr-monthDropdown-month");
                        (n.value = new Date(h.currentYear, t)
                            .getMonth()
                            .toString()),
                            (n.textContent = m(
                                t,
                                h.config.shorthandCurrentMonth,
                                h.l10n
                            )),
                            (n.tabIndex = -1),
                            h.currentMonth === t && (n.selected = !0),
                            h.monthsDropdownContainer.appendChild(n);
                    }
            }
        }
        function U() {
            var e,
                t = d("div", "flatpickr-month"),
                n = window.document.createDocumentFragment();
            h.config.showMonths > 1 || "static" === h.config.monthSelectorType
                ? (e = d("span", "cur-month"))
                : ((h.monthsDropdownContainer = d(
                      "select",
                      "flatpickr-monthDropdown-months"
                  )),
                  F(h.monthsDropdownContainer, "change", function (e) {
                      var t = e.target,
                          n = parseInt(t.value, 10);
                      h.changeMonth(n - h.currentMonth), ge("onMonthChange");
                  }),
                  K(),
                  (e = h.monthsDropdownContainer));
            var a = u("cur-year", { tabindex: "-1" }),
                i = a.getElementsByTagName("input")[0];
            i.setAttribute("aria-label", h.l10n.yearAriaLabel),
                h.config.minDate &&
                    i.setAttribute(
                        "min",
                        h.config.minDate.getFullYear().toString()
                    ),
                h.config.maxDate &&
                    (i.setAttribute(
                        "max",
                        h.config.maxDate.getFullYear().toString()
                    ),
                    (i.disabled =
                        !!h.config.minDate &&
                        h.config.minDate.getFullYear() ===
                            h.config.maxDate.getFullYear()));
            var o = d("div", "flatpickr-current-month");
            return (
                o.appendChild(e),
                o.appendChild(a),
                n.appendChild(o),
                t.appendChild(n),
                { container: t, yearElement: i, monthElement: e }
            );
        }
        function q() {
            s(h.monthNav),
                h.monthNav.appendChild(h.prevMonthNav),
                h.config.showMonths &&
                    ((h.yearElements = []), (h.monthElements = []));
            for (var e = h.config.showMonths; e--; ) {
                var t = U();
                h.yearElements.push(t.yearElement),
                    h.monthElements.push(t.monthElement),
                    h.monthNav.appendChild(t.container);
            }
            h.monthNav.appendChild(h.nextMonthNav);
        }
        function $() {
            h.weekdayContainer
                ? s(h.weekdayContainer)
                : (h.weekdayContainer = d("div", "flatpickr-weekdays"));
            for (var e = h.config.showMonths; e--; ) {
                var t = d("div", "flatpickr-weekdaycontainer");
                h.weekdayContainer.appendChild(t);
            }
            return z(), h.weekdayContainer;
        }
        function z() {
            if (h.weekdayContainer) {
                var e = h.l10n.firstDayOfWeek,
                    t = h.l10n.weekdays.shorthand.slice();
                e > 0 &&
                    e < t.length &&
                    (t = t.splice(e, t.length).concat(t.splice(0, e)));
                for (var n = h.config.showMonths; n--; )
                    h.weekdayContainer.children[n].innerHTML =
                        "\n      <span class='flatpickr-weekday'>\n        " +
                        t.join("</span><span class='flatpickr-weekday'>") +
                        "\n      </span>\n      ";
            }
        }
        function G(e, t) {
            void 0 === t && (t = !0);
            var n = t ? e : e - h.currentMonth;
            (n < 0 && !0 === h._hidePrevMonthArrow) ||
                (n > 0 && !0 === h._hideNextMonthArrow) ||
                ((h.currentMonth += n),
                (h.currentMonth < 0 || h.currentMonth > 11) &&
                    ((h.currentYear += h.currentMonth > 11 ? 1 : -1),
                    (h.currentMonth = (h.currentMonth + 12) % 12),
                    ge("onYearChange"),
                    K()),
                J(),
                ge("onMonthChange"),
                ve());
        }
        function V(e) {
            return (
                !(!h.config.appendTo || !h.config.appendTo.contains(e)) ||
                h.calendarContainer.contains(e)
            );
        }
        function Z(e) {
            if (h.isOpen && !h.config.inline) {
                var t =
                        "function" == typeof (r = e).composedPath
                            ? r.composedPath()[0]
                            : r.target,
                    n = V(t),
                    a =
                        t === h.input ||
                        t === h.altInput ||
                        h.element.contains(t) ||
                        (e.path &&
                            e.path.indexOf &&
                            (~e.path.indexOf(h.input) ||
                                ~e.path.indexOf(h.altInput))),
                    i =
                        "blur" === e.type
                            ? a && e.relatedTarget && !V(e.relatedTarget)
                            : !a && !n && !V(e.relatedTarget),
                    o = !h.config.ignoredFocusElements.some(function (e) {
                        return e.contains(t);
                    });
                i &&
                    o &&
                    (void 0 !== h.timeContainer &&
                        void 0 !== h.minuteElement &&
                        void 0 !== h.hourElement &&
                        T(),
                    h.close(),
                    "range" === h.config.mode &&
                        1 === h.selectedDates.length &&
                        (h.clear(!1), h.redraw()));
            }
            var r;
        }
        function Q(e) {
            if (
                !(
                    !e ||
                    (h.config.minDate && e < h.config.minDate.getFullYear()) ||
                    (h.config.maxDate && e > h.config.maxDate.getFullYear())
                )
            ) {
                var t = e,
                    n = h.currentYear !== t;
                (h.currentYear = t || h.currentYear),
                    h.config.maxDate &&
                    h.currentYear === h.config.maxDate.getFullYear()
                        ? (h.currentMonth = Math.min(
                              h.config.maxDate.getMonth(),
                              h.currentMonth
                          ))
                        : h.config.minDate &&
                          h.currentYear === h.config.minDate.getFullYear() &&
                          (h.currentMonth = Math.max(
                              h.config.minDate.getMonth(),
                              h.currentMonth
                          )),
                    n && (h.redraw(), ge("onYearChange"), K());
            }
        }
        function X(e, t) {
            void 0 === t && (t = !0);
            var n = h.parseDate(e, void 0, t);
            if (
                (h.config.minDate &&
                    n &&
                    w(
                        n,
                        h.config.minDate,
                        void 0 !== t ? t : !h.minDateHasTime
                    ) < 0) ||
                (h.config.maxDate &&
                    n &&
                    w(
                        n,
                        h.config.maxDate,
                        void 0 !== t ? t : !h.maxDateHasTime
                    ) > 0)
            )
                return !1;
            if (0 === h.config.enable.length && 0 === h.config.disable.length)
                return !0;
            if (void 0 === n) return !1;
            for (
                var a = h.config.enable.length > 0,
                    i = a ? h.config.enable : h.config.disable,
                    o = 0,
                    r = void 0;
                o < i.length;
                o++
            ) {
                if ("function" == typeof (r = i[o]) && r(n)) return a;
                if (
                    r instanceof Date &&
                    void 0 !== n &&
                    r.getTime() === n.getTime()
                )
                    return a;
                if ("string" == typeof r && void 0 !== n) {
                    var l = h.parseDate(r, void 0, !0);
                    return l && l.getTime() === n.getTime() ? a : !a;
                }
                if (
                    "object" == typeof r &&
                    void 0 !== n &&
                    r.from &&
                    r.to &&
                    n.getTime() >= r.from.getTime() &&
                    n.getTime() <= r.to.getTime()
                )
                    return a;
            }
            return !a;
        }
        function ee(e) {
            return (
                void 0 !== h.daysContainer &&
                -1 === e.className.indexOf("hidden") &&
                h.daysContainer.contains(e)
            );
        }
        function te(e) {
            var t = e.target === h._input,
                n = h.config.allowInput,
                a = h.isOpen && (!n || !t),
                i = h.config.inline && t && !n;
            if (13 === e.keyCode && t) {
                if (n)
                    return (
                        h.setDate(
                            h._input.value,
                            !0,
                            e.target === h.altInput
                                ? h.config.altFormat
                                : h.config.dateFormat
                        ),
                        e.target.blur()
                    );
                h.open();
            } else if (V(e.target) || a || i) {
                var o = !!h.timeContainer && h.timeContainer.contains(e.target);
                switch (e.keyCode) {
                    case 13:
                        o ? (e.preventDefault(), T(), de()) : se(e);
                        break;
                    case 27:
                        e.preventDefault(), de();
                        break;
                    case 8:
                    case 46:
                        t &&
                            !h.config.allowInput &&
                            (e.preventDefault(), h.clear());
                        break;
                    case 37:
                    case 39:
                        if (o || t) h.hourElement && h.hourElement.focus();
                        else if (
                            (e.preventDefault(),
                            void 0 !== h.daysContainer &&
                                (!1 === n ||
                                    (document.activeElement &&
                                        ee(document.activeElement))))
                        ) {
                            var r = 39 === e.keyCode ? 1 : -1;
                            e.ctrlKey
                                ? (e.stopPropagation(), G(r), R(W(1), 0))
                                : R(void 0, r);
                        }
                        break;
                    case 38:
                    case 40:
                        e.preventDefault();
                        var l = 40 === e.keyCode ? 1 : -1;
                        (h.daysContainer && void 0 !== e.target.$i) ||
                        e.target === h.input ||
                        e.target === h.altInput
                            ? e.ctrlKey
                                ? (e.stopPropagation(),
                                  Q(h.currentYear - l),
                                  R(W(1), 0))
                                : o || R(void 0, 7 * l)
                            : e.target === h.currentYearElement
                            ? Q(h.currentYear - l)
                            : h.config.enableTime &&
                              (!o && h.hourElement && h.hourElement.focus(),
                              T(e),
                              h._debouncedChange());
                        break;
                    case 9:
                        if (o) {
                            var c = [
                                    h.hourElement,
                                    h.minuteElement,
                                    h.secondElement,
                                    h.amPM,
                                ]
                                    .concat(h.pluginElements)
                                    .filter(function (e) {
                                        return e;
                                    }),
                                d = c.indexOf(e.target);
                            if (-1 !== d) {
                                var s = c[d + (e.shiftKey ? -1 : 1)];
                                e.preventDefault(), (s || h._input).focus();
                            }
                        } else
                            !h.config.noCalendar &&
                                h.daysContainer &&
                                h.daysContainer.contains(e.target) &&
                                e.shiftKey &&
                                (e.preventDefault(), h._input.focus());
                }
            }
            if (void 0 !== h.amPM && e.target === h.amPM)
                switch (e.key) {
                    case h.l10n.amPM[0].charAt(0):
                    case h.l10n.amPM[0].charAt(0).toLowerCase():
                        (h.amPM.textContent = h.l10n.amPM[0]), k(), we();
                        break;
                    case h.l10n.amPM[1].charAt(0):
                    case h.l10n.amPM[1].charAt(0).toLowerCase():
                        (h.amPM.textContent = h.l10n.amPM[1]), k(), we();
                }
            (t || V(e.target)) && ge("onKeyDown", e);
        }
        function ne(e) {
            if (
                1 === h.selectedDates.length &&
                (!e ||
                    (e.classList.contains("flatpickr-day") &&
                        !e.classList.contains("flatpickr-disabled")))
            ) {
                for (
                    var t = e
                            ? e.dateObj.getTime()
                            : h.days.firstElementChild.dateObj.getTime(),
                        n = h
                            .parseDate(h.selectedDates[0], void 0, !0)
                            .getTime(),
                        a = Math.min(t, h.selectedDates[0].getTime()),
                        i = Math.max(t, h.selectedDates[0].getTime()),
                        o = !1,
                        r = 0,
                        l = 0,
                        c = a;
                    c < i;
                    c += C.DAY
                )
                    X(new Date(c), !0) ||
                        ((o = o || (c > a && c < i)),
                        c < n && (!r || c > r)
                            ? (r = c)
                            : c > n && (!l || c < l) && (l = c));
                for (var d = 0; d < h.config.showMonths; d++)
                    for (
                        var s = h.daysContainer.children[d],
                            u = function (a, i) {
                                var c = s.children[a],
                                    d = c.dateObj.getTime(),
                                    u = (r > 0 && d < r) || (l > 0 && d > l);
                                return u
                                    ? (c.classList.add("notAllowed"),
                                      [
                                          "inRange",
                                          "startRange",
                                          "endRange",
                                      ].forEach(function (e) {
                                          c.classList.remove(e);
                                      }),
                                      "continue")
                                    : o && !u
                                    ? "continue"
                                    : ([
                                          "startRange",
                                          "inRange",
                                          "endRange",
                                          "notAllowed",
                                      ].forEach(function (e) {
                                          c.classList.remove(e);
                                      }),
                                      void (
                                          void 0 !== e &&
                                          (e.classList.add(
                                              t <= h.selectedDates[0].getTime()
                                                  ? "startRange"
                                                  : "endRange"
                                          ),
                                          n < t && d === n
                                              ? c.classList.add("startRange")
                                              : n > t &&
                                                d === n &&
                                                c.classList.add("endRange"),
                                          d >= r &&
                                              (0 === l || d <= l) &&
                                              b(d, n, t) &&
                                              c.classList.add("inRange"))
                                      ));
                            },
                            f = 0,
                            m = s.children.length;
                        f < m;
                        f++
                    )
                        u(f);
            }
        }
        function ae() {
            !h.isOpen || h.config.static || h.config.inline || le();
        }
        function ie() {
            h.setDate(
                void 0 !== h.config.minDate
                    ? new Date(h.config.minDate.getTime())
                    : new Date(),
                !0
            ),
                S(),
                we();
        }
        function oe(e) {
            return function (t) {
                var n = (h.config["_" + e + "Date"] = h.parseDate(
                        t,
                        h.config.dateFormat
                    )),
                    a = h.config["_" + ("min" === e ? "max" : "min") + "Date"];
                void 0 !== n &&
                    (h["min" === e ? "minDateHasTime" : "maxDateHasTime"] =
                        n.getHours() > 0 ||
                        n.getMinutes() > 0 ||
                        n.getSeconds() > 0),
                    h.selectedDates &&
                        ((h.selectedDates = h.selectedDates.filter(function (
                            e
                        ) {
                            return X(e);
                        })),
                        h.selectedDates.length || "min" !== e || I(n),
                        we()),
                    h.daysContainer &&
                        (ce(),
                        void 0 !== n
                            ? (h.currentYearElement[
                                  e
                              ] = n.getFullYear().toString())
                            : h.currentYearElement.removeAttribute(e),
                        (h.currentYearElement.disabled =
                            !!a &&
                            void 0 !== n &&
                            a.getFullYear() === n.getFullYear()));
            };
        }
        function re() {
            "object" != typeof h.config.locale &&
                void 0 === E.l10ns[h.config.locale] &&
                h.config.errorHandler(
                    new Error("flatpickr: invalid locale " + h.config.locale)
                ),
                (h.l10n = e(
                    {},
                    E.l10ns.default,
                    "object" == typeof h.config.locale
                        ? h.config.locale
                        : "default" !== h.config.locale
                        ? E.l10ns[h.config.locale]
                        : void 0
                )),
                (p.K =
                    "(" +
                    h.l10n.amPM[0] +
                    "|" +
                    h.l10n.amPM[1] +
                    "|" +
                    h.l10n.amPM[0].toLowerCase() +
                    "|" +
                    h.l10n.amPM[1].toLowerCase() +
                    ")"),
                void 0 ===
                    e({}, g, JSON.parse(JSON.stringify(f.dataset || {})))
                        .time_24hr &&
                    void 0 === E.defaultConfig.time_24hr &&
                    (h.config.time_24hr = h.l10n.time_24hr),
                (h.formatDate = v(h)),
                (h.parseDate = D({ config: h.config, l10n: h.l10n }));
        }
        function le(e) {
            if (void 0 !== h.calendarContainer) {
                ge("onPreCalendarPosition");
                var t = e || h._positionElement,
                    n = Array.prototype.reduce.call(
                        h.calendarContainer.children,
                        function (e, t) {
                            return e + t.offsetHeight;
                        },
                        0
                    ),
                    a = h.calendarContainer.offsetWidth,
                    i = h.config.position.split(" "),
                    o = i[0],
                    r = i.length > 1 ? i[1] : null,
                    l = t.getBoundingClientRect(),
                    d = window.innerHeight - l.bottom,
                    s = "above" === o || ("below" !== o && d < n && l.top > n),
                    u =
                        window.pageYOffset +
                        l.top +
                        (s ? -n - 2 : t.offsetHeight + 2);
                if (
                    (c(h.calendarContainer, "arrowTop", !s),
                    c(h.calendarContainer, "arrowBottom", s),
                    !h.config.inline)
                ) {
                    var f =
                            window.pageXOffset +
                            l.left -
                            (null != r && "center" === r
                                ? (a - l.width) / 2
                                : 0),
                        m =
                            window.document.body.offsetWidth -
                            (window.pageXOffset + l.right),
                        g = f + a > window.document.body.offsetWidth,
                        p = m + a > window.document.body.offsetWidth;
                    if (
                        (c(h.calendarContainer, "rightMost", g),
                        !h.config.static)
                    )
                        if (((h.calendarContainer.style.top = u + "px"), g))
                            if (p) {
                                var v = document.styleSheets[0];
                                if (void 0 === v) return;
                                var D = window.document.body.offsetWidth,
                                    w = Math.max(0, D / 2 - a / 2),
                                    b = v.cssRules.length,
                                    C = "{left:" + l.left + "px;right:auto;}";
                                c(h.calendarContainer, "rightMost", !1),
                                    c(h.calendarContainer, "centerMost", !0),
                                    v.insertRule(
                                        ".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after" +
                                            C,
                                        b
                                    ),
                                    (h.calendarContainer.style.left = w + "px"),
                                    (h.calendarContainer.style.right = "auto");
                            } else
                                (h.calendarContainer.style.left = "auto"),
                                    (h.calendarContainer.style.right =
                                        m + "px");
                        else
                            (h.calendarContainer.style.left = f + "px"),
                                (h.calendarContainer.style.right = "auto");
                }
            }
        }
        function ce() {
            h.config.noCalendar || h.isMobile || (ve(), J());
        }
        function de() {
            h._input.focus(),
                -1 !== window.navigator.userAgent.indexOf("MSIE") ||
                void 0 !== navigator.msMaxTouchPoints
                    ? setTimeout(h.close, 0)
                    : h.close();
        }
        function se(e) {
            e.preventDefault(), e.stopPropagation();
            var t = (function e(t, n) {
                return n(t) ? t : t.parentNode ? e(t.parentNode, n) : void 0;
            })(e.target, function (e) {
                return (
                    e.classList &&
                    e.classList.contains("flatpickr-day") &&
                    !e.classList.contains("flatpickr-disabled") &&
                    !e.classList.contains("notAllowed")
                );
            });
            if (void 0 !== t) {
                var n = t,
                    a = (h.latestSelectedDateObj = new Date(
                        n.dateObj.getTime()
                    )),
                    i =
                        (a.getMonth() < h.currentMonth ||
                            a.getMonth() >
                                h.currentMonth + h.config.showMonths - 1) &&
                        "range" !== h.config.mode;
                if (((h.selectedDateElem = n), "single" === h.config.mode))
                    h.selectedDates = [a];
                else if ("multiple" === h.config.mode) {
                    var o = he(a);
                    o
                        ? h.selectedDates.splice(parseInt(o), 1)
                        : h.selectedDates.push(a);
                } else
                    "range" === h.config.mode &&
                        (2 === h.selectedDates.length && h.clear(!1, !1),
                        (h.latestSelectedDateObj = a),
                        h.selectedDates.push(a),
                        0 !== w(a, h.selectedDates[0], !0) &&
                            h.selectedDates.sort(function (e, t) {
                                return e.getTime() - t.getTime();
                            }));
                if ((k(), i)) {
                    var r = h.currentYear !== a.getFullYear();
                    (h.currentYear = a.getFullYear()),
                        (h.currentMonth = a.getMonth()),
                        r && (ge("onYearChange"), K()),
                        ge("onMonthChange");
                }
                if (
                    (ve(),
                    J(),
                    we(),
                    h.config.enableTime &&
                        setTimeout(function () {
                            return (h.showTimeInput = !0);
                        }, 50),
                    i || "range" === h.config.mode || 1 !== h.config.showMonths
                        ? void 0 !== h.selectedDateElem &&
                          void 0 === h.hourElement &&
                          h.selectedDateElem &&
                          h.selectedDateElem.focus()
                        : L(n),
                    void 0 !== h.hourElement &&
                        void 0 !== h.hourElement &&
                        h.hourElement.focus(),
                    h.config.closeOnSelect)
                ) {
                    var l = "single" === h.config.mode && !h.config.enableTime,
                        c =
                            "range" === h.config.mode &&
                            2 === h.selectedDates.length &&
                            !h.config.enableTime;
                    (l || c) && de();
                }
                Y();
            }
        }
        (h.parseDate = D({ config: h.config, l10n: h.l10n })),
            (h._handlers = []),
            (h.pluginElements = []),
            (h.loadedPlugins = []),
            (h._bind = F),
            (h._setHoursFromDate = I),
            (h._positionCalendar = le),
            (h.changeMonth = G),
            (h.changeYear = Q),
            (h.clear = function (e, t) {
                void 0 === e && (e = !0);
                void 0 === t && (t = !0);
                (h.input.value = ""),
                    void 0 !== h.altInput && (h.altInput.value = "");
                void 0 !== h.mobileInput && (h.mobileInput.value = "");
                (h.selectedDates = []),
                    (h.latestSelectedDateObj = void 0),
                    !0 === t &&
                        ((h.currentYear = h._initialDate.getFullYear()),
                        (h.currentMonth = h._initialDate.getMonth()));
                (h.showTimeInput = !1), !0 === h.config.enableTime && S();
                h.redraw(), e && ge("onChange");
            }),
            (h.close = function () {
                (h.isOpen = !1),
                    h.isMobile ||
                        (void 0 !== h.calendarContainer &&
                            h.calendarContainer.classList.remove("open"),
                        void 0 !== h._input &&
                            h._input.classList.remove("active"));
                ge("onClose");
            }),
            (h._createElement = d),
            (h.destroy = function () {
                void 0 !== h.config && ge("onDestroy");
                for (var e = h._handlers.length; e--; ) {
                    var t = h._handlers[e];
                    t.element.removeEventListener(
                        t.event,
                        t.handler,
                        t.options
                    );
                }
                if (((h._handlers = []), h.mobileInput))
                    h.mobileInput.parentNode &&
                        h.mobileInput.parentNode.removeChild(h.mobileInput),
                        (h.mobileInput = void 0);
                else if (h.calendarContainer && h.calendarContainer.parentNode)
                    if (h.config.static && h.calendarContainer.parentNode) {
                        var n = h.calendarContainer.parentNode;
                        if (
                            (n.lastChild && n.removeChild(n.lastChild),
                            n.parentNode)
                        ) {
                            for (; n.firstChild; )
                                n.parentNode.insertBefore(n.firstChild, n);
                            n.parentNode.removeChild(n);
                        }
                    } else
                        h.calendarContainer.parentNode.removeChild(
                            h.calendarContainer
                        );
                h.altInput &&
                    ((h.input.type = "text"),
                    h.altInput.parentNode &&
                        h.altInput.parentNode.removeChild(h.altInput),
                    delete h.altInput);
                h.input &&
                    ((h.input.type = h.input._type),
                    h.input.classList.remove("flatpickr-input"),
                    h.input.removeAttribute("readonly"),
                    (h.input.value = ""));
                [
                    "_showTimeInput",
                    "latestSelectedDateObj",
                    "_hideNextMonthArrow",
                    "_hidePrevMonthArrow",
                    "__hideNextMonthArrow",
                    "__hidePrevMonthArrow",
                    "isMobile",
                    "isOpen",
                    "selectedDateElem",
                    "minDateHasTime",
                    "maxDateHasTime",
                    "days",
                    "daysContainer",
                    "_input",
                    "_positionElement",
                    "innerContainer",
                    "rContainer",
                    "monthNav",
                    "todayDateElem",
                    "calendarContainer",
                    "weekdayContainer",
                    "prevMonthNav",
                    "nextMonthNav",
                    "monthsDropdownContainer",
                    "currentMonthElement",
                    "currentYearElement",
                    "navigationCurrentMonth",
                    "selectedDateElem",
                    "config",
                ].forEach(function (e) {
                    try {
                        delete h[e];
                    } catch (e) {}
                });
            }),
            (h.isEnabled = X),
            (h.jumpToDate = A),
            (h.open = function (e, t) {
                void 0 === t && (t = h._positionElement);
                if (!0 === h.isMobile)
                    return (
                        e && (e.preventDefault(), e.target && e.target.blur()),
                        void 0 !== h.mobileInput &&
                            (h.mobileInput.focus(), h.mobileInput.click()),
                        void ge("onOpen")
                    );
                if (h._input.disabled || h.config.inline) return;
                var n = h.isOpen;
                (h.isOpen = !0),
                    n ||
                        (h.calendarContainer.classList.add("open"),
                        h._input.classList.add("active"),
                        ge("onOpen"),
                        le(t));
                !0 === h.config.enableTime &&
                    !0 === h.config.noCalendar &&
                    (0 === h.selectedDates.length && ie(),
                    !1 !== h.config.allowInput ||
                        (void 0 !== e &&
                            h.timeContainer.contains(e.relatedTarget)) ||
                        setTimeout(function () {
                            return h.hourElement.select();
                        }, 50));
            }),
            (h.redraw = ce),
            (h.set = function (e, n) {
                if (null !== e && "object" == typeof e)
                    for (var a in (Object.assign(h.config, e), e))
                        void 0 !== ue[a] &&
                            ue[a].forEach(function (e) {
                                return e();
                            });
                else
                    (h.config[e] = n),
                        void 0 !== ue[e]
                            ? ue[e].forEach(function (e) {
                                  return e();
                              })
                            : t.indexOf(e) > -1 && (h.config[e] = l(n));
                h.redraw(), we(!1);
            }),
            (h.setDate = function (e, t, n) {
                void 0 === t && (t = !1);
                void 0 === n && (n = h.config.dateFormat);
                if ((0 !== e && !e) || (e instanceof Array && 0 === e.length))
                    return h.clear(t);
                fe(e, n),
                    (h.showTimeInput = h.selectedDates.length > 0),
                    (h.latestSelectedDateObj =
                        h.selectedDates[h.selectedDates.length - 1]),
                    h.redraw(),
                    A(),
                    I(),
                    0 === h.selectedDates.length && h.clear(!1);
                we(t), t && ge("onChange");
            }),
            (h.toggle = function (e) {
                if (!0 === h.isOpen) return h.close();
                h.open(e);
            });
        var ue = {
            locale: [re, z],
            showMonths: [q, x, $],
            minDate: [A],
            maxDate: [A],
        };
        function fe(e, t) {
            var n = [];
            if (e instanceof Array)
                n = e.map(function (e) {
                    return h.parseDate(e, t);
                });
            else if (e instanceof Date || "number" == typeof e)
                n = [h.parseDate(e, t)];
            else if ("string" == typeof e)
                switch (h.config.mode) {
                    case "single":
                    case "time":
                        n = [h.parseDate(e, t)];
                        break;
                    case "multiple":
                        n = e.split(h.config.conjunction).map(function (e) {
                            return h.parseDate(e, t);
                        });
                        break;
                    case "range":
                        n = e.split(h.l10n.rangeSeparator).map(function (e) {
                            return h.parseDate(e, t);
                        });
                }
            else
                h.config.errorHandler(
                    new Error("Invalid date supplied: " + JSON.stringify(e))
                );
            (h.selectedDates = n.filter(function (e) {
                return e instanceof Date && X(e, !1);
            })),
                "range" === h.config.mode &&
                    h.selectedDates.sort(function (e, t) {
                        return e.getTime() - t.getTime();
                    });
        }
        function me(e) {
            return e
                .slice()
                .map(function (e) {
                    return "string" == typeof e ||
                        "number" == typeof e ||
                        e instanceof Date
                        ? h.parseDate(e, void 0, !0)
                        : e && "object" == typeof e && e.from && e.to
                        ? {
                              from: h.parseDate(e.from, void 0),
                              to: h.parseDate(e.to, void 0),
                          }
                        : e;
                })
                .filter(function (e) {
                    return e;
                });
        }
        function ge(e, t) {
            if (void 0 !== h.config) {
                var n = h.config[e];
                if (void 0 !== n && n.length > 0)
                    for (var a = 0; n[a] && a < n.length; a++)
                        n[a](h.selectedDates, h.input.value, h, t);
                "onChange" === e &&
                    (h.input.dispatchEvent(pe("change")),
                    h.input.dispatchEvent(pe("input")));
            }
        }
        function pe(e) {
            var t = document.createEvent("Event");
            return t.initEvent(e, !0, !0), t;
        }
        function he(e) {
            for (var t = 0; t < h.selectedDates.length; t++)
                if (0 === w(h.selectedDates[t], e)) return "" + t;
            return !1;
        }
        function ve() {
            h.config.noCalendar ||
                h.isMobile ||
                !h.monthNav ||
                (h.yearElements.forEach(function (e, t) {
                    var n = new Date(h.currentYear, h.currentMonth, 1);
                    n.setMonth(h.currentMonth + t),
                        h.config.showMonths > 1 ||
                        "static" === h.config.monthSelectorType
                            ? (h.monthElements[t].textContent =
                                  m(
                                      n.getMonth(),
                                      h.config.shorthandCurrentMonth,
                                      h.l10n
                                  ) + " ")
                            : (h.monthsDropdownContainer.value = n
                                  .getMonth()
                                  .toString()),
                        (e.value = n.getFullYear().toString());
                }),
                (h._hidePrevMonthArrow =
                    void 0 !== h.config.minDate &&
                    (h.currentYear === h.config.minDate.getFullYear()
                        ? h.currentMonth <= h.config.minDate.getMonth()
                        : h.currentYear < h.config.minDate.getFullYear())),
                (h._hideNextMonthArrow =
                    void 0 !== h.config.maxDate &&
                    (h.currentYear === h.config.maxDate.getFullYear()
                        ? h.currentMonth + 1 > h.config.maxDate.getMonth()
                        : h.currentYear > h.config.maxDate.getFullYear())));
        }
        function De(e) {
            return h.selectedDates
                .map(function (t) {
                    return h.formatDate(t, e);
                })
                .filter(function (e, t, n) {
                    return (
                        "range" !== h.config.mode ||
                        h.config.enableTime ||
                        n.indexOf(e) === t
                    );
                })
                .join(
                    "range" !== h.config.mode
                        ? h.config.conjunction
                        : h.l10n.rangeSeparator
                );
        }
        function we(e) {
            void 0 === e && (e = !0),
                void 0 !== h.mobileInput &&
                    h.mobileFormatStr &&
                    (h.mobileInput.value =
                        void 0 !== h.latestSelectedDateObj
                            ? h.formatDate(
                                  h.latestSelectedDateObj,
                                  h.mobileFormatStr
                              )
                            : ""),
                (h.input.value = De(h.config.dateFormat)),
                void 0 !== h.altInput &&
                    (h.altInput.value = De(h.config.altFormat)),
                !1 !== e && ge("onValueUpdate");
        }
        function be(e) {
            var t = h.prevMonthNav.contains(e.target),
                n = h.nextMonthNav.contains(e.target);
            t || n
                ? G(t ? -1 : 1)
                : h.yearElements.indexOf(e.target) >= 0
                ? e.target.select()
                : e.target.classList.contains("arrowUp")
                ? h.changeYear(h.currentYear + 1)
                : e.target.classList.contains("arrowDown") &&
                  h.changeYear(h.currentYear - 1);
        }
        return (
            (function () {
                (h.element = h.input = f),
                    (h.isOpen = !1),
                    (function () {
                        var a = [
                                "wrap",
                                "weekNumbers",
                                "allowInput",
                                "clickOpens",
                                "time_24hr",
                                "enableTime",
                                "noCalendar",
                                "altInput",
                                "shorthandCurrentMonth",
                                "inline",
                                "static",
                                "enableSeconds",
                                "disableMobile",
                            ],
                            i = e(
                                {},
                                g,
                                JSON.parse(JSON.stringify(f.dataset || {}))
                            ),
                            o = {};
                        (h.config.parseDate = i.parseDate),
                            (h.config.formatDate = i.formatDate),
                            Object.defineProperty(h.config, "enable", {
                                get: function () {
                                    return h.config._enable;
                                },
                                set: function (e) {
                                    h.config._enable = me(e);
                                },
                            }),
                            Object.defineProperty(h.config, "disable", {
                                get: function () {
                                    return h.config._disable;
                                },
                                set: function (e) {
                                    h.config._disable = me(e);
                                },
                            });
                        var r = "time" === i.mode;
                        if (!i.dateFormat && (i.enableTime || r)) {
                            var c = E.defaultConfig.dateFormat || n.dateFormat;
                            o.dateFormat =
                                i.noCalendar || r
                                    ? "H:i" + (i.enableSeconds ? ":S" : "")
                                    : c +
                                      " H:i" +
                                      (i.enableSeconds ? ":S" : "");
                        }
                        if (i.altInput && (i.enableTime || r) && !i.altFormat) {
                            var d = E.defaultConfig.altFormat || n.altFormat;
                            o.altFormat =
                                i.noCalendar || r
                                    ? "h:i" + (i.enableSeconds ? ":S K" : " K")
                                    : d +
                                      " h:i" +
                                      (i.enableSeconds ? ":S" : "") +
                                      " K";
                        }
                        i.altInputClass ||
                            (h.config.altInputClass =
                                h.input.className +
                                " " +
                                h.config.altInputClass),
                            Object.defineProperty(h.config, "minDate", {
                                get: function () {
                                    return h.config._minDate;
                                },
                                set: oe("min"),
                            }),
                            Object.defineProperty(h.config, "maxDate", {
                                get: function () {
                                    return h.config._maxDate;
                                },
                                set: oe("max"),
                            });
                        var s = function (e) {
                            return function (t) {
                                h.config[
                                    "min" === e ? "_minTime" : "_maxTime"
                                ] = h.parseDate(t, "H:i:S");
                            };
                        };
                        Object.defineProperty(h.config, "minTime", {
                            get: function () {
                                return h.config._minTime;
                            },
                            set: s("min"),
                        }),
                            Object.defineProperty(h.config, "maxTime", {
                                get: function () {
                                    return h.config._maxTime;
                                },
                                set: s("max"),
                            }),
                            "time" === i.mode &&
                                ((h.config.noCalendar = !0),
                                (h.config.enableTime = !0)),
                            Object.assign(h.config, o, i);
                        for (var u = 0; u < a.length; u++)
                            h.config[a[u]] =
                                !0 === h.config[a[u]] ||
                                "true" === h.config[a[u]];
                        t
                            .filter(function (e) {
                                return void 0 !== h.config[e];
                            })
                            .forEach(function (e) {
                                h.config[e] = l(h.config[e] || []).map(y);
                            }),
                            (h.isMobile =
                                !h.config.disableMobile &&
                                !h.config.inline &&
                                "single" === h.config.mode &&
                                !h.config.disable.length &&
                                !h.config.enable.length &&
                                !h.config.weekNumbers &&
                                /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
                                    navigator.userAgent
                                ));
                        for (var u = 0; u < h.config.plugins.length; u++) {
                            var m = h.config.plugins[u](h) || {};
                            for (var p in m)
                                t.indexOf(p) > -1
                                    ? (h.config[p] = l(m[p])
                                          .map(y)
                                          .concat(h.config[p]))
                                    : void 0 === i[p] && (h.config[p] = m[p]);
                        }
                        ge("onParseConfig");
                    })(),
                    re(),
                    (h.input = h.config.wrap
                        ? f.querySelector("[data-input]")
                        : f),
                    h.input
                        ? ((h.input._type = h.input.type),
                          (h.input.type = "text"),
                          h.input.classList.add("flatpickr-input"),
                          (h._input = h.input),
                          h.config.altInput &&
                              ((h.altInput = d(
                                  h.input.nodeName,
                                  h.config.altInputClass
                              )),
                              (h._input = h.altInput),
                              (h.altInput.placeholder = h.input.placeholder),
                              (h.altInput.disabled = h.input.disabled),
                              (h.altInput.required = h.input.required),
                              (h.altInput.tabIndex = h.input.tabIndex),
                              (h.altInput.type = "text"),
                              h.input.setAttribute("type", "hidden"),
                              !h.config.static &&
                                  h.input.parentNode &&
                                  h.input.parentNode.insertBefore(
                                      h.altInput,
                                      h.input.nextSibling
                                  )),
                          h.config.allowInput ||
                              h._input.setAttribute("readonly", "readonly"),
                          (h._positionElement =
                              h.config.positionElement || h._input))
                        : h.config.errorHandler(
                              new Error("Invalid input element specified")
                          ),
                    (function () {
                        (h.selectedDates = []),
                            (h.now = h.parseDate(h.config.now) || new Date());
                        var e =
                            h.config.defaultDate ||
                            (("INPUT" !== h.input.nodeName &&
                                "TEXTAREA" !== h.input.nodeName) ||
                            !h.input.placeholder ||
                            h.input.value !== h.input.placeholder
                                ? h.input.value
                                : null);
                        e && fe(e, h.config.dateFormat),
                            (h._initialDate =
                                h.selectedDates.length > 0
                                    ? h.selectedDates[0]
                                    : h.config.minDate &&
                                      h.config.minDate.getTime() >
                                          h.now.getTime()
                                    ? h.config.minDate
                                    : h.config.maxDate &&
                                      h.config.maxDate.getTime() <
                                          h.now.getTime()
                                    ? h.config.maxDate
                                    : h.now),
                            (h.currentYear = h._initialDate.getFullYear()),
                            (h.currentMonth = h._initialDate.getMonth()),
                            h.selectedDates.length > 0 &&
                                (h.latestSelectedDateObj = h.selectedDates[0]),
                            void 0 !== h.config.minTime &&
                                (h.config.minTime = h.parseDate(
                                    h.config.minTime,
                                    "H:i"
                                )),
                            void 0 !== h.config.maxTime &&
                                (h.config.maxTime = h.parseDate(
                                    h.config.maxTime,
                                    "H:i"
                                )),
                            (h.minDateHasTime =
                                !!h.config.minDate &&
                                (h.config.minDate.getHours() > 0 ||
                                    h.config.minDate.getMinutes() > 0 ||
                                    h.config.minDate.getSeconds() > 0)),
                            (h.maxDateHasTime =
                                !!h.config.maxDate &&
                                (h.config.maxDate.getHours() > 0 ||
                                    h.config.maxDate.getMinutes() > 0 ||
                                    h.config.maxDate.getSeconds() > 0)),
                            Object.defineProperty(h, "showTimeInput", {
                                get: function () {
                                    return h._showTimeInput;
                                },
                                set: function (e) {
                                    (h._showTimeInput = e),
                                        h.calendarContainer &&
                                            c(
                                                h.calendarContainer,
                                                "showTimeInput",
                                                e
                                            ),
                                        h.isOpen && le();
                                },
                            });
                    })(),
                    (h.utils = {
                        getDaysInMonth: function (e, t) {
                            return (
                                void 0 === e && (e = h.currentMonth),
                                void 0 === t && (t = h.currentYear),
                                1 === e &&
                                ((t % 4 == 0 && t % 100 != 0) || t % 400 == 0)
                                    ? 29
                                    : h.l10n.daysInMonth[e]
                            );
                        },
                    }),
                    h.isMobile ||
                        (function () {
                            var e = window.document.createDocumentFragment();
                            if (
                                ((h.calendarContainer = d(
                                    "div",
                                    "flatpickr-calendar"
                                )),
                                (h.calendarContainer.tabIndex = -1),
                                !h.config.noCalendar)
                            ) {
                                if (
                                    (e.appendChild(
                                        ((h.monthNav = d(
                                            "div",
                                            "flatpickr-months"
                                        )),
                                        (h.yearElements = []),
                                        (h.monthElements = []),
                                        (h.prevMonthNav = d(
                                            "span",
                                            "flatpickr-prev-month"
                                        )),
                                        (h.prevMonthNav.innerHTML =
                                            h.config.prevArrow),
                                        (h.nextMonthNav = d(
                                            "span",
                                            "flatpickr-next-month"
                                        )),
                                        (h.nextMonthNav.innerHTML =
                                            h.config.nextArrow),
                                        q(),
                                        Object.defineProperty(
                                            h,
                                            "_hidePrevMonthArrow",
                                            {
                                                get: function () {
                                                    return h.__hidePrevMonthArrow;
                                                },
                                                set: function (e) {
                                                    h.__hidePrevMonthArrow !==
                                                        e &&
                                                        (c(
                                                            h.prevMonthNav,
                                                            "flatpickr-disabled",
                                                            e
                                                        ),
                                                        (h.__hidePrevMonthArrow = e));
                                                },
                                            }
                                        ),
                                        Object.defineProperty(
                                            h,
                                            "_hideNextMonthArrow",
                                            {
                                                get: function () {
                                                    return h.__hideNextMonthArrow;
                                                },
                                                set: function (e) {
                                                    h.__hideNextMonthArrow !==
                                                        e &&
                                                        (c(
                                                            h.nextMonthNav,
                                                            "flatpickr-disabled",
                                                            e
                                                        ),
                                                        (h.__hideNextMonthArrow = e));
                                                },
                                            }
                                        ),
                                        (h.currentYearElement =
                                            h.yearElements[0]),
                                        ve(),
                                        h.monthNav)
                                    ),
                                    (h.innerContainer = d(
                                        "div",
                                        "flatpickr-innerContainer"
                                    )),
                                    h.config.weekNumbers)
                                ) {
                                    var t = (function () {
                                            h.calendarContainer.classList.add(
                                                "hasWeeks"
                                            );
                                            var e = d(
                                                "div",
                                                "flatpickr-weekwrapper"
                                            );
                                            e.appendChild(
                                                d(
                                                    "span",
                                                    "flatpickr-weekday",
                                                    h.l10n.weekAbbreviation
                                                )
                                            );
                                            var t = d("div", "flatpickr-weeks");
                                            return (
                                                e.appendChild(t),
                                                {
                                                    weekWrapper: e,
                                                    weekNumbers: t,
                                                }
                                            );
                                        })(),
                                        n = t.weekWrapper,
                                        a = t.weekNumbers;
                                    h.innerContainer.appendChild(n),
                                        (h.weekNumbers = a),
                                        (h.weekWrapper = n);
                                }
                                (h.rContainer = d(
                                    "div",
                                    "flatpickr-rContainer"
                                )),
                                    h.rContainer.appendChild($()),
                                    h.daysContainer ||
                                        ((h.daysContainer = d(
                                            "div",
                                            "flatpickr-days"
                                        )),
                                        (h.daysContainer.tabIndex = -1)),
                                    J(),
                                    h.rContainer.appendChild(h.daysContainer),
                                    h.innerContainer.appendChild(h.rContainer),
                                    e.appendChild(h.innerContainer);
                            }
                            h.config.enableTime &&
                                e.appendChild(
                                    (function () {
                                        h.calendarContainer.classList.add(
                                            "hasTime"
                                        ),
                                            h.config.noCalendar &&
                                                h.calendarContainer.classList.add(
                                                    "noCalendar"
                                                ),
                                            (h.timeContainer = d(
                                                "div",
                                                "flatpickr-time"
                                            )),
                                            (h.timeContainer.tabIndex = -1);
                                        var e = d(
                                                "span",
                                                "flatpickr-time-separator",
                                                ":"
                                            ),
                                            t = u("flatpickr-hour", {
                                                "aria-label":
                                                    h.l10n.hourAriaLabel,
                                            });
                                        h.hourElement = t.getElementsByTagName(
                                            "input"
                                        )[0];
                                        var n = u("flatpickr-minute", {
                                            "aria-label":
                                                h.l10n.minuteAriaLabel,
                                        });
                                        if (
                                            ((h.minuteElement = n.getElementsByTagName(
                                                "input"
                                            )[0]),
                                            (h.hourElement.tabIndex = h.minuteElement.tabIndex = -1),
                                            (h.hourElement.value = i(
                                                h.latestSelectedDateObj
                                                    ? h.latestSelectedDateObj.getHours()
                                                    : h.config.time_24hr
                                                    ? h.config.defaultHour
                                                    : (function (e) {
                                                          switch (e % 24) {
                                                              case 0:
                                                              case 12:
                                                                  return 12;
                                                              default:
                                                                  return e % 12;
                                                          }
                                                      })(h.config.defaultHour)
                                            )),
                                            (h.minuteElement.value = i(
                                                h.latestSelectedDateObj
                                                    ? h.latestSelectedDateObj.getMinutes()
                                                    : h.config.defaultMinute
                                            )),
                                            h.hourElement.setAttribute(
                                                "step",
                                                h.config.hourIncrement.toString()
                                            ),
                                            h.minuteElement.setAttribute(
                                                "step",
                                                h.config.minuteIncrement.toString()
                                            ),
                                            h.hourElement.setAttribute(
                                                "min",
                                                h.config.time_24hr ? "0" : "1"
                                            ),
                                            h.hourElement.setAttribute(
                                                "max",
                                                h.config.time_24hr ? "23" : "12"
                                            ),
                                            h.minuteElement.setAttribute(
                                                "min",
                                                "0"
                                            ),
                                            h.minuteElement.setAttribute(
                                                "max",
                                                "59"
                                            ),
                                            h.timeContainer.appendChild(t),
                                            h.timeContainer.appendChild(e),
                                            h.timeContainer.appendChild(n),
                                            h.config.time_24hr &&
                                                h.timeContainer.classList.add(
                                                    "time24hr"
                                                ),
                                            h.config.enableSeconds)
                                        ) {
                                            h.timeContainer.classList.add(
                                                "hasSeconds"
                                            );
                                            var a = u("flatpickr-second");
                                            (h.secondElement = a.getElementsByTagName(
                                                "input"
                                            )[0]),
                                                (h.secondElement.value = i(
                                                    h.latestSelectedDateObj
                                                        ? h.latestSelectedDateObj.getSeconds()
                                                        : h.config
                                                              .defaultSeconds
                                                )),
                                                h.secondElement.setAttribute(
                                                    "step",
                                                    h.minuteElement.getAttribute(
                                                        "step"
                                                    )
                                                ),
                                                h.secondElement.setAttribute(
                                                    "min",
                                                    "0"
                                                ),
                                                h.secondElement.setAttribute(
                                                    "max",
                                                    "59"
                                                ),
                                                h.timeContainer.appendChild(
                                                    d(
                                                        "span",
                                                        "flatpickr-time-separator",
                                                        ":"
                                                    )
                                                ),
                                                h.timeContainer.appendChild(a);
                                        }
                                        return (
                                            h.config.time_24hr ||
                                                ((h.amPM = d(
                                                    "span",
                                                    "flatpickr-am-pm",
                                                    h.l10n.amPM[
                                                        o(
                                                            (h.latestSelectedDateObj
                                                                ? h.hourElement
                                                                      .value
                                                                : h.config
                                                                      .defaultHour) >
                                                                11
                                                        )
                                                    ]
                                                )),
                                                (h.amPM.title =
                                                    h.l10n.toggleTitle),
                                                (h.amPM.tabIndex = -1),
                                                h.timeContainer.appendChild(
                                                    h.amPM
                                                )),
                                            h.timeContainer
                                        );
                                    })()
                                ),
                                c(
                                    h.calendarContainer,
                                    "rangeMode",
                                    "range" === h.config.mode
                                ),
                                c(
                                    h.calendarContainer,
                                    "animate",
                                    !0 === h.config.animate
                                ),
                                c(
                                    h.calendarContainer,
                                    "multiMonth",
                                    h.config.showMonths > 1
                                ),
                                h.calendarContainer.appendChild(e);
                            var r =
                                void 0 !== h.config.appendTo &&
                                void 0 !== h.config.appendTo.nodeType;
                            if (
                                (h.config.inline || h.config.static) &&
                                (h.calendarContainer.classList.add(
                                    h.config.inline ? "inline" : "static"
                                ),
                                h.config.inline &&
                                    (!r && h.element.parentNode
                                        ? h.element.parentNode.insertBefore(
                                              h.calendarContainer,
                                              h._input.nextSibling
                                          )
                                        : void 0 !== h.config.appendTo &&
                                          h.config.appendTo.appendChild(
                                              h.calendarContainer
                                          )),
                                h.config.static)
                            ) {
                                var l = d("div", "flatpickr-wrapper");
                                h.element.parentNode &&
                                    h.element.parentNode.insertBefore(
                                        l,
                                        h.element
                                    ),
                                    l.appendChild(h.element),
                                    h.altInput && l.appendChild(h.altInput),
                                    l.appendChild(h.calendarContainer);
                            }
                            h.config.static ||
                                h.config.inline ||
                                (void 0 !== h.config.appendTo
                                    ? h.config.appendTo
                                    : window.document.body
                                ).appendChild(h.calendarContainer);
                        })(),
                    (function () {
                        if (
                            (h.config.wrap &&
                                ["open", "close", "toggle", "clear"].forEach(
                                    function (e) {
                                        Array.prototype.forEach.call(
                                            h.element.querySelectorAll(
                                                "[data-" + e + "]"
                                            ),
                                            function (t) {
                                                return F(t, "click", h[e]);
                                            }
                                        );
                                    }
                                ),
                            h.isMobile)
                        )
                            !(function () {
                                var e = h.config.enableTime
                                    ? h.config.noCalendar
                                        ? "time"
                                        : "datetime-local"
                                    : "date";
                                (h.mobileInput = d(
                                    "input",
                                    h.input.className + " flatpickr-mobile"
                                )),
                                    (h.mobileInput.step =
                                        h.input.getAttribute("step") || "any"),
                                    (h.mobileInput.tabIndex = 1),
                                    (h.mobileInput.type = e),
                                    (h.mobileInput.disabled = h.input.disabled),
                                    (h.mobileInput.required = h.input.required),
                                    (h.mobileInput.placeholder =
                                        h.input.placeholder),
                                    (h.mobileFormatStr =
                                        "datetime-local" === e
                                            ? "Y-m-d\\TH:i:S"
                                            : "date" === e
                                            ? "Y-m-d"
                                            : "H:i:S"),
                                    h.selectedDates.length > 0 &&
                                        (h.mobileInput.defaultValue = h.mobileInput.value = h.formatDate(
                                            h.selectedDates[0],
                                            h.mobileFormatStr
                                        )),
                                    h.config.minDate &&
                                        (h.mobileInput.min = h.formatDate(
                                            h.config.minDate,
                                            "Y-m-d"
                                        )),
                                    h.config.maxDate &&
                                        (h.mobileInput.max = h.formatDate(
                                            h.config.maxDate,
                                            "Y-m-d"
                                        )),
                                    (h.input.type = "hidden"),
                                    void 0 !== h.altInput &&
                                        (h.altInput.type = "hidden");
                                try {
                                    h.input.parentNode &&
                                        h.input.parentNode.insertBefore(
                                            h.mobileInput,
                                            h.input.nextSibling
                                        );
                                } catch (e) {}
                                F(h.mobileInput, "change", function (e) {
                                    h.setDate(
                                        e.target.value,
                                        !1,
                                        h.mobileFormatStr
                                    ),
                                        ge("onChange"),
                                        ge("onClose");
                                });
                            })();
                        else {
                            var e = r(ae, 50);
                            (h._debouncedChange = r(Y, M)),
                                h.daysContainer &&
                                    !/iPhone|iPad|iPod/i.test(
                                        navigator.userAgent
                                    ) &&
                                    F(h.daysContainer, "mouseover", function (
                                        e
                                    ) {
                                        "range" === h.config.mode &&
                                            ne(e.target);
                                    }),
                                F(window.document.body, "keydown", te),
                                h.config.inline ||
                                    h.config.static ||
                                    F(window, "resize", e),
                                void 0 !== window.ontouchstart
                                    ? F(window.document, "touchstart", Z)
                                    : F(window.document, "mousedown", N(Z)),
                                F(window.document, "focus", Z, { capture: !0 }),
                                !0 === h.config.clickOpens &&
                                    (F(h._input, "focus", h.open),
                                    F(h._input, "mousedown", N(h.open))),
                                void 0 !== h.daysContainer &&
                                    (F(h.monthNav, "mousedown", N(be)),
                                    F(h.monthNav, ["keyup", "increment"], _),
                                    F(h.daysContainer, "mousedown", N(se))),
                                void 0 !== h.timeContainer &&
                                    void 0 !== h.minuteElement &&
                                    void 0 !== h.hourElement &&
                                    (F(h.timeContainer, ["increment"], T),
                                    F(h.timeContainer, "blur", T, {
                                        capture: !0,
                                    }),
                                    F(h.timeContainer, "mousedown", N(P)),
                                    F(
                                        [h.hourElement, h.minuteElement],
                                        ["focus", "click"],
                                        function (e) {
                                            return e.target.select();
                                        }
                                    ),
                                    void 0 !== h.secondElement &&
                                        F(
                                            h.secondElement,
                                            "focus",
                                            function () {
                                                return (
                                                    h.secondElement &&
                                                    h.secondElement.select()
                                                );
                                            }
                                        ),
                                    void 0 !== h.amPM &&
                                        F(
                                            h.amPM,
                                            "mousedown",
                                            N(function (e) {
                                                T(e), Y();
                                            })
                                        ));
                        }
                    })(),
                    (h.selectedDates.length || h.config.noCalendar) &&
                        (h.config.enableTime &&
                            I(
                                h.config.noCalendar
                                    ? h.latestSelectedDateObj ||
                                          h.config.minDate
                                    : void 0
                            ),
                        we(!1)),
                    x(),
                    (h.showTimeInput =
                        h.selectedDates.length > 0 || h.config.noCalendar);
                var a = /^((?!chrome|android).)*safari/i.test(
                    navigator.userAgent
                );
                !h.isMobile && a && le(), ge("onReady");
            })(),
            h
        );
    }
    function x(e, t) {
        for (
            var n = Array.prototype.slice.call(e).filter(function (e) {
                    return e instanceof HTMLElement;
                }),
                a = [],
                i = 0;
            i < n.length;
            i++
        ) {
            var o = n[i];
            try {
                if (null !== o.getAttribute("data-fp-omit")) continue;
                void 0 !== o._flatpickr &&
                    (o._flatpickr.destroy(), (o._flatpickr = void 0)),
                    (o._flatpickr = y(o, t || {})),
                    a.push(o._flatpickr);
            } catch (e) {
                console.error(e);
            }
        }
        return 1 === a.length ? a[0] : a;
    }
    "undefined" != typeof HTMLElement &&
        "undefined" != typeof HTMLCollection &&
        "undefined" != typeof NodeList &&
        ((HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (
            e
        ) {
            return x(this, e);
        }),
        (HTMLElement.prototype.flatpickr = function (e) {
            return x([this], e);
        }));
    var E = function (e, t) {
        return "string" == typeof e
            ? x(window.document.querySelectorAll(e), t)
            : e instanceof Node
            ? x([e], t)
            : x(e, t);
    };
    return (
        (E.defaultConfig = {}),
        (E.l10ns = { en: e({}, a), default: e({}, a) }),
        (E.localize = function (t) {
            E.l10ns.default = e({}, E.l10ns.default, t);
        }),
        (E.setDefaults = function (t) {
            E.defaultConfig = e({}, E.defaultConfig, t);
        }),
        (E.parseDate = D({})),
        (E.formatDate = v({})),
        (E.compareDates = w),
        "undefined" != typeof jQuery &&
            void 0 !== jQuery.fn &&
            (jQuery.fn.flatpickr = function (e) {
                return x(this, e);
            }),
        (Date.prototype.fp_incr = function (e) {
            return new Date(
                this.getFullYear(),
                this.getMonth(),
                this.getDate() + ("string" == typeof e ? parseInt(e, 10) : e)
            );
        }),
        "undefined" != typeof window && (window.flatpickr = E),
        E
    );
});

```
