(function (e, t) {
    "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : (e.Popper = t());
})(this, function () {
    "use strict";
    function e(e) {
        return e && "[object Function]" === {}.toString.call(e);
    }
    function t(e, t) {
        if (1 !== e.nodeType) return [];
        var o = window.getComputedStyle(e, null);
        return t ? o[t] : o;
    }
    function o(e) {
        return "HTML" === e.nodeName ? e : e.parentNode || e.host;
    }
    function n(e) {
        if (!e || -1 !== ["HTML", "BODY", "#document"].indexOf(e.nodeName)) return window.document.body;
        var i = t(e),
            r = i.overflow,
            p = i.overflowX,
            s = i.overflowY;
        return /(auto|scroll)/.test(r + s + p) ? e : n(o(e));
    }
    function r(e) {
        var o = e && e.offsetParent,
            i = o && o.nodeName;
        return i && "BODY" !== i && "HTML" !== i ? (-1 !== ["TD", "TABLE"].indexOf(o.nodeName) && "static" === t(o, "position") ? r(o) : o) : window.document.documentElement;
    }
    function p(e) {
        var t = e.nodeName;
        return "BODY" !== t && ("HTML" === t || r(e.firstElementChild) === e);
    }
    function s(e) {
        return null === e.parentNode ? e : s(e.parentNode);
    }
    function d(e, t) {
        if (!e || !e.nodeType || !t || !t.nodeType) return window.document.documentElement;
        var o = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING,
            i = o ? e : t,
            n = o ? t : e,
            a = document.createRange();
        a.setStart(i, 0), a.setEnd(n, 0);
        var f = a.commonAncestorContainer;
        if ((e !== f && t !== f) || i.contains(n)) return p(f) ? f : r(f);
        var l = s(e);
        return l.host ? d(l.host, t) : d(e, s(t).host);
    }
    function a(e) {
        var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "top",
            o = "top" === t ? "scrollTop" : "scrollLeft",
            i = e.nodeName;
        if ("BODY" === i || "HTML" === i) {
            var n = window.document.documentElement,
                r = window.document.scrollingElement || n;
            return r[o];
        }
        return e[o];
    }
    function f(e, t) {
        var o = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
            i = a(t, "top"),
            n = a(t, "left"),
            r = o ? -1 : 1;
        return (e.top += i * r), (e.bottom += i * r), (e.left += n * r), (e.right += n * r), e;
    }
    function l(e, t) {
        var o = "x" === t ? "Left" : "Top",
            i = "Left" == o ? "Right" : "Bottom";
        return +e["border" + o + "Width"].split("px")[0] + +e["border" + i + "Width"].split("px")[0];
    }
    function m(e, t, o, i) {
        return _(t["offset" + e], o["client" + e], o["offset" + e], ie() ? o["offset" + e] + i["margin" + ("Height" === e ? "Top" : "Left")] + i["margin" + ("Height" === e ? "Bottom" : "Right")] : 0);
    }
    function h() {
        var e = window.document.body,
            t = window.document.documentElement,
            o = ie() && window.getComputedStyle(t);
        return { height: m("Height", e, t, o), width: m("Width", e, t, o) };
    }
    function c(e) {
        return se({}, e, { right: e.left + e.width, bottom: e.top + e.height });
    }
    function g(e) {
        var o = {};
        if (ie())
            try {
                o = e.getBoundingClientRect();
                var i = a(e, "top"),
                    n = a(e, "left");
                (o.top += i), (o.left += n), (o.bottom += i), (o.right += n);
            } catch (e) {}
        else o = e.getBoundingClientRect();
        var r = { left: o.left, top: o.top, width: o.right - o.left, height: o.bottom - o.top },
            p = "HTML" === e.nodeName ? h() : {},
            s = p.width || e.clientWidth || r.right - r.left,
            d = p.height || e.clientHeight || r.bottom - r.top,
            f = e.offsetWidth - s,
            m = e.offsetHeight - d;
        if (f || m) {
            var g = t(e);
            (f -= l(g, "x")), (m -= l(g, "y")), (r.width -= f), (r.height -= m);
        }
        return c(r);
    }
    function u(e, o) {
        var i = ie(),
            r = "HTML" === o.nodeName,
            p = g(e),
            s = g(o),
            d = n(e),
            a = t(o),
            l = +a.borderTopWidth.split("px")[0],
            m = +a.borderLeftWidth.split("px")[0],
            h = c({ top: p.top - s.top - l, left: p.left - s.left - m, width: p.width, height: p.height });
        if (((h.marginTop = 0), (h.marginLeft = 0), !i && r)) {
            var u = +a.marginTop.split("px")[0],
                b = +a.marginLeft.split("px")[0];
            (h.top -= l - u), (h.bottom -= l - u), (h.left -= m - b), (h.right -= m - b), (h.marginTop = u), (h.marginLeft = b);
        }
        return (i ? o.contains(d) : o === d && "BODY" !== d.nodeName) && (h = f(h, o)), h;
    }
    function b(e) {
        var t = window.document.documentElement,
            o = u(e, t),
            i = _(t.clientWidth, window.innerWidth || 0),
            n = _(t.clientHeight, window.innerHeight || 0),
            r = a(t),
            p = a(t, "left"),
            s = { top: r - o.top + o.marginTop, left: p - o.left + o.marginLeft, width: i, height: n };
        return c(s);
    }
    function y(e) {
        var i = e.nodeName;
        return "BODY" === i || "HTML" === i ? !1 : "fixed" === t(e, "position") || y(o(e));
    }
    function w(e, t, i, r) {
        var p = { top: 0, left: 0 },
            s = d(e, t);
        if ("viewport" === r) p = b(s);
        else {
            var a;
            "scrollParent" === r ? ((a = n(o(e))), "BODY" === a.nodeName && (a = window.document.documentElement)) : "window" === r ? (a = window.document.documentElement) : (a = r);
            var f = u(a, s);
            if ("HTML" === a.nodeName && !y(s)) {
                var l = h(),
                    m = l.height,
                    c = l.width;
                (p.top += f.top - f.marginTop), (p.bottom = m + f.top), (p.left += f.left - f.marginLeft), (p.right = c + f.left);
            } else p = f;
        }
        return (p.left += i), (p.top += i), (p.right -= i), (p.bottom -= i), p;
    }
    function v(e) {
        var t = e.width,
            o = e.height;
        return t * o;
    }
    function E(e, t, o, i, n) {
        var r = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : 0;
        if (-1 === e.indexOf("auto")) return e;
        var p = w(o, i, r, n),
            s = { top: { width: p.width, height: t.top - p.top }, right: { width: p.right - t.right, height: p.height }, bottom: { width: p.width, height: p.bottom - t.bottom }, left: { width: t.left - p.left, height: p.height } },
            d = Object.keys(s)
                .map(function (e) {
                    return se({ key: e }, s[e], { area: v(s[e]) });
                })
                .sort(function (e, t) {
                    return t.area - e.area;
                }),
            a = d.filter(function (e) {
                var t = e.width,
                    i = e.height;
                return t >= o.clientWidth && i >= o.clientHeight;
            }),
            f = 0 < a.length ? a[0].key : d[0].key,
            l = e.split("-")[1];
        return f + (l ? "-" + l : "");
    }
    function x(e, t, o) {
        var i = d(t, o);
        return u(o, i);
    }
    function O(e) {
        var t = window.getComputedStyle(e),
            o = parseFloat(t.marginTop) + parseFloat(t.marginBottom),
            i = parseFloat(t.marginLeft) + parseFloat(t.marginRight),
            n = { width: e.offsetWidth + i, height: e.offsetHeight + o };
        return n;
    }
    function L(e) {
        var t = { left: "right", right: "left", bottom: "top", top: "bottom" };
        return e.replace(/left|right|bottom|top/g, function (e) {
            return t[e];
        });
    }
    function S(e, t, o) {
        o = o.split("-")[0];
        var i = O(e),
            n = { width: i.width, height: i.height },
            r = -1 !== ["right", "left"].indexOf(o),
            p = r ? "top" : "left",
            s = r ? "left" : "top",
            d = r ? "height" : "width",
            a = r ? "width" : "height";
        return (n[p] = t[p] + t[d] / 2 - i[d] / 2), (n[s] = o === s ? t[s] - i[a] : t[L(s)]), n;
    }
    function T(e, t) {
        return Array.prototype.find ? e.find(t) : e.filter(t)[0];
    }
    function C(e, t, o) {
        if (Array.prototype.findIndex)
            return e.findIndex(function (e) {
                return e[t] === o;
            });
        var i = T(e, function (e) {
            return e[t] === o;
        });
        return e.indexOf(i);
    }
    function N(t, o, i) {
        var n = void 0 === i ? t : t.slice(0, C(t, "name", i));
        return (
            n.forEach(function (t) {
                t.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
                var i = t.function || t.fn;
                t.enabled && e(i) && ((o.offsets.popper = c(o.offsets.popper)), (o.offsets.reference = c(o.offsets.reference)), (o = i(o, t)));
            }),
            o
        );
    }
    function k() {
        if (!this.state.isDestroyed) {
            var e = { instance: this, styles: {}, attributes: {}, flipped: !1, offsets: {} };
            (e.offsets.reference = x(this.state, this.popper, this.reference)),
                (e.placement = E(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding)),
                (e.originalPlacement = e.placement),
                (e.offsets.popper = S(this.popper, e.offsets.reference, e.placement)),
                (e.offsets.popper.position = "absolute"),
                (e = N(this.modifiers, e)),
                this.state.isCreated ? this.options.onUpdate(e) : ((this.state.isCreated = !0), this.options.onCreate(e));
        }
    }
    function W(e, t) {
        return e.some(function (e) {
            var o = e.name,
                i = e.enabled;
            return i && o === t;
        });
    }
    function B(e) {
        for (var t = [!1, "ms", "Webkit", "Moz", "O"], o = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < t.length - 1; n++) {
            var i = t[n],
                r = i ? "" + i + o : e;
            if ("undefined" != typeof window.document.body.style[r]) return r;
        }
        return null;
    }
    function D() {
        return (
            (this.state.isDestroyed = !0),
            W(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), (this.popper.style.left = ""), (this.popper.style.position = ""), (this.popper.style.top = ""), (this.popper.style[B("transform")] = "")),
            this.disableEventListeners(),
            this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper),
            this
        );
    }
    function H(e, t, o, i) {
        var r = "BODY" === e.nodeName,
            p = r ? window : e;
        p.addEventListener(t, o, { passive: !0 }), r || H(n(p.parentNode), t, o, i), i.push(p);
    }
    function P(e, t, o, i) {
        (o.updateBound = i), window.addEventListener("resize", o.updateBound, { passive: !0 });
        var r = n(e);
        return H(r, "scroll", o.updateBound, o.scrollParents), (o.scrollElement = r), (o.eventsEnabled = !0), o;
    }
    function A() {
        this.state.eventsEnabled || (this.state = P(this.reference, this.options, this.state, this.scheduleUpdate));
    }
    function M(e, t) {
        return (
            window.removeEventListener("resize", t.updateBound),
            t.scrollParents.forEach(function (e) {
                e.removeEventListener("scroll", t.updateBound);
            }),
            (t.updateBound = null),
            (t.scrollParents = []),
            (t.scrollElement = null),
            (t.eventsEnabled = !1),
            t
        );
    }
    function I() {
        this.state.eventsEnabled && (window.cancelAnimationFrame(this.scheduleUpdate), (this.state = M(this.reference, this.state)));
    }
    function R(e) {
        return "" !== e && !isNaN(parseFloat(e)) && isFinite(e);
    }
    function U(e, t) {
        Object.keys(t).forEach(function (o) {
            var i = "";
            -1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(o) && R(t[o]) && (i = "px"), (e.style[o] = t[o] + i);
        });
    }
    function Y(e, t) {
        Object.keys(t).forEach(function (o) {
            var i = t[o];
            !1 === i ? e.removeAttribute(o) : e.setAttribute(o, t[o]);
        });
    }
    function F(e, t, o) {
        var i = T(e, function (e) {
                var o = e.name;
                return o === t;
            }),
            n =
                !!i &&
                e.some(function (e) {
                    return e.name === o && e.enabled && e.order < i.order;
                });
        if (!n) {
            var r = "`" + t + "`";
            console.warn("`" + o + "`" + " modifier is required by " + r + " modifier in order to work, be sure to include it before " + r + "!");
        }
        return n;
    }
    function j(e) {
        return "end" === e ? "start" : "start" === e ? "end" : e;
    }
    function K(e) {
        var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
            o = ae.indexOf(e),
            i = ae.slice(o + 1).concat(ae.slice(0, o));
        return t ? i.reverse() : i;
    }
    function q(e, t, o, i) {
        var n = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
            r = +n[1],
            p = n[2];
        if (!r) return e;
        if (0 === p.indexOf("%")) {
            var s;
            switch (p) {
                case "%p":
                    s = o;
                    break;
                case "%":
                case "%r":
                default:
                    s = i;
            }
            var d = c(s);
            return (d[t] / 100) * r;
        }
        if ("vh" === p || "vw" === p) {
            var a;
            return (a = "vh" === p ? _(document.documentElement.clientHeight, window.innerHeight || 0) : _(document.documentElement.clientWidth, window.innerWidth || 0)), (a / 100) * r;
        }
        return r;
    }
    function G(e, t, o, i) {
        var n = [0, 0],
            r = -1 !== ["right", "left"].indexOf(i),
            p = e.split(/(\+|\-)/).map(function (e) {
                return e.trim();
            }),
            s = p.indexOf(
                T(p, function (e) {
                    return -1 !== e.search(/,|\s/);
                })
            );
        p[s] && -1 === p[s].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
        var d = /\s*,\s*|\s+/,
            a = -1 === s ? [p] : [p.slice(0, s).concat([p[s].split(d)[0]]), [p[s].split(d)[1]].concat(p.slice(s + 1))];
        return (
            (a = a.map(function (e, i) {
                var n = (1 === i ? !r : r) ? "height" : "width",
                    p = !1;
                return e
                    .reduce(function (e, t) {
                        return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? ((e[e.length - 1] = t), (p = !0), e) : p ? ((e[e.length - 1] += t), (p = !1), e) : e.concat(t);
                    }, [])
                    .map(function (e) {
                        return q(e, n, t, o);
                    });
            })),
            a.forEach(function (e, t) {
                e.forEach(function (o, i) {
                    R(o) && (n[t] += o * ("-" === e[i - 1] ? -1 : 1));
                });
            }),
            n
        );
    }
    for (
        var z = Math.min,
            V = Math.floor,
            _ = Math.max,
            X = ["native code", "[object MutationObserverConstructor]"],
            Q = function (e) {
                return X.some(function (t) {
                    return -1 < (e || "").toString().indexOf(t);
                });
            },
            J = "undefined" != typeof window,
            Z = ["Edge", "Trident", "Firefox"],
            $ = 0,
            ee = 0;
        ee < Z.length;
        ee += 1
    )
        if (J && 0 <= navigator.userAgent.indexOf(Z[ee])) {
            $ = 1;
            break;
        }
    var i,
        te = J && Q(window.MutationObserver),
        oe = te
            ? function (e) {
                  var t = !1,
                      o = 0,
                      i = document.createElement("span"),
                      n = new MutationObserver(function () {
                          e(), (t = !1);
                      });
                  return (
                      n.observe(i, { attributes: !0 }),
                      function () {
                          t || ((t = !0), i.setAttribute("x-index", o), ++o);
                      }
                  );
              }
            : function (e) {
                  var t = !1;
                  return function () {
                      t ||
                          ((t = !0),
                          setTimeout(function () {
                              (t = !1), e();
                          }, $));
                  };
              },
        ie = function () {
            return void 0 == i && (i = -1 !== navigator.appVersion.indexOf("MSIE 10")), i;
        },
        ne = function (e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
        },
        re = (function () {
            function e(e, t) {
                for (var o, n = 0; n < t.length; n++) (o = t[n]), (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
            }
            return function (t, o, i) {
                return o && e(t.prototype, o), i && e(t, i), t;
            };
        })(),
        pe = function (e, t, o) {
            return t in e ? Object.defineProperty(e, t, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = o), e;
        },
        se =
            Object.assign ||
            function (e) {
                for (var t, o = 1; o < arguments.length; o++) for (var i in ((t = arguments[o]), t)) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
                return e;
            },
        de = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
        ae = de.slice(3),
        fe = { FLIP: "flip", CLOCKWISE: "clockwise", COUNTERCLOCKWISE: "counterclockwise" },
        le = (function () {
            function t(o, i) {
                var n = this,
                    r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};
                ne(this, t),
                    (this.scheduleUpdate = function () {
                        return requestAnimationFrame(n.update);
                    }),
                    (this.update = oe(this.update.bind(this))),
                    (this.options = se({}, t.Defaults, r)),
                    (this.state = { isDestroyed: !1, isCreated: !1, scrollParents: [] }),
                    (this.reference = o.jquery ? o[0] : o),
                    (this.popper = i.jquery ? i[0] : i),
                    (this.options.modifiers = {}),
                    Object.keys(se({}, t.Defaults.modifiers, r.modifiers)).forEach(function (e) {
                        n.options.modifiers[e] = se({}, t.Defaults.modifiers[e] || {}, r.modifiers ? r.modifiers[e] : {});
                    }),
                    (this.modifiers = Object.keys(this.options.modifiers)
                        .map(function (e) {
                            return se({ name: e }, n.options.modifiers[e]);
                        })
                        .sort(function (e, t) {
                            return e.order - t.order;
                        })),
                    this.modifiers.forEach(function (t) {
                        t.enabled && e(t.onLoad) && t.onLoad(n.reference, n.popper, n.options, t, n.state);
                    }),
                    this.update();
                var p = this.options.eventsEnabled;
                p && this.enableEventListeners(), (this.state.eventsEnabled = p);
            }
            return (
                re(t, [
                    {
                        key: "update",
                        value: function () {
                            return k.call(this);
                        },
                    },
                    {
                        key: "destroy",
                        value: function () {
                            return D.call(this);
                        },
                    },
                    {
                        key: "enableEventListeners",
                        value: function () {
                            return A.call(this);
                        },
                    },
                    {
                        key: "disableEventListeners",
                        value: function () {
                            return I.call(this);
                        },
                    },
                ]),
                t
            );
        })();
    return (
        (le.Utils = ("undefined" == typeof window ? global : window).PopperUtils),
        (le.placements = de),
        (le.Defaults = {
            placement: "bottom",
            eventsEnabled: !0,
            removeOnDestroy: !1,
            onCreate: function () {},
            onUpdate: function () {},
            modifiers: {
                shift: {
                    order: 100,
                    enabled: !0,
                    fn: function (e) {
                        var t = e.placement,
                            o = t.split("-")[0],
                            i = t.split("-")[1];
                        if (i) {
                            var n = e.offsets,
                                r = n.reference,
                                p = n.popper,
                                s = -1 !== ["bottom", "top"].indexOf(o),
                                d = s ? "left" : "top",
                                a = s ? "width" : "height",
                                f = { start: pe({}, d, r[d]), end: pe({}, d, r[d] + r[a] - p[a]) };
                            e.offsets.popper = se({}, p, f[i]);
                        }
                        return e;
                    },
                },
                offset: {
                    order: 200,
                    enabled: !0,
                    fn: function (e, t) {
                        var o,
                            i = t.offset,
                            n = e.placement,
                            r = e.offsets,
                            p = r.popper,
                            s = r.reference,
                            d = n.split("-")[0];
                        return (
                            (o = R(+i) ? [+i, 0] : G(i, p, s, d)),
                            "left" === d
                                ? ((p.top += o[0]), (p.left -= o[1]))
                                : "right" === d
                                ? ((p.top += o[0]), (p.left += o[1]))
                                : "top" === d
                                ? ((p.left += o[0]), (p.top -= o[1]))
                                : "bottom" === d && ((p.left += o[0]), (p.top += o[1])),
                            (e.popper = p),
                            e
                        );
                    },
                    offset: 0,
                },
                preventOverflow: {
                    order: 300,
                    enabled: !0,
                    fn: function (e, t) {
                        var o = t.boundariesElement || r(e.instance.popper);
                        e.instance.reference === o && (o = r(o));
                        var i = w(e.instance.popper, e.instance.reference, t.padding, o);
                        t.boundaries = i;
                        var n = t.priority,
                            p = e.offsets.popper,
                            s = {
                                primary: function (e) {
                                    var o = p[e];
                                    return p[e] < i[e] && !t.escapeWithReference && (o = _(p[e], i[e])), pe({}, e, o);
                                },
                                secondary: function (e) {
                                    var o = "right" === e ? "left" : "top",
                                        n = p[o];
                                    return p[e] > i[e] && !t.escapeWithReference && (n = z(p[o], i[e] - ("right" === e ? p.width : p.height))), pe({}, o, n);
                                },
                            };
                        return (
                            n.forEach(function (e) {
                                var t = -1 === ["left", "top"].indexOf(e) ? "secondary" : "primary";
                                p = se({}, p, s[t](e));
                            }),
                            (e.offsets.popper = p),
                            e
                        );
                    },
                    priority: ["left", "right", "top", "bottom"],
                    padding: 5,
                    boundariesElement: "scrollParent",
                },
                keepTogether: {
                    order: 400,
                    enabled: !0,
                    fn: function (e) {
                        var t = e.offsets,
                            o = t.popper,
                            i = t.reference,
                            n = e.placement.split("-")[0],
                            r = V,
                            p = -1 !== ["top", "bottom"].indexOf(n),
                            s = p ? "right" : "bottom",
                            d = p ? "left" : "top",
                            a = p ? "width" : "height";
                        return o[s] < r(i[d]) && (e.offsets.popper[d] = r(i[d]) - o[a]), o[d] > r(i[s]) && (e.offsets.popper[d] = r(i[s])), e;
                    },
                },
                arrow: {
                    order: 500,
                    enabled: !0,
                    fn: function (e, t) {
                        if (!F(e.instance.modifiers, "arrow", "keepTogether")) return e;
                        var o = t.element;
                        if ("string" == typeof o) {
                            if (((o = e.instance.popper.querySelector(o)), !o)) return e;
                        } else if (!e.instance.popper.contains(o)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), e;
                        var i = e.placement.split("-")[0],
                            n = e.offsets,
                            r = n.popper,
                            p = n.reference,
                            s = -1 !== ["left", "right"].indexOf(i),
                            d = s ? "height" : "width",
                            a = s ? "top" : "left",
                            f = s ? "left" : "top",
                            l = s ? "bottom" : "right",
                            m = O(o)[d];
                        p[l] - m < r[a] && (e.offsets.popper[a] -= r[a] - (p[l] - m)), p[a] + m > r[l] && (e.offsets.popper[a] += p[a] + m - r[l]);
                        var h = p[a] + p[d] / 2 - m / 2,
                            g = h - c(e.offsets.popper)[a];
                        return (g = _(z(r[d] - m, g), 0)), (e.arrowElement = o), (e.offsets.arrow = {}), (e.offsets.arrow[a] = Math.round(g)), (e.offsets.arrow[f] = ""), e;
                    },
                    element: "[x-arrow]",
                },
                flip: {
                    order: 600,
                    enabled: !0,
                    fn: function (e, t) {
                        if (W(e.instance.modifiers, "inner")) return e;
                        if (e.flipped && e.placement === e.originalPlacement) return e;
                        var o = w(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement),
                            i = e.placement.split("-")[0],
                            n = L(i),
                            r = e.placement.split("-")[1] || "",
                            p = [];
                        switch (t.behavior) {
                            case fe.FLIP:
                                p = [i, n];
                                break;
                            case fe.CLOCKWISE:
                                p = K(i);
                                break;
                            case fe.COUNTERCLOCKWISE:
                                p = K(i, !0);
                                break;
                            default:
                                p = t.behavior;
                        }
                        return (
                            p.forEach(function (s, d) {
                                if (i !== s || p.length === d + 1) return e;
                                (i = e.placement.split("-")[0]), (n = L(i));
                                var a = e.offsets.popper,
                                    f = e.offsets.reference,
                                    l = V,
                                    m = ("left" === i && l(a.right) > l(f.left)) || ("right" === i && l(a.left) < l(f.right)) || ("top" === i && l(a.bottom) > l(f.top)) || ("bottom" === i && l(a.top) < l(f.bottom)),
                                    h = l(a.left) < l(o.left),
                                    c = l(a.right) > l(o.right),
                                    g = l(a.top) < l(o.top),
                                    u = l(a.bottom) > l(o.bottom),
                                    b = ("left" === i && h) || ("right" === i && c) || ("top" === i && g) || ("bottom" === i && u),
                                    y = -1 !== ["top", "bottom"].indexOf(i),
                                    w = !!t.flipVariations && ((y && "start" === r && h) || (y && "end" === r && c) || (!y && "start" === r && g) || (!y && "end" === r && u));
                                (m || b || w) &&
                                    ((e.flipped = !0),
                                    (m || b) && (i = p[d + 1]),
                                    w && (r = j(r)),
                                    (e.placement = i + (r ? "-" + r : "")),
                                    (e.offsets.popper = se({}, e.offsets.popper, S(e.instance.popper, e.offsets.reference, e.placement))),
                                    (e = N(e.instance.modifiers, e, "flip")));
                            }),
                            e
                        );
                    },
                    behavior: "flip",
                    padding: 5,
                    boundariesElement: "viewport",
                },
                inner: {
                    order: 700,
                    enabled: !1,
                    fn: function (e) {
                        var t = e.placement,
                            o = t.split("-")[0],
                            i = e.offsets,
                            n = i.popper,
                            r = i.reference,
                            p = -1 !== ["left", "right"].indexOf(o),
                            s = -1 === ["top", "left"].indexOf(o);
                        return (n[p ? "left" : "top"] = r[t] - (s ? n[p ? "width" : "height"] : 0)), (e.placement = L(t)), (e.offsets.popper = c(n)), e;
                    },
                },
                hide: {
                    order: 800,
                    enabled: !0,
                    fn: function (e) {
                        if (!F(e.instance.modifiers, "hide", "preventOverflow")) return e;
                        var t = e.offsets.reference,
                            o = T(e.instance.modifiers, function (e) {
                                return "preventOverflow" === e.name;
                            }).boundaries;
                        if (t.bottom < o.top || t.left > o.right || t.top > o.bottom || t.right < o.left) {
                            if (!0 === e.hide) return e;
                            (e.hide = !0), (e.attributes["x-out-of-boundaries"] = "");
                        } else {
                            if (!1 === e.hide) return e;
                            (e.hide = !1), (e.attributes["x-out-of-boundaries"] = !1);
                        }
                        return e;
                    },
                },
                computeStyle: {
                    order: 850,
                    enabled: !0,
                    fn: function (e, t) {
                        var o = t.x,
                            i = t.y,
                            n = e.offsets.popper,
                            p = T(e.instance.modifiers, function (e) {
                                return "applyStyle" === e.name;
                            }).gpuAcceleration;
                        void 0 !== p && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
                        var s,
                            d,
                            a = void 0 === p ? t.gpuAcceleration : p,
                            f = r(e.instance.popper),
                            l = g(f),
                            m = { position: n.position },
                            h = { left: V(n.left), top: V(n.top), bottom: V(n.bottom), right: V(n.right) },
                            c = "bottom" === o ? "top" : "bottom",
                            u = "right" === i ? "left" : "right",
                            b = B("transform");
                        if (((d = "bottom" == c ? -l.height + h.bottom : h.top), (s = "right" == u ? -l.width + h.right : h.left), a && b))
                            (m[b] = "translate3d(" + s + "px, " + d + "px, 0)"), (m[c] = 0), (m[u] = 0), (m.willChange = "transform");
                        else {
                            var y = "bottom" == c ? -1 : 1,
                                w = "right" == u ? -1 : 1;
                            (m[c] = d * y), (m[u] = s * w), (m.willChange = c + ", " + u);
                        }
                        var v = { "x-placement": e.placement };
                        return (e.attributes = se({}, v, e.attributes)), (e.styles = se({}, m, e.styles)), e;
                    },
                    gpuAcceleration: !0,
                    x: "bottom",
                    y: "right",
                },
                applyStyle: {
                    order: 900,
                    enabled: !0,
                    fn: function (e) {
                        return U(e.instance.popper, e.styles), Y(e.instance.popper, e.attributes), e.offsets.arrow && U(e.arrowElement, e.offsets.arrow), e;
                    },
                    onLoad: function (e, t, o, i, n) {
                        var r = x(n, t, e),
                            p = E(o.placement, r, t, e, o.modifiers.flip.boundariesElement, o.modifiers.flip.padding);
                        return t.setAttribute("x-placement", p), U(t, { position: "absolute" }), o;
                    },
                    gpuAcceleration: void 0,
                },
            },
        }),
        le
    );
});
