From ac67e04ce016406377595291ff1357eda63cc311 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Mon, 11 Mar 2019 17:13:30 +0200 Subject: [PATCH] Dist. --- dist/js/bootstrap.bundle.js | 99 +- dist/js/bootstrap.bundle.js.map | Bin 448366 -> 444938 bytes dist/js/bootstrap.bundle.min.js | 2 +- dist/js/bootstrap.bundle.min.js.map | Bin 347871 -> 345100 bytes dist/js/bootstrap.esm.js | 4949 +++++++++++++++++++++++++++ dist/js/bootstrap.esm.js.map | Bin 0 -> 275355 bytes dist/js/bootstrap.esm.min.js | 7 + dist/js/bootstrap.esm.min.js.map | Bin 0 -> 217566 bytes dist/js/bootstrap.js | 99 +- dist/js/bootstrap.js.map | Bin 296686 -> 293258 bytes dist/js/bootstrap.min.js | 2 +- dist/js/bootstrap.min.js.map | Bin 226174 -> 223398 bytes js/dist/alert.js | 5 +- js/dist/alert.js.map | Bin 15810 -> 15657 bytes js/dist/button.js | 3 +- js/dist/button.js.map | Bin 15274 -> 15070 bytes js/dist/carousel.js | 7 +- js/dist/carousel.js.map | Bin 46183 -> 45628 bytes js/dist/collapse.js | 28 +- js/dist/collapse.js.map | Bin 33611 -> 33111 bytes js/dist/dom/data.js.map | Bin 3260 -> 3262 bytes js/dist/dom/eventhandler.js | 10 +- js/dist/dom/eventhandler.js.map | Bin 24699 -> 24874 bytes js/dist/dom/manipulator.js.map | Bin 4585 -> 4581 bytes js/dist/dom/polyfill.js | 5 +- js/dist/dom/polyfill.js.map | Bin 9697 -> 9666 bytes js/dist/dom/selectorengine.js | 7 +- js/dist/dom/selectorengine.js.map | Bin 10027 -> 9924 bytes js/dist/dropdown.js | 8 +- js/dist/dropdown.js.map | Bin 39489 -> 38958 bytes js/dist/modal.js | 12 +- js/dist/modal.js.map | Bin 44874 -> 44299 bytes js/dist/popover.js | 3 +- js/dist/popover.js.map | Bin 14323 -> 14129 bytes js/dist/scrollspy.js | 11 +- js/dist/scrollspy.js.map | Bin 26970 -> 26429 bytes js/dist/tab.js | 5 +- js/dist/tab.js.map | Bin 22123 -> 21849 bytes js/dist/toast.js | 3 +- js/dist/toast.js.map | Bin 19037 -> 18882 bytes js/dist/tooltip.js | 6 +- js/dist/tooltip.js.map | Bin 60146 -> 59480 bytes 42 files changed, 5112 insertions(+), 159 deletions(-) create mode 100644 dist/js/bootstrap.esm.js create mode 100644 dist/js/bootstrap.esm.js.map create mode 100644 dist/js/bootstrap.esm.min.js create mode 100644 dist/js/bootstrap.esm.min.js.map diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js index 65dcc6f1e..dfe46deef 100644 --- a/dist/js/bootstrap.bundle.js +++ b/dist/js/bootstrap.bundle.js @@ -4,10 +4,10 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = global || self, factory(global.bootstrap = {})); -}(this, function (exports) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.bootstrap = factory()); +}(this, function () { 'use strict'; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { @@ -74,7 +74,8 @@ var MAX_UID = 1000000; var MILLISECONDS_MULTIPLIER = 1000; var TRANSITION_END = 'transitionend'; - var jQuery = window.jQuery; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + var _window = window, + jQuery = _window.jQuery; // Shoutout AngusCroll (https://goo.gl/pxwQGp) var toType = function toType(obj) { return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); @@ -105,7 +106,7 @@ try { return document.querySelector(selector) ? selector : null; - } catch (err) { + } catch (error) { return null; } }; @@ -322,7 +323,7 @@ try { element.querySelectorAll(':scope *'); - } catch (e) { + } catch (error) { return false; } @@ -414,13 +415,14 @@ function getEvent(element) { var uid = getUidEvent(element); element.uidEvent = uid; - return eventRegistry[uid] = eventRegistry[uid] || {}; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; } function fixEvent(event, element) { // Add which for key events if (event.which === null && keyEventRegex.test(event.type)) { - event.which = event.charCode !== null ? event.charCode : event.keyCode; + event.which = event.charCode === null ? event.keyCode : event.charCode; } event.delegateTarget = element; @@ -525,7 +527,7 @@ } var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); - var fn = !delegation ? bootstrapHandler(element, handler) : bootstrapDelegationHandler(element, handler, delegationFn); + var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); fn.delegationSelector = delegation ? handler : null; fn.originalHandler = originalHandler; fn.oneOff = oneOff; @@ -681,8 +683,8 @@ * ------------------------------------------------------------------------ */ - var findFn = Polyfill.find; - var _findOne = Polyfill.findOne; + var findFn = Polyfill.find, + _findOne = Polyfill.findOne; var NODE_TEXT = 3; var SelectorEngine = { matches: function matches(element, selector) { @@ -1723,7 +1725,7 @@ data.to(config); } else if (typeof action === 'string') { if (typeof data[action] === 'undefined') { - throw new Error("No method named \"" + action + "\""); + throw new TypeError("No method named \"" + action + "\""); } data[action](); @@ -2101,19 +2103,18 @@ _proto._getParent = function _getParent() { var _this3 = this; - var parent; + var parent = this._config.parent; - if (isElement(this._config.parent)) { - parent = this._config.parent; // it's a jQuery object - - if (typeof this._config.parent.jquery !== 'undefined' || typeof this._config.parent[0] !== 'undefined') { - parent = this._config.parent[0]; + if (isElement(parent)) { + // it's a jQuery object + if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') { + parent = parent[0]; } } else { - parent = SelectorEngine.findOne(this._config.parent); + parent = SelectorEngine.findOne(parent); } - var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + parent + "\"]"; makeArray(SelectorEngine.find(selector, parent)).forEach(function (element) { _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); }); @@ -2126,10 +2127,10 @@ if (triggerArray.length) { triggerArray.forEach(function (elem) { - if (!isOpen) { - elem.classList.add(ClassName$3.COLLAPSED); - } else { + if (isOpen) { elem.classList.remove(ClassName$3.COLLAPSED); + } else { + elem.classList.add(ClassName$3.COLLAPSED); } elem.setAttribute('aria-expanded', isOpen); @@ -2159,7 +2160,7 @@ if (typeof config === 'string') { if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); + throw new TypeError("No method named \"" + config + "\""); } data[config](); @@ -4863,7 +4864,6 @@ DROPRIGHT: 'dropright', DROPLEFT: 'dropleft', MENURIGHT: 'dropdown-menu-right', - MENULEFT: 'dropdown-menu-left', POSITION_STATIC: 'position-static' }; var Selector$4 = { @@ -5169,7 +5169,7 @@ if (typeof config === 'string') { if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); + throw new TypeError("No method named \"" + config + "\""); } data[config](); @@ -5774,7 +5774,6 @@ } } // ---------------------------------------------------------------------- // the following methods are used to handle overflowing modals - // todo (fat): these should probably be refactored out of modal.js // ---------------------------------------------------------------------- ; @@ -5853,11 +5852,11 @@ var padding = Manipulator.getDataAttribute(document.body, 'padding-right'); - if (typeof padding !== 'undefined') { + if (typeof padding === 'undefined') { + document.body.style.paddingRight = ''; + } else { Manipulator.removeDataAttribute(document.body, 'padding-right'); document.body.style.paddingRight = padding; - } else { - document.body.style.paddingRight = ''; } }; @@ -6168,7 +6167,6 @@ SHOW: 'show' }; var Selector$6 = { - TOOLTIP: '.tooltip', TOOLTIP_INNER: '.tooltip-inner', TOOLTIP_ARROW: '.tooltip-arrow' }; @@ -6296,7 +6294,7 @@ if (this.isWithContent() && this._isEnabled) { var showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW); var shadowRoot = findShadowRoot(this.element); - var isInTheDom = shadowRoot !== null ? shadowRoot.contains(this.element) : this.element.ownerDocument.documentElement.contains(this.element); + var isInTheDom = shadowRoot === null ? this.element.ownerDocument.documentElement.contains(this.element) : shadowRoot.contains(this.element); if (showEvent.defaultPrevented || !isInTheDom) { return; @@ -7068,18 +7066,15 @@ }; var ClassName$8 = { DROPDOWN_ITEM: 'dropdown-item', - DROPDOWN_MENU: 'dropdown-menu', ACTIVE: 'active' }; var Selector$8 = { DATA_SPY: '[data-spy="scroll"]', - ACTIVE: '.active', NAV_LIST_GROUP: '.nav, .list-group', NAV_LINKS: '.nav-link', NAV_ITEMS: '.nav-item', LIST_ITEMS: '.list-group-item', DROPDOWN: '.dropdown', - DROPDOWN_ITEMS: '.dropdown-item', DROPDOWN_TOGGLE: '.dropdown-toggle' }; var OffsetMethod = { @@ -7102,7 +7097,7 @@ this._element = element; this._scrollElement = element.tagName === 'BODY' ? window : element; this._config = this._getConfig(config); - this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS); + this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " ." + ClassName$8.DROPDOWN_ITEM); this._offsets = []; this._targets = []; this._activeTarget = null; @@ -7143,7 +7138,6 @@ var targetBCR = target.getBoundingClientRect(); if (targetBCR.width || targetBCR.height) { - // TODO (fat): remove sketch reliance on jQuery position/offset return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector]; } } @@ -7820,24 +7814,25 @@ /** * -------------------------------------------------------------------------- - * Bootstrap (v4.3.1): index.js + * Bootstrap (v4.3.1): index.umd.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ + var index_umd = { + Alert: Alert, + Button: Button, + Carousel: Carousel, + Collapse: Collapse, + Dropdown: Dropdown, + Modal: Modal, + Popover: Popover, + ScrollSpy: ScrollSpy, + Tab: Tab, + Toast: Toast, + Tooltip: Tooltip + }; - exports.Alert = Alert; - exports.Button = Button; - exports.Carousel = Carousel; - exports.Collapse = Collapse; - exports.Dropdown = Dropdown; - exports.Modal = Modal; - exports.Popover = Popover; - exports.ScrollSpy = ScrollSpy; - exports.Tab = Tab; - exports.Toast = Toast; - exports.Tooltip = Tooltip; - - Object.defineProperty(exports, '__esModule', { value: true }); + return index_umd; })); //# sourceMappingURL=bootstrap.bundle.js.map diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map index b7965ad5ca249cf76d64e72533a8249ef5994ca9..27d752d4938be2bf8e90bea8b0c19e029bb84c66 100644 GIT binary patch delta 48695 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,[i,o,r]}function M(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=H(e,n,i),s=r[0],a=r[1],l=r[2],c=k(t),f=c[l]||(c[l]={}),u=x(f,a,s?n:null);if(u)u.oneOff=u.oneOff&&o;else{var h=N(a,e.replace(D,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return P(o,s),i.oneOff&&R.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return P(i,t),n.oneOff&&R.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,f[h]=d,t.addEventListener(l,d,s)}}}function j(t,e,n,i,o){var r=x(e[n],i,o);null!==r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var R={on:function(t,e,n,i){M(t,e,n,i,!1)},one:function(t,e,n,i){M(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=H(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=k(t),f="."===e.charAt(0);if(void 0===s){f&&Object.keys(c).forEach(function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach(function(r){if(r.indexOf(i)>-1){var s=o[r];j(t,e,n,s.originalHandler,s.delegationSelector)}})}(t,c,n,e.substr(1))});var u=c[a]||{};Object.keys(u).forEach(function(n){var i=n.replace(A,"");if(!l||e.indexOf(i)>-1){var o=u[n];j(t,c,a,o.originalHandler,o.delegationSelector)}})}else{if(!c||!c[a])return;j(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(T,""),r=e!==o,s=C.indexOf(o)>-1,a=!0,c=!0,f=!1,u=null;return r&&void 0!==l&&(i=l.Event(e,n),l(t).trigger(i),a=!i.isPropagationStopped(),c=!i.isImmediatePropagationStopped(),f=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=new CustomEvent(e,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach(function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})}),f&&(u.preventDefault(),w.defaultPreventedPreservedOnDispatch||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),c&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},W=w.find,F=w.findOne,U={matches:function(t,e){return t.matches(e)},find:function(t,e){return void 0===e&&(e=document.documentElement),"string"!=typeof t?null:W.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),"string"!=typeof t?null:F.call(e,t)},children:function(t,e){var n=this;if("string"!=typeof e)return null;var i=m(t.children);return i.filter(function(t){return n.matches(t,e)})},parents:function(t,e){if("string"!=typeof e)return null;for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return"string"!=typeof e?null:t.closest(e)},prev:function(t,e){if("string"!=typeof e)return null;for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},B="bs.alert",K="."+B,V={CLOSE:"close"+K,CLOSED:"closed"+K,CLICK_DATA_API:"click"+K+".data-api"},Y="alert",Q="fade",G="show",q=function(){function t(t){this._element=t,this._element&&E.setData(t,B,this)}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){E.removeData(this._element,B),this._element=null},e._getRootElement=function(t){var e=f(t),n=!1;return e&&(n=U.findOne(e)),n||(n=U.closest(t,"."+Y)),n},e._triggerCloseEvent=function(t){return R.trigger(t,V.CLOSE)},e._removeElement=function(t){var e=this;if(t.classList.remove(G),t.classList.contains(Q)){var n=u(t);R.one(t,a,function(n){return e._destroyElement(t,n)}),p(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),R.trigger(t,V.CLOSED)},t._jQueryInterface=function(e){return this.each(function(){var n=E.getData(this,B);n||(n=new t(this)),"close"===e&&n[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t._getInstance=function(t){return E.getData(t,B)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();if(R.on(document,V.CLICK_DATA_API,'[data-dismiss="alert"]',q._handleDismiss(new q)),void 0!==l){var X=l.fn.alert;l.fn.alert=q._jQueryInterface,l.fn.alert.Constructor=q,l.fn.alert.noConflict=function(){return l.fn.alert=X,q._jQueryInterface}}var z="bs.button",Z="."+z,$="active",J="btn",tt="focus",et='[data-toggle^="button"]',nt='[data-toggle="buttons"]',it='input:not([type="hidden"])',ot=".active",rt=".btn",st={CLICK_DATA_API:"click"+Z+".data-api",FOCUS_DATA_API:"focus"+Z+".data-api",BLUR_DATA_API:"blur"+Z+".data-api"},at=function(){function t(t){this._element=t,E.setData(t,z,this)}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=U.closest(this._element,nt);if(n){var i=U.findOne(it,this._element);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains($))t=!1;else{var o=U.findOne(ot,n);o&&o.classList.remove($)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains($),R.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains($)),t&&this._element.classList.toggle($)},e.dispose=function(){E.removeData(this._element,z),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=E.getData(this,z);n||(n=new t(this)),"toggle"===e&&n[e]()})},t._getInstance=function(t){return E.getData(t,z)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();if(R.on(document,st.CLICK_DATA_API,et,function(t){t.preventDefault();var e=t.target;e.classList.contains(J)||(e=U.closest(e,rt));var n=E.getData(e,z);n||(n=new at(e),E.setData(e,z,n)),n.toggle()}),R.on(document,st.FOCUS_DATA_API,et,function(t){U.closest(t.target,rt).classList.add(tt)}),R.on(document,st.BLUR_DATA_API,et,function(t){U.closest(t.target,rt).classList.remove(tt)}),void 0!==l){var lt=l.fn.button;l.fn.button=at._jQueryInterface,l.fn.button.Constructor=at,l.fn.button.noConflict=function(){return l.fn.button=lt,at._jQueryInterface}}function ct(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function ft(t){return t.replace(/[A-Z]/g,function(t){return t.toLowerCase()})}var ut={setDataAttribute:function(t,e,n){t.setAttribute("data-"+ft(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+ft(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach(function(t){e[t]=ct(e[t])}),e},getDataAttribute:function(t,e){return ct(t.getAttribute("data-"+ft(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},ht="carousel",dt="bs.carousel",pt="."+dt,gt={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},mt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},_t="next",vt="prev",bt="left",yt="right",Et={SLIDE:"slide"+pt,SLID:"slid"+pt,KEYDOWN:"keydown"+pt,MOUSEENTER:"mouseenter"+pt,MOUSELEAVE:"mouseleave"+pt,TOUCHSTART:"touchstart"+pt,TOUCHMOVE:"touchmove"+pt,TOUCHEND:"touchend"+pt,POINTERDOWN:"pointerdown"+pt,POINTERUP:"pointerup"+pt,DRAG_START:"dragstart"+pt,LOAD_DATA_API:"load"+pt+".data-api",CLICK_DATA_API:"click"+pt+".data-api"},wt="carousel",Dt="active",Tt="slide",It="carousel-item-right",At="carousel-item-left",Ot="carousel-item-next",St="carousel-item-prev",Lt="pointer-event",Ct={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Nt={TOUCH:"touch",PEN:"pen"},kt=function(){function t(t,e){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=U.findOne(Ct.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),E.setData(t,dt,this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(_t)},e.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide(vt)},e.pause=function(t){t||(this._isPaused=!0),U.findOne(Ct.NEXT_PREV,this._element)&&(h(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=U.findOne(Ct.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)R.one(this._element,Et.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=t>n?_t:vt;this._slide(i,this._items[t])}},e.dispose=function(){R.off(this._element,pt),E.removeData(this._element,dt),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=o({},gt,t),g(ht,t,mt),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&R.on(this._element,Et.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(R.on(this._element,Et.MOUSEENTER,function(e){return t.pause(e)}),R.on(this._element,Et.MOUSELEAVE,function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&Nt[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Nt[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};m(U.find(Ct.ITEM_IMG,this._element)).forEach(function(t){R.on(t,Et.DRAG_START,function(t){return t.preventDefault()})}),this._pointerEvent?(R.on(this._element,Et.POINTERDOWN,function(t){return e(t)}),R.on(this._element,Et.POINTERUP,function(t){return n(t)}),this._element.classList.add(Lt)):(R.on(this._element,Et.TOUCHSTART,function(t){return e(t)}),R.on(this._element,Et.TOUCHMOVE,function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)}),R.on(this._element,Et.TOUCHEND,function(t){return n(t)}))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?m(U.find(Ct.ITEM,t.parentNode)):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===_t,i=t===vt,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===vt?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(U.findOne(Ct.ACTIVE_ITEM,this._element));return R.trigger(this._element,Et.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=U.find(Ct.ACTIVE,this._indicatorsElement),n=0;n0)for(var i=0;i=0){Zt=1;break}var Jt=Xt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Zt))}};function te(t){return t&&"[object Function]"==={}.toString.call(t)}function ee(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function ne(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function ie(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=ee(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:ie(ne(t))}var oe=Xt&&!(!window.MSInputMethodContext||!document.documentMode),re=Xt&&/MSIE 10/.test(navigator.userAgent);function se(t){return 11===t?oe:10===t?re:oe||re}function ae(t){if(!t)return document.documentElement;for(var e=se(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ee(n,"position")?ae(n):n:t?t.ownerDocument.documentElement:document.documentElement}function le(t){return null!==t.parentNode?le(t.parentNode):t}function ce(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&ae(s.firstElementChild)!==s?ae(l):l;var c=le(t);return c.host?ce(c.host,e):ce(t,le(e).host)}function fe(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function ue(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function he(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],se(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function de(t){var e=t.body,n=t.documentElement,i=se(10)&&getComputedStyle(n);return{height:he("Height",e,n,i),width:he("Width",e,n,i)}}var pe=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},ge=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=se(10),o="HTML"===e.nodeName,r=be(t),s=be(e),a=ie(t),l=ee(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=ve({top:r.top-s.top-c,left:r.left-s.left-f,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-h,u.bottom-=c-h,u.left-=f-d,u.right-=f-d,u.marginTop=h,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=fe(e,"top"),o=fe(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}(u,e)),u}function Ee(t){if(!t||!t.parentElement||se())return document.documentElement;for(var e=t.parentElement;e&&"none"===ee(e,"transform");)e=e.parentElement;return e||document.documentElement}function we(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Ee(t):ce(t,e);if("viewport"===i)r=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=ye(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:fe(n),a=e?0:fe(n,"left");return ve({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r})}(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=ie(ne(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=ye(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===ee(e,"position"))return!0;var i=ne(e);return!!i&&t(i)}(s))r=l;else{var c=de(t.ownerDocument),f=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function De(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=we(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return _e({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),f=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return f+(u?"-"+u:"")}function Te(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return ye(n,i?Ee(e):ce(e,n),i)}function Ie(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Ae(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function Oe(t,e,n){n=n.split("-")[0];var i=Ie(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[Ae(a)],o}function Se(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Le(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=Se(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&te(n)&&(e.offsets.popper=ve(e.offsets.popper),e.offsets.reference=ve(e.offsets.reference),e=n(e,t))}),e}function Ce(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function Ne(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Fe.indexOf(t),i=Fe.slice(n+1).concat(Fe.slice(0,n));return e?i.reverse():i}var Be={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Ke(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(Se(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return ve(a)[e]/100*r}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){He(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))})}),o}var Ve={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:me({},l,r[l]),end:me({},l,r[l]+r[c]-s[c])};t.offsets.popper=_e({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=He(+n)?[+n,0]:Ke(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||ae(t.instance.popper);t.instance.reference===n&&(n=ae(n));var i=Ne("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=we(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,f=t.offsets.popper,u={primary:function(t){var n=f[t];return f[t]l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),me({},n,i)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=_e({},f,u[e](t))}),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Re(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",f=l?"Top":"Left",u=f.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=Ie(i)[c];a[d]-ps[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=ve(t.offsets.popper);var g=a[u]+a[c]/2-p/2,m=ee(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),b=g-t.offsets.popper[u]-_-v;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(me(n={},u,Math.round(b)),me(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Ce(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=we(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Ae(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Be.FLIP:s=[i,o];break;case Be.CLOCKWISE:s=Ue(i);break;case Be.COUNTERCLOCKWISE:s=Ue(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=Ae(i);var c=t.offsets.popper,f=t.offsets.reference,u=Math.floor,h="left"===i&&u(c.right)>u(f.left)||"right"===i&&u(c.left)u(f.top)||"bottom"===i&&u(c.top)u(n.right),g=u(c.top)u(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(v&&"start"===r&&d||v&&"end"===r&&p||!v&&"start"===r&&g||!v&&"end"===r&&m);(h||_||b)&&(t.flipped=!0,(h||_)&&(i=s[l+1]),b&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=_e({},t.offsets.popper,Oe(t.instance.popper,t.offsets.reference,t.placement)),t=Le(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=Ae(e),t.offsets.popper=ve(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Re(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Se(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};pe(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=Jt(this.update.bind(this)),this.options=_e({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(_e({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){i.options.modifiers[e]=_e({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return _e({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&te(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return ge(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Te(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=De(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Oe(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Le(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,Ce(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[Ne("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=Pe(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return xe.call(this)}}]),t}();Ye.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ye.placements=We,Ye.Defaults=Ve;var Qe="dropdown",Ge="bs.dropdown",qe="."+Ge,Xe=new RegExp("38|40|27"),ze={HIDE:"hide"+qe,HIDDEN:"hidden"+qe,SHOW:"show"+qe,SHOWN:"shown"+qe,CLICK:"click"+qe,CLICK_DATA_API:"click"+qe+".data-api",KEYDOWN_DATA_API:"keydown"+qe+".data-api",KEYUP_DATA_API:"keyup"+qe+".data-api"},Ze="disabled",$e="show",Je="dropup",tn="dropright",en="dropleft",nn="dropdown-menu-right",on="position-static",rn='[data-toggle="dropdown"]',sn=".dropdown form",an=".dropdown-menu",ln=".navbar-nav",cn=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",fn="top-start",un="top-end",hn="bottom-start",dn="bottom-end",pn="right-start",gn="left-start",mn={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},_n={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},vn=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),E.setData(t,Ge,this)}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(Ze)){var e=t._getParentFromElement(this._element),n=this._menu.classList.contains($e);if(t._clearMenus(),!n){var i={relatedTarget:this._element};if(!R.trigger(e,ze.SHOW,i).defaultPrevented){if(!this._inNavbar){if(void 0===Ye)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=e:d(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add(on),this._popper=new Ye(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!m(U.closest(e,ln)).length&&m(document.body.children).forEach(function(t){return R.on(t,"mouseover",null,function(){})}),this._element.focus(),this._element.setAttribute("aria-expanded",!0),ut.toggleClass(this._menu,$e),ut.toggleClass(e,$e),R.trigger(e,ze.SHOWN,i)}}}},e.show=function(){if(!(this._element.disabled||this._element.classList.contains(Ze)||this._menu.classList.contains($e))){var e=t._getParentFromElement(this._element),n={relatedTarget:this._element};R.trigger(e,ze.SHOW,n).defaultPrevented||(ut.toggleClass(this._menu,$e),ut.toggleClass(e,$e),R.trigger(e,ze.SHOWN,n))}},e.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(Ze)&&this._menu.classList.contains($e)){var e=t._getParentFromElement(this._element),n={relatedTarget:this._element};R.trigger(e,ze.HIDE,n).defaultPrevented||(ut.toggleClass(this._menu,$e),ut.toggleClass(e,$e),R.trigger(e,ze.HIDDEN,n))}},e.dispose=function(){E.removeData(this._element,Ge),R.off(this._element,qe),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;R.on(this._element,ze.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(t){return t=o({},this.constructor.Default,ut.getDataAttributes(this._element),t),g(Qe,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=U.findOne(an,e))}return this._menu},e._getPlacement=function(){var t=this._element.parentNode,e=hn;return t.classList.contains(Je)?(e=fn,this._menu.classList.contains(nn)&&(e=un)):t.classList.contains(tn)?e=pn:t.classList.contains(en)?e=gn:this._menu.classList.contains(nn)&&(e=dn),e},e._detectNavbar=function(){return Boolean(U.closest(this._element,".navbar"))},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},t._dropdownInterface=function(e,n){var i=E.getData(e,Ge);if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n]()}},t._jQueryInterface=function(e){return this.each(function(){t._dropdownInterface(this,e)})},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=m(U.find(rn)),i=0,o=n.length;i0&&r--,40===e.which&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Rn},Qn="show",Gn="out",qn={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Xn="fade",zn="show",Zn=".tooltip-inner",$n=".tooltip-arrow",Jn="hover",ti="focus",ei="click",ni="manual",ii=function(){function t(t,e){if(void 0===Ye)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");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(),E.setData(t,this.constructor.DATA_KEY,this)}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=E.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(zn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),E.removeData(this.element,this.constructor.DATA_KEY),R.off(this.element,this.constructor.EVENT_KEY),R.off(U.closest(this.element,".modal"),"hide.bs.modal"),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=R.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null!==n?n.contains(this.element):this.element.ownerDocument.documentElement.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=c(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add(Xn);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(s);this.addAttachmentClass(l);var f=this._getContainer();E.setData(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(o),R.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Ye(this.element,o,{placement:l,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:$n},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}}),o.classList.add(zn),"ontouchstart"in document.documentElement&&m(document.body.children).forEach(function(t){R.on(t,"mouseover",function(){})});var h=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,R.trigger(t.element,t.constructor.Event.SHOWN),e===Gn&&t._leave(null,t)};if(this.tip.classList.contains(Xn)){var d=u(this.tip);R.one(this.tip,a,h),p(this.tip,d)}else h()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=function(){e._hoverState!==Qn&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),R.trigger(e.element,e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(!R.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(n.classList.remove(zn),"ontouchstart"in document.documentElement&&m(document.body.children).forEach(function(t){return R.off(t,"mouseover",v)}),this._activeTrigger[ei]=!1,this._activeTrigger[ti]=!1,this._activeTrigger[Jn]=!1,this.tip.classList.contains(Xn)){var o=u(n);R.one(n,a,i),p(n,o)}else i();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},e.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(U.findOne(Zn,t),this.getTitle()),t.classList.remove(Xn),t.classList.remove(zn)},e.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&(e.nodeType||e.jquery)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Wn(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d(this.config.container)?this.config.container:U.findOne(this.config.container)},e._getAttachment=function(t){return Vn[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)R.on(t.element,t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(e!==ni){var n=e===Jn?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===Jn?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;R.on(t.element,n,t.config.selector,function(e){return t._enter(e)}),R.on(t.element,i,t.config.selector,function(e){return t._leave(e)})}}),R.on(U.closest(this.element,".modal"),"hide.bs.modal",function(){t.element&&t.hide()}),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||E.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?ti:Jn]=!0),e.getTipElement().classList.contains(zn)||e._hoverState===Qn?e._hoverState=Qn:(clearTimeout(e._timeout),e._hoverState=Qn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Qn&&e.show()},e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||E.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?ti:Jn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Gn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Gn&&e.hide()},e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=ut.getDataAttributes(this.element);return Object.keys(e).forEach(function(t){-1!==Bn.indexOf(t)&&delete e[t]}),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),g(Fn,t,this.constructor.DefaultType),t.sanitize&&(t.template=Wn(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Un);null!==e&&e.length&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},e._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(Xn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each(function(){var n=E.getData(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t._getInstance=function(t){return E.getData(t,"bs.tooltip")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Yn}},{key:"NAME",get:function(){return Fn}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return qn}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Kn}}]),t}();if(void 0!==l){var oi=l.fn.tooltip;l.fn.tooltip=ii._jQueryInterface,l.fn.tooltip.Constructor=ii,l.fn.tooltip.noConflict=function(){return l.fn.tooltip=oi,ii._jQueryInterface}}var ri="popover",si=new RegExp("(^|\\s)bs-popover\\S+","g"),ai=o({},ii.Default,{placement:"right",trigger:"click",content:"",template:''}),li=o({},ii.DefaultType,{content:"(string|element|function)"}),ci="fade",fi="show",ui=".popover-header",hi=".popover-body",di={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},pi=function(t){var e,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r.setContent=function(){var t=this.getTipElement();this.setElementContent(U.findOne(ui,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(U.findOne(hi,t),e),t.classList.remove(ci),t.classList.remove(fi)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(si);null!==e&&e.length>0&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},o._jQueryInterface=function(t){return this.each(function(){var e=E.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),E.setData(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},o._getInstance=function(t){return E.getData(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ai}},{key:"NAME",get:function(){return ri}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return di}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return li}}]),o}(ii);if(void 0!==l){var gi=l.fn.popover;l.fn.popover=pi._jQueryInterface,l.fn.popover.Constructor=pi,l.fn.popover.noConflict=function(){return l.fn.popover=gi,pi._jQueryInterface}}var mi="scrollspy",_i="bs.scrollspy",vi="."+_i,bi={offset:10,method:"auto",target:""},yi={offset:"number",method:"string",target:"(string|element)"},Ei={ACTIVATE:"activate"+vi,SCROLL:"scroll"+vi,LOAD_DATA_API:"load"+vi+".data-api"},wi="dropdown-item",Di="active",Ti={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},Ii="offset",Ai="position",Oi=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Ti.NAV_LINKS+","+this._config.target+" "+Ti.LIST_ITEMS+","+this._config.target+" "+Ti.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,R.on(this._scrollElement,Ei.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process(),E.setData(t,_i,this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Ii:Ai,n="auto"===this._config.method?e:this._config.method,i=n===Ai?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),m(U.find(this._selector)).map(function(t){var e,o=f(t);if(o&&(e=U.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[ut[n](e).top+i,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){E.removeData(this._element,_i),R.off(this._scrollElement,vi),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=o({},bi,"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=c(mi),t.target.id=e),t.target="#"+e}return g(mi,t,yi),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t-1||(r=t),[i,o,r]}function H(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=x(e,n,i),s=r[0],a=r[1],l=r[2],c=N(t),f=c[l]||(c[l]={}),u=P(f,a,s?n:null);if(u)u.oneOff=u.oneOff&&o;else{var h=C(a,e.replace(w,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return k(o,s),i.oneOff&&j.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return k(i,t),n.oneOff&&j.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,f[h]=d,t.addEventListener(l,d,s)}}}function M(t,e,n,i,o){var r=P(e[n],i,o);null!==r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var j={on:function(t,e,n,i){H(t,e,n,i,!1)},one:function(t,e,n,i){H(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=x(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=N(t),f="."===e.charAt(0);if(void 0===s){f&&Object.keys(c).forEach(function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach(function(r){if(r.indexOf(i)>-1){var s=o[r];M(t,e,n,s.originalHandler,s.delegationSelector)}})}(t,c,n,e.substr(1))});var u=c[a]||{};Object.keys(u).forEach(function(n){var i=n.replace(I,"");if(!l||e.indexOf(i)>-1){var o=u[n];M(t,c,a,o.originalHandler,o.delegationSelector)}})}else{if(!c||!c[a])return;M(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(D,""),r=e!==o,s=S.indexOf(o)>-1,l=!0,c=!0,f=!1,u=null;return r&&void 0!==a&&(i=a.Event(e,n),a(t).trigger(i),l=!i.isPropagationStopped(),c=!i.isImmediatePropagationStopped(),f=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,l,!0):u=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==n&&Object.keys(n).forEach(function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})}),f&&(u.preventDefault(),y.defaultPreventedPreservedOnDispatch||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),c&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},R=y.find,W=y.findOne,F={matches:function(t,e){return t.matches(e)},find:function(t,e){return void 0===e&&(e=document.documentElement),"string"!=typeof t?null:R.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),"string"!=typeof t?null:W.call(e,t)},children:function(t,e){var n=this;if("string"!=typeof e)return null;var i=g(t.children);return i.filter(function(t){return n.matches(t,e)})},parents:function(t,e){if("string"!=typeof e)return null;for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return"string"!=typeof e?null:t.closest(e)},prev:function(t,e){if("string"!=typeof e)return null;for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},U="bs.alert",B="."+U,K={CLOSE:"close"+B,CLOSED:"closed"+B,CLICK_DATA_API:"click"+B+".data-api"},V="alert",Y="fade",Q="show",G=function(){function t(t){this._element=t,this._element&&E.setData(t,U,this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){E.removeData(this._element,U),this._element=null},n._getRootElement=function(t){var e=c(t),n=!1;return e&&(n=F.findOne(e)),n||(n=F.closest(t,"."+V)),n},n._triggerCloseEvent=function(t){return j.trigger(t,K.CLOSE)},n._removeElement=function(t){var e=this;if(t.classList.remove(Q),t.classList.contains(Y)){var n=f(t);j.one(t,s,function(n){return e._destroyElement(t,n)}),d(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),j.trigger(t,K.CLOSED)},t._jQueryInterface=function(e){return this.each(function(){var n=E.getData(this,U);n||(n=new t(this)),"close"===e&&n[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t._getInstance=function(t){return E.getData(t,U)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();if(j.on(document,K.CLICK_DATA_API,'[data-dismiss="alert"]',G._handleDismiss(new G)),void 0!==a){var q=a.fn.alert;a.fn.alert=G._jQueryInterface,a.fn.alert.Constructor=G,a.fn.alert.noConflict=function(){return a.fn.alert=q,G._jQueryInterface}}var X="bs.button",z="."+X,Z="active",$="btn",J="focus",tt='[data-toggle^="button"]',et='[data-toggle="buttons"]',nt='input:not([type="hidden"])',it=".active",ot=".btn",rt={CLICK_DATA_API:"click"+z+".data-api",FOCUS_DATA_API:"focus"+z+".data-api",BLUR_DATA_API:"blur"+z+".data-api"},st=function(){function t(t){this._element=t,E.setData(t,X,this)}var n=t.prototype;return n.toggle=function(){var t=!0,e=!0,n=F.closest(this._element,et);if(n){var i=F.findOne(nt,this._element);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(Z))t=!1;else{var o=F.findOne(it,n);o&&o.classList.remove(Z)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(Z),j.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(Z)),t&&this._element.classList.toggle(Z)},n.dispose=function(){E.removeData(this._element,X),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=E.getData(this,X);n||(n=new t(this)),"toggle"===e&&n[e]()})},t._getInstance=function(t){return E.getData(t,X)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();if(j.on(document,rt.CLICK_DATA_API,tt,function(t){t.preventDefault();var e=t.target;e.classList.contains($)||(e=F.closest(e,ot));var n=E.getData(e,X);n||(n=new st(e),E.setData(e,X,n)),n.toggle()}),j.on(document,rt.FOCUS_DATA_API,tt,function(t){F.closest(t.target,ot).classList.add(J)}),j.on(document,rt.BLUR_DATA_API,tt,function(t){F.closest(t.target,ot).classList.remove(J)}),void 0!==a){var at=a.fn.button;a.fn.button=st._jQueryInterface,a.fn.button.Constructor=st,a.fn.button.noConflict=function(){return a.fn.button=at,st._jQueryInterface}}function lt(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function ct(t){return t.replace(/[A-Z]/g,function(t){return t.toLowerCase()})}var ft={setDataAttribute:function(t,e,n){t.setAttribute("data-"+ct(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+ct(e))},getDataAttributes:function(t){if(!t)return{};var e=i({},t.dataset);return Object.keys(e).forEach(function(t){e[t]=lt(e[t])}),e},getDataAttribute:function(t,e){return lt(t.getAttribute("data-"+ct(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},ut="carousel",ht="bs.carousel",dt="."+ht,pt={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},gt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},mt="next",_t="prev",vt="left",bt="right",Et={SLIDE:"slide"+dt,SLID:"slid"+dt,KEYDOWN:"keydown"+dt,MOUSEENTER:"mouseenter"+dt,MOUSELEAVE:"mouseleave"+dt,TOUCHSTART:"touchstart"+dt,TOUCHMOVE:"touchmove"+dt,TOUCHEND:"touchend"+dt,POINTERDOWN:"pointerdown"+dt,POINTERUP:"pointerup"+dt,DRAG_START:"dragstart"+dt,LOAD_DATA_API:"load"+dt+".data-api",CLICK_DATA_API:"click"+dt+".data-api"},yt="carousel",wt="active",Dt="slide",Tt="carousel-item-right",It="carousel-item-left",At="carousel-item-next",Ot="carousel-item-prev",Lt="pointer-event",St={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Ct={TOUCH:"touch",PEN:"pen"},Nt=function(){function t(t,e){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=F.findOne(St.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),E.setData(t,ht,this)}var n=t.prototype;return n.next=function(){this._isSliding||this._slide(mt)},n.nextWhenVisible=function(){!document.hidden&&m(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide(_t)},n.pause=function(t){t||(this._isPaused=!0),F.findOne(St.NEXT_PREV,this._element)&&(u(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=F.findOne(St.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)j.one(this._element,Et.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=t>n?mt:_t;this._slide(i,this._items[t])}},n.dispose=function(){j.off(this._element,dt),E.removeData(this._element,ht),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=i({},pt,t),p(ut,t,gt),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&j.on(this._element,Et.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(j.on(this._element,Et.MOUSEENTER,function(e){return t.pause(e)}),j.on(this._element,Et.MOUSELEAVE,function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&Ct[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Ct[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};g(F.find(St.ITEM_IMG,this._element)).forEach(function(t){j.on(t,Et.DRAG_START,function(t){return t.preventDefault()})}),this._pointerEvent?(j.on(this._element,Et.POINTERDOWN,function(t){return e(t)}),j.on(this._element,Et.POINTERUP,function(t){return n(t)}),this._element.classList.add(Lt)):(j.on(this._element,Et.TOUCHSTART,function(t){return e(t)}),j.on(this._element,Et.TOUCHMOVE,function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)}),j.on(this._element,Et.TOUCHEND,function(t){return n(t)}))}},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?g(F.find(St.ITEM,t.parentNode)):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n=t===mt,i=t===_t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===_t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(F.findOne(St.ACTIVE_ITEM,this._element));return j.trigger(this._element,Et.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=F.find(St.ACTIVE,this._indicatorsElement),n=0;n0)for(var i=0;i=0){zt=1;break}var $t=qt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},zt))}};function Jt(t){return t&&"[object Function]"==={}.toString.call(t)}function te(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function ee(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function ne(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=te(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:ne(ee(t))}var ie=qt&&!(!window.MSInputMethodContext||!document.documentMode),oe=qt&&/MSIE 10/.test(navigator.userAgent);function re(t){return 11===t?ie:10===t?oe:ie||oe}function se(t){if(!t)return document.documentElement;for(var e=re(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===te(n,"position")?se(n):n:t?t.ownerDocument.documentElement:document.documentElement}function ae(t){return null!==t.parentNode?ae(t.parentNode):t}function le(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&se(s.firstElementChild)!==s?se(l):l;var c=ae(t);return c.host?le(c.host,e):le(t,ae(e).host)}function ce(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function fe(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function ue(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],re(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function he(t){var e=t.body,n=t.documentElement,i=re(10)&&getComputedStyle(n);return{height:ue("Height",e,n,i),width:ue("Width",e,n,i)}}var de=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},pe=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=re(10),o="HTML"===e.nodeName,r=ve(t),s=ve(e),a=ne(t),l=te(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=_e({top:r.top-s.top-c,left:r.left-s.left-f,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-h,u.bottom-=c-h,u.left-=f-d,u.right-=f-d,u.marginTop=h,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=ce(e,"top"),o=ce(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}(u,e)),u}function Ee(t){if(!t||!t.parentElement||re())return document.documentElement;for(var e=t.parentElement;e&&"none"===te(e,"transform");)e=e.parentElement;return e||document.documentElement}function ye(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Ee(t):le(t,e);if("viewport"===i)r=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=be(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:ce(n),a=e?0:ce(n,"left");return _e({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r})}(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=ne(ee(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=be(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===te(e,"position"))return!0;var i=ee(e);return!!i&&t(i)}(s))r=l;else{var c=he(t.ownerDocument),f=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function we(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=ye(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return me({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),f=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return f+(u?"-"+u:"")}function De(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return be(n,i?Ee(e):le(e,n),i)}function Te(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Ie(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function Ae(t,e,n){n=n.split("-")[0];var i=Te(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[Ie(a)],o}function Oe(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Le(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=Oe(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&Jt(n)&&(e.offsets.popper=_e(e.offsets.popper),e.offsets.reference=_e(e.offsets.reference),e=n(e,t))}),e}function Se(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function Ce(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=We.indexOf(t),i=We.slice(n+1).concat(We.slice(0,n));return e?i.reverse():i}var Ue={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Be(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(Oe(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return _e(a)[e]/100*r}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;return r}(t,o,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){xe(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))})}),o}var Ke={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:ge({},l,r[l]),end:ge({},l,r[l]+r[c]-s[c])};t.offsets.popper=me({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=xe(+n)?[+n,0]:Be(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||se(t.instance.popper);t.instance.reference===n&&(n=se(n));var i=Ce("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=ye(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,f=t.offsets.popper,u={primary:function(t){var n=f[t];return f[t]l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),ge({},n,i)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=me({},f,u[e](t))}),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!je(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",f=l?"Top":"Left",u=f.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=Te(i)[c];a[d]-ps[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=_e(t.offsets.popper);var g=a[u]+a[c]/2-p/2,m=te(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),b=g-t.offsets.popper[u]-_-v;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(ge(n={},u,Math.round(b)),ge(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Se(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=ye(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Ie(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case Ue.FLIP:s=[i,o];break;case Ue.CLOCKWISE:s=Fe(i);break;case Ue.COUNTERCLOCKWISE:s=Fe(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=Ie(i);var c=t.offsets.popper,f=t.offsets.reference,u=Math.floor,h="left"===i&&u(c.right)>u(f.left)||"right"===i&&u(c.left)u(f.top)||"bottom"===i&&u(c.top)u(n.right),g=u(c.top)u(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(v&&"start"===r&&d||v&&"end"===r&&p||!v&&"start"===r&&g||!v&&"end"===r&&m);(h||_||b)&&(t.flipped=!0,(h||_)&&(i=s[l+1]),b&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=me({},t.offsets.popper,Ae(t.instance.popper,t.offsets.reference,t.placement)),t=Le(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=Ie(e),t.offsets.popper=_e(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!je(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Oe(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};de(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=$t(this.update.bind(this)),this.options=me({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(me({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){i.options.modifiers[e]=me({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return me({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&Jt(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return pe(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=De(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=we(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Ae(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Le(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,Se(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[Ce("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ke(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return Pe.call(this)}}]),t}();Ve.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ve.placements=Re,Ve.Defaults=Ke;var Ye="dropdown",Qe="bs.dropdown",Ge="."+Qe,qe=new RegExp("38|40|27"),Xe={HIDE:"hide"+Ge,HIDDEN:"hidden"+Ge,SHOW:"show"+Ge,SHOWN:"shown"+Ge,CLICK:"click"+Ge,CLICK_DATA_API:"click"+Ge+".data-api",KEYDOWN_DATA_API:"keydown"+Ge+".data-api",KEYUP_DATA_API:"keyup"+Ge+".data-api"},ze="disabled",Ze="show",$e="dropup",Je="dropright",tn="dropleft",en="dropdown-menu-right",nn="position-static",on='[data-toggle="dropdown"]',rn=".dropdown form",sn=".dropdown-menu",an=".navbar-nav",ln=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",cn="top-start",fn="top-end",un="bottom-start",hn="bottom-end",dn="right-start",pn="left-start",gn={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},mn={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},_n=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),E.setData(t,Qe,this)}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(ze)){var e=t._getParentFromElement(this._element),n=this._menu.classList.contains(Ze);if(t._clearMenus(),!n){var i={relatedTarget:this._element};if(!j.trigger(e,Xe.SHOW,i).defaultPrevented){if(!this._inNavbar){if(void 0===Ve)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=e:h(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add(nn),this._popper=new Ve(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!g(F.closest(e,an)).length&&g(document.body.children).forEach(function(t){return j.on(t,"mouseover",null,function(){})}),this._element.focus(),this._element.setAttribute("aria-expanded",!0),ft.toggleClass(this._menu,Ze),ft.toggleClass(e,Ze),j.trigger(e,Xe.SHOWN,i)}}}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains(ze)||this._menu.classList.contains(Ze))){var e=t._getParentFromElement(this._element),n={relatedTarget:this._element};j.trigger(e,Xe.SHOW,n).defaultPrevented||(ft.toggleClass(this._menu,Ze),ft.toggleClass(e,Ze),j.trigger(e,Xe.SHOWN,n))}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(ze)&&this._menu.classList.contains(Ze)){var e=t._getParentFromElement(this._element),n={relatedTarget:this._element};j.trigger(e,Xe.HIDE,n).defaultPrevented||(ft.toggleClass(this._menu,Ze),ft.toggleClass(e,Ze),j.trigger(e,Xe.HIDDEN,n))}},n.dispose=function(){E.removeData(this._element,Qe),j.off(this._element,Ge),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;j.on(this._element,Xe.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},n._getConfig=function(t){return t=i({},this.constructor.Default,ft.getDataAttributes(this._element),t),p(Ye,t,this.constructor.DefaultType),t},n._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=F.findOne(sn,e))}return this._menu},n._getPlacement=function(){var t=this._element.parentNode,e=un;return t.classList.contains($e)?(e=cn,this._menu.classList.contains(en)&&(e=fn)):t.classList.contains(Je)?e=dn:t.classList.contains(tn)?e=pn:this._menu.classList.contains(en)&&(e=hn),e},n._detectNavbar=function(){return Boolean(F.closest(this._element,".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=i({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},t._dropdownInterface=function(e,n){var i=E.getData(e,Qe);if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t._jQueryInterface=function(e){return this.each(function(){t._dropdownInterface(this,e)})},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=g(F.find(on)),i=0,o=n.length;i0&&r--,40===e.which&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:jn},Yn="show",Qn="out",Gn={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},qn="fade",Xn="show",zn=".tooltip-inner",Zn=".tooltip-arrow",$n="hover",Jn="focus",ti="click",ei="manual",ni=function(){function t(t,e){if(void 0===Ve)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");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(),E.setData(t,this.constructor.DATA_KEY,this)}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=E.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(Xn))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),E.removeData(this.element,this.constructor.DATA_KEY),j.off(this.element,this.constructor.EVENT_KEY),j.off(F.closest(this.element,".modal"),"hide.bs.modal"),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=j.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=l(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add(qn);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,c=this._getAttachment(a);this.addAttachmentClass(c);var u=this._getContainer();E.setData(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),j.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Ve(this.element,o,{placement:c,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Zn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}}),o.classList.add(Xn),"ontouchstart"in document.documentElement&&g(document.body.children).forEach(function(t){j.on(t,"mouseover",function(){})});var h=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,j.trigger(t.element,t.constructor.Event.SHOWN),e===Qn&&t._leave(null,t)};if(this.tip.classList.contains(qn)){var p=f(this.tip);j.one(this.tip,s,h),d(this.tip,p)}else h()}},n.hide=function(t){var e=this,n=this.getTipElement(),i=function(){e._hoverState!==Yn&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),j.trigger(e.element,e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(!j.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(n.classList.remove(Xn),"ontouchstart"in document.documentElement&&g(document.body.children).forEach(function(t){return j.off(t,"mouseover",_)}),this._activeTrigger[ti]=!1,this._activeTrigger[Jn]=!1,this._activeTrigger[$n]=!1,this.tip.classList.contains(qn)){var o=f(n);j.one(n,s,i),d(n,o)}else i();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(F.findOne(zn,t),this.getTitle()),t.classList.remove(qn),t.classList.remove(Xn)},n.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&(e.nodeType||e.jquery)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Rn(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=i({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:h(this.config.container)?this.config.container:F.findOne(this.config.container)},n._getAttachment=function(t){return Kn[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)j.on(t.element,t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(e!==ei){var n=e===$n?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===$n?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;j.on(t.element,n,t.config.selector,function(e){return t._enter(e)}),j.on(t.element,i,t.config.selector,function(e){return t._leave(e)})}}),j.on(F.closest(this.element,".modal"),"hide.bs.modal",function(){t.element&&t.hide()}),this.config.selector?this.config=i({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||E.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?Jn:$n]=!0),e.getTipElement().classList.contains(Xn)||e._hoverState===Yn?e._hoverState=Yn:(clearTimeout(e._timeout),e._hoverState=Yn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Yn&&e.show()},e.config.delay.show):e.show())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||E.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?Jn:$n]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Qn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Qn&&e.hide()},e.config.delay.hide):e.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=ft.getDataAttributes(this.element);return Object.keys(e).forEach(function(t){-1!==Un.indexOf(t)&&delete e[t]}),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=i({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),p(Wn,t,this.constructor.DefaultType),t.sanitize&&(t.template=Rn(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Fn);null!==e&&e.length&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(qn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each(function(){var n=E.getData(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t._getInstance=function(t){return E.getData(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Vn}},{key:"NAME",get:function(){return Wn}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Gn}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Bn}}]),t}();if(void 0!==a){var ii=a.fn.tooltip;a.fn.tooltip=ni._jQueryInterface,a.fn.tooltip.Constructor=ni,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=ii,ni._jQueryInterface}}var oi="popover",ri=new RegExp("(^|\\s)bs-popover\\S+","g"),si=i({},ni.Default,{placement:"right",trigger:"click",content:"",template:''}),ai=i({},ni.DefaultType,{content:"(string|element|function)"}),li="fade",ci="show",fi=".popover-header",ui=".popover-body",hi={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},di=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r.setContent=function(){var t=this.getTipElement();this.setElementContent(F.findOne(fi,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(F.findOne(ui,t),e),t.classList.remove(li),t.classList.remove(ci)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(ri);null!==e&&e.length>0&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},o._jQueryInterface=function(t){return this.each(function(){var e=E.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),E.setData(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},o._getInstance=function(t){return E.getData(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return si}},{key:"NAME",get:function(){return oi}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return hi}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return ai}}]),o}(ni);if(void 0!==a){var pi=a.fn.popover;a.fn.popover=di._jQueryInterface,a.fn.popover.Constructor=di,a.fn.popover.noConflict=function(){return a.fn.popover=pi,di._jQueryInterface}}var gi="scrollspy",mi="bs.scrollspy",_i="."+mi,vi={offset:10,method:"auto",target:""},bi={offset:"number",method:"string",target:"(string|element)"},Ei={ACTIVATE:"activate"+_i,SCROLL:"scroll"+_i,LOAD_DATA_API:"load"+_i+".data-api"},yi={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},wi={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Di="offset",Ti="position",Ii=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+wi.NAV_LINKS+","+this._config.target+" "+wi.LIST_ITEMS+","+this._config.target+" ."+yi.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,Ei.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process(),E.setData(t,mi,this)}var n=t.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Di:Ti,n="auto"===this._config.method?e:this._config.method,i=n===Ti?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),g(F.find(this._selector)).map(function(t){var e,o=c(t);if(o&&(e=F.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[ft[n](e).top+i,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},n.dispose=function(){E.removeData(this._element,mi),j.off(this._scrollElement,_i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=i({},vi,"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=l(gi),t.target.id=e),t.target="#"+e}return p(gi,t,bi),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t^KetkZswPElaX2 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 delta 34746 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 ({}).toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); +/** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + +const getUID = prefix => { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; +}; + +const getSelectorFromElement = element => { + let selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + const hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (error) { + return null; + } +}; + +const getTransitionDurationFromElement = element => { + if (!element) { + return 0; + } // Get transition-duration of the element + + + let _window$getComputedSt = window.getComputedStyle(element), + transitionDuration = _window$getComputedSt.transitionDuration, + transitionDelay = _window$getComputedSt.transitionDelay; + + const floatTransitionDuration = parseFloat(transitionDuration); + const floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; +}; + +const triggerTransitionEnd = element => { + element.dispatchEvent(new Event(TRANSITION_END)); +}; + +const isElement = obj => (obj[0] || obj).nodeType; + +const emulateTransitionEnd = (element, duration) => { + let called = false; + const durationPadding = 5; + const emulatedDuration = duration + durationPadding; + + function listener() { + called = true; + element.removeEventListener(TRANSITION_END, listener); + } + + element.addEventListener(TRANSITION_END, listener); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(element); + } + }, emulatedDuration); +}; + +const typeCheckConfig = (componentName, config, configTypes) => { + Object.keys(configTypes).forEach(property => { + const expectedTypes = configTypes[property]; + const value = config[property]; + const valueType = value && isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(`${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`); + } + }); +}; + +const makeArray = nodeList => { + if (!nodeList) { + return []; + } + + return [].slice.call(nodeList); +}; + +const isVisible = element => { + if (!element) { + return false; + } + + if (element.style && element.parentNode && element.parentNode.style) { + return element.style.display !== 'none' && element.parentNode.style.display !== 'none' && element.style.visibility !== 'hidden'; + } + + return false; +}; + +const findShadowRoot = element => { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return findShadowRoot(element.parentNode); +}; // eslint-disable-next-line no-empty-function + + +const noop = () => function () {}; + +const reflow = element => element.offsetHeight; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): dom/data.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ +const mapData = (() => { + const storeData = {}; + let id = 1; + return { + set(element, key, data) { + if (typeof element.key === 'undefined') { + element.key = { + key, + id + }; + id++; + } + + storeData[element.key.id] = data; + }, + + get(element, key) { + if (!element || typeof element.key === 'undefined') { + return null; + } + + const keyProperties = element.key; + + if (keyProperties.key === key) { + return storeData[keyProperties.id]; + } + + return null; + }, + + delete(element, key) { + if (typeof element.key === 'undefined') { + return; + } + + const keyProperties = element.key; + + if (keyProperties.key === key) { + delete storeData[keyProperties.id]; + delete element.key; + } + } + + }; +})(); + +const Data = { + setData(instance, key, data) { + mapData.set(instance, key, data); + }, + + getData(instance, key) { + return mapData.get(instance, key); + }, + + removeData(instance, key) { + mapData.delete(instance, key); + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): dom/polyfill.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +/* istanbul ignore next */ + +const Polyfill = (() => { + // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached + const defaultPreventedPreservedOnDispatch = (() => { + const e = new CustomEvent('Bootstrap', { + cancelable: true + }); + const element = document.createElement('div'); + element.addEventListener('Bootstrap', () => null); + e.preventDefault(); + element.dispatchEvent(e); + return e.defaultPrevented; + })(); + + let find = Element.prototype.querySelectorAll; + let findOne = Element.prototype.querySelector; + const scopeSelectorRegex = /:scope\b/; + + const supportScopeQuery = (() => { + const element = document.createElement('div'); + + try { + element.querySelectorAll(':scope *'); + } catch (error) { + return false; + } + + return true; + })(); + + if (!supportScopeQuery) { + find = function find(selector) { + if (!scopeSelectorRegex.test(selector)) { + return this.querySelectorAll(selector); + } + + const hasId = Boolean(this.id); + + if (!hasId) { + this.id = getUID('scope'); + } + + let nodeList = null; + + try { + selector = selector.replace(scopeSelectorRegex, `#${this.id}`); + nodeList = this.querySelectorAll(selector); + } finally { + if (!hasId) { + this.removeAttribute('id'); + } + } + + return nodeList; + }; + + findOne = function findOne(selector) { + if (!scopeSelectorRegex.test(selector)) { + return this.querySelector(selector); + } + + const matches = find.call(this, selector); + + if (typeof matches[0] !== 'undefined') { + return matches[0]; + } + + return null; + }; + } + + return { + defaultPreventedPreservedOnDispatch, + find, + findOne + }; +})(); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): dom/eventHandler.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const namespaceRegex = /[^.]*(?=\..*)\.|.*/; +const stripNameRegex = /\..*/; +const keyEventRegex = /^key/; +const stripUidRegex = /::\d+$/; +const eventRegistry = {}; // Events storage + +let uidEvent = 1; +const customEvents = { + mouseenter: 'mouseover', + mouseleave: 'mouseout' +}; +const nativeEvents = ['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']; +/** + * ------------------------------------------------------------------------ + * Private methods + * ------------------------------------------------------------------------ + */ + +function getUidEvent(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; +} + +function getEvent(element) { + const uid = getUidEvent(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; +} + +function fixEvent(event, element) { + // Add which for key events + if (event.which === null && keyEventRegex.test(event.type)) { + event.which = event.charCode === null ? event.keyCode : event.charCode; + } + + event.delegateTarget = element; +} + +function bootstrapHandler(element, fn) { + return function handler(event) { + fixEvent(event, element); + + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + + return fn.apply(element, [event]); + }; +} + +function bootstrapDelegationHandler(element, selector, fn) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + + for (let target = event.target; target && target !== this; target = target.parentNode) { + for (let i = domElements.length; i--;) { + if (domElements[i] === target) { + fixEvent(event, target); + + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + + return fn.apply(target, [event]); + } + } + } // To please ESLint + + + return null; + }; +} + +function findHandler(events, handler, delegationSelector) { + if (delegationSelector === void 0) { + delegationSelector = null; + } + + const uidList = Object.keys(events); + + for (let i = 0; i < uidList.length; i++) { + const uid = uidList[i]; + const event = events[uid]; + + if (event.originalHandler === handler && event.delegationSelector === delegationSelector) { + return events[uid]; + } + } + + return null; +} + +function normalizeParams(originalTypeEvent, handler, delegationFn) { + const delegation = typeof handler === 'string'; + const originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click') + + let typeEvent = originalTypeEvent.replace(stripNameRegex, ''); + const custom = customEvents[typeEvent]; + + if (custom) { + typeEvent = custom; + } + + const isNative = nativeEvents.indexOf(typeEvent) > -1; + + if (!isNative) { + typeEvent = originalTypeEvent; + } + + return [delegation, originalHandler, typeEvent]; +} + +function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + + if (!handler) { + handler = delegationFn; + delegationFn = null; + } + + const _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn), + delegation = _normalizeParams[0], + originalHandler = _normalizeParams[1], + typeEvent = _normalizeParams[2]; + + const events = getEvent(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null); + + if (previousFn) { + previousFn.oneOff = previousFn.oneOff && oneOff; + return; + } + + const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); + const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); + fn.delegationSelector = delegation ? handler : null; + fn.originalHandler = originalHandler; + fn.oneOff = oneOff; + fn.uidEvent = uid; + handlers[uid] = fn; + element.addEventListener(typeEvent, fn, delegation); +} + +function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn = findHandler(events[typeEvent], handler, delegationSelector); + + if (fn === null) { + return; + } + + element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); + delete events[typeEvent][fn.uidEvent]; +} + +function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + Object.keys(storeElementEvent).forEach(handlerKey => { + if (handlerKey.indexOf(namespace) > -1) { + const event = storeElementEvent[handlerKey]; + removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); + } + }); +} + +const EventHandler = { + on(element, event, handler, delegationFn) { + addHandler(element, event, handler, delegationFn, false); + }, + + one(element, event, handler, delegationFn) { + addHandler(element, event, handler, delegationFn, true); + }, + + off(element, originalTypeEvent, handler, delegationFn) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + + const _normalizeParams2 = normalizeParams(originalTypeEvent, handler, delegationFn), + delegation = _normalizeParams2[0], + originalHandler = _normalizeParams2[1], + typeEvent = _normalizeParams2[2]; + + const inNamespace = typeEvent !== originalTypeEvent; + const events = getEvent(element); + const isNamespace = originalTypeEvent.charAt(0) === '.'; + + if (typeof originalHandler !== 'undefined') { + // Simplest case: handler is passed, remove that listener ONLY. + if (!events || !events[typeEvent]) { + return; + } + + removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null); + return; + } + + if (isNamespace) { + Object.keys(events).forEach(elementEvent => { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1)); + }); + } + + const storeElementEvent = events[typeEvent] || {}; + Object.keys(storeElementEvent).forEach(keyHandlers => { + const handlerKey = keyHandlers.replace(stripUidRegex, ''); + + if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) { + const event = storeElementEvent[keyHandlers]; + removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); + } + }); + }, + + trigger(element, event, args) { + if (typeof event !== 'string' || !element) { + return null; + } + + const typeEvent = event.replace(stripNameRegex, ''); + const inNamespace = event !== typeEvent; + const isNative = nativeEvents.indexOf(typeEvent) > -1; + let jQueryEvent; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + let evt = null; + + if (inNamespace && typeof jQuery !== 'undefined') { + jQueryEvent = jQuery.Event(event, args); + jQuery(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + + if (isNative) { + evt = document.createEvent('HTMLEvents'); + evt.initEvent(typeEvent, bubbles, true); + } else { + evt = new CustomEvent(event, { + bubbles, + cancelable: true + }); + } // merge custom informations in our event + + + if (typeof args !== 'undefined') { + Object.keys(args).forEach(key => { + Object.defineProperty(evt, key, { + get() { + return args[key]; + } + + }); + }); + } + + if (defaultPrevented) { + evt.preventDefault(); + + if (!Polyfill.defaultPreventedPreservedOnDispatch) { + Object.defineProperty(evt, 'defaultPrevented', { + get: () => true + }); + } + } + + if (nativeDispatch) { + element.dispatchEvent(evt); + } + + if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') { + jQueryEvent.preventDefault(); + } + + return evt; + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): dom/selectorEngine.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const findFn = Polyfill.find, + findOne = Polyfill.findOne; +const NODE_TEXT = 3; +const SelectorEngine = { + matches(element, selector) { + return element.matches(selector); + }, + + find(selector, element) { + if (element === void 0) { + element = document.documentElement; + } + + if (typeof selector !== 'string') { + return null; + } + + return findFn.call(element, selector); + }, + + findOne(selector, element) { + if (element === void 0) { + element = document.documentElement; + } + + if (typeof selector !== 'string') { + return null; + } + + return findOne.call(element, selector); + }, + + children(element, selector) { + if (typeof selector !== 'string') { + return null; + } + + const children = makeArray(element.children); + return children.filter(child => this.matches(child, selector)); + }, + + parents(element, selector) { + if (typeof selector !== 'string') { + return null; + } + + const parents = []; + let ancestor = element.parentNode; + + while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { + if (this.matches(ancestor, selector)) { + parents.push(ancestor); + } + + ancestor = ancestor.parentNode; + } + + return parents; + }, + + closest(element, selector) { + if (typeof selector !== 'string') { + return null; + } + + return element.closest(selector); + }, + + prev(element, selector) { + if (typeof selector !== 'string') { + return null; + } + + const siblings = []; + let previous = element.previousSibling; + + while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) { + if (this.matches(previous, selector)) { + siblings.push(previous); + } + + previous = previous.previousSibling; + } + + return siblings; + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME = 'alert'; +const VERSION = '4.3.1'; +const DATA_KEY = 'bs.alert'; +const EVENT_KEY = `.${DATA_KEY}`; +const DATA_API_KEY = '.data-api'; +const Selector = { + DISMISS: '[data-dismiss="alert"]' +}; +const Event$1 = { + CLOSE: `close${EVENT_KEY}`, + CLOSED: `closed${EVENT_KEY}`, + CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}` +}; +const ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Alert { + constructor(element) { + this._element = element; + + if (this._element) { + Data.setData(element, DATA_KEY, this); + } + } // Getters + + + static get VERSION() { + return VERSION; + } // Public + + + close(element) { + let rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + const customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent === null || customEvent.defaultPrevented) { + return; + } + + this._removeElement(rootElement); + } + + dispose() { + Data.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + + + _getRootElement(element) { + const selector = getSelectorFromElement(element); + let parent = false; + + if (selector) { + parent = SelectorEngine.findOne(selector); + } + + if (!parent) { + parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`); + } + + return parent; + } + + _triggerCloseEvent(element) { + return EventHandler.trigger(element, Event$1.CLOSE); + } + + _removeElement(element) { + element.classList.remove(ClassName.SHOW); + + if (!element.classList.contains(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + const transitionDuration = getTransitionDurationFromElement(element); + EventHandler.one(element, TRANSITION_END, event => this._destroyElement(element, event)); + emulateTransitionEnd(element, transitionDuration); + } + + _destroyElement(element) { + if (element.parentNode) { + element.parentNode.removeChild(element); + } + + EventHandler.trigger(element, Event$1.CLOSED); + } // Static + + + static _jQueryInterface(config) { + return this.each(function () { + let data = Data.getData(this, DATA_KEY); + + if (!data) { + data = new Alert(this); + } + + if (config === 'close') { + data[config](this); + } + }); + } + + static _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, Event$1.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .alert to jQuery only if jQuery is present + */ + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME]; + jQuery.fn[NAME] = Alert._jQueryInterface; + jQuery.fn[NAME].Constructor = Alert; + + jQuery.fn[NAME].noConflict = () => { + jQuery.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$1 = 'button'; +const VERSION$1 = '4.3.1'; +const DATA_KEY$1 = 'bs.button'; +const EVENT_KEY$1 = `.${DATA_KEY$1}`; +const DATA_API_KEY$1 = '.data-api'; +const ClassName$1 = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' +}; +const Selector$1 = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input:not([type="hidden"])', + ACTIVE: '.active', + BUTTON: '.btn' +}; +const Event$2 = { + CLICK_DATA_API: `click${EVENT_KEY$1}${DATA_API_KEY$1}`, + FOCUS_DATA_API: `focus${EVENT_KEY$1}${DATA_API_KEY$1}`, + BLUR_DATA_API: `blur${EVENT_KEY$1}${DATA_API_KEY$1}` + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Button { + constructor(element) { + this._element = element; + Data.setData(element, DATA_KEY$1, this); + } // Getters + + + static get VERSION() { + return VERSION$1; + } // Public + + + toggle() { + let triggerChangeEvent = true; + let addAriaPressed = true; + const rootElement = SelectorEngine.closest(this._element, Selector$1.DATA_TOGGLE); + + if (rootElement) { + const input = SelectorEngine.findOne(Selector$1.INPUT, this._element); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) { + triggerChangeEvent = false; + } else { + const activeElement = SelectorEngine.findOne(Selector$1.ACTIVE, rootElement); + + if (activeElement) { + activeElement.classList.remove(ClassName$1.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { + return; + } + + input.checked = !this._element.classList.contains(ClassName$1.ACTIVE); + EventHandler.trigger(input, 'change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE)); + } + + if (triggerChangeEvent) { + this._element.classList.toggle(ClassName$1.ACTIVE); + } + } + + dispose() { + Data.removeData(this._element, DATA_KEY$1); + this._element = null; + } // Static + + + static _jQueryInterface(config) { + return this.each(function () { + let data = Data.getData(this, DATA_KEY$1); + + if (!data) { + data = new Button(this); + } + + if (config === 'toggle') { + data[config](); + } + }); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$1); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, Event$2.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, event => { + event.preventDefault(); + let button = event.target; + + if (!button.classList.contains(ClassName$1.BUTTON)) { + button = SelectorEngine.closest(button, Selector$1.BUTTON); + } + + let data = Data.getData(button, DATA_KEY$1); + + if (!data) { + data = new Button(button); + Data.setData(button, DATA_KEY$1, data); + } + + data.toggle(); +}); +EventHandler.on(document, Event$2.FOCUS_DATA_API, Selector$1.DATA_TOGGLE_CARROT, event => { + const button = SelectorEngine.closest(event.target, Selector$1.BUTTON); + button.classList.add(ClassName$1.FOCUS); +}); +EventHandler.on(document, Event$2.BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, event => { + const button = SelectorEngine.closest(event.target, Selector$1.BUTTON); + button.classList.remove(ClassName$1.FOCUS); +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .button to jQuery only if jQuery is present + */ + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$1]; + jQuery.fn[NAME$1] = Button._jQueryInterface; + jQuery.fn[NAME$1].Constructor = Button; + + jQuery.fn[NAME$1].noConflict = () => { + jQuery.fn[NAME$1] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; +} + +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): dom/manipulator.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +function normalizeData(val) { + if (val === 'true') { + return true; + } + + if (val === 'false') { + return false; + } + + if (val === Number(val).toString()) { + return Number(val); + } + + if (val === '' || val === 'null') { + return null; + } + + return val; +} + +function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, chr => chr.toLowerCase()); +} + +const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-${normalizeDataKey(key)}`, value); + }, + + removeDataAttribute(element, key) { + element.removeAttribute(`data-${normalizeDataKey(key)}`); + }, + + getDataAttributes(element) { + if (!element) { + return {}; + } + + const attributes = _extends({}, element.dataset); + + Object.keys(attributes).forEach(key => { + attributes[key] = normalizeData(attributes[key]); + }); + return attributes; + }, + + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`)); + }, + + offset(element) { + const rect = element.getBoundingClientRect(); + return { + top: rect.top + document.body.scrollTop, + left: rect.left + document.body.scrollLeft + }; + }, + + position(element) { + return { + top: element.offsetTop, + left: element.offsetLeft + }; + }, + + toggleClass(element, className) { + if (!element) { + return; + } + + if (element.classList.contains(className)) { + element.classList.remove(className); + } else { + element.classList.add(className); + } + } + +}; + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$2 = 'carousel'; +const VERSION$2 = '4.3.1'; +const DATA_KEY$2 = 'bs.carousel'; +const EVENT_KEY$2 = `.${DATA_KEY$2}`; +const DATA_API_KEY$2 = '.data-api'; +const ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + +const ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + +const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + +const SWIPE_THRESHOLD = 40; +const Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true +}; +const DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' +}; +const Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' +}; +const Event$3 = { + SLIDE: `slide${EVENT_KEY$2}`, + SLID: `slid${EVENT_KEY$2}`, + KEYDOWN: `keydown${EVENT_KEY$2}`, + MOUSEENTER: `mouseenter${EVENT_KEY$2}`, + MOUSELEAVE: `mouseleave${EVENT_KEY$2}`, + TOUCHSTART: `touchstart${EVENT_KEY$2}`, + TOUCHMOVE: `touchmove${EVENT_KEY$2}`, + TOUCHEND: `touchend${EVENT_KEY$2}`, + POINTERDOWN: `pointerdown${EVENT_KEY$2}`, + POINTERUP: `pointerup${EVENT_KEY$2}`, + DRAG_START: `dragstart${EVENT_KEY$2}`, + LOAD_DATA_API: `load${EVENT_KEY$2}${DATA_API_KEY$2}`, + CLICK_DATA_API: `click${EVENT_KEY$2}${DATA_API_KEY$2}` +}; +const ClassName$2 = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item', + POINTER_EVENT: 'pointer-event' +}; +const Selector$2 = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + ITEM_IMG: '.carousel-item img', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' +}; +const PointerType = { + TOUCH: 'touch', + PEN: 'pen' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Carousel { + constructor(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + + Data.setData(element, DATA_KEY$2, this); + } // Getters + + + static get VERSION() { + return VERSION$2; + } + + static get Default() { + return Default; + } // Public + + + next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + } + + nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + + prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + } + + pause(event) { + if (!event) { + this._isPaused = true; + } + + if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) { + triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + } + + cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config && this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + } + + to(index) { + this._activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element); + + const activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + EventHandler.one(this._element, Event$3.SLID, () => this.to(index)); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + const direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + } + + dispose() { + EventHandler.off(this._element, EVENT_KEY$2); + Data.removeData(this._element, DATA_KEY$2); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + + + _getConfig(config) { + config = _extends({}, Default, config); + typeCheckConfig(NAME$2, config, DefaultType); + return config; + } + + _handleSwipe() { + const absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + const direction = absDeltax / this.touchDeltaX; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); + } + } + + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, Event$3.KEYDOWN, event => this._keydown(event)); + } + + if (this._config.pause === 'hover') { + EventHandler.on(this._element, Event$3.MOUSEENTER, event => this.pause(event)); + EventHandler.on(this._element, Event$3.MOUSELEAVE, event => this.cycle(event)); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + } + + _addTouchEventListeners() { + if (!this._touchSupported) { + return; + } + + const start = event => { + if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { + this.touchStartX = event.clientX; + } else if (!this._pointerEvent) { + this.touchStartX = event.touches[0].clientX; + } + }; + + const move = event => { + // ensure swiping with one touch and not pinching + if (event.touches && event.touches.length > 1) { + this.touchDeltaX = 0; + } else { + this.touchDeltaX = event.touches[0].clientX - this.touchStartX; + } + }; + + const end = event => { + if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { + this.touchDeltaX = event.clientX - this.touchStartX; + } + + this._handleSwipe(); + + if (this._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + this.pause(); + + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + + this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + } + }; + + makeArray(SelectorEngine.find(Selector$2.ITEM_IMG, this._element)).forEach(itemImg => { + EventHandler.on(itemImg, Event$3.DRAG_START, e => e.preventDefault()); + }); + + if (this._pointerEvent) { + EventHandler.on(this._element, Event$3.POINTERDOWN, event => start(event)); + EventHandler.on(this._element, Event$3.POINTERUP, event => end(event)); + + this._element.classList.add(ClassName$2.POINTER_EVENT); + } else { + EventHandler.on(this._element, Event$3.TOUCHSTART, event => start(event)); + EventHandler.on(this._element, Event$3.TOUCHMOVE, event => move(event)); + EventHandler.on(this._element, Event$3.TOUCHEND, event => end(event)); + } + } + + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + + default: + } + } + + _getItemIndex(element) { + this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : []; + return this._items.indexOf(element); + } + + _getItemByDirection(direction, activeElement) { + const isNextDirection = direction === Direction.NEXT; + const isPrevDirection = direction === Direction.PREV; + + const activeIndex = this._getItemIndex(activeElement); + + const lastItemIndex = this._items.length - 1; + const isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + const delta = direction === Direction.PREV ? -1 : 1; + const itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + } + + _triggerSlideEvent(relatedTarget, eventDirectionName) { + const targetIndex = this._getItemIndex(relatedTarget); + + const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element)); + + return EventHandler.trigger(this._element, Event$3.SLIDE, { + relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + } + + _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + const indicators = SelectorEngine.find(Selector$2.ACTIVE, this._indicatorsElement); + + for (let i = 0; i < indicators.length; i++) { + indicators[i].classList.remove(ClassName$2.ACTIVE); + } + + const nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + nextIndicator.classList.add(ClassName$2.ACTIVE); + } + } + } + + _slide(direction, element) { + const activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element); + + const activeElementIndex = this._getItemIndex(activeElement); + + const nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + const nextElementIndex = this._getItemIndex(nextElement); + + const isCycling = Boolean(this._interval); + let directionalClassName; + let orderClassName; + let eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName$2.LEFT; + orderClassName = ClassName$2.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName$2.RIGHT; + orderClassName = ClassName$2.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) { + this._isSliding = false; + return; + } + + const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.defaultPrevented) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + if (this._element.classList.contains(ClassName$2.SLIDE)) { + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); + + if (nextElementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = nextElementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + + const transitionDuration = getTransitionDurationFromElement(activeElement); + EventHandler.one(activeElement, TRANSITION_END, () => { + nextElement.classList.remove(directionalClassName); + nextElement.classList.remove(orderClassName); + nextElement.classList.add(ClassName$2.ACTIVE); + activeElement.classList.remove(ClassName$2.ACTIVE); + activeElement.classList.remove(orderClassName); + activeElement.classList.remove(directionalClassName); + this._isSliding = false; + setTimeout(() => { + EventHandler.trigger(this._element, Event$3.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + }, 0); + }); + emulateTransitionEnd(activeElement, transitionDuration); + } else { + activeElement.classList.remove(ClassName$2.ACTIVE); + nextElement.classList.add(ClassName$2.ACTIVE); + this._isSliding = false; + EventHandler.trigger(this._element, Event$3.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + } + + if (isCycling) { + this.cycle(); + } + } // Static + + + static _carouselInterface(element, config) { + let data = Data.getData(element, DATA_KEY$2); + + let _config = _extends({}, Default, Manipulator.getDataAttributes(element)); + + if (typeof config === 'object') { + _config = _extends({}, _config, config); + } + + const action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(element, _config); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError(`No method named "${action}"`); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + } + + static _jQueryInterface(config) { + return this.each(function () { + Carousel._carouselInterface(this, config); + }); + } + + static _dataApiClickHandler(event) { + const selector = getSelectorFromElement(this); + + if (!selector) { + return; + } + + const target = SelectorEngine.findOne(selector); + + if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) { + return; + } + + const config = _extends({}, Manipulator.getDataAttributes(target), Manipulator.getDataAttributes(this)); + + const slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._carouselInterface(target, config); + + if (slideIndex) { + Data.getData(target, DATA_KEY$2).to(slideIndex); + } + + event.preventDefault(); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$2); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler); +EventHandler.on(window, Event$3.LOAD_DATA_API, () => { + const carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE)); + + for (let i = 0, len = carousels.length; i < len; i++) { + Carousel._carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2)); + } +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .carousel to jQuery only if jQuery is present + */ + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$2]; + jQuery.fn[NAME$2] = Carousel._jQueryInterface; + jQuery.fn[NAME$2].Constructor = Carousel; + + jQuery.fn[NAME$2].noConflict = () => { + jQuery.fn[NAME$2] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; +} + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$3 = 'collapse'; +const VERSION$3 = '4.3.1'; +const DATA_KEY$3 = 'bs.collapse'; +const EVENT_KEY$3 = `.${DATA_KEY$3}`; +const DATA_API_KEY$3 = '.data-api'; +const Default$1 = { + toggle: true, + parent: '' +}; +const DefaultType$1 = { + toggle: 'boolean', + parent: '(string|element)' +}; +const Event$4 = { + SHOW: `show${EVENT_KEY$3}`, + SHOWN: `shown${EVENT_KEY$3}`, + HIDE: `hide${EVENT_KEY$3}`, + HIDDEN: `hidden${EVENT_KEY$3}`, + CLICK_DATA_API: `click${EVENT_KEY$3}${DATA_API_KEY$3}` +}; +const ClassName$3 = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' +}; +const Dimension = { + WIDTH: 'width', + HEIGHT: 'height' +}; +const Selector$3 = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Collapse { + constructor(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = makeArray(SelectorEngine.find(`[data-toggle="collapse"][href="#${element.id}"],` + `[data-toggle="collapse"][data-target="#${element.id}"]`)); + const toggleList = makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE)); + + for (let i = 0, len = toggleList.length; i < len; i++) { + const elem = toggleList[i]; + const selector = getSelectorFromElement(elem); + const filterElement = makeArray(SelectorEngine.find(selector)).filter(foundElem => foundElem === element); + + if (selector !== null && filterElement.length) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + + Data.setData(element, DATA_KEY$3, this); + } // Getters + + + static get VERSION() { + return VERSION$3; + } + + static get Default() { + return Default$1; + } // Public + + + toggle() { + if (this._element.classList.contains(ClassName$3.SHOW)) { + this.hide(); + } else { + this.show(); + } + } + + show() { + if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) { + return; + } + + let actives; + let activesData; + + if (this._parent) { + actives = makeArray(SelectorEngine.find(Selector$3.ACTIVES, this._parent)).filter(elem => { + if (typeof this._config.parent === 'string') { + return elem.getAttribute('data-parent') === this._config.parent; + } + + return elem.classList.contains(ClassName$3.COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; + } + } + + const container = SelectorEngine.findOne(this._selector); + + if (actives) { + const tempActiveData = actives.filter(elem => container !== elem); + activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY$3) : null; + + if (activesData && activesData._isTransitioning) { + return; + } + } + + const startEvent = EventHandler.trigger(this._element, Event$4.SHOW); + + if (startEvent.defaultPrevented) { + return; + } + + if (actives) { + actives.forEach(elemActive => { + if (container !== elemActive) { + Collapse._collapseInterface(elemActive, 'hide'); + } + + if (!activesData) { + Data.setData(elemActive, DATA_KEY$3, null); + } + }); + } + + const dimension = this._getDimension(); + + this._element.classList.remove(ClassName$3.COLLAPSE); + + this._element.classList.add(ClassName$3.COLLAPSING); + + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + this._triggerArray.forEach(element => { + element.classList.remove(ClassName$3.COLLAPSED); + element.setAttribute('aria-expanded', true); + }); + } + + this.setTransitioning(true); + + const complete = () => { + this._element.classList.remove(ClassName$3.COLLAPSING); + + this._element.classList.add(ClassName$3.COLLAPSE); + + this._element.classList.add(ClassName$3.SHOW); + + this._element.style[dimension] = ''; + this.setTransitioning(false); + EventHandler.trigger(this._element, Event$4.SHOWN); + }; + + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + const transitionDuration = getTransitionDurationFromElement(this._element); + EventHandler.one(this._element, TRANSITION_END, complete); + emulateTransitionEnd(this._element, transitionDuration); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + + hide() { + if (this._isTransitioning || !this._element.classList.contains(ClassName$3.SHOW)) { + return; + } + + const startEvent = EventHandler.trigger(this._element, Event$4.HIDE); + + if (startEvent.defaultPrevented) { + return; + } + + const dimension = this._getDimension(); + + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + + this._element.classList.add(ClassName$3.COLLAPSING); + + this._element.classList.remove(ClassName$3.COLLAPSE); + + this._element.classList.remove(ClassName$3.SHOW); + + const triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (let i = 0; i < triggerArrayLength; i++) { + const trigger = this._triggerArray[i]; + const selector = getSelectorFromElement(trigger); + + if (selector !== null) { + const elem = SelectorEngine.findOne(selector); + + if (!elem.classList.contains(ClassName$3.SHOW)) { + trigger.classList.add(ClassName$3.COLLAPSED); + trigger.setAttribute('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + const complete = () => { + this.setTransitioning(false); + + this._element.classList.remove(ClassName$3.COLLAPSING); + + this._element.classList.add(ClassName$3.COLLAPSE); + + EventHandler.trigger(this._element, Event$4.HIDDEN); + }; + + this._element.style[dimension] = ''; + const transitionDuration = getTransitionDurationFromElement(this._element); + EventHandler.one(this._element, TRANSITION_END, complete); + emulateTransitionEnd(this._element, transitionDuration); + } + + setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + } + + dispose() { + Data.removeData(this._element, DATA_KEY$3); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + + + _getConfig(config) { + config = _extends({}, Default$1, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + typeCheckConfig(NAME$3, config, DefaultType$1); + return config; + } + + _getDimension() { + const hasWidth = this._element.classList.contains(Dimension.WIDTH); + + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + } + + _getParent() { + let parent = this._config.parent; + + if (isElement(parent)) { + // it's a jQuery object + if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') { + parent = parent[0]; + } + } else { + parent = SelectorEngine.findOne(parent); + } + + const selector = `[data-toggle="collapse"][data-parent="${parent}"]`; + makeArray(SelectorEngine.find(selector, parent)).forEach(element => { + this._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + } + + _addAriaAndCollapsedClass(element, triggerArray) { + if (element) { + const isOpen = element.classList.contains(ClassName$3.SHOW); + + if (triggerArray.length) { + triggerArray.forEach(elem => { + if (isOpen) { + elem.classList.remove(ClassName$3.COLLAPSED); + } else { + elem.classList.add(ClassName$3.COLLAPSED); + } + + elem.setAttribute('aria-expanded', isOpen); + }); + } + } + } // Static + + + static _getTargetFromElement(element) { + const selector = getSelectorFromElement(element); + return selector ? SelectorEngine.findOne(selector) : null; + } + + static _collapseInterface(element, config) { + let data = Data.getData(element, DATA_KEY$3); + + const _config = _extends({}, Default$1, Manipulator.getDataAttributes(element), typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(element, _config); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + } + + static _jQueryInterface(config) { + return this.each(function () { + Collapse._collapseInterface(this, config); + }); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$3); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, Event$4.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.target.tagName === 'A') { + event.preventDefault(); + } + + const triggerData = Manipulator.getDataAttributes(this); + const selector = getSelectorFromElement(this); + const selectorElements = makeArray(SelectorEngine.find(selector)); + selectorElements.forEach(element => { + const data = Data.getData(element, DATA_KEY$3); + let config; + + if (data) { + // update parent attribute + if (data._parent === null && typeof triggerData.parent === 'string') { + data._config.parent = triggerData.parent; + data._parent = data._getParent(); + } + + config = 'toggle'; + } else { + config = triggerData; + } + + Collapse._collapseInterface(element, config); + }); +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .collapse to jQuery only if jQuery is present + */ + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$3]; + jQuery.fn[NAME$3] = Collapse._jQueryInterface; + jQuery.fn[NAME$3].Constructor = Collapse; + + jQuery.fn[NAME$3].noConflict = () => { + jQuery.fn[NAME$3] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; +} + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$4 = 'dropdown'; +const VERSION$4 = '4.3.1'; +const DATA_KEY$4 = 'bs.dropdown'; +const EVENT_KEY$4 = `.${DATA_KEY$4}`; +const DATA_API_KEY$4 = '.data-api'; +const ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + +const SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + +const TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + +const ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + +const ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + +const RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + +const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`); +const Event$5 = { + HIDE: `hide${EVENT_KEY$4}`, + HIDDEN: `hidden${EVENT_KEY$4}`, + SHOW: `show${EVENT_KEY$4}`, + SHOWN: `shown${EVENT_KEY$4}`, + CLICK: `click${EVENT_KEY$4}`, + CLICK_DATA_API: `click${EVENT_KEY$4}${DATA_API_KEY$4}`, + KEYDOWN_DATA_API: `keydown${EVENT_KEY$4}${DATA_API_KEY$4}`, + KEYUP_DATA_API: `keyup${EVENT_KEY$4}${DATA_API_KEY$4}` +}; +const ClassName$4 = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + DROPRIGHT: 'dropright', + DROPLEFT: 'dropleft', + MENURIGHT: 'dropdown-menu-right', + POSITION_STATIC: 'position-static' +}; +const Selector$4 = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' +}; +const AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end', + RIGHT: 'right-start', + RIGHTEND: 'right-end', + LEFT: 'left-start', + LEFTEND: 'left-end' +}; +const Default$2 = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic' +}; +const DefaultType$2 = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Dropdown { + constructor(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + + Data.setData(element, DATA_KEY$4, this); + } // Getters + + + static get VERSION() { + return VERSION$4; + } + + static get Default() { + return Default$2; + } + + static get DefaultType() { + return DefaultType$2; + } // Public + + + toggle() { + if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED)) { + return; + } + + const parent = Dropdown._getParentFromElement(this._element); + + const isActive = this._menu.classList.contains(ClassName$4.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(parent, Event$5.SHOW, relatedTarget); + + if (showEvent.defaultPrevented) { + return; + } // Disable totally Popper.js for Dropdown in Navbar + + + if (!this._inNavbar) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org)'); + } + + let referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + parent.classList.add(ClassName$4.POSITION_STATIC); + } + + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && !makeArray(SelectorEngine.closest(parent, Selector$4.NAVBAR_NAV)).length) { + makeArray(document.body.children).forEach(elem => EventHandler.on(elem, 'mouseover', null, noop())); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + Manipulator.toggleClass(this._menu, ClassName$4.SHOW); + Manipulator.toggleClass(parent, ClassName$4.SHOW); + EventHandler.trigger(parent, Event$5.SHOWN, relatedTarget); + } + + show() { + if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || this._menu.classList.contains(ClassName$4.SHOW)) { + return; + } + + const parent = Dropdown._getParentFromElement(this._element); + + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(parent, Event$5.SHOW, relatedTarget); + + if (showEvent.defaultPrevented) { + return; + } + + Manipulator.toggleClass(this._menu, ClassName$4.SHOW); + Manipulator.toggleClass(parent, ClassName$4.SHOW); + EventHandler.trigger(parent, Event$5.SHOWN, relatedTarget); + } + + hide() { + if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || !this._menu.classList.contains(ClassName$4.SHOW)) { + return; + } + + const parent = Dropdown._getParentFromElement(this._element); + + const relatedTarget = { + relatedTarget: this._element + }; + const hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget); + + if (hideEvent.defaultPrevented) { + return; + } + + Manipulator.toggleClass(this._menu, ClassName$4.SHOW); + Manipulator.toggleClass(parent, ClassName$4.SHOW); + EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget); + } + + dispose() { + Data.removeData(this._element, DATA_KEY$4); + EventHandler.off(this._element, EVENT_KEY$4); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + } + + update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + + + _addEventListeners() { + EventHandler.on(this._element, Event$5.CLICK, event => { + event.preventDefault(); + event.stopPropagation(); + this.toggle(); + }); + } + + _getConfig(config) { + config = _extends({}, this.constructor.Default, Manipulator.getDataAttributes(this._element), config); + typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + return config; + } + + _getMenuElement() { + if (!this._menu) { + const parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = SelectorEngine.findOne(Selector$4.MENU, parent); + } + } + + return this._menu; + } + + _getPlacement() { + const parentDropdown = this._element.parentNode; + let placement = AttachmentMap.BOTTOM; // Handle dropup + + if (parentDropdown.classList.contains(ClassName$4.DROPUP)) { + placement = AttachmentMap.TOP; + + if (this._menu.classList.contains(ClassName$4.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if (parentDropdown.classList.contains(ClassName$4.DROPRIGHT)) { + placement = AttachmentMap.RIGHT; + } else if (parentDropdown.classList.contains(ClassName$4.DROPLEFT)) { + placement = AttachmentMap.LEFT; + } else if (this._menu.classList.contains(ClassName$4.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + } + + _detectNavbar() { + return Boolean(SelectorEngine.closest(this._element, '.navbar')); + } + + _getOffset() { + const offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = data => { + data.offsets = _extends({}, data.offsets, this._config.offset(data.offsets, this._element) || {}); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + } + + _getPopperConfig() { + const popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } // Disable Popper.js if we have a static display + + }; + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return popperConfig; + } // Static + + + static _dropdownInterface(element, config) { + let data = Data.getData(element, DATA_KEY$4); + + const _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(element, _config); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + } + + static _jQueryInterface(config) { + return this.each(function () { + Dropdown._dropdownInterface(this, config); + }); + } + + static _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + const toggles = makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE)); + + for (let i = 0, len = toggles.length; i < len; i++) { + const parent = Dropdown._getParentFromElement(toggles[i]); + + const context = Data.getData(toggles[i], DATA_KEY$4); + const relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + const dropdownMenu = context._menu; + + if (!parent.classList.contains(ClassName$4.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && parent.contains(event.target)) { + continue; + } + + const hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget); + + if (hideEvent.defaultPrevented) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + makeArray(document.body.children).forEach(elem => EventHandler.off(elem, 'mouseover', null, noop())); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + dropdownMenu.classList.remove(ClassName$4.SHOW); + parent.classList.remove(ClassName$4.SHOW); + EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget); + } + } + + static _getParentFromElement(element) { + let parent; + const selector = getSelectorFromElement(element); + + if (selector) { + parent = SelectorEngine.findOne(selector); + } + + return parent || element.parentNode; + } + + static _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, Selector$4.MENU)) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || this.classList.contains(ClassName$4.DISABLED)) { + return; + } + + const parent = Dropdown._getParentFromElement(this); + + const isActive = parent.classList.contains(ClassName$4.SHOW); + + if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + EventHandler.trigger(SelectorEngine.findOne(Selector$4.DATA_TOGGLE, parent), 'focus'); + } + + Dropdown._clearMenus(); + + return; + } + + const items = makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS, parent)); + + if (!items.length) { + return; + } + + let index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$4); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler); +EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler); +EventHandler.on(document, Event$5.CLICK_DATA_API, Dropdown._clearMenus); +EventHandler.on(document, Event$5.KEYUP_DATA_API, Dropdown._clearMenus); +EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._dropdownInterface(this, 'toggle'); +}); +EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.FORM_CHILD, e => e.stopPropagation()); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .dropdown to jQuery only if jQuery is present + */ + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$4]; + jQuery.fn[NAME$4] = Dropdown._jQueryInterface; + jQuery.fn[NAME$4].Constructor = Dropdown; + + jQuery.fn[NAME$4].noConflict = () => { + jQuery.fn[NAME$4] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; +} + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$5 = 'modal'; +const VERSION$5 = '4.3.1'; +const DATA_KEY$5 = 'bs.modal'; +const EVENT_KEY$5 = `.${DATA_KEY$5}`; +const DATA_API_KEY$5 = '.data-api'; +const ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key + +const Default$3 = { + backdrop: true, + keyboard: true, + focus: true, + show: true +}; +const DefaultType$3 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' +}; +const Event$6 = { + HIDE: `hide${EVENT_KEY$5}`, + HIDDEN: `hidden${EVENT_KEY$5}`, + SHOW: `show${EVENT_KEY$5}`, + SHOWN: `shown${EVENT_KEY$5}`, + FOCUSIN: `focusin${EVENT_KEY$5}`, + RESIZE: `resize${EVENT_KEY$5}`, + CLICK_DISMISS: `click.dismiss${EVENT_KEY$5}`, + KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY$5}`, + MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY$5}`, + MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY$5}`, + CLICK_DATA_API: `click${EVENT_KEY$5}${DATA_API_KEY$5}` +}; +const ClassName$5 = { + SCROLLABLE: 'modal-dialog-scrollable', + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show' +}; +const Selector$5 = { + DIALOG: '.modal-dialog', + MODAL_BODY: '.modal-body', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Modal { + constructor(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = SelectorEngine.findOne(Selector$5.DIALOG, element); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + Data.setData(element, DATA_KEY$5, this); + } // Getters + + + static get VERSION() { + return VERSION$5; + } + + static get Default() { + return Default$3; + } // Public + + + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + + if (this._element.classList.contains(ClassName$5.FADE)) { + this._isTransitioning = true; + } + + const showEvent = EventHandler.trigger(this._element, Event$6.SHOW, { + relatedTarget + }); + + if (this._isShown || showEvent.defaultPrevented) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + EventHandler.on(this._element, Event$6.CLICK_DISMISS, Selector$5.DATA_DISMISS, event => this.hide(event)); + EventHandler.on(this._dialog, Event$6.MOUSEDOWN_DISMISS, () => { + EventHandler.one(this._element, Event$6.MOUSEUP_DISMISS, event => { + if (event.target === this._element) { + this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(() => this._showElement(relatedTarget)); + } + + hide(event) { + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + const hideEvent = EventHandler.trigger(this._element, Event$6.HIDE); + + if (!this._isShown || hideEvent.defaultPrevented) { + return; + } + + this._isShown = false; + + const transition = this._element.classList.contains(ClassName$5.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + EventHandler.off(document, Event$6.FOCUSIN); + + this._element.classList.remove(ClassName$5.SHOW); + + EventHandler.off(this._element, Event$6.CLICK_DISMISS); + EventHandler.off(this._dialog, Event$6.MOUSEDOWN_DISMISS); + + if (transition) { + const transitionDuration = getTransitionDurationFromElement(this._element); + EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event)); + emulateTransitionEnd(this._element, transitionDuration); + } else { + this._hideModal(); + } + } + + dispose() { + [window, this._element, this._dialog].forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY$5)); + /** + * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `Event.CLICK_DATA_API` event that should remain + */ + + EventHandler.off(document, Event$6.FOCUSIN); + Data.removeData(this._element, DATA_KEY$5); + 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; + } + + handleUpdate() { + this._adjustDialog(); + } // Private + + + _getConfig(config) { + config = _extends({}, Default$3, config); + typeCheckConfig(NAME$5, config, DefaultType$3); + return config; + } + + _showElement(relatedTarget) { + const transition = this._element.classList.contains(ClassName$5.FADE); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + if (this._dialog.classList.contains(ClassName$5.SCROLLABLE)) { + SelectorEngine.findOne(Selector$5.MODAL_BODY, this._dialog).scrollTop = 0; + } else { + this._element.scrollTop = 0; + } + + if (transition) { + reflow(this._element); + } + + this._element.classList.add(ClassName$5.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + const transitionComplete = () => { + if (this._config.focus) { + this._element.focus(); + } + + this._isTransitioning = false; + EventHandler.trigger(this._element, Event$6.SHOWN, { + relatedTarget + }); + }; + + if (transition) { + const transitionDuration = getTransitionDurationFromElement(this._dialog); + EventHandler.one(this._dialog, TRANSITION_END, transitionComplete); + emulateTransitionEnd(this._dialog, transitionDuration); + } else { + transitionComplete(); + } + } + + _enforceFocus() { + EventHandler.off(document, Event$6.FOCUSIN); // guard against infinite focus loop + + EventHandler.on(document, Event$6.FOCUSIN, event => { + if (document !== event.target && this._element !== event.target && !this._element.contains(event.target)) { + this._element.focus(); + } + }); + } + + _setEscapeEvent() { + if (this._isShown && this._config.keyboard) { + EventHandler.on(this._element, Event$6.KEYDOWN_DISMISS, event => { + if (event.which === ESCAPE_KEYCODE$1) { + event.preventDefault(); + this.hide(); + } + }); + } else if (!this._isShown) { + EventHandler.off(this._element, Event$6.KEYDOWN_DISMISS); + } + } + + _setResizeEvent() { + if (this._isShown) { + EventHandler.on(window, Event$6.RESIZE, event => this.handleUpdate(event)); + } else { + EventHandler.off(window, Event$6.RESIZE); + } + } + + _hideModal() { + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._isTransitioning = false; + + this._showBackdrop(() => { + document.body.classList.remove(ClassName$5.OPEN); + + this._resetAdjustments(); + + this._resetScrollbar(); + + EventHandler.trigger(this._element, Event$6.HIDDEN); + }); + } + + _removeBackdrop() { + if (this._backdrop) { + this._backdrop.parentNode.removeChild(this._backdrop); + + this._backdrop = null; + } + } + + _showBackdrop(callback) { + const animate = this._element.classList.contains(ClassName$5.FADE) ? ClassName$5.FADE : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName$5.BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + document.body.appendChild(this._backdrop); + EventHandler.on(this._element, Event$6.CLICK_DISMISS, event => { + if (this._ignoreBackdropClick) { + this._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (this._config.backdrop === 'static') { + this._element.focus(); + } else { + this.hide(); + } + }); + + if (animate) { + reflow(this._backdrop); + } + + this._backdrop.classList.add(ClassName$5.SHOW); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop); + EventHandler.one(this._backdrop, TRANSITION_END, callback); + emulateTransitionEnd(this._backdrop, backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + this._backdrop.classList.remove(ClassName$5.SHOW); + + const callbackRemove = () => { + this._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if (this._element.classList.contains(ClassName$5.FADE)) { + const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop); + EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove); + emulateTransitionEnd(this._backdrop, backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // ---------------------------------------------------------------------- + + + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = `${this._scrollbarWidth}px`; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = `${this._scrollbarWidth}px`; + } + } + + _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + } + + _checkScrollbar() { + const rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + } + + _setScrollbar() { + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + // Adjust fixed content padding + makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(element => { + const actualPadding = element.style.paddingRight; + const calculatedPadding = window.getComputedStyle(element)['padding-right']; + Manipulator.setDataAttribute(element, 'padding-right', actualPadding); + element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`; + }); // Adjust sticky content margin + + makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach(element => { + const actualMargin = element.style.marginRight; + const calculatedMargin = window.getComputedStyle(element)['margin-right']; + Manipulator.setDataAttribute(element, 'margin-right', actualMargin); + element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`; + }); // Adjust body padding + + const actualPadding = document.body.style.paddingRight; + const calculatedPadding = window.getComputedStyle(document.body)['padding-right']; + Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding); + document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`; + } + + document.body.classList.add(ClassName$5.OPEN); + } + + _resetScrollbar() { + // Restore fixed content padding + makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(element => { + const padding = Manipulator.getDataAttribute(element, 'padding-right'); + + if (typeof padding !== 'undefined') { + Manipulator.removeDataAttribute(element, 'padding-right'); + element.style.paddingRight = padding; + } + }); // Restore sticky content and navbar-toggler margin + + makeArray(SelectorEngine.find(`${Selector$5.STICKY_CONTENT}`)).forEach(element => { + const margin = Manipulator.getDataAttribute(element, 'margin-right'); + + if (typeof margin !== 'undefined') { + Manipulator.removeDataAttribute(element, 'margin-right'); + element.style.marginRight = margin; + } + }); // Restore body padding + + const padding = Manipulator.getDataAttribute(document.body, 'padding-right'); + + if (typeof padding === 'undefined') { + document.body.style.paddingRight = ''; + } else { + Manipulator.removeDataAttribute(document.body, 'padding-right'); + document.body.style.paddingRight = padding; + } + } + + _getScrollbarWidth() { + // thx d.walsh + const scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + + + static _jQueryInterface(config, relatedTarget) { + return this.each(function () { + let data = Data.getData(this, DATA_KEY$5); + + const _config = _extends({}, Default$3, Manipulator.getDataAttributes(this), typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$5); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, Event$6.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) { + let target; + const selector = getSelectorFromElement(this); + + if (selector) { + target = SelectorEngine.findOne(selector); + } + + const config = Data.getData(target, DATA_KEY$5) ? 'toggle' : _extends({}, Manipulator.getDataAttributes(target), Manipulator.getDataAttributes(this)); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + EventHandler.one(target, Event$6.SHOW, showEvent => { + if (showEvent.defaultPrevented) { + // only register focus restorer if modal will actually get shown + return; + } + + EventHandler.one(target, Event$6.HIDDEN, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + let data = Data.getData(target, DATA_KEY$5); + + if (!data) { + data = new Modal(target, config); + } + + data.show(this); +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$5]; + jQuery.fn[NAME$5] = Modal._jQueryInterface; + jQuery.fn[NAME$5].Constructor = Modal; + + jQuery.fn[NAME$5].noConflict = () => { + jQuery.fn[NAME$5] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): util/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ +const uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; +const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; +/** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + +const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; +/** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + +const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; + +const allowedAttribute = (attr, allowedAttributeList) => { + const attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp); // Check if a regular expression validates the attribute. + + for (let i = 0, l = regExp.length; i < l; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; +}; + +const DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] +}; +function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + const whitelistKeys = Object.keys(whiteList); + const elements = makeArray(createdDocument.body.querySelectorAll('*')); + + for (let i = 0, len = elements.length; i < len; i++) { + const el = elements[i]; + const elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(elName) === -1) { + el.parentNode.removeChild(el); + continue; + } + + const attributeList = makeArray(el.attributes); + const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(attr => { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + }); + } + + return createdDocument.body.innerHTML; +} + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$6 = 'tooltip'; +const VERSION$6 = '4.3.1'; +const DATA_KEY$6 = 'bs.tooltip'; +const EVENT_KEY$6 = `.${DATA_KEY$6}`; +const CLASS_PREFIX = 'bs-tooltip'; +const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g'); +const DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; +const DefaultType$4 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object' +}; +const AttachmentMap$1 = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' +}; +const Default$4 = { + animation: true, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist +}; +const HoverState = { + SHOW: 'show', + OUT: 'out' +}; +const Event$7 = { + HIDE: `hide${EVENT_KEY$6}`, + HIDDEN: `hidden${EVENT_KEY$6}`, + SHOW: `show${EVENT_KEY$6}`, + SHOWN: `shown${EVENT_KEY$6}`, + INSERTED: `inserted${EVENT_KEY$6}`, + CLICK: `click${EVENT_KEY$6}`, + FOCUSIN: `focusin${EVENT_KEY$6}`, + FOCUSOUT: `focusout${EVENT_KEY$6}`, + MOUSEENTER: `mouseenter${EVENT_KEY$6}`, + MOUSELEAVE: `mouseleave${EVENT_KEY$6}` +}; +const ClassName$6 = { + FADE: 'fade', + SHOW: 'show' +}; +const Selector$6 = { + TOOLTIP_INNER: '.tooltip-inner', + TOOLTIP_ARROW: '.tooltip-arrow' +}; +const Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Tooltip { + constructor(element, config) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)'); + } // private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + + Data.setData(element, this.constructor.DATA_KEY, this); + } // Getters + + + static get VERSION() { + return VERSION$6; + } + + static get Default() { + return Default$4; + } + + static get NAME() { + return NAME$6; + } + + static get DATA_KEY() { + return DATA_KEY$6; + } + + static get Event() { + return Event$7; + } + + static get EVENT_KEY() { + return EVENT_KEY$6; + } + + static get DefaultType() { + return DefaultType$4; + } // Public + + + enable() { + this._isEnabled = true; + } + + disable() { + this._isEnabled = false; + } + + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + + toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + const dataKey = this.constructor.DATA_KEY; + let context = Data.getData(event.delegateTarget, dataKey); + + if (!context) { + context = new this.constructor(event.delegateTarget, this._getDelegateConfig()); + Data.setData(event.delegateTarget, dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if (this.getTipElement().classList.contains(ClassName$6.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + } + + dispose() { + clearTimeout(this._timeout); + Data.removeData(this.element, this.constructor.DATA_KEY); + EventHandler.off(this.element, this.constructor.EVENT_KEY); + EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal'); + + if (this.tip) { + this.tip.parentNode.removeChild(this.tip); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + } + + show() { + if (this.element.style.display === 'none') { + throw new Error('Please use show on visible elements'); + } + + if (this.isWithContent() && this._isEnabled) { + const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW); + const shadowRoot = findShadowRoot(this.element); + const isInTheDom = shadowRoot === null ? this.element.ownerDocument.documentElement.contains(this.element) : shadowRoot.contains(this.element); + + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + + const tip = this.getTipElement(); + const tipId = getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + tip.classList.add(ClassName$6.FADE); + } + + const placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + const attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + const container = this._getContainer(); + + Data.setData(tip, this.constructor.DATA_KEY, this); + + if (!this.element.ownerDocument.documentElement.contains(this.tip)) { + container.appendChild(tip); + } + + EventHandler.trigger(this.element, this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector$6.TOOLTIP_ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: data => { + if (data.originalPlacement !== data.placement) { + this._handlePopperPlacementChange(data); + } + }, + onUpdate: data => this._handlePopperPlacementChange(data) + }); + tip.classList.add(ClassName$6.SHOW); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + makeArray(document.body.children).forEach(element => { + EventHandler.on(element, 'mouseover', noop()); + }); + } + + const complete = () => { + if (this.config.animation) { + this._fixTransition(); + } + + const prevHoverState = this._hoverState; + this._hoverState = null; + EventHandler.trigger(this.element, this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + this._leave(null, this); + } + }; + + if (this.tip.classList.contains(ClassName$6.FADE)) { + const transitionDuration = getTransitionDurationFromElement(this.tip); + EventHandler.one(this.tip, TRANSITION_END, complete); + emulateTransitionEnd(this.tip, transitionDuration); + } else { + complete(); + } + } + } + + hide(callback) { + const tip = this.getTipElement(); + + const complete = () => { + if (this._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + this._cleanTipClass(); + + this.element.removeAttribute('aria-describedby'); + EventHandler.trigger(this.element, this.constructor.Event.HIDDEN); + + if (this._popper !== null) { + this._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE); + + if (hideEvent.defaultPrevented) { + return; + } + + tip.classList.remove(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + makeArray(document.body.children).forEach(element => EventHandler.off(element, 'mouseover', noop)); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if (this.tip.classList.contains(ClassName$6.FADE)) { + const transitionDuration = getTransitionDurationFromElement(tip); + EventHandler.one(tip, TRANSITION_END, complete); + emulateTransitionEnd(tip, transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + } + + update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + + + isWithContent() { + return Boolean(this.getTitle()); + } + + addAttachmentClass(attachment) { + this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`); + } + + getTipElement() { + if (this.tip) { + return this.tip; + } + + const element = document.createElement('div'); + element.innerHTML = this.config.template; + this.tip = element.children[0]; + return this.tip; + } + + setContent() { + const tip = this.getTipElement(); + this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER, tip), this.getTitle()); + tip.classList.remove(ClassName$6.FADE); + tip.classList.remove(ClassName$6.SHOW); + } + + setElementContent(element, content) { + if (element === null) { + return; + } + + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + if (content.jquery) { + content = content[0]; + } // content is a DOM node or a jQuery + + + if (this.config.html) { + if (content.parentNode !== element) { + element.innerHTML = ''; + element.appendChild(content); + } + } else { + element.innerText = content.textContent; + } + + return; + } + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + element.innerHTML = content; + } else { + element.innerText = content; + } + } + + getTitle() { + let title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + + + _getOffset() { + const offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = data => { + data.offsets = _extends({}, data.offsets, this.config.offset(data.offsets, this.element) || {}); + return data; + }; + } else { + offset.offset = this.config.offset; + } + + return offset; + } + + _getContainer() { + if (this.config.container === false) { + return document.body; + } + + if (isElement(this.config.container)) { + return this.config.container; + } + + return SelectorEngine.findOne(this.config.container); + } + + _getAttachment(placement) { + return AttachmentMap$1[placement.toUpperCase()]; + } + + _setListeners() { + const triggers = this.config.trigger.split(' '); + triggers.forEach(trigger => { + if (trigger === 'click') { + EventHandler.on(this.element, this.constructor.Event.CLICK, this.config.selector, event => this.toggle(event)); + } else if (trigger !== Trigger.MANUAL) { + const eventIn = trigger === Trigger.HOVER ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN; + const eventOut = trigger === Trigger.HOVER ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT; + EventHandler.on(this.element, eventIn, this.config.selector, event => this._enter(event)); + EventHandler.on(this.element, eventOut, this.config.selector, event => this._leave(event)); + } + }); + EventHandler.on(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', () => { + if (this.element) { + this.hide(); + } + }); + + if (this.config.selector) { + this.config = _extends({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + } + + _fixTitle() { + const titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + } + + _enter(event, context) { + const dataKey = this.constructor.DATA_KEY; + context = context || Data.getData(event.delegateTarget, dataKey); + + if (!context) { + context = new this.constructor(event.delegateTarget, this._getDelegateConfig()); + Data.setData(event.delegateTarget, dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if (context.getTipElement().classList.contains(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(() => { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + } + + _leave(event, context) { + const dataKey = this.constructor.DATA_KEY; + context = context || Data.getData(event.delegateTarget, dataKey); + + if (!context) { + context = new this.constructor(event.delegateTarget, this._getDelegateConfig()); + Data.setData(event.delegateTarget, dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(() => { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + } + + _isWithActiveTrigger() { + for (const trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + } + + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this.element); + Object.keys(dataAttributes).forEach(dataAttr => { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + + if (config && typeof config.container === 'object' && config.container.jquery) { + config.container = config.container[0]; + } + + config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + typeCheckConfig(NAME$6, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); + } + + return config; + } + + _getDelegateConfig() { + const config = {}; + + if (this.config) { + for (const key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + } + + _cleanTipClass() { + const tip = this.getTipElement(); + const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length) { + tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass)); + } + } + + _handlePopperPlacementChange(popperData) { + const popperInstance = popperData.instance; + this.tip = popperInstance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + } + + _fixTransition() { + const tip = this.getTipElement(); + const initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + tip.classList.remove(ClassName$6.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + + + static _jQueryInterface(config) { + return this.each(function () { + let data = Data.getData(this, DATA_KEY$6); + + const _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + }); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$6); + } + +} +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .tooltip to jQuery only if jQuery is present + */ + + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$6]; + jQuery.fn[NAME$6] = Tooltip._jQueryInterface; + jQuery.fn[NAME$6].Constructor = Tooltip; + + jQuery.fn[NAME$6].noConflict = () => { + jQuery.fn[NAME$6] = JQUERY_NO_CONFLICT; + return Tooltip._jQueryInterface; + }; +} + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$7 = 'popover'; +const VERSION$7 = '4.3.1'; +const DATA_KEY$7 = 'bs.popover'; +const EVENT_KEY$7 = `.${DATA_KEY$7}`; +const CLASS_PREFIX$1 = 'bs-popover'; +const BSCLS_PREFIX_REGEX$1 = new RegExp(`(^|\\s)${CLASS_PREFIX$1}\\S+`, 'g'); + +const Default$5 = _extends({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '' +}); + +const DefaultType$5 = _extends({}, Tooltip.DefaultType, { + content: '(string|element|function)' +}); + +const ClassName$7 = { + FADE: 'fade', + SHOW: 'show' +}; +const Selector$7 = { + TITLE: '.popover-header', + CONTENT: '.popover-body' +}; +const Event$8 = { + HIDE: `hide${EVENT_KEY$7}`, + HIDDEN: `hidden${EVENT_KEY$7}`, + SHOW: `show${EVENT_KEY$7}`, + SHOWN: `shown${EVENT_KEY$7}`, + INSERTED: `inserted${EVENT_KEY$7}`, + CLICK: `click${EVENT_KEY$7}`, + FOCUSIN: `focusin${EVENT_KEY$7}`, + FOCUSOUT: `focusout${EVENT_KEY$7}`, + MOUSEENTER: `mouseenter${EVENT_KEY$7}`, + MOUSELEAVE: `mouseleave${EVENT_KEY$7}` + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class Popover extends Tooltip { + // Getters + static get VERSION() { + return VERSION$7; + } + + static get Default() { + return Default$5; + } + + static get NAME() { + return NAME$7; + } + + static get DATA_KEY() { + return DATA_KEY$7; + } + + static get Event() { + return Event$8; + } + + static get EVENT_KEY() { + return EVENT_KEY$7; + } + + static get DefaultType() { + return DefaultType$5; + } // Overrides + + + isWithContent() { + return this.getTitle() || this._getContent(); + } + + addAttachmentClass(attachment) { + this.getTipElement().classList.add(`${CLASS_PREFIX$1}-${attachment}`); + } + + setContent() { + const tip = this.getTipElement(); // we use append for html objects to maintain js events + + this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE, tip), this.getTitle()); + + let content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT, tip), content); + tip.classList.remove(ClassName$7.FADE); + tip.classList.remove(ClassName$7.SHOW); + } // Private + + + _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + } + + _cleanTipClass() { + const tip = this.getTipElement(); + const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX$1); + + if (tabClass !== null && tabClass.length > 0) { + tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass)); + } + } // Static + + + static _jQueryInterface(config) { + return this.each(function () { + let data = Data.getData(this, DATA_KEY$7); + + const _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + Data.setData(this, DATA_KEY$7, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + }); + } + + static _getInstance(element) { + return Data.getData(element, DATA_KEY$7); + } + +} +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + +if (typeof jQuery !== 'undefined') { + const JQUERY_NO_CONFLICT = jQuery.fn[NAME$7]; + jQuery.fn[NAME$7] = Popover._jQueryInterface; + jQuery.fn[NAME$7].Constructor = Popover; + + jQuery.fn[NAME$7].noConflict = () => { + jQuery.fn[NAME$7] = JQUERY_NO_CONFLICT; + return Popover._jQueryInterface; + }; +} + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$8 = 'scrollspy'; +const VERSION$8 = '4.3.1'; +const DATA_KEY$8 = 'bs.scrollspy'; +const EVENT_KEY$8 = `.${DATA_KEY$8}`; +const DATA_API_KEY$6 = '.data-api'; +const Default$6 = { + offset: 10, + method: 'auto', + target: '' +}; +const DefaultType$6 = { + offset: 'number', + method: 'string', + target: '(string|element)' +}; +const Event$9 = { + ACTIVATE: `activate${EVENT_KEY$8}`, + SCROLL: `scroll${EVENT_KEY$8}`, + LOAD_DATA_API: `load${EVENT_KEY$8}${DATA_API_KEY$6}` +}; +const ClassName$8 = { + DROPDOWN_ITEM: 'dropdown-item', + ACTIVE: 'active' +}; +const Selector$8 = { + DATA_SPY: '[data-spy="scroll"]', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_TOGGLE: '.dropdown-toggle' +}; +const OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +}; + +class ScrollSpy { + constructor(element, config) { + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = `${this._config.target} ${Selector$8.NAV_LINKS},` + `${this._config.target} ${Selector$8.LIST_ITEMS},` + `${this._config.target} .${ClassName$8.DROPDOWN_ITEM}`; + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + EventHandler.on(this._scrollElement, Event$9.SCROLL, event => this._process(event)); + this.refresh(); + + this._process(); + + Data.setData(element, DATA_KEY$8, this); + } // Getters + + + static get VERSION() { + return VERSION$8; + } + + static get Default() { + return Default$6; + } // Public + + + refresh() { + const autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; + const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + const offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + const targets = makeArray(SelectorEngine.find(this._selector)); + targets.map(element => { + let target; + const targetSelector = getSelectorFromElement(element); + + if (targetSelector) { + target = SelectorEngine.findOne(targetSelector); + } + + if (target) { + const targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => { + this._offsets.push(item[0]); + + this._targets.push(item[1]); + }); + } + + dispose() { + Data.removeData(this._element, DATA_KEY$8); + EventHandler.off(this._scrollElement, EVENT_KEY$8); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + + + _getConfig(config) { + config = _extends({}, Default$6, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string') { + let id = config.target.id; + + if (!id) { + id = getUID(NAME$8); + config.target.id = id; + } + + config.target = `#${id}`; + } + + typeCheckConfig(NAME$8, config, DefaultType$6); + return config; + } + + _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + } + + _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + } + + _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + } + + _process() { + const scrollTop = this._getScrollTop() + this._config.offset; + + const scrollHeight = this._getScrollHeight(); + + const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + const target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + const offsetLength = this._offsets.length; + + for (let i = offsetLength; i--;) { + const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + } + + _activate(target) { + this._activeTarget = target; + + this._clear(); + + const queries = this._selector.split(',').map(selector => `${selector}[data-target="${target}"],${selector}[href="${target}"]`); + + const link = SelectorEngine.findOne(queries.join(',')); + + if (link.classList.contains(ClassName$8.DROPDOWN_ITEM)) { + SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE); + link.classList.add(ClassName$8.ACTIVE); + } else { + // Set triggered link as active + link.classList.add(ClassName$8.ACTIVE); + SelectorEngine.parents(link, Selector$8.NAV_LIST_GROUP).forEach(listGroup => { + // Set triggered links parents as active + // With both