PageSourceSearch

https://securitybox.vn/wp-content/themes/securitybox_v3/js/bootstrap.js

js securitybox.vn collected 2026-10-08 23:34:11 UTC 89,466 bytes, 1,459 lines download raw bytes

1/*!
2  * Bootstrap v4.3.1 (https://getbootstrap.com/)
3  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5  */
6!function (t, e) {
7    "object" == typeof exports && "undefined" != typeof module ? e(exports, require("jquery"), require("popper.js")) : "function" == typeof define && define.amd ? define(["exports", "jquery", "popper.js"], e) : e((t = t || self).bootstrap = {}, t.jQuery, t.Popper)
8}(this, function (t, g, u) {
9    "use strict";
10
11    function i(t, e) {
12        for (var n = 0; n < e.length; n++) {
13            var i = e[n];
14            i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
15        }
16    }
17
18    function s(t, e, n) {
19        return e && i(t.prototype, e), n && i(t, n), t
20    }
21
22    function l(o) {
23        for (var t = 1; t < arguments.length; t++) {
24            var r = null != arguments[t] ? arguments[t] : {}, e = Object.keys(r);
25            "function" == typeof Object.getOwnPropertySymbols && (e = e.concat(Object.getOwnPropertySymbols(r).filter(function (t) {
26                return Object.getOwnPropertyDescriptor(r, t).enumerable
27            }))), e.forEach(function (t) {
28                var e, n, i;
29                e = o, i = r[n = t], n in e ? Object.defineProperty(e, n, {
30                    value: i,
31                    enumerable: !0,
32                    configurable: !0,
33                    writable: !0
34                }) : e[n] = i
35            })
36        }
37        return o
38    }
39
40    g = g && g.hasOwnProperty("default") ? g.default : g, u = u && u.hasOwnProperty("default") ? u.default : u;
41    var e = "transitionend";
42
43    function n(t) {
44        var e = this, n = !1;
45        return g(this).one(_.TRANSITION_END, function () {
46            n = !0
47        }), setTimeout(function () {
48            n || _.triggerTransitionEnd(e)
49        }, t), this
50    }
51
52    var _ = {
53        TRANSITION_END: "bsTransitionEnd", getUID: function (t) {
54            for (; t += ~~(1e6 * Math.random()), document.getElementById(t);) ;
55            return t
56        }, getSelectorFromElement: function (t) {
57            var e = t.getAttribute("data-target");
58            if (!e || "#" === e) {
59                var n = t.getAttribute("href");
60                e = n && "#" !== n ? n.trim() : ""
61            }
62            try {
63                return document.querySelector(e) ? e : null
64            } catch (t) {
65                return null
66            }
67        }, getTransitionDurationFromElement: function (t) {
68            if (!t) return 0;
69            var e = g(t).css("transition-duration"), n = g(t).css("transition-delay"), i = parseFloat(e),
70                o = parseFloat(n);
71            return i || o ? (e = e.split(",")[0], n = n.split(",")[0], 1e3 * (parseFloat(e) + parseFloat(n))) : 0
72        }, reflow: function (t) {
73            return t.offsetHeight
74        }, triggerTransitionEnd: function (t) {
75            g(t).trigger(e)
76        }, supportsTransitionEnd: function () {
77            return Boolean(e)
78        }, isElement: function (t) {
79            return (t[0] || t).nodeType
80        }, typeCheckConfig: function (t, e, n) {
81            for (var i in n) if (Object.prototype.hasOwnProperty.call(n, i)) {
82                var o = n[i], r = e[i],
83                    s = r && _.isElement(r) ? "element" : (a = r, {}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());
84                if (!new RegExp(o).test(s)) throw new Error(t.toUpperCase() + ': Option "' + i + '" provided type "' + s + '" but expected type "' + o + '".')
85            }
86            var a
87        }, findShadowRoot: function (t) {
88            if (!document.documentElement.attachShadow) return null;
89            if ("function" != typeof t.getRootNode) return t instanceof ShadowRoot ? t : t.parentNode ? _.findShadowRoot(t.parentNode) : null;
90            var e = t.getRootNode();
91            return e instanceof ShadowRoot ? e : null
92        }
93    };
94    g.fn.emulateTransitionEnd = n, g.event.special[_.TRANSITION_END] = {
95        bindType: e,
96        delegateType: e,
97        handle: function (t) {
98            if (g(t.target).is(this)) return t.handleObj.handler.apply(this, arguments)
99        }
100    };
101    var o = "alert", r = "bs.alert", a = "." + r, c = g.fn[o],
102        h = {CLOSE: "close" + a, CLOSED: "closed" + a, CLICK_DATA_API: "click" + a + ".data-api"}, f = "alert",
103        d = "fade", m = "show", p = function () {
104            function i(t) {
105                this._element = t
106            }
107
108            var t = i.prototype;
109            return t.close = function (t) {
110                var e = this._element;
111                t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e)
112            }
112, t.dispose = function () {
113                g.removeData(this._element, r), this._element = null
114            }, t._getRootElement = function (t) {
115                var e = _.getSelectorFromElement(t), n = !1;
116                return e && (n = document.querySelector(e)), n || (n = g(t).closest("." + f)[0]), n
117            }, t._triggerCloseEvent = function (t) {
118                var e = g.Event(h.CLOSE);
119                return g(t).trigger(e), e
120            }, t._removeElement = function (e) {
121                var n = this;
122                if (g(e).removeClass(m), g(e).hasClass(d)) {
123                    var t = _.getTransitionDurationFromElement(e);
124                    g(e).one(_.TRANSITION_END, function (t) {
125                        return n._destroyElement(e, t)
126                    }).emulateTransitionEnd(t)
127                } else this._destroyElement(e)
128            }, t._destroyElement = function (t) {
129                g(t).detach().trigger(h.CLOSED).remove()
130            }, i._jQueryInterface = function (n) {
131                return this.each(function () {
132                    var t = g(this), e = t.data(r);
133                    e || (e = new i(this), t.data(r, e)), "close" === n && e[n](this)
134                })
135            }, i._handleDismiss = function (e) {
136                return function (t) {
137                    t && t.preventDefault(), e.close(this)
138                }
139            }, s(i, null, [{
140                key: "VERSION", get: function () {
141                    return "4.3.1"
142                }
143            }]), i
144        }();
145    g(document).on(h.CLICK_DATA_API, '[data-dismiss="alert"]', p._handleDismiss(new p)), g.fn[o] = p._jQueryInterface, g.fn[o].Constructor = p, g.fn[o].noConflict = function () {
146        return g.fn[o] = c, p._jQueryInterface
147    };
148    var v = "button", y = "bs.button", E = "." + y, C = ".data-api", T = g.fn[v], S = "active", b = "btn", I = "focus",
149        D = '[data-toggle^="button"]', w = '[data-toggle="buttons"]', A = 'input:not([type="hidden"])', N = ".active",
150        O = ".btn", k = {CLICK_DATA_API: "click" + E + C, FOCUS_BLUR_DATA_API: "focus" + E + C + " blur" + E + C},
151        P = function () {
152            function n(t) {
153                this._element = t
154            }
155
156            var t = n.prototype;
157            return t.toggle = function () {
158                var t = !0, e = !0, n = g(this._element).closest(w)[0];
159                if (n) {
160                    var i = this._element.querySelector(A);
161                    if (i) {
162                        if ("radio" === i.type) if (i.checked && this._element.classList.contains(S)) t = !1; else {
163                            var o = n.querySelector(N);
164                            o && g(o).removeClass(S)
165                        }
166                        if (t) {
167                            if (i.hasAttribute("disabled") || n.hasAttribute("disabled") || i.classList.contains("disabled") || n.classList.contains("disabled")) return;
168                            i.checked = !this._element.classList.contains(S), g(i).trigger("change")
169                        }
170                        i.focus(), e = !1
171                    }
172                }
173                e && this._element.setAttribute("aria-pressed", !this._element.classList.contains(S)), t && g(this._element).toggleClass(S)
174            }, t.dispose = function () {
175                g.removeData(this._element, y), this._element = null
176            }, n._jQueryInterface = function (e) {
177                return this.each(function () {
178                    var t = g(this).data(y);
179                    t || (t = new n(this), g(this).data(y, t)), "toggle" === e && t[e]()
180                })
181            }, s(n, null, [{
182                key: "VERSION", get: function () {
183                    return "4.3.1"
184                }
185            }]), n
186        }();
187    g(document).on(k.CLICK_DATA_API, D, function (t) {
188        t.preventDefault();
189        var e = t.target;
190        g(e).hasClass(b) || (e = g(e).closest(O)), P._jQueryInterface.call(g(e), "toggle")
191    }).on(k.FOCUS_BLUR_DATA_API, D, function (t) {
192        var e = g(t.target).closest(O)[0];
193        g(e).toggleClass(I, /^focus(in)?$/.test(t.type))
194    }), g.fn[v] = P._jQueryInterface, g.fn[v].Constructor = P, g.fn[v].noConflict = function () {
195        return g.fn[v] = T, P._jQueryInterface
196    };
197    var L = "carousel", j = "bs.carousel", H = "." + j, R = ".data-api", x = g.fn[L],
198        F = {interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0, touch: !0}, U = {
199            interval: "(number|boolean)",
200            keyboard: "boolean",
201            slide: "(boolean|string)",
202            pause: "(string|boolean)",
203            wrap: "boolean",
204            touch: "boolean"
205        }, W = "next", q = "prev", M = "left", K = "right", Q = {
206            SLIDE: "slide" + H,
207            SLID: "slid" + H,
208            KEYDOWN: "keydown" + H,
209            MOUSEENTER: "mouseenter" + H,
210            MOUSELEAVE: "mouseleave" + H,
211            TOUCHSTART: "touchstart" + H,
212            TOUCHMOVE: "touchmove" + H,
213            TOUCHEND: "touchend" + H,
214            POINTERDOWN: "pointerdown" + H,
215            POINTERUP: "pointerup" + H,
216            DRAG_START: "dragstart" + H,
217            LOAD_DATA_API: "load" + H + R,
218            CLICK_DATA_API: "click" + H + R
219        }, B = "carousel", V = "active", Y = "slide", z = "carousel-item-right", X = "carousel-item-left",
220        $ = "carousel-item-next", G = "carousel-item-prev", J = "pointer-event", Z = ".active",
221        tt = ".active.carousel-item", et = ".carousel-item", nt = ".carousel-item img",
222        it = ".carousel-item-next, .carousel-item-prev", ot = ".carousel-indicators",
223        rt = "[data-slide], [data-slide-to]", st = '[data-ride="carousel"]', at = {TOUCH: "touch", PEN: "pen"},
224        lt = function () {
225            function r(t, e) {
226                this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(e), this._element = t, this._indicatorsElement = this._element.querySelector(ot), this._touchSupported = "ontouchstart" in document.documentElement || 0 < navigator.maxTouchPoints, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners()
227            }
228
229            var t = r.prototype;
230            return t.next = function () {
231                this._isSliding || this._slide(W)
232            }, t.nextWhenVisible = function () {
233                !document.hidden && g(this._element).is(":visible") && "hidden" !== g(this._element).css("visibility") && this.next()
234            }, t.prev = function () {
235                this._isSliding || this._slide(q)
236            }, t.pause = function (t) {
237                t || (this._isPaused = !0), this._element.querySelector(it) && (_.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null
238            }, t.cycle = function (t) {
239                t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))
240            }, t.to = function (t) {
241                var e = this;
242                this._activeElement = this._element.querySelector(tt);
243                var n = this._getItemIndex(this._activeElement);
244                if (!(t > this._items.length - 1 || t < 0)) if (this._isSliding) g(this._element).one(Q.SLID, function () {
245                    return e.to(t)
246                }); else {
247                    if (n === t) return this.pause(), void this.cycle();
248                    var i = n < t ? W : q;
249                    this._slide(i, this._items[t])
250                }
251            }, t.dispose = function () {
252                g(this._element).off(H), g.removeData(this._element, j), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null
253            }, t._getConfig = function (t) {
254                return t = l({}, F, t), _.typeCheckConfig(L, t, U), t
255            }, t._handleSwipe = function () {
256                var t = Math.abs(this.touchDeltaX);
257                if (!(t <= 40)) {
258                    var e = t / this.touchDeltaX;
259                    0 < e && this.prev(), e < 0 && this.next()
260                }
261            }, t._addEventListeners = function () {
262                var e = this;
263                this._config.keyboard && g(this._element).on(Q.KEYDOWN, function (t) {
264                    return e._keydown(t)
265                }), "hover" === this._config.pause && g(this._element).on(Q.MOUSEENTER, function (t) {
266                    return e.pause(t)
267                }).on(Q.MOUSELEAVE, function (t) {
268                    return e.cycle(t)
269                }), this._config.touch && this._addTouchEventListeners()
270            }, t._addTouchEventListeners = function () {
271                var n = this;
272                if (this._touchSupported) {
273                    var e = function (t) {
274                        n._pointerEvent && at[t.originalEvent.pointerType.toUpperCase()] ? n.touchStartX = t.originalEvent.clientX : n._pointerEvent || (n.touchStartX = t.originalEvent.touches[0].clientX)
275                    }, i = function (t) {
276                        n._pointerEvent && at[t.originalEvent.pointerType.toUpperCase()] && (n.touchDeltaX = t.originalEvent.clientX - n.touchStartX), n._handleSwipe(), "hover" === n._config.pause && (n.pause(), n.touchTimeout && clearTimeout(n.touchTimeout), n.touchTimeout = setTimeout(function (t) {
277                            return n.cycle(t)
278                        }, 500 + n._config.interval))
279                    };
280                    g(this._element.querySelectorAll(nt)).on(Q.DRAG_START, function (t) {
281                        return t.preventDefault()
282                    }), this._pointerEvent ? (g(this._element).on(Q.POINTERDOWN, function (t) {
283                        return e(t)
284                    }), g(this._element).on(Q.POINTERUP, function (t) {
285                        return i(t)
286                    }), this._element.classList.add(J)) : (g(this._element).on(Q.TOUCHSTART, function (t) {
287                        return e(t)
288                    }), g(this._element).on(Q.TOUCHMOVE, function (t) {
289                        var e;
290                        (e = t).originalEvent.touches && 1 < e.originalEvent.touches.length ? n.touchDeltaX = 0 : n.touchDeltaX = e.originalEvent.touches[0].clientX - n.touchStartX
291                    }), g(this._element).on(Q.TOUCHEND, function (t) {
292                        return i(t)
293                    }))
294                }
295            }, t._keydown = function (t) {
296                if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) {
297                    case 37:
298                        t.preventDefault(), this.prev();
299                        break;
300                    case 39:
301                        t.preventDefault(), this.next()
302                }
303            }, t._getItemIndex = function (t) {
304                return this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(et)) : [], this._items.indexOf(t)
305            }, t._getItemByDirection = function (t, e) {
306                var n = t === W, i = t === q, o = this._getItemIndex(e), r = this._items.length - 1;
307                if ((i && 0 === o || n && o === r) && !this._config.wrap) return e;
308                var s = (o + (t === q ? -1 : 1)) % this._items.length;
309                return -1 === s ? this._items[this._items.length - 1] : this._items[s]
310            }, t._triggerSlideEvent = function (t, e) {
311                var n = this._getItemIndex(t), i = this._getItemIndex(this._element.querySelector(tt)),
312                    o = g.Event(Q.SLIDE, {relatedTarget: t, direction: e, from: i, to: n});
313                return g(this._element).trigger(o), o
314            }, t._setActiveIndicatorElement = function (t) {
315                if (this._indicatorsElement) {
316                    var e = [].slice.call(this._indicatorsElement.querySelectorAll(Z));
317                    g(e).removeClass(V);
318                    var n = this._indicatorsElement.children[this._getItemIndex(t)];
319                    n && g(n).addClass(V)
320                }
321            }, t._slide = function (t, e) {
322                var n, i, o, r = this, s = this._element.querySelector(tt), a = this._getItemIndex(s),
323                    l = e || s && this._getItemByDirection(t, s), c = this._getItemIndex(l),
324                    h = Boolean(this._interval);
325                if (o = t === W ? (n = X, i = $, M) : (n = z, i = G, K), l && g(l).hasClass(V)) this._isSliding = !1; else if (!this._triggerSlideEvent(l, o).isDefaultPrevented() && s && l) {
326                    this._isSliding = !0, h && this.pause(), this._setActiveIndicatorElement(l);
327                    var u = g.Event(Q.SLID, {relatedTarget: l, direction: o, from: a, to: c});
328                    if (g(this._element).hasClass(Y)) {
329                        g(l).addClass(i), _.reflow(l), g(s).addClass(n), g(l).addClass(n);
330                        var f = parseInt(l.getAttribute("data-interval"), 10);
331                        this._config.interval = f ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, f) : this._config.defaultInterval || this._config.interval;
332                        var d = _.getTransitionDurationFromElement(s);
333                        g(s).one(_.TRANSITION_END, function () {
334                            g(l).removeClass(n + " " + i).addClass(V), g(s).removeClass(V + " " + i + " " + n
334), r._isSliding = !1, setTimeout(function () {
335                                return g(r._element).trigger(u)
336                            }, 0)
337                        }).emulateTransitionEnd(d)
338                    } else g(s).removeClass(V), g(l).addClass(V), this._isSliding = !1, g(this._element).trigger(u);
339                    h && this.cycle()
340                }
341            }, r._jQueryInterface = function (i) {
342                return this.each(function () {
343                    var t = g(this).data(j), e = l({}, F, g(this).data());
344                    "object" == typeof i && (e = l({}, e, i));
345                    var n = "string" == typeof i ? i : e.slide;
346                    if (t || (t = new r(this, e), g(this).data(j, t)), "number" == typeof i) t.to(i); else if ("string" == typeof n) {
347                        if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
348                        t[n]()
349                    } else e.interval && e.ride && (t.pause(), t.cycle())
350                })
351            }, r._dataApiClickHandler = function (t) {
352                var e = _.getSelectorFromElement(this);
353                if (e) {
354                    var n = g(e)[0];
355                    if (n && g(n).hasClass(B)) {
356                        var i = l({}, g(n).data(), g(this).data()), o = this.getAttribute("data-slide-to");
357                        o && (i.interval = !1), r._jQueryInterface.call(g(n), i), o && g(n).data(j).to(o), t.preventDefault()
358                    }
359                }
360            }, s(r, null, [{
361                key: "VERSION", get: function () {
362                    return "4.3.1"
363                }
364            }, {
365                key: "Default", get: function () {
366                    return F
367                }
368            }]), r
369        }();
370    g(document).on(Q.CLICK_DATA_API, rt, lt._dataApiClickHandler), g(window).on(Q.LOAD_DATA_API, function () {
371        for (var t = [].slice.call(document.querySelectorAll(st)), e = 0, n = t.length; e < n; e++) {
372            var i = g(t[e]);
373            lt._jQueryInterface.call(i, i.data())
374        }
375    }), g.fn[L] = lt._jQueryInterface, g.fn[L].Constructor = lt, g.fn[L].noConflict = function () {
376        return g.fn[L] = x, lt._jQueryInterface
377    };
378    var ct = "collapse", ht = "bs.collapse", ut = "." + ht, ft = g.fn[ct], dt = {toggle: !0, parent: ""},
379        gt = {toggle: "boolean", parent: "(string|element)"}, _t = {
380            SHOW: "show" + ut,
381            SHOWN: "shown" + ut,
382            HIDE: "hide" + ut,
383            HIDDEN: "hidden" + ut,
384            CLICK_DATA_API: "click" + ut + ".data-api"
385        }, mt = "show", pt = "collapse", vt = "collapsing", yt = "collapsed", Et = "width", Ct = "height",
386        Tt = ".show, .collapsing", St = '[data-toggle="collapse"]', bt = function () {
387            function a(e, t) {
388                this._isTransitioning = !1, this._element = e, this._config = this._getConfig(t), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'));
389                for (var n = [].slice.call(document.querySelectorAll(St)), i = 0, o = n.length; i < o; i++) {
390                    var r = n[i], s = _.getSelectorFromElement(r),
391                        a = [].slice.call(document.querySelectorAll(s)).filter(function (t) {
392                            return t === e
393                        });
394                    null !== s && 0 < a.length && (this._selector = s, this._triggerArray.push(r))
395                }
396                this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle()
397            }
398
399            var t = a.prototype;
400            return t.toggle = function () {
401                g(this._element).hasClass(mt) ? this.hide() : this.show()
402            }, t.show = function () {
403                var t, e, n = this;
404                if (!this._isTransitioning && !g(this._element).hasClass(mt) && (this._parent && 0 === (t = [].slice.call(this._parent.querySelectorAll(Tt)).filter(function (t) {
405                    return "string" == typeof n._config.parent ? t.getAttribute("data-parent") === n._config.parent : t.classList.contains(pt)
406                })).length && (t = null), !(t && (e = g(t).not(this._selector).data(ht)) && e._isTransitioning))) {
407                    var i = g.Event(_t.SHOW);
408                    if (g(this._element).trigger(i), !i.isDefaultPrevented()) {
409                        t && (a._jQueryInterface.call(g(t).not(this._selector), "hide"), e || g(t).data(ht, null));
410                        var o = this._getDimension();
411                        g(this._element).removeClass(pt).addClass(vt), this._element.style[o] = 0, this._triggerArray.length && g(this._triggerArray).removeClass(yt).attr("aria-expanded", !0), this.setTransitioning(!0);
412                        var r = "scroll" + (o[0].toUpperCase() + o.slice(1)),
413                            s = _.getTransitionDurationFromElement(this._element);
414                        g(this._element).one(_.TRANSITION_END, function () {
415                            g(n._element).removeClass(vt).addClass(pt).addClass(mt), n._element.style[o] = "", n.setTransitioning(!1), g(n._element).trigger(_t.SHOWN)
416                        }).emulateTransitionEnd(s), this._element.style[o] = this._element[r] + "px"
417                    }
418                }
419            }, t.hide = function () {
420                var t = this;
421                if (!this._isTransitioning && g(this._element).hasClass(mt)) {
422                    var e = g.Event(_t.HIDE);
423                    if (g(this._element).trigger(e), !e.isDefaultPrevented()) {
424                        var n = this._getDimension();
425                        this._element.style[n] = this._element.getBoundingClientRect()[n] + "px", _.reflow(this._element), g(this._element).addClass(vt).removeClass(pt).removeClass(mt);
426                        var i = this._triggerArray.length;
427                        if (0 < i) for (var o = 0; o < i; o++) {
428                            var r = this._triggerArray[o], s = _.getSelectorFromElement(r);
429                            if (null !== s) g([].slice.call(document.querySelectorAll(s))).hasClass(mt) || g(r).addClass(yt).attr("aria-expanded", !1)
430                        }
431                        this.setTransitioning(!0);
432                        this._element.style[n] = "";
433                        var a = _.getTransitionDurationFromElement(this._element);
434                        g(this._element).one(_.TRANSITION_END, function () {
435                            t.setTransitioning(!1), g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)
436                        }).emulateTransitionEnd(a)
437                    }
438                }
439            }, t.setTransitioning = function (t) {
440                this._isTransitioning = t
441            }
441, t.dispose = function () {
442                g.removeData(this._element, ht), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null
443            }, t._getConfig = function (t) {
444                return (t = l({}, dt, t)).toggle = Boolean(t.toggle), _.typeCheckConfig(ct, t, gt), t
445            }, t._getDimension = function () {
446                return g(this._element).hasClass(Et) ? Et : Ct
447            }, t._getParent = function () {
448                var t, n = this;
449                _.isElement(this._config.parent) ? (t = this._config.parent, "undefined" != typeof this._config.parent.jquery && (t = this._config.parent[0])) : t = document.querySelector(this._config.parent);
450                var e = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]',
451                    i = [].slice.call(t.querySelectorAll(e));
452                return g(i).each(function (t, e) {
453                    n._addAriaAndCollapsedClass(a._getTargetFromElement(e), [e])
454                }), t
455            }, t._addAriaAndCollapsedClass = function (t, e) {
456                var n = g(t).hasClass(mt);
457                e.length && g(e).toggleClass(yt, !n).attr("aria-expanded", n)
458            }, a._getTargetFromElement = function (t) {
459                var e = _.getSelectorFromElement(t);
460                return e ? document.querySelector(e) : null
461            }, a._jQueryInterface = function (i) {
462                return this.each(function () {
463                    var t = g(this), e = t.data(ht), n = l({}, dt, t.data(), "object" == typeof i && i ? i : {});
464                    if (!e && n.toggle && /show|hide/.test(i) && (n.toggle = !1), e || (e = new a(this, n), t.data(ht, e)), "string" == typeof i) {
465                        if ("undefined" == typeof e[i]) throw new TypeError('No method named "' + i + '"');
466                        e[i]()
467                    }
468                })
469            }, s(a, null, [{
470                key: "VERSION", get: function () {
471                    return "4.3.1"
472                }
473            }, {
474                key: "Default", get: function () {
475                    return dt
476                }
477            }]), a
478        }();
479    g(document).on(_t.CLICK_DATA_API, St, function (t) {
480        "A" === t.currentTarget.tagName && t.preventDefault();
481        var n = g(this), e = _.getSelectorFromElement(this), i = [].slice.call(document.querySelectorAll(e));
482        g(i).each(function () {
483            var t = g(this), e = t.data(ht) ? "toggle" : n.data();
484            bt._jQueryInterface.call(t, e)
485        })
486    }), g.fn[ct] = bt._jQueryInterface, g.fn[ct].Constructor = bt, g.fn[ct].noConflict = function () {
487        return g.fn[ct] = ft, bt._jQueryInterface
488    };
489    var It = "dropdown", Dt = "bs.dropdown", wt = "." + Dt, At = ".data-api", Nt = g.fn[It],
490        Ot = new RegExp("38|40|27"), kt = {
491            HIDE: "hide" + wt,
492            HIDDEN: "hidden" + wt,
493            SHOW: "show" + wt,
494            SHOWN: "shown" + wt,
495            CLICK: "click" + wt,
496            CLICK_DATA_API: "click" + wt + At,
497            KEYDOWN_DATA_API: "keydown" + wt + At,
498            KEYUP_DATA_API: "keyup" + wt + At
499        }, Pt = "disabled", Lt = "show", jt = "dropup", Ht = "dropright", Rt = "dropleft", xt = "dropdown-menu-right",
500        Ft = "position-static", Ut = '[data-toggle="dropdown"]', Wt = ".dropdown form", qt = ".dropdown-menu",
501        Mt = ".navbar-nav", Kt = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", Qt = "top-start",
502        Bt = "top-end", Vt = "bottom-start", Yt = "bottom-end", zt = "right-start", Xt = "left-start",
503        $t = {offset: 0, flip: !0, boundary: "scrollParent", reference: "toggle", display: "dynamic"}, Gt = {
504            offset: "(number|string|function)",
505            flip: "boolean",
506            boundary: "(string|element)",
507            reference: "(string|element)",
508            display: "string"
509        }, Jt = function () {
510            function c(t, e) {
511                this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners()
512            }
513
514            var t = c.prototype;
515            return t.toggle = function () {
516                if (!this._element.disabled && !g(this._element).hasClass(Pt)) {
517                    var t = c._getParentFromElement(this._element), e = g(this._menu).hasClass(Lt);
518                    if (c._clearMenus(), !e) {
519                        var n = {relatedTarget: this._element}, i = g.Event(kt.SHOW, n);
520                        if (g(t).trigger(i), !i.isDefaultPrevented()) {
521                            if (!this._inNavbar) {
522                                if ("undefined" == typeof u) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");
523                                var o = this._element;
524                                "parent" === this._config.reference ? o = t : _.isElement(this._config.reference) && (o = this._config.reference, "undefined" != typeof this._config.reference.jquery && (o = this._config.reference[0])), "scrollParent" !== this._config.boun
524dary && g(t).addClass(Ft), this._popper = new u(o, this._menu, this._getPopperConfig())
525                            }
526                            "ontouchstart" in document.documentElement && 0 === g(t).closest(Mt).length && g(document.body).children().on("mouseover", null, g.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), g(this._menu).toggleClass(Lt), g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN, n))
527                        }
528                    }
529                }
530            }, t.show = function () {
531                if (!(this._element.disabled || g(this._element).hasClass(Pt) || g(this._menu).hasClass(Lt))) {
532                    var t = {relatedTarget: this._element}, e = g.Event(kt.SHOW, t),
533                        n = c._getParentFromElement(this._element);
534                    g(n).trigger(e), e.isDefaultPrevented() || (g(this._menu).toggleClass(Lt), g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN, t)))
535                }
536            }, t.hide = function () {
537                if (!this._element.disabled && !g(this._element).hasClass(Pt) && g(this._menu).hasClass(Lt)) {
538                    var t = {relatedTarget: this._element}, e = g.Event(kt.HIDE, t),
539                        n = c._getParentFromElement(this._element);
540                    g(n).trigger(e), e.isDefaultPrevented() || (g(this._menu).toggleClass(Lt), g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN, t)))
541                }
542            }, t.dispose = function () {
543                g.removeData(this._element, Dt), g(this._element).off(wt), this._element = null, (this._menu = null) !== this._popper && (this._popper.destroy(), this._popper = null)
544            }, t.update = function () {
545                this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate()
546            }, t._addEventListeners = function () {
547                var e = this;
548                g(this._element).on(kt.CLICK, function (t) {
549                    t.preventDefault(), t.stopPropagation(), e.toggle()
550                })
551            }, t._getConfig = function (t) {
552                return t = l({}, this.constructor.Default, g(this._element).data(), t), _.typeCheckConfig(It, t, this.constructor.DefaultType), t
553            }, t._getMenuElement = function () {
554                if (!this._menu) {
555                    var t = c._getParentFromElement(this._element);
556                    t && (this._menu = t.querySelector(qt))
557                }
558                return this._menu
559            }, t._getPlacement = function () {
560                var t = g(this._element.parentNode), e = Vt;
561                return t.hasClass(jt) ? (e = Qt, g(this._menu).hasClass(xt) && (e = Bt)) : t.hasClass(Ht) ? e = zt : t.hasClass(Rt) ? e = Xt : g(this._menu).hasClass(xt) && (e = Yt), e
562            }, t._detectNavbar = function () {
563                return 0 < g(this._element).closest(".navbar").length
564            }, t._getOffset = function () {
565                var e = this, t = {};
566                return "function" == typeof this._config.offset ? t.fn = function (t) {
567                    return t.offsets = l({}, t.offsets, e._config.offset(t.offsets, e._element) || {}), t
568                } : t.offset = this._config.offset, t
569            }, t._getPopperConfig = function () {
570                var t = {
571                    placement: this._getPlacement(),
572                    modifiers: {
573                        offset: this._getOffset(),
574                        flip: {enabled: this._config.flip},
575                        preventOverflow: {boundariesElement: this._config.boundary}
576                    }
577                };
578                return "static" === this._config.display && (t.modifiers.applyStyle = {enabled: !1}), t
579            }, c._jQueryInterface = function (e) {
580                return this.each(function () {
581                    var t = g(this).data(Dt);
582                    if (t || (t = new c(this, "object" == typeof e ? e : null), g(this).data(Dt, t)), "string" == typeof e) {
583                        if ("undefined" == typeof t[e]) throw new TypeError('No method n
583amed "' + e + '"');
584                        t[e]()
585                    }
586                })
587            }, c._clearMenus = function (t) {
588                if (!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which)) for (var e = [].slice.call(document.querySelectorAll(Ut)), n = 0, i = e.length; n < i; n++) {
589                    var o = c._getParentFromElement(e[n]), r = g(e[n]).data(Dt), s = {relatedTarget: e[n]};
590                    if (t && "click" === t.type && (s.clickEvent = t), r) {
591                        var a = r._menu;
592                        if (g(o).hasClass(Lt) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && 9 === t.which) && g.contains(o, t.target))) {
593                            var l = g.Event(kt.HIDE, s);
594                            g(o).trigger(l), l.isDefaultPrevented() || ("ontouchstart" in document.documentElement && g(document.body).children().off("mouseover", null, g.noop), e[n].setAttribute("aria-expanded", "false"), g(a).removeClass(Lt), g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN, s)))
595                        }
596                    }
597                }
598            }, c._getParentFromElement = function (t) {
599                var e, n = _.getSelectorFromElement(t);
600                return n && (e = document.querySelector(n)), e || t.parentNode
601            }, c._dataApiKeydownHandler = function (t) {
602                if ((/input|textarea/i.test(t.target.tagName) ? !(32 === t.which || 27 !== t.which && (40 !== t.which && 38 !== t.which || g(t.target).closest(qt).length)) : Ot.test(t.which)) && (t.preventDefault(), t.stopPropagation(), !this.disabled && !g(this).hasClass(Pt))) {
603                    var e = c._getParentFromElement(this), n = g(e).hasClass(Lt);
604                    if (n && (!n || 27 !== t.which && 32 !== t.which)) {
605                        var i = [].slice.call(e.querySelectorAll(Kt));
606                        if (0 !== i.length) {
607                            var o = i.indexOf(t.target);
608                            38 === t.which && 0 < o && o--, 40 === t.which && o < i.length - 1 && o++, o < 0 && (o = 0), i[o].focus()
609                        }
610                    } else {
611                        if (27 === t.which) {
612                            var r = e.querySelector(Ut);
613                            g(r).trigger("focus")
614                        }
615                        g(this).trigger("click")
616                    }
617                }
618            }, s(c, null, [{
619                key: "VERSION", get: function () {
620                    return "4.3.1"
621                }
622            }, {
623                key: "Default", get: function () {
624                    return $t
625                }
626            }, {
627                key: "DefaultType", get: function () {
628                    return Gt
629                }
630            }]), c
631        }();
632    g(document).on(kt.KEYDOWN_DATA_API, Ut, Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API, qt, Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API + " " + kt.KEYUP_DATA_API, Jt._clearMenus).on(kt.CLICK_DATA_API, Ut, function (t) {
633        t.preventDefault(), t.stopPropagation(), Jt._jQueryInterface.call(g(this), "toggle")
634    }).on(kt.CLICK_DATA_API, Wt, function (t) {
635        t.stopPropagation()
636    }), g.fn[It] = Jt._jQueryInterface, g.fn[It].Constructor = Jt, g.fn[It].noConflict = function () {
637        return g.fn[It] = Nt, Jt._jQueryInterface
638    };
639    var Zt = "modal", te = "bs.modal", ee = "." + te, ne = g.fn[Zt],
640        ie = {backdrop: !0, keyboard: !0, focus: !0, show: !0},
641        oe = {backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean", show: "boolean"}, re = {
642            HIDE: "hide" + ee,
643            HIDDEN: "hidden" + ee,
644            SHOW: "show" + ee,
645            SHOWN: "shown" + ee,
646            FOCUSIN: "focusin" + ee,
647            RESIZE: "resize" + ee,
648            CLICK_DISMISS: "click.dismiss" + ee,
649            KEYDOWN_DISMISS: "keydown.dismiss" + ee,
650            MOUSEUP_DISMISS: "mouseup.dismiss" + ee,
651            MOUSEDOWN_DISMISS: "mousedown.dismiss" + ee,
652            CLICK_DATA_API: "click" + ee + ".data-api"
653        }
653, se = "modal-dialog-scrollable", ae = "modal-scrollbar-measure", le = "modal-backdrop", ce = "modal-open",
654        he = "fade", ue = "show", fe = ".modal-dialog", de = ".modal-body", ge = '[data-toggle="modal"]',
655        _e = '[data-dismiss="modal"]', me = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", pe = ".sticky-top",
656        ve = function () {
657            function o(t, e) {
658                this._config = this._getConfig(e), this._element = t, this._dialog = t.querySelector(fe), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0
659            }
660
661            var t = o.prototype;
662            return t.toggle = function (t) {
663                return this._isShown ? this.hide() : this.show(t)
664            }, t.show = function (t) {
665                var e = this;
666                if (!this._isShown && !this._isTransitioning) {
667                    g(this._element).hasClass(he) && (this._isTransitioning = !0);
668                    var n = g.Event(re.SHOW, {relatedTarget: t});
669                    g(this._element).trigger(n), this._isShown || n.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), g(this._element).on(re.CLICK_DISMISS, _e, function (t) {
670                        return e.hide(t)
671                    }), g(this._dialog).on(re.MOUSEDOWN_DISMISS, function () {
672                        g(e._element).one(re.MOUSEUP_DISMISS, function (t) {
673                            g(t.target).is(e._element) && (e._ignoreBackdropClick = !0)
674                        })
675                    }), this._showBackdrop(function () {
676                        return e._showElement(t)
677                    }))
678                }
679            }, t.hide = function (t) {
680                var e = this;
681                if (t && t.preventDefault(), this._isShown && !this._isTransitioning) {
682                    var n = g.Event(re.HIDE);
683                    if (g(this._element).trigger(n), this._isShown && !n.isDefaultPrevented()) {
684                        this._isShown = !1;
685                        var i = g(this._element).hasClass(he);
686                        if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), g(document).off(re.FOCUSIN), g(this._element).removeClass(ue), g(this._element).off(re.CLICK_DISMISS), g(this._dialog).off(re.MOUSEDOWN_DISMISS), i) {
687                            var o = _.getTransitionDurationFromElement(this._element);
688                            g(this._element).one(_.TRANSITION_END, function (t) {
689                                return e._hideModal(t)
690                            }).emulateTransitionEnd(o)
691                        } else this._hideModal()
692                    }
693                }
694            }, t.dispose = function () {
695                [window, this._element, this._dialog].forEach(function (t) {
696                    return g(t).off(ee)
697                }), g(document).off(re.FOCUSIN), g.removeData(this._element, te), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null
698            }, t.handleUpdate = function () {
699                this._adjustDialog()
700            }, t._getConfig = function (t) {
701                return t = l({}, ie, t), _.typeCheckConfig(Zt, t, oe), t
702            }, t._showElement = function (t) {
703                var e = this, n = g(this._element).hasClass(he);
704                this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), g(this._dialog).hasClass(se) ? this._dialog.querySelector(de).scrollTop = 0 : this._element.scrollTop = 0, n && _.reflow(this._element), g(this._element).addClass(ue), this._config.focus && this._enforceFocus();
705                var i = g.Event(re.SHOWN, {relatedTarget: t}), o = function () {
706                    e._config.focus && e._element.focus(), e._isTransitioning = !1, g(e._element).trigger(i)
707                };
708                if (n) {
709                    var r = _.getTransitionDurationFromElement(this._dialog);
710                    g(this._dialog).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
711                } else o()
712            }, t._enforceFocus = function () {
713                var e = this;
714                g(document).off(re.FOCUSIN).on(re.FOCUSIN, function (t) {
715                    document !== t.target && e._element !== t.target && 0 === g(e._element).has(t.target).length && e._element.focus()
716                })
717            }, t._setEscapeEvent = function () {
718                var e = this;
719                this._isShown && this._config.keyboard ? g(this._element).on(re.KEYDOWN_DISMISS, function (t) {
720                    27 === t.which && (t.preventDefault(), e.hide())
721                }) : this._isShown || g(this._element).off(re.KEYDOWN_DISMISS)
722            }, t._setResizeEvent = function () {
723                var e = this;
724                this._isShown ? g(window).on(re.RESIZE, function (t) {
725                    return e.handleUpdate(t)
726                }) : g(window).off(re.RESIZE)
727            }, t._hideModal = function () {
728                var t = this;
729                this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._isTransitioning = !1, this._showBackdrop(function () {
730                    g(document.body).removeClass(ce), t._resetAdjustments(), t._resetScrollbar(), g(t._element).trigger(re.HIDDEN)
731                })
732            }, t._removeBackdrop = function () {
733                this._backdrop && (g(this._backdrop).remove(), this._backdrop = null)
734            }, t._showBackdrop = function (t) {
735                var e = this, n = g(this._element).hasClass(he) ? he : "";
736                if (this._isShown && this._config.backdrop) {
737                    if (this._backdrop = document.createElement("div"), this._backdrop.className = le, n && this._backdrop.classList.add(n), g(this._backdrop).appendTo(document.body), g(this._element).on(re.CLICK_DISMISS, function (t) {
738                        e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === e._config.backdrop ? e._element.focus() : e.hide())
739                    }), n && _.reflow(this._backdrop), g(this._backdrop).addClass(ue), !t) return;
740                    if (!n) return void t();
741                    var i = _.getTransitionDurationFromElement(this._backdrop);
742                    g(this._backdrop).one(_.TRANSITION_END, t).emulateTransitionEnd(i)
743                } else if (!this._isShown && this._backdrop) {
744                    g(this._backdrop).removeClass(ue);
745                    var o = function () {
746                        e._removeBackdrop(), t && t()
747                    };
748                    if (g(this._element).hasClass(he)) {
749                        var r = _.getTransitionDurationFromElement(this._backdrop);
750                        g(this._backdrop).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
751                    } else o()
752                } else t && t()
753            }, t._adjustDialog = function () {
754                var t = this._element.scrollHeight > document.documentElement.clientHeight;
755                !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px")
756            }, t._resetAdjustments = function () {
757                this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
758            }, t._checkScrollbar = function () {
759                var t = document.body.getBoundingClientRect();
760                this._isBodyOverflowing = t.left + t.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth()
761            }, t._setScrollbar = function () {
762                var o = this;
763                if (this._isBodyOverflowing) {
764                    var t = [].slice.call(document.querySelectorAll(me)),
765                        e = [].slice.call(document.querySelectorAll(pe));
766                    g(t).each(function (t, e) {
767                        var n = e.style.paddingRight, i = g(e).css("padding-right");
768                        g(e).data("padding-right", n).css("padding-right", parseFloat(i) + o._scrollbarWidth + "px")
769                    }), g(e).each(function (t, e) {
770                        var n = e.style.marginRight, i = g(e).css("margin-right");
771                        g(e).data("margin-right", n).css("margin-right", parseFloat(i) - o._scrollbarWidth + "px")
772                    });
773                    var n = document.body.style.paddingRight, i = g(document.body).css("padding-right");
774                    g(document.body).data("padding-right", n).css("padding-right", parseFloat(i) + this._scrollbarWidth + "px")
775                }
776                g(document.body).addClass(ce)
777            }, t._resetScrollbar = function () {
778                var t = [].slice.call(document.querySelectorAll(me));
779                g(t).each(function (t, e) {
780                    var n = g(e).data("padding-right");
781                    g(e).removeData("padding-right"), e.style.paddingRight = n || ""
782                });
783                var e = [].slice.call(document.querySelectorAll("" + pe));
784                g(e).each(function (t, e) {
785                    var n = g(e).data("margin-right");
786                    "undefined" != typeof n && g(e).css("margin-right", n).removeData("margin-right")
787                });
788                var n = g(document.body).data("padding-right");
789                g(document.body).removeData("padding-right"), document.body.style.paddingRight = n || ""
790            }, t._getScrollbarWidth = function () {
791                var t = document.createElement("div");
792                t.className = ae, document.body.appendChild(t);
793                var e = t.getBoundingClientRect().width - t.clientWidth;
794                return document.body.removeChild(t), e
795            }, o._jQueryInterface = function (n, i) {
796                return this.each(function () {
797                    var t = g(this).data(te), e = l({}, ie, g(this).data(), "object" == typeof n && n ? n : {});
798                    if (t || (t = new o(this, e), g(this).data(te, t)), "string" == typeof n) {
799                        if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
800                        t[n](i)
801                    } else e.show && t.show(i)
802                })
803            }, s(o, null, [{
804                key: "VERSION", get: function () {
805                    return "4.3.1"
806                }
807            }, {
808                key: "Default", get: function () {
809                    return ie
810                }
811            }]), o
812        }();
813    g(document).on(re.CLICK_DATA_API, ge, function (t) {
814        var e, n = this, i = _.getSelectorFromElement(this);
815        i && (e = document.querySelector(i));
816        var o = g(e).data(te) ? "toggle" : l({}, g(e).data(), g(this).data());
817        "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault();
818        var r = g(e).one(re.SHOW, function (t) {
819            t.isDefaultPrevented() || r.one(re.HIDDEN, function () {
820                g(n).is(":visible") && n.focus()
821            })
822        });
823        ve._jQueryInterface.call(g(e), o, this)
824    }), g.fn[Zt] = ve._jQueryInterface, g.fn[Zt].Constructor = ve, g.fn[Zt].noConflict = function () {
825        return g.fn[Zt] = ne, ve._jQueryInterface
826    };
827    var ye = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], Ee = {
828            "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
829            a: ["target", "href", "title", "rel"],
830            area: [],
831            b: [],
832            br: [],
833            col: [],
834            code: [],
835            div: [],
836            em: [],
837            hr: [],
838            h1: [],
839            h2: [],
840            h3: [],
841            h4: [],
842            h5: [],
843            h6: [],
844            i: [],
845            img: ["src", "alt", "title", "width", "height"],
846            li: [],
847            ol: [],
848            p: [],
849            pre: [],
850            s: [],
851            small: [],
852            span: [],
853            sub: [],
854            sup: [],
855            strong: [],
856            u: [],
857            ul: []
858        }, Ce = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,
859        Te = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
860
861    function Se(t, s, e) {
862        if (0 === t.length) return t;
863        if (e && "function" == typeof e) return e(t);
864        for (var n = (new window.DOMParser).parseFromString(t, "text/html"), a = Object.keys(s), l = [].slice.call(n.body.querySelectorAll("*")), i = function (t, e) {
865            var n = l[t], i = n.nodeName.toLowerCase();
866            if (-1 === a.indexOf(n.nodeName.toLowerCase())) return n.parentNode.removeChild(n), "continue";
867            var o = [].slice.call(n.attributes), r = [].concat(s["*"] || [], s[i] || []);
868            o.forEach(function (t) {
869                (function (t, e) {
870                    var n = t.nodeName.toLowerCase();
871                    if (-1 !== e.indexOf(n)) return -1 === ye.indexOf(n) || Boolean(t.nodeValue.match(Ce) || t.nodeValue.match(Te));
872                    for (var i = e.filter(function (t) {
873                        return t instanceof RegExp
874                    }), o = 0, r = i.length; o < r; o++) if (n.match(i[o])) return !0;
875                    return !1
876                })(t, r) || n.removeAttribute(t.nodeName)
877            })
878        }, o = 0, r = l.length; o < r; o++) i(o);
879        return n.body.innerHTML
880    }
881
882    var be = "tooltip", Ie = "bs.tooltip", De = "." + Ie, we = g.fn[be], Ae = "bs-tooltip",
883        Ne = new RegExp("(^|\\s)" + Ae + "\\S+", "g"), Oe = ["sanitize", "whiteList", "sanitizeFn"], ke = {
884            animation: "boolean",
885            template: "string",
886            title: "(string|element|function)",
887            trigger: "string",
888            delay: "(number|object)",
889            html: "boolean",
890            selector: "(string|boolean)",
891            placement: "(string|function)",
892            offset: "(number|string|function)",
893            container: "(string|element|boolean)",
894            fallbackPlacement: "(string|array)",
895            boundary: "(string|element)",
896            sanitize: "boolean",
897            sanitizeFn: "(null|function)",
898            whiteList: "object"
899        }, Pe = {AUTO: "auto", TOP: "top", RIGHT: "right", BOTTOM: "bottom", LEFT: "left"}, Le = {
900            animation: !0,
901            template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
902            trigger: "hover focus",
903            title: "",
904            delay: 0,
905            html: !1,
906            selector: !1,
907            placement: "top",
908            offset: 0,
909            container: !1,
910            fallbackPlacement: "flip",
911            boundary: "scrollParent",
912            sanitize: !0,
913            sanitizeFn: null,
914            whiteList: Ee
915        }, je = "show", He = "out", Re = {
916            HIDE: "hide" + De,
917            HIDDEN: "hidden" + De,
918            SHOW: "show" + De,
919            SHOWN: "shown" + De,
920            INSERTED: "inserted" + De,
921            CLICK: "click" + De,
922            FOCUSIN: "focusin" + De,
923            FOCUSOUT: "focusout" + De,
924            MOUSEENTER: "mouseenter" + De,
925            MOUSELEAVE: "mouseleave" + De
926        }, xe = "fade", Fe = "show", Ue = ".tooltip-inner", We = ".arrow", qe = "hover", Me = "focus", Ke = "click",
927        Qe = "manual", Be = function () {
928            function i(t, e) {
929                if ("undefined" == typeof u) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");
930                this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners()
931            }
932
933            var t = i.prototype;
934            return t.enable = function () {
935                this._isEnabled = !0
936            }, t.disable = function () {
937                this._isEnabled = !1
938            }, t.toggleEnabled = function () {
939                this._isEnabled = !this._isEnabled
940            }, t.toggle = function (t) {
941                if (this._isEnabled) if (t) {
942                    var e = this.constructor.DATA_KEY, n = g(t.currentTarget).data(e);
943                    n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(e, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n)
944                } else {
945                    if (g(this.getTipElement()).hasClass(Fe)) return void this._leave(null, this);
946                    this._enter(null, this)
947                }
948            }
948, t.dispose = function () {
949                clearTimeout(this._timeout), g.removeData(this.element, this.constructor.DATA_KEY), g(this.element).off(this.constructor.EVENT_KEY), g(this.element).closest(".modal").off("hide.bs.modal"), this.tip && g(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, (this._activeTrigger = null) !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
950            }, t.show = function () {
951                var e = this;
952                if ("none" === g(this.element).css("display")) throw new Error("Please use show on visible elements");
953                var t = g.Event(this.constructor.Event.SHOW);
954                if (this.isWithContent() && this._isEnabled) {
955                    g(this.element).trigger(t);
956                    var n = _.findShadowRoot(this.element),
957                        i = g.contains(null !== n ? n : this.element.ownerDocument.documentElement, this.element);
958                    if (t.isDefaultPrevented() || !i) return;
959                    var o = this.getTipElement(), r = _.getUID(this.constructor.NAME);
960                    o.setAttribute("id", r), this.element.setAttribute("aria-describedby", r), this.setContent(), this.config.animation && g(o).addClass(xe);
961                    var s = "function" == typeof this.config.placement ? this.config.placement.call(this, o, this.element) : this.config.placement,
962                        a = this._getAttachment(s);
963                    this.addAttachmentClass(a);
964                    var l = this._getContainer();
965                    g(o).data(this.constructor.DATA_KEY, this), g.contains(this.element.ownerDocument.documentElement, this.tip) || g(o).appendTo(l), g(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new u(this.element, o, {
966                        placement: a,
967                        modifiers: {
968                            offset: this._getOffset(),
969                            flip: {behavior: this.config.fallbackPlacement},
970                            arrow: {element: We},
971                            preventOverflow: {boundariesElement: this.config.boundary}
972                        },
973                        onCreate: function (t) {
974                            t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t)
975                        },
976                        onUpdate: function (t) {
977                            return e._handlePopperPlacementChange(t)
978                        }
979                    }), g(o).addClass(Fe), "ontouchstart" in document.documentElement && g(document.body).children().on("mouseover", null, g.noop);
980                    var c = function () {
981                        e.config.animation && e._fixTransition();
982                        var t = e._hoverState;
983                        e._hoverState = null, g(e.element).trigger(e.constructor.Event.SHOWN), t === He && e._leave(null, e)
984                    };
985                    if (g(this.tip).hasClass(xe)) {
986                        var h = _.getTransitionDurationFromElement(this.tip);
987                        g(this.tip).one(_.TRANSITION_END, c).emulateTransitionEnd(h)
988                    } else c()
989                }
990            }, t.hide = function (t) {
991                var e = this, n = this.getTipElement(), i = g.Event(this.constructor.Event.HIDE), o = function () {
992                    e._hoverState !== je && n.parentNode && n.parentNode.removeChild(n), e._cleanTipClass(), e.element.removeAttribute("aria-describedby"), g(e.element).trigger(e.constructor.Event.HIDDEN), null !== e._popper && e._popper.destroy(), t && t()
993                };
994                if (g(this.element).trigger(i), !i.isDefaultPrevented()) {
995                    if (g(n).removeClass(Fe), "ontouchstart" in document.documentElement && g(document.body).children().off("mouseover", null, g.noop), this._activeTrigger[Ke] = !1, this._activeTrigger[Me] = !1, this._activeTrigger[qe] = !1, g(this.tip).hasClass(xe)) {
996                        var r = _.getTransitionDurationFromElement(n);
997                        g(n).one(_.TRANSITION_END, o).emulateTransitionEnd(r)
998                    } else o();
999                    this._hoverState = ""
1000                }
1001            }, t.update = function () {
1002                null !== this._popper && this._popper.scheduleUpdate()
1003            }, t.isWithContent = function () {
1004                return Boolean(this.getTitle())
1005            }, t.addAttachmentClass = function (t) {
1006                g(this.getTipElement()).addClass(Ae + "-" + t)
1007            }, t.getTipElement = function () {
1008                return this.tip = this.tip || g(this.config.template)[0], this.tip
1009            }, t.setContent = function () {
1010                var t = this.getTipElement();
1011                this.setElementContent(g(t.querySelectorAll(Ue)), this.getTitle()), g(t).removeClass(xe + " " + Fe)
1012            }, t.setElementContent = function (t, e) {
1013                "object" != typeof e || !e.nodeType && !e.jquery ? this.config.html ? (this.config.sanitize && (e = Se(e, this.config.whiteList, this.config.sanitizeFn)), t.html(e)) : t.text(e) : this.config.html ? g(e).parent().is(t) || t.empty().append(e) : t.text(g(e).text())
1014            }, t.getTitle = function () {
1015                var t = this.element.getAttribute("data-original-title");
1016                return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t
1017            }, t._getOffset = function () {
1018                var e = this, t = {};
1019                return "function" == typeof this.config.offset ? t.fn = function (t) {
1020                    return t.offsets = l({}, t.offsets, e.config.offset(t.offsets, e.element) || {}), t
1021                } : t.offset = this.config.offset, t
1022            }, t._getContainer = function () {
1023                return !1 === this.config.container ? document.body : _.isElement(this.config.container) ? g(this.config.container) : g(document).find(this.config.container)
1024            }, t._getAttachment = function (t) {
1025                return Pe[t.toUpperCase()]
1026            }, t._setListeners = function () {
1027                var i = this;
1028                this.config.trigger.split(" ").forEach(function (t) {
1029                    if ("click" === t) g(i.element).on(i.constructor.Event.CLICK, i.config.selector, function (t) {
1030                        return i.toggle(t)
1031                    }); else if (t !== Qe) {
1032                        var e = t === qe ? i.constructor.Event.MOUSEENTER : i.constructor.Event.FOCUSIN,
1033                            n = t === qe ? i.constructor.Event.MOUSELEAVE : i.constructor.Event.FOCUSOUT;
1034                        g(i.element).on(e, i.config.selector, function (t) {
1035                            return i._enter(t)
1036                        }).on(n, i.config.selector, function (t) {
1037                            return i._leave(t)
1038                        })
1039                    }
1040                }), g(this.element).closest(".modal").on("hide.bs.modal", function () {
1041                    i.element && i.hide()
1042                }), this.config.selector ? this.config = l({}, this.config, {
1043                    trigger: "manual",
1044                    selector: ""
1045                }) : this._fixTitle()
1046            }, t._fixTitle = function () {
1047                var t = typeof this.element.getAttribute("data-original-title");
1048                (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
1049            }, t._enter = function (t, e) {
1050                var n = this.constructor.DATA_KEY;
1051                (e = e || g(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(n, e)), t && (e._activeTrigger["focusin" === t.type ? Me : qe] = !0), g(e.getTipElement()).hasClass(Fe) || e._hoverState === je ? e._hoverState = je : (clearTimeout(e._timeout), e._hoverState = je, e.config.delay && e.config.delay.show ? e._timeout = setTimeout(function () {
1052                    e._hoverState === je && e.show()
1053                }, e.config.delay.show) : e.show())
1054            }, t._leave = function (t, e) {
1055                var n = this.constructor.DATA_KEY;
1056                (e = e || g(t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), g(t.currentTarget).data(n, e)), t && (e._activeTrigger["focusout" === t.type ? Me : qe] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = He, e.config.delay && e.config.delay.hide ? e._timeout = setTimeout(function () {
1057                    e._hoverState === He && e.hide()
1058                }, e.config.delay.hide) : e.hide())
1059            }, t._isWithActiveTrigger = function () {
1060                for (var t in this._activeTrigger) if (this._activeTrigger[t]) return !0;
1061                return !1
1062            }, t._getConfig = function (t) {
1063                var e = g(this.element).data();
1064                return Object.keys(e).forEach(function (t) {
1065                    -1 !== Oe.indexOf(t) && delete e[t]
1066                }), "number" == typeof (t = l({}, this.constructor.Default, e, "object" == typeof t && t ? t : {})).delay && (t.delay = {
1067                    show: t.delay,
1068                    hide: t.delay
1069                }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), _.typeCheckConfig(be, t, this.constructor.DefaultType), t.sanitize && (t.template = Se(t.template, t.whiteList, t.sanitizeFn)), t
1070            }, t._getDelegateConfig = function () {
1071                var t = {};
1072                if (this.config) for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
1073                return t
1074            }, t._cleanTipClass = function () {
1075                var t = g(this.getTipElement()), e = t.attr("class").match(Ne);
1076                null !== e && e.length && t.removeClass(e.join(""))
1077            }, t._handlePopperPlacementChange = function (t) {
1078                var e = t.instance;
1079                this.tip = e.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement))
1080            }, t._fixTransition = function () {
1081                var t = this.getTipElement(), e = this.config.animation;
1082                null === t.getAttribute("x-placement") && (g(t).removeClass(xe), this.config.animation = !1, this.hide(), this.show(), this.config.animation = e)
1083            }, i._jQueryInterface = function (n) {
1084                return this.each(function () {
1085                    var t = g(this).data(Ie), e = "object" == typeof n && n;
1086                    if ((t || !/dispose|hide/.test(n)) && (t || (t = new i(this, e), g(this).data(Ie, t)), "string" == typeof n)) {
1087                        if ("undefined" == typeof t[n]) throw new TypeError('No method n
1087amed "' + n + '"');
1088                        t[n]()
1089                    }
1090                })
1091            }, s(i, null, [{
1092                key: "VERSION", get: function () {
1093                    return "4.3.1"
1094                }
1095            }, {
1096                key: "Default", get: function () {
1097                    return Le
1098                }
1099            }, {
1100                key: "NAME", get: function () {
1101                    return be
1102                }
1103            }, {
1104                key: "DATA_KEY", get: function () {
1105                    return Ie
1106                }
1107            }, {
1108                key: "Event", get: function () {
1109                    return Re
1110                }
1111            }, {
1112                key: "EVENT_KEY", get: function () {
1113                    return De
1114                }
1115            }, {
1116                key: "DefaultType", get: function () {
1117                    return ke
1118                }
1119            }]), i
1120        }();
1121    g.fn[be] = Be._jQueryInterface, g.fn[be].Constructor = Be, g.fn[be].noConflict = function () {
1122        return g.fn[be] = we, Be._jQueryInterface
1123    };
1124    var Ve = "popover", Ye = "bs.popover", ze = "." + Ye, Xe = g.fn[Ve], $e = "bs-popover",
1125        Ge = new RegExp("(^|\\s)" + $e + "\\S+", "g"), Je = l({}, Be.Default, {
1126            placement: "right",
1127            trigger: "click",
1128            content: "",
1129            template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
1130        }), Ze = l({}, Be.DefaultType, {content: "(string|element|function)"}), tn = "fade", en = "show",
1131        nn = ".popover-header", on = ".popover-body", rn = {
1132            HIDE: "hide" + ze,
1133            HIDDEN: "hidden" + ze,
1134            SHOW: "show" + ze,
1135            SHOWN: "shown" + ze,
1136            INSERTED: "inserted" + ze,
1137            CLICK: "click" + ze,
1138            FOCUSIN: "focusin" + ze,
1139            FOCUSOUT: "focusout" + ze,
1140            MOUSEENTER: "mouseenter" + ze,
1141            MOUSELEAVE: "mouseleave" + ze
1142        }, sn = function (t) {
1143            var e, n;
1144
1145            function i() {
1146                return t.apply(this, arguments) || this
1147            }
1148
1149            n = t, (e = i).prototype = Object.create(n.prototype), (e.prototype.constructor = e).__proto__ = n;
1150            var o = i.prototype;
1151            return o.isWithContent = function () {
1152                return this.getTitle() || this._getContent()
1153            }, o.addAttachmentClass = function (t) {
1154                g(this.getTipElement()).addClass($e + "-" + t)
1155            }, o.getTipElement = function () {
1156                return this.tip = this.tip || g(this.config.template)[0], this.tip
1157            }, o.setContent = function () {
1158                var t = g(this.getTipElement());
1159                this.setElementContent(t.find(nn), this.getTitle());
1160                var e = this._getContent();
1161                "function" == typeof e && (e = e.call(this.element)), this.setElementContent(t.find(on), e), t.removeClass(tn + " " + en)
1162            }, o._getContent = function () {
1163                return this.element.getAttribute("data-content") || this.config.content
1164            }, o._cleanTipClass = function () {
1165                var t = g(this.getTipElement()), e = t.attr("class").match(Ge);
1166                null !== e && 0 < e.length && t.removeClass(e.join(""))
1167            }, i._jQueryInterface = function (n) {
1168                return this.each(function () {
1169                    var t = g(this).data(Ye), e = "object" == typeof n ? n : null;
1170                    if ((t || !/dispose|hide/.test(n)) && (t || (t = new i(this, e), g(this).data(Ye, t)), "string" == typeof n)) {
1171                        if ("undefined" == typeof t[n]) throw new TypeError('No method named "' + n + '"');
1172                        t[n]()
1173                    }
1174                })
1175            }, s(i, null, [{
1176                key: "VERSION", get: function () {
1177                    return "4.3.1"
1178                }
1179            }, {
1180                key: "Default", get: function () {
1181                    return Je
1182                }
1183            }, {
1184                key: "NAME", get: function () {
1185                    return Ve
1186                }
1187            }, {
1188                key: "DATA_KEY", get: function () {
1189                    return Ye
1190                }
1191            }, {
1192                key: "Event", get: function () {
1193                    return rn
1194                }
1195            }, {
1196                key: "EVENT_KEY", get: function () {
1197                    return ze
1198                }
1199            }, {
1200                key: "DefaultType", get: function () {
1201                    return Ze
1202                }
1203            }]), i
1204        }(Be);
1205    g.fn[Ve] = sn._jQueryInterface, g.fn[Ve].Constructor = sn, g.fn[Ve].noConflict = function () {
1206        return g.fn[Ve] = Xe, sn._jQueryInterface
1207    };
1208    var an = "scrollspy", ln = "bs.scrollspy", cn = "." + ln, hn = g.fn[an],
1209        un = {offset: 10, method: "auto", target: ""},
1210        fn = {offset: "number", method: "string", target: "(string|element)"},
1211        dn = {ACTIVATE: "activate" + cn, SCROLL: "scroll" + cn, LOAD_DATA_API: "load" + cn + ".data-api"},
1212        gn = "dropdown-item", _n = "active", mn = '[data-spy="scroll"]', pn = ".nav, .list-group", vn = ".nav-link",
1213        yn = ".nav-item", En = ".list-group-item", Cn = ".dropdown", Tn = ".dropdown-item", Sn = ".dropdown-toggle",
1214        bn = "offset", In = "position", Dn = function () {
1215            function n(t, e) {
1216                var n = this;
1217                this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(e), this._selector = this._config.target + " " + vn + "," + this._config.target + " " + En + "," + this._config.target + " " + Tn, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, g(this._scrollElement).on(dn.SCROLL, function (t) {
1218                    return n._process(t)
1219                }), this.refresh(), this._process()
1220            }
1221
1222            var t = n.prototype;
1223            return t.refresh = function () {
1224                var e = this, t = this._scrollElement === this._scrollElement.window ? bn : In,
1225                    o = "auto" === this._config.method ? t : this._config.method, r = o === In ? this._getScrollTop() : 0;
1226                this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function (t) {
1227                    var e, n = _.getSelectorFromElement(t);
1228                    if (n && (e = document.querySelector(n)), e) {
1229                        var i = e.getBoundingClientRect();
1230                        if (i.width || i.height) return [g(e)[o]().top + r, n]
1231                    }
1232                    return null
1233                }).filter(function (t) {
1234                    return t
1235                }).sort(function (t, e) {
1236                    return t[0] - e[0]
1237                }
1237).forEach(function (t) {
1238                    e._offsets.push(t[0]), e._targets.push(t[1])
1239                })
1240            }, t.dispose = function () {
1241                g.removeData(this._element, ln), g(this._scrollElement).off(cn), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null
1242            }, t._getConfig = function (t) {
1243                if ("string" != typeof (t = l({}, un, "object" == typeof t && t ? t : {})).target) {
1244                    var e = g(t.target).attr("id");
1245                    e || (e = _.getUID(an), g(t.target).attr("id", e)), t.target = "#" + e
1246                }
1247                return _.typeCheckConfig(an, t, fn), t
1248            }, t._getScrollTop = function () {
1249                return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop
1250            }, t._getScrollHeight = function () {
1251                return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)
1252            }, t._getOffsetHeight = function () {
1253                return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height
1254            }, t._process = function () {
1255                var t = this._getScrollTop() + this._config.offset, e = this._getScrollHeight(),
1256                    n = this._config.offset + e - this._getOffsetHeight();
1257                if (this._scrollHeight !== e && this.refresh(), n <= t) {
1258                    var i = this._targets[this._targets.length - 1];
1259                    this._activeTarget !== i && this._activate(i)
1260                } else {
1261                    if (this._activeTarget && t < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear();
1262                    for (var o = this._offsets.length; o--;) {
1263                        this._activeTarget !== this._targets[o] && t >= this._offsets[o] && ("undefined" == typeof this._offsets[o + 1] || t < this._offsets[o + 1]) && this._activate(this._targets[o])
1264                    }
1265                }
1266            }, t._activate = function (e) {
1267                this._activeTarget = e, this._clear();
1268                var t = this._selector.split(",").map(function (t) {
1269                    return t + '[data-target="' + e + '"],' + t + '[href="' + e + '"]'
1270                }), n = g([].slice.call(document.querySelectorAll(t.join(","))));
1271                n.hasClass(gn) ? (n.closest(Cn).find(Sn).addClass(_n), n.addClass(_n)) : (n.addClass(_n), n.parents(pn).prev(vn + ", " + En).addClass(_n), n.parents(pn).prev(yn).children(vn).addClass(_n)), g(this._scrollElement).trigger(dn.ACTIVATE, {relatedTarget: e})
1272            }, t._clear = function () {
1273                [].slice.call(document.querySelectorAll(this._selector)).filter(function (t) {
1274                    return t.classList.contains(_n)
1275                }
1275).forEach(function (t) {
1276                    return t.classList.remove(_n)
1277                })
1278            }, n._jQueryInterface = function (e) {
1279                return this.each(function () {
1280                    var t = g(this).data(ln);
1281                    if (t || (t = new n(this, "object" == typeof e && e), g(this).data(ln, t)), "string" == typeof e) {
1282                        if ("undefined" == typeof t[e]) throw new TypeError('No method named "' + e + '"');
1283                        t[e]()
1284                    }
1285                })
1286            }, s(n, null, [{
1287                key: "VERSION", get: function () {
1288                    return "4.3.1"
1289                }
1290            }, {
1291                key: "Default", get: function () {
1292                    return un
1293                }
1294            }]), n
1295        }();
1296    g(window).on(dn.LOAD_DATA_API, function () {
1297        for (var t = [].slice.call(document.querySelectorAll(mn)), e = t.length; e--;) {
1298            var n = g(t[e]);
1299            Dn._jQueryInterface.call(n, n.data())
1300        }
1301    }), g.fn[an] = Dn._jQueryInterface, g.fn[an].Constructor = Dn, g.fn[an].noConflict = function () {
1302        return g.fn[an] = hn, Dn._jQueryInterface
1303    };
1304    var wn = "bs.tab", An = "." + wn, Nn = g.fn.tab, On = {
1305            HIDE: "hide" + An,
1306            HIDDEN: "hidden" + An,
1307            SHOW: "show" + An,
1308            SHOWN: "shown" + An,
1309            CLICK_DATA_API: "click" + An + ".data-api"
1310        }, kn = "dropdown-menu", Pn = "active", Ln = "disabled", jn = "fade", Hn = "show", Rn = ".dropdown",
1311        xn = ".nav, .list-group", Fn = ".active", Un = "> li > .active",
1312        Wn = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', qn = ".dropdown-toggle",
1313        Mn = "> .dropdown-menu .active", Kn = function () {
1314            function i(t) {
1315                this._element = t
1316            }
1317
1318            var t = i.prototype;
1319            return t.show = function () {
1320                var n = this;
1321                if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && g(this._element).hasClass(Pn) || g(this._element).hasClass(Ln))) {
1322                    var t, i, e = g(this._element).closest(xn)[0], o = _.getSelectorFromElement(this._element);
1323                    if (e) {
1324                        var r = "UL" === e.nodeName || "OL" === e.nodeName ? Un : Fn;
1325                        i = (i = g.makeArray(g(e).find(r)))[i.length - 1]
1326                    }
1327                    var s = g.Event(On.HIDE, {relatedTarget: this._element}), a = g.Event(On.SHOW, {relatedTarget: i});
1328                    if (i && g(i).trigger(s), g(this._element).trigger(a), !a.isDefaultPrevented() && !s.isDefaultPrevented()) {
1329                        o && (t = document.querySelector(o)), this._activate(this._element, e);
1330                        var l = function () {
1331                            var t = g.Event(On.HIDDEN, {relatedTarget: n._element}),
1332                                e = g.Event(On.SHOWN, {relatedTarget: i});
1333                            g(i).trigger(t), g(n._element).trigger(e)
1334                        };
1335                        t ? this._activate(t, t.parentNode, l) : l()
1336                    }
1337                }
1338            }, t.dispose = function () {
1339                g.removeData(this._element, wn), this._element = null
1340            }, t._activate = function (t, e, n) {
1341                var i = this, o = (!e || "UL" !== e.nodeName && "OL" !== e.nodeName ? g(e).children(Fn) : g(e).find(Un))[0],
1342                    r = n && o && g(o).hasClass(jn), s = function () {
1343                        return i._transitionComplete(t, o, n)
1344                    };
1345                if (o && r) {
1346                    var a = _.getTransitionDurationFromElement(o);
1347                    g(o).removeClass(Hn).one(_.TRANSITION_END, s).emulateTransitionEnd(a)
1348                } else s()
1349            }, t._transitionComplete = function (t, e, n) {
1350                if (e) {
1351                    g(e).removeClass(Pn);
1352                    var i = g(e.parentNode).find(Mn)[0];
1353                    i && g(i).removeClass(Pn), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !1)
1354                }
1355                if (g(t).addClass(Pn), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), _.reflow(t), t.classList.contains(jn) && t.classList.add(Hn), t.parentNode && g(t.parentNode).hasClass(kn)) {
1356                    var o = g(t).closest(Rn)[0];
1357                    if (o) {
1358                        var r = [].slice.call(o.querySelectorAll(qn));
1359                        g(r).addClass(Pn)
1360                    }
1361                    t.setAttribute("aria-expanded", !0)
1362                }
1363                n && n()
1364            }, i._jQueryInterface = function (n) {
1365                return this.each(function () {
1366                    var t = g(this), e = t.data(wn);
1367                    if (e || (e = new i(this), t.data(wn, e)), "string" == typeof n) {
1368                        if ("undefined" == typeof e[n]) throw new TypeError('No method n
1368amed "' + n + '"');
1369                        e[n]()
1370                    }
1371                })
1372            }, s(i, null, [{
1373                key: "VERSION", get: function () {
1374                    return "4.3.1"
1375                }
1376            }]), i
1377        }();
1378    g(document).on(On.CLICK_DATA_API, Wn, function (t) {
1379        t.preventDefault(), Kn._jQueryInterface.call(g(this), "show")
1380    }), g.fn.tab = Kn._jQueryInterface, g.fn.tab.Constructor = Kn, g.fn.tab.noConflict = function () {
1381        return g.fn.tab = Nn, Kn._jQueryInterface
1382    };
1383    var Qn = "toast", Bn = "bs.toast", Vn = "." + Bn, Yn = g.fn[Qn], zn = {
1384            CLICK_DISMISS: "click.dismiss" + Vn,
1385            HIDE: "hide" + Vn,
1386            HIDDEN: "hidden" + Vn,
1387            SHOW: "show" + Vn,
1388            SHOWN: "shown" + Vn
1389        }, Xn = "fade", $n = "hide", Gn = "show", Jn = "showing",
1390        Zn = {animation: "boolean", autohide: "boolean", delay: "number"},
1391        ti = {animation: !0, autohide: !0, delay: 500}, ei = '[data-dismiss="toast"]', ni = function () {
1392            function i(t, e) {
1393                this._element = t, this._config = this._getConfig(e), this._timeout = null, this._setListeners()
1394            }
1395
1396            var t = i.prototype;
1397            return t.show = function () {
1398                var t = this;
1399                g(this._element).trigger(zn.SHOW), this._config.animation && this._element.classList.add(Xn);
1400                var e = function () {
1401                    t._element.classList.remove(Jn), t._element.classList.add(Gn), g(t._element).trigger(zn.SHOWN), t._config.autohide && t.hide()
1402                };
1403                if (this._element.classList.remove($n), this._element.classList.add(Jn), this._config.animation) {
1404                    var n = _.getTransitionDurationFromElement(this._element);
1405                    g(this._element).one(_.TRANSITION_END, e).emulateTransitionEnd(n)
1406                } else e()
1407            }, t.hide = function (t) {
1408                var e = this;
1409                this._element.classList.contains(Gn) && (g(this._element).trigger(zn.HIDE), t ? this._close() : this._timeout = setTimeout(function () {
1410                    e._close()
1411                }, this._config.delay))
1412            }, t.dispose = function () {
1413                clearTimeout(this._timeout), this._timeout = null, this._element.classList.contains(Gn) && this._element.classList.remove(Gn), g(this._element).off(zn.CLICK_DISMISS), g.removeData(this._element, Bn), this._element = null, this._config = null
1414            }, t._getConfig = function (t) {
1415                return t = l({}, ti, g(this._element).data(), "object" == typeof t && t ? t : {}), _.typeCheckConfig(Qn, t, this.constructor.DefaultType), t
1416            }, t._setListeners = function () {
1417                var t = this;
1418                g(this._element).on(zn.CLICK_DISMISS, ei, function () {
1419                    return t.hide(!0)
1420                })
1421            }, t._close = function () {
1422                var t = this, e = function () {
1423                    t._element.classList.add($n), g(t._element).trigger(zn.HIDDEN)
1424                };
1425                if (this._element.classList.remove(Gn), this._config.animation) {
1426                    var n = _.getTransitionDurationFromElement(this._element);
1427                    g(this._element).one(_.TRANSITION_END, e).emulateTransitionEnd(n)
1428                } else e()
1429            }, i._jQueryInterface = function (n) {
1430                return this.each(function () {
1431                    var t = g(this), e = t.data(Bn);
1432                    if (e || (e = new i(this, "object" == typeof n && n), t.data(Bn, e)), "string" == typeof n) {
1433                        if ("undefined" == typeof e[n]) throw new TypeError('No method named "' + n + '"');
1434                        e[n](this)
1435                    }
1436                })
1437            }, s(i, null, [{
1438                key: "VERSION", get: function () {
1439                    return "4.3.1"
1440                }
1441            }, {
1442                key: "DefaultType", get: function () {
1443                    return Zn
1444                }
1445            }, {
1446                key: "Default", get: function () {
1447                    return ti
1448                }
1449            }]), i
1450        }();
1451    g.fn[Qn] = ni._jQueryInterface, g.fn[Qn].Constructor = ni, g.fn[Qn].noConflict = function () {
1452        return g.fn[Qn] = Yn, ni._jQueryInterface
1453    }, function () {
1454        if ("undefined" == typeof g) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");
1455        var t = g.fn.jquery.split(" ")[0].split(".");
1456        if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || 4 <= t[0]) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")
1457    }(), t.Util = _, t.Alert = p, t.Button = P, t.Carousel = lt, t.Collapse = bt, t.Dropdown = Jt, t.Modal = ve, t.Popover = sn, t.Scrollspy = Dn, t.Tab = Kn, t.Toast = ni, t.Tooltip = Be, Object.defineProperty(t, "__esModule", {value: !0})
1458});
1459//# sourceMappingURL=bootstrap.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.