diff options
Diffstat (limited to 'dist/js')
-rw-r--r-- | dist/js/bootstrap.bundle.js | 433 | ||||
-rw-r--r-- | dist/js/bootstrap.bundle.js.map | 2 | ||||
-rw-r--r-- | dist/js/bootstrap.bundle.min.js | 2 | ||||
-rw-r--r-- | dist/js/bootstrap.bundle.min.js.map | 2 | ||||
-rw-r--r-- | dist/js/bootstrap.js | 429 | ||||
-rw-r--r-- | dist/js/bootstrap.js.map | 2 | ||||
-rw-r--r-- | dist/js/bootstrap.min.js | 2 | ||||
-rw-r--r-- | dist/js/bootstrap.min.js.map | 2 |
8 files changed, 355 insertions, 519 deletions
diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js index f3a05a3aec..85662b1f50 100644 --- a/dist/js/bootstrap.bundle.js +++ b/dist/js/bootstrap.bundle.js @@ -73,7 +73,6 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ - /** * ------------------------------------------------------------------------ * Private TransitionEnd Helpers @@ -198,13 +197,6 @@ setTransitionEndSupport(); /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): alert.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -370,13 +362,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): button.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -581,10 +566,7 @@ TOUCHMOVE: "touchmove" + EVENT_KEY$2, TOUCHEND: "touchend" + EVENT_KEY$2, POINTERDOWN: "pointerdown" + EVENT_KEY$2, - POINTERMOVE: "pointermove" + EVENT_KEY$2, POINTERUP: "pointerup" + EVENT_KEY$2, - POINTERLEAVE: "pointerleave" + EVENT_KEY$2, - POINTERCANCEL: "pointercancel" + 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 @@ -791,7 +773,7 @@ } var start = function start(event) { - if (_this3._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { _this3.touchStartX = event.originalEvent.clientX; } else if (!_this3._pointerEvent) { _this3.touchStartX = event.originalEvent.touches[0].clientX; @@ -808,7 +790,7 @@ }; var end = function end(event) { - if (_this3._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; } @@ -1132,13 +1114,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -1193,7 +1168,7 @@ this._isTransitioning = false; this._element = element; this._config = this._getConfig(config); - this._triggerArray = $.makeArray(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE)); for (var i = 0, len = toggleList.length; i < len; i++) { @@ -1500,7 +1475,7 @@ /**! * @fileOverview Kickass library to create and place poppers near their reference elements. - * @version 1.14.4 + * @version 1.14.5 * @license * Copyright (c) 2016 Federico Zivolo and contributors * @@ -1597,7 +1572,8 @@ return []; } // NOTE: 1 DOM access here - var css = getComputedStyle(element, null); + var window = element.ownerDocument.defaultView; + var css = window.getComputedStyle(element, null); return property ? css[property] : css; } @@ -1685,7 +1661,7 @@ var noOffsetParent = isIE(10) ? document.body : null; // NOTE: 1 DOM access here - var offsetParent = element.offsetParent; + var offsetParent = element.offsetParent || null; // Skip hidden elements which don't have an offsetParent while (offsetParent === noOffsetParent && element.nextElementSibling) { offsetParent = (element = element.nextElementSibling).offsetParent; @@ -1697,9 +1673,9 @@ return element ? element.ownerDocument.documentElement : document.documentElement; } - // .offsetParent will return the closest TD or TABLE in case + // .offsetParent will return the closest TH, TD or TABLE in case // no offsetParent is present, I hate this job... - if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { return getOffsetParent(offsetParent); } @@ -2247,7 +2223,8 @@ * @returns {Object} object containing width and height properties */ function getOuterSizes(element) { - var styles = getComputedStyle(element); + var window = element.ownerDocument.defaultView; + var styles = window.getComputedStyle(element); var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); var result = { @@ -4029,13 +4006,6 @@ Popper.Defaults = Defaults; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): dropdown.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -4558,13 +4528,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): modal.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -4675,8 +4638,6 @@ this._adjustDialog(); - $(document.body).addClass(ClassName$5.OPEN); - this._setEscapeEvent(); this._setResizeEvent(); @@ -5011,6 +4972,8 @@ var calculatedPadding = $(document.body).css('padding-right'); $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); } + + $(document.body).addClass(ClassName$5.OPEN); }; _proto._resetScrollbar = function _resetScrollbar() { @@ -5137,13 +5100,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): tooltip.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -5390,7 +5346,7 @@ } }, onUpdate: function onUpdate(data) { - _this._handlePopperPlacementChange(data); + return _this._handlePopperPlacementChange(data); } }); $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra @@ -5805,13 +5761,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): popover.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -5999,13 +5948,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): scrollspy.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -6213,12 +6155,10 @@ this._clear(); - var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style - - - queries = queries.map(function (selector) { - return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; }); + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) { @@ -6240,8 +6180,11 @@ }; _proto._clear = function _clear() { - var nodes = [].slice.call(document.querySelectorAll(this._selector)); - $(nodes).filter(Selector$8.ACTIVE).removeClass(ClassName$8.ACTIVE); + [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) { + return node.classList.contains(ClassName$8.ACTIVE); + }).forEach(function (node) { + return node.classList.remove(ClassName$8.ACTIVE); + }); }; // Static @@ -6312,13 +6255,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): tab.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -6384,7 +6320,7 @@ var selector = Util.getSelectorFromElement(this._element); if (listElement) { - var itemSelector = listElement.nodeName === 'UL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE; + var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE; previous = $.makeArray($(listElement).find(itemSelector)); previous = previous[previous.length - 1]; } @@ -6439,14 +6375,7 @@ _proto._activate = function _activate(element, container, callback) { var _this2 = this; - var activeElements; - - if (container && container.nodeName === 'UL') { - activeElements = $(container).find(Selector$9.ACTIVE_UL); - } else { - activeElements = $(container).children(Selector$9.ACTIVE); - } - + var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE); var active = activeElements[0]; var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE); @@ -6558,215 +6487,205 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): toast.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ */ - var Toast = function ($$$1) { + var NAME$a = 'toast'; + var VERSION$a = '4.1.3'; + var DATA_KEY$a = 'bs.toast'; + var EVENT_KEY$a = "." + DATA_KEY$a; + var JQUERY_NO_CONFLICT$a = $.fn[NAME$a]; + var Event$a = { + CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a, + HIDE: "hide" + EVENT_KEY$a, + HIDDEN: "hidden" + EVENT_KEY$a, + SHOW: "show" + EVENT_KEY$a, + SHOWN: "shown" + EVENT_KEY$a + }; + var ClassName$a = { + FADE: 'fade', + HIDE: 'hide', + SHOW: 'show' + }; + var DefaultType$7 = { + animation: 'boolean', + autohide: 'boolean', + delay: 'number' + }; + var Default$7 = { + animation: true, + autohide: true, + delay: 500 + }; + var Selector$a = { + DATA_DISMISS: '[data-dismiss="toast"]' /** * ------------------------------------------------------------------------ - * Constants + * Class Definition * ------------------------------------------------------------------------ */ - var NAME = 'toast'; - var VERSION = '4.1.3'; - var DATA_KEY = 'bs.toast'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var Event = { - CLICK_DISMISS: "click.dismiss" + EVENT_KEY, - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY - }; - var ClassName = { - FADE: 'fade', - HIDE: 'hide', - SHOW: 'show' - }; - var DefaultType = { - animation: 'boolean', - autohide: 'boolean', - delay: 'number' - }; - var Default = { - animation: true, - autohide: true, - delay: 500 - }; - var Selector = { - DATA_DISMISS: '[data-dismiss="toast"]' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Toast = - /*#__PURE__*/ - function () { - function Toast(element, config) { - this._element = element; - this._config = this._getConfig(config); - this._timeout = null; - this._setListeners(); - } // Getters + }; + var Toast = + /*#__PURE__*/ + function () { + function Toast(element, config) { + this._element = element; + this._config = this._getConfig(config); + this._timeout = null; - var _proto = Toast.prototype; + this._setListeners(); + } // Getters - // Public - _proto.show = function show() { - var _this = this; - $$$1(this._element).trigger(Event.SHOW); + var _proto = Toast.prototype; - if (this._config.animation) { - this._element.classList.add(ClassName.FADE); - } + // Public + _proto.show = function show() { + var _this = this; - var complete = function complete() { - $$$1(_this._element).trigger(Event.SHOWN); + $(this._element).trigger(Event$a.SHOW); - if (_this._config.autohide) { - _this.hide(); - } - }; + if (this._config.animation) { + this._element.classList.add(ClassName$a.FADE); + } - this._element.classList.add(ClassName.SHOW); + var complete = function complete() { + $(_this._element).trigger(Event$a.SHOWN); - if (this._config.animation) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); + if (_this._config.autohide) { + _this.hide(); } }; - _proto.hide = function hide(withoutTimeout) { - var _this2 = this; + this._element.classList.add(ClassName$a.SHOW); - if (!this._element.classList.contains(ClassName.SHOW)) { - return; - } + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; - $$$1(this._element).trigger(Event.HIDE); + _proto.hide = function hide(withoutTimeout) { + var _this2 = this; - if (withoutTimeout) { - this._close(); - } else { - this._timeout = setTimeout(function () { - _this2._close(); - }, this._config.delay); - } - }; + if (!this._element.classList.contains(ClassName$a.SHOW)) { + return; + } - _proto.dispose = function dispose() { - clearTimeout(this._timeout); - this._timeout = null; + $(this._element).trigger(Event$a.HIDE); - if (this._element.classList.contains(ClassName.SHOW)) { - this._element.classList.remove(ClassName.SHOW); - } + if (withoutTimeout) { + this._close(); + } else { + this._timeout = setTimeout(function () { + _this2._close(); + }, this._config.delay); + } + }; - $$$1(this._element).off(Event.CLICK_DISMISS); - $$$1.removeData(this._element, DATA_KEY); - this._element = null; - this._config = null; - }; // Private + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + this._timeout = null; + if (this._element.classList.contains(ClassName$a.SHOW)) { + this._element.classList.remove(ClassName$a.SHOW); + } - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, $$$1(this._element).data(), typeof config === 'object' && config ? config : {}); - Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); - return config; - }; + $(this._element).off(Event$a.CLICK_DISMISS); + $.removeData(this._element, DATA_KEY$a); + this._element = null; + this._config = null; + }; // Private - _proto._setListeners = function _setListeners() { - var _this3 = this; - $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () { - return _this3.hide(true); - }); - }; + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {}); + Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType); + return config; + }; + + _proto._setListeners = function _setListeners() { + var _this3 = this; - _proto._close = function _close() { - var _this4 = this; + $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () { + return _this3.hide(true); + }); + }; - var complete = function complete() { - $$$1(_this4._element).trigger(Event.HIDDEN); - }; + _proto._close = function _close() { + var _this4 = this; - this._element.classList.remove(ClassName.SHOW); + var complete = function complete() { + $(_this4._element).trigger(Event$a.HIDDEN); + }; - if (this._config.animation) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); - } - }; // Static + this._element.classList.remove(ClassName$a.SHOW); + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; // Static - Toast._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $$$1(this); - var data = $element.data(DATA_KEY); - var _config = typeof config === 'object' && config; + Toast._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY$a); - if (!data) { - data = new Toast(this, _config); - $element.data(DATA_KEY, data); - } + var _config = typeof config === 'object' && config; - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } + if (!data) { + data = new Toast(this, _config); + $element.data(DATA_KEY$a, data); + } - data[config](this); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); } - }); - }; - _createClass(Toast, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; + data[config](this); } - }]); + }); + }; - return Toast; - }(); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + _createClass(Toast, null, [{ + key: "VERSION", + get: function get() { + return VERSION$a; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$7; + } + }]); + return Toast; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - $$$1.fn[NAME] = Toast._jQueryInterface; - $$$1.fn[NAME].Constructor = Toast; - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Toast._jQueryInterface; - }; + $.fn[NAME$a] = Toast._jQueryInterface; + $.fn[NAME$a].Constructor = Toast; - return Toast; - }($); + $.fn[NAME$a].noConflict = function () { + $.fn[NAME$a] = JQUERY_NO_CONFLICT$a; + return Toast._jQueryInterface; + }; /** * -------------------------------------------------------------------------- diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map index 88078c989b..bc4a0c6613 100644 --- a/dist/js/bootstrap.bundle.js.map +++ b/dist/js/bootstrap.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERMOVE : `pointermove${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n POINTERLEAVE : `pointerleave${EVENT_KEY}`,\n POINTERCANCEL : `pointercancel${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.4\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n const nodes = [].slice.call(document.querySelectorAll(this._selector))\n $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n\n const scrollSpysLength = scrollSpys.length\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container && container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Toast = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'toast'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.toast'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n }\n\n const DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n }\n\n const Default = {\n animation : true,\n autohide : true,\n delay : 500\n }\n\n const Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Toast._jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n }\n\n return Toast\n})($)\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERMOVE","POINTERUP","POINTERLEAVE","POINTERCANCEL","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","makeArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","find","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","triggers","eventIn","eventOut","_fixTitle","titleType","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","nodes","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","nodeName","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","Toast","autohide","withoutTimeout","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC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"}
\ No newline at end of file +{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.5\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","find","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","triggers","eventIn","eventOut","_fixTitle","titleType","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","nodeName","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","withoutTimeout","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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ACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;;EA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"}
\ No newline at end of file diff --git a/dist/js/bootstrap.bundle.min.js b/dist/js/bootstrap.bundle.min.js index fe14f67243..e6493bca3b 100644 --- a/dist/js/bootstrap.bundle.min.js +++ b/dist/js/bootstrap.bundle.min.js @@ -3,5 +3,5 @@ * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,p){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var e="transitionend";function n(t){var e=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(e)},t),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}return e&&document.querySelector(e)?e:null},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=p(t).css("transition-duration"),n=p(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){p(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a}};p.fn.emulateTransitionEnd=n,p.event.special[m.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(p(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=p.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},u="alert",f="fade",d="show",g=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){p.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=m.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=p(t).closest("."+u)[0]),n},t._triggerCloseEvent=function(t){var e=p.Event(h.CLOSE);return p(t).trigger(e),e},t._removeElement=function(e){var n=this;if(p(e).removeClass(d),p(e).hasClass(f)){var t=m.getTransitionDurationFromElement(e);p(e).one(m.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){p(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();p(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),p.fn[o]=g._jQueryInterface,p.fn[o].Constructor=g,p.fn[o].noConflict=function(){return p.fn[o]=c,g._jQueryInterface};var _="button",v="bs.button",y="."+v,E=".data-api",b=p.fn[_],w="active",T="btn",C="focus",S='[data-toggle^="button"]',D='[data-toggle="buttons"]',I="input",A=".active",O=".btn",N={CLICK_DATA_API:"click"+y+E,FOCUS_BLUR_DATA_API:"focus"+y+E+" blur"+y+E},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=this._element.querySelector(I);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(w))t=!1;else{var o=n.querySelector(A);o&&p(o).removeClass(w)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(w),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(w)),t&&p(this._element).toggleClass(w)},t.dispose=function(){p.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(v);t||(t=new n(this),p(this).data(v,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}();p(document).on(N.CLICK_DATA_API,S,function(t){t.preventDefault();var e=t.target;p(e).hasClass(T)||(e=p(e).closest(O)),k._jQueryInterface.call(p(e),"toggle")}).on(N.FOCUS_BLUR_DATA_API,S,function(t){var e=p(t.target).closest(O)[0];p(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),p.fn[_]=k._jQueryInterface,p.fn[_].Constructor=k,p.fn[_].noConflict=function(){return p.fn[_]=b,k._jQueryInterface};var P="carousel",L="bs.carousel",x="."+L,H=".data-api",j=p.fn[P],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},R={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},F="next",W="prev",U="left",B="right",q={SLIDE:"slide"+x,SLID:"slid"+x,KEYDOWN:"keydown"+x,MOUSEENTER:"mouseenter"+x,MOUSELEAVE:"mouseleave"+x,TOUCHSTART:"touchstart"+x,TOUCHMOVE:"touchmove"+x,TOUCHEND:"touchend"+x,POINTERDOWN:"pointerdown"+x,POINTERMOVE:"pointermove"+x,POINTERUP:"pointerup"+x,POINTERLEAVE:"pointerleave"+x,POINTERCANCEL:"pointercancel"+x,DRAG_START:"dragstart"+x,LOAD_DATA_API:"load"+x+H,CLICK_DATA_API:"click"+x+H},K="carousel",Q="active",Y="slide",V="carousel-item-right",X="carousel-item-left",z="carousel-item-next",G="carousel-item-prev",J="pointer-event",Z=".active",$=".active.carousel-item",tt=".carousel-item",et=".carousel-item img",nt=".carousel-item-next, .carousel-item-prev",it=".carousel-indicators",ot="[data-slide], [data-slide-to]",rt='[data-ride="carousel"]',st="touch",at="pen",lt=function(){function r(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=this._element.querySelector(it),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(F)},t.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(W)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(nt)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector($);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)p(this._element).one(q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?F:W;this._slide(i,this._items[t])}},t.dispose=function(){p(this._element).off(x),p.removeData(this._element,L),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},M,t),m.typeCheckConfig(P,t,R),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&p(this._element).on(q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&p(this._element).on(q.MOUSEENTER,function(t){return e.pause(t)}).on(q.MOUSELEAVE,function(t){return e.cycle(t)}),this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){!n._pointerEvent||t.originalEvent.pointerType!==st&&t.originalEvent.pointerType!==at?n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX):n.touchStartX=t.originalEvent.clientX},i=function(t){!n._pointerEvent||t.originalEvent.pointerType!==st&&t.originalEvent.pointerType!==at||(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};p(this._element.querySelectorAll(et)).on(q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(p(this._element).on(q.POINTERDOWN,function(t){return e(t)}),p(this._element).on(q.POINTERUP,function(t){return i(t)}),this._element.classList.add(J)):(p(this._element).on(q.TOUCHSTART,function(t){return e(t)}),p(this._element).on(q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),p(this._element).on(q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(tt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===F,i=t===W,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===W?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector($)),o=p.Event(q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return p(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(Z));p(e).removeClass(Q);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&p(n).addClass(Q)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector($),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===F?(n=X,i=z,U):(n=V,i=G,B),l&&p(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(Y)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(Q),p(s).removeClass(Q+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(Q),p(l).addClass(Q),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=p(this).data(L),e=l({},M,p(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),p(this).data(L,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=m.getSelectorFromElement(this);if(e){var n=p(e)[0];if(n&&p(n).hasClass(K)){var i=l({},p(n).data(),p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(L).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return M}}]),r}();p(document).on(q.CLICK_DATA_API,ot,lt._dataApiClickHandler),p(window).on(q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(rt)),e=0,n=t.length;e<n;e++){var i=p(t[e]);lt._jQueryInterface.call(i,i.data())}}),p.fn[P]=lt._jQueryInterface,p.fn[P].Constructor=lt,p.fn[P].noConflict=function(){return p.fn[P]=j,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=p.fn[ct],dt={toggle:!0,parent:""},pt={toggle:"boolean",parent:"(string|element)"},mt={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},gt="show",_t="collapse",vt="collapsing",yt="collapsed",Et="width",bt="height",wt=".show, .collapsing",Tt='[data-toggle="collapse"]',Ct=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=p.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Tt)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){p(this._element).hasClass(gt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(gt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(wt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(_t)})).length&&(t=null),!(t&&(e=p(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=p.Event(mt.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(p(t).not(this._selector),"hide"),e||p(t).data(ht,null));var o=this._getDimension();p(this._element).removeClass(_t).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(vt).addClass(_t).addClass(gt),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(mt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&p(this._element).hasClass(gt)){var e=p.Event(mt.HIDE);if(p(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(vt).removeClass(_t).removeClass(gt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(gt)||p(r).addClass(yt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){t.setTransitioning(!1),p(t._element).removeClass(vt).addClass(_t).trigger(mt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){p.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),m.typeCheckConfig(ct,t,pt),t},t._getDimension=function(){return p(this._element).hasClass(Et)?Et:bt},t._getParent=function(){var t,n=this;m.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return p(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=p(t).hasClass(gt);e.length&&p(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=m.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=p(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return dt}}]),a}();p(document).on(mt.CLICK_DATA_API,Tt,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=p(this),e=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));p(i).each(function(){var t=p(this),e=t.data(ht)?"toggle":n.data();Ct._jQueryInterface.call(t,e)})}),p.fn[ct]=Ct._jQueryInterface,p.fn[ct].Constructor=Ct,p.fn[ct].noConflict=function(){return p.fn[ct]=ft,Ct._jQueryInterface};for(var St="undefined"!=typeof window&&"undefined"!=typeof document,Dt=["Edge","Trident","Firefox"],It=0,At=0;At<Dt.length;At+=1)if(St&&0<=navigator.userAgent.indexOf(Dt[At])){It=1;break}var Ot=St&&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()},It))}};function Nt(t){return t&&"[object Function]"==={}.toString.call(t)}function kt(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function Pt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Lt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=kt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Lt(Pt(t))}var xt=St&&!(!window.MSInputMethodContext||!document.documentMode),Ht=St&&/MSIE 10/.test(navigator.userAgent);function jt(t){return 11===t?xt:10===t?Ht:xt||Ht}function Mt(t){if(!t)return document.documentElement;for(var e=jt(10)?document.body:null,n=t.offsetParent;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===kt(n,"position")?Mt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Rt(t){return null!==t.parentNode?Rt(t.parentNode):t}function Ft(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&&Mt(s.firstElementChild)!==s?Mt(l):l;var c=Rt(t);return c.host?Ft(c.host,e):Ft(t,Rt(e).host)}function Wt(t){var e="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"!==n&&"HTML"!==n)return t[e];var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}function Ut(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 Bt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],jt(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function qt(t){var e=t.body,n=t.documentElement,i=jt(10)&&getComputedStyle(n);return{height:Bt("Height",e,n,i),width:Bt("Width",e,n,i)}}var Kt=function(){function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),Qt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Yt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Vt(t){return Yt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Xt(t){var e={};try{if(jt(10)){e=t.getBoundingClientRect();var n=Wt(t,"top"),i=Wt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?qt(t.ownerDocument):{},s=r.width||t.clientWidth||o.right-o.left,a=r.height||t.clientHeight||o.bottom-o.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var h=kt(t);l-=Ut(h,"x"),c-=Ut(h,"y"),o.width-=l,o.height-=c}return Vt(o)}function zt(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=jt(10),o="HTML"===e.nodeName,r=Xt(t),s=Xt(e),a=Lt(t),l=kt(e),c=parseFloat(l.borderTopWidth,10),h=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=Vt({top:r.top-s.top-c,left:r.left-s.left-h,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var f=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-f,u.bottom-=c-f,u.left-=h-d,u.right-=h-d,u.marginTop=f,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Wt(e,"top"),o=Wt(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 Gt(t){if(!t||!t.parentElement||jt())return document.documentElement;for(var e=t.parentElement;e&&"none"===kt(e,"transform");)e=e.parentElement;return e||document.documentElement}function Jt(t,e,n,i){var o=4<arguments.length&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Gt(t):Ft(t,e);if("viewport"===i)r=function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=zt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Wt(n),a=e?0:Wt(n,"left");return Vt({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=Lt(Pt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=zt(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===kt(e,"position")||t(Pt(e)))}(s))r=l;else{var c=qt(t.ownerDocument),h=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=h+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var f="number"==typeof(n=n||0);return r.left+=f?n:n.left||0,r.top+=f?n:n.top||0,r.right-=f?n:n.right||0,r.bottom-=f?n:n.bottom||0,r}function Zt(t,e,i,n,o){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Jt(i,n,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 Yt({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,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),h=0<c.length?c[0].key:l[0].key,u=t.split("-")[1];return h+(u?"-"+u:"")}function $t(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return zt(n,i?Gt(e):Ft(e,n),i)}function te(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function ee(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 ne(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[ee(a)],o}function ie(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function oe(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=ie(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&Nt(e)&&(n.offsets.popper=Vt(n.offsets.popper),n.offsets.reference=Vt(n.offsets.reference),n=e(n,t))}),n}function re(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function se(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function ae(t){var e=t.ownerDocument;return e?e.defaultView:window}function le(t,e,n,i){n.updateBound=i,ae(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Lt(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(Lt(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function ce(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,ae(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function he(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function ue(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&he(i[t])&&(e="px"),n.style[t]=i[t]+e})}function fe(t,e,n){var i=ie(t,function(t){return t.name===e}),o=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var de=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],pe=de.slice(3);function me(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=pe.indexOf(t),i=pe.slice(n+1).concat(pe.slice(0,n));return e?i.reverse():i}var ge="flip",_e="clockwise",ve="counterclockwise";function ye(t,o,r,e){var s=[0,0],a=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(ie(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(t,e){var n=(1===e?!a:a)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!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("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Vt(a)[e]/100*r}(t,n,o,r)})})).forEach(function(n,i){n.forEach(function(t,e){he(t)&&(s[i]+=t*("-"===n[e-1]?-1:1))})}),s}var Ee={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",h={start:Qt({},l,r[l]),end:Qt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Yt({},s,h[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]:ye(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,i){var e=i.boundariesElement||Mt(t.instance.popper);t.instance.reference===e&&(e=Mt(e));var n=se("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Jt(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=t.offsets.popper,u={primary:function(t){var e=h[t];return h[t]<l[t]&&!i.escapeWithReference&&(e=Math.max(h[t],l[t])),Qt({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=h[e];return h[t]>l[t]&&!i.escapeWithReference&&(n=Math.min(h[e],l[t]-("right"===t?h.width:h.height))),Qt({},e,n)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";h=Yt({},h,u[e](t))}),t.offsets.popper=h,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[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!fe(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",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=te(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=Vt(t.offsets.popper);var m=a[u]+a[c]/2-p/2,g=kt(t.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-t.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),t.arrowElement=i,t.offsets.arrow=(Qt(n={},u,Math.round(y)),Qt(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,m){if(re(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var g=Jt(p.instance.popper,p.instance.reference,m.padding,m.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=ee(_),y=p.placement.split("-")[1]||"",E=[];switch(m.behavior){case ge:E=[_,v];break;case _e:E=me(_);break;case ve:E=me(_,!0);break;default:E=m.behavior}return E.forEach(function(t,e){if(_!==t||E.length===e+1)return p;_=p.placement.split("-")[0],v=ee(_);var n,i=p.offsets.popper,o=p.offsets.reference,r=Math.floor,s="left"===_&&r(i.right)>r(o.left)||"right"===_&&r(i.left)<r(o.right)||"top"===_&&r(i.bottom)>r(o.top)||"bottom"===_&&r(i.top)<r(o.bottom),a=r(i.left)<r(g.left),l=r(i.right)>r(g.right),c=r(i.top)<r(g.top),h=r(i.bottom)>r(g.bottom),u="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&h,f=-1!==["top","bottom"].indexOf(_),d=!!m.flipVariations&&(f&&"start"===y&&a||f&&"end"===y&&l||!f&&"start"===y&&c||!f&&"end"===y&&h);(s||u||d)&&(p.flipped=!0,(s||u)&&(_=E[e+1]),d&&(y="end"===(n=y)?"start":"start"===n?"end":n),p.placement=_+(y?"-"+y:""),p.offsets.popper=Yt({},p.offsets.popper,ne(p.instance.popper,p.offsets.reference,p.placement)),p=oe(p.instance.modifiers,p,"flip"))}),p},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=ee(e),t.offsets.popper=Vt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=ie(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=ie(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=Mt(t.instance.popper),l=Xt(a),c={position:o.position},h={left:Math.floor(o.left),top:Math.round(o.top),bottom:Math.round(o.bottom),right:Math.floor(o.right)},u="bottom"===n?"top":"bottom",f="right"===i?"left":"right",d=se("transform"),p=void 0,m=void 0;if(m="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+h.bottom:-l.height+h.bottom:h.top,p="right"===f?"HTML"===a.nodeName?-a.clientWidth+h.right:-l.width+h.right:h.left,s&&d)c[d]="translate3d("+p+"px, "+m+"px, 0)",c[u]=0,c[f]=0,c.willChange="transform";else{var g="bottom"===u?-1:1,_="right"===f?-1:1;c[u]=m*g,c[f]=p*_,c.willChange=u+", "+f}var v={"x-placement":t.placement};return t.attributes=Yt({},v,t.attributes),t.styles=Yt({},c,t.styles),t.arrowStyles=Yt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return ue(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&ue(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=$t(o,e,t,n.positionFixed),s=Zt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),ue(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},be=function(){function r(t,e){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=Ot(this.update.bind(this)),this.options=Yt({},r.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=e&&e.jquery?e[0]:e,this.options.modifiers={},Object.keys(Yt({},r.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=Yt({},r.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Yt({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&Nt(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return Kt(r,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=$t(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Zt(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=ne(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=oe(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,re(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[se("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=le(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return ce.call(this)}}]),r}();be.Utils=("undefined"!=typeof window?window:global).PopperUtils,be.placements=de,be.Defaults=Ee;var we="dropdown",Te="bs.dropdown",Ce="."+Te,Se=".data-api",De=p.fn[we],Ie=new RegExp("38|40|27"),Ae={HIDE:"hide"+Ce,HIDDEN:"hidden"+Ce,SHOW:"show"+Ce,SHOWN:"shown"+Ce,CLICK:"click"+Ce,CLICK_DATA_API:"click"+Ce+Se,KEYDOWN_DATA_API:"keydown"+Ce+Se,KEYUP_DATA_API:"keyup"+Ce+Se},Oe="disabled",Ne="show",ke="dropup",Pe="dropright",Le="dropleft",xe="dropdown-menu-right",He="position-static",je='[data-toggle="dropdown"]',Me=".dropdown form",Re=".dropdown-menu",Fe=".navbar-nav",We=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ue="top-start",Be="top-end",qe="bottom-start",Ke="bottom-end",Qe="right-start",Ye="left-start",Ve={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Xe={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},ze=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(Oe)){var t=c._getParentFromElement(this._element),e=p(this._menu).hasClass(Ne);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=p.Event(Ae.SHOW,n);if(p(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof be)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(t).addClass(He),this._popper=new be(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(t).closest(Fe).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(Ne),p(t).toggleClass(Ne).trigger(p.Event(Ae.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||p(this._element).hasClass(Oe)||p(this._menu).hasClass(Ne))){var t={relatedTarget:this._element},e=p.Event(Ae.SHOW,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Ne),p(n).toggleClass(Ne).trigger(p.Event(Ae.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(Oe)&&p(this._menu).hasClass(Ne)){var t={relatedTarget:this._element},e=p.Event(Ae.HIDE,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Ne),p(n).toggleClass(Ne).trigger(p.Event(Ae.HIDDEN,t)))}},t.dispose=function(){p.removeData(this._element,Te),p(this._element).off(Ce),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;p(this._element).on(Ae.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,p(this._element).data(),t),m.typeCheckConfig(we,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Re))}return this._menu},t._getPlacement=function(){var t=p(this._element.parentNode),e=qe;return t.hasClass(ke)?(e=Ue,p(this._menu).hasClass(xe)&&(e=Be)):t.hasClass(Pe)?e=Qe:t.hasClass(Le)?e=Ye:p(this._menu).hasClass(xe)&&(e=Ke),e},t._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(Te);if(t||(t=new c(this,"object"==typeof e?e:null),p(this).data(Te,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(je)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=p(e[n]).data(Te),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(p(o).hasClass(Ne)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&p.contains(o,t.target))){var l=p.Event(Ae.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),e[n].setAttribute("aria-expanded","false"),p(a).removeClass(Ne),p(o).removeClass(Ne).trigger(p.Event(Ae.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=m.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||p(t.target).closest(Re).length)):Ie.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!p(this).hasClass(Oe))){var e=c._getParentFromElement(this),n=p(e).hasClass(Ne);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(We));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(je);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ve}},{key:"DefaultType",get:function(){return Xe}}]),c}();p(document).on(Ae.KEYDOWN_DATA_API,je,ze._dataApiKeydownHandler).on(Ae.KEYDOWN_DATA_API,Re,ze._dataApiKeydownHandler).on(Ae.CLICK_DATA_API+" "+Ae.KEYUP_DATA_API,ze._clearMenus).on(Ae.CLICK_DATA_API,je,function(t){t.preventDefault(),t.stopPropagation(),ze._jQueryInterface.call(p(this),"toggle")}).on(Ae.CLICK_DATA_API,Me,function(t){t.stopPropagation()}),p.fn[we]=ze._jQueryInterface,p.fn[we].Constructor=ze,p.fn[we].noConflict=function(){return p.fn[we]=De,ze._jQueryInterface};var Ge="modal",Je="bs.modal",Ze="."+Je,$e=p.fn[Ge],tn={backdrop:!0,keyboard:!0,focus:!0,show:!0},en={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},nn={HIDE:"hide"+Ze,HIDDEN:"hidden"+Ze,SHOW:"show"+Ze,SHOWN:"shown"+Ze,FOCUSIN:"focusin"+Ze,RESIZE:"resize"+Ze,CLICK_DISMISS:"click.dismiss"+Ze,KEYDOWN_DISMISS:"keydown.dismiss"+Ze,MOUSEUP_DISMISS:"mouseup.dismiss"+Ze,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Ze,CLICK_DATA_API:"click"+Ze+".data-api"},on="modal-scrollbar-measure",rn="modal-backdrop",sn="modal-open",an="fade",ln="show",cn=".modal-dialog",hn='[data-toggle="modal"]',un='[data-dismiss="modal"]',fn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",dn=".sticky-top",pn=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(cn),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(an)&&(this._isTransitioning=!0);var n=p.Event(nn.SHOW,{relatedTarget:t});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),p(document.body).addClass(sn),this._setEscapeEvent(),this._setResizeEvent(),p(this._element).on(nn.CLICK_DISMISS,un,function(t){return e.hide(t)}),p(this._dialog).on(nn.MOUSEDOWN_DISMISS,function(){p(e._element).one(nn.MOUSEUP_DISMISS,function(t){p(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(nn.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(an);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(nn.FOCUSIN),p(this._element).removeClass(ln),p(this._element).off(nn.CLICK_DISMISS),p(this._dialog).off(nn.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return p(t).off(Ze)}),p(document).off(nn.FOCUSIN),p.removeData(this._element,Je),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},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},tn,t),m.typeCheckConfig(Ge,t,en),t},t._showElement=function(t){var e=this,n=p(this._element).hasClass(an);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(ln),this._config.focus&&this._enforceFocus();var i=p.Event(nn.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,p(e._element).trigger(i)};if(n){var r=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;p(document).off(nn.FOCUSIN).on(nn.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===p(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?p(this._element).on(nn.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||p(this._element).off(nn.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?p(window).on(nn.RESIZE,function(t){return e.handleUpdate(t)}):p(window).off(nn.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){p(document.body).removeClass(sn),t._resetAdjustments(),t._resetScrollbar(),p(t._element).trigger(nn.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=p(this._element).hasClass(an)?an:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=rn,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(nn.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(ln),!t)return;if(!n)return void t();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(ln);var o=function(){e._removeBackdrop(),t&&t()};if(p(this._element).hasClass(an)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(fn)),e=[].slice.call(document.querySelectorAll(dn));p(t).each(function(t,e){var n=e.style.paddingRight,i=p(e).css("padding-right");p(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(e).each(function(t,e){var n=e.style.marginRight,i=p(e).css("margin-right");p(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(fn));p(t).each(function(t,e){var n=p(e).data("padding-right");p(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+dn));p(e).each(function(t,e){var n=p(e).data("margin-right");"undefined"!=typeof n&&p(e).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=on,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=p(this).data(Je),e=l({},tn,p(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),p(this).data(Je,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return tn}}]),o}();p(document).on(nn.CLICK_DATA_API,hn,function(t){var e,n=this,i=m.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=p(e).data(Je)?"toggle":l({},p(e).data(),p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=p(e).one(nn.SHOW,function(t){t.isDefaultPrevented()||r.one(nn.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});pn._jQueryInterface.call(p(e),o,this)}),p.fn[Ge]=pn._jQueryInterface,p.fn[Ge].Constructor=pn,p.fn[Ge].noConflict=function(){return p.fn[Ge]=$e,pn._jQueryInterface};var mn="tooltip",gn="bs.tooltip",_n="."+gn,vn=p.fn[mn],yn="bs-tooltip",En=new RegExp("(^|\\s)"+yn+"\\S+","g"),bn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},wn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Tn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},Cn="show",Sn="out",Dn={HIDE:"hide"+_n,HIDDEN:"hidden"+_n,SHOW:"show"+_n,SHOWN:"shown"+_n,INSERTED:"inserted"+_n,CLICK:"click"+_n,FOCUSIN:"focusin"+_n,FOCUSOUT:"focusout"+_n,MOUSEENTER:"mouseenter"+_n,MOUSELEAVE:"mouseleave"+_n},In="fade",An="show",On=".tooltip-inner",Nn=".arrow",kn="hover",Pn="focus",Ln="click",xn="manual",Hn=function(){function i(t,e){if("undefined"==typeof be)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()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=p(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(An))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var t=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(t);var n=p.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),o=m.getUID(this.constructor.NAME);i.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&p(i).addClass(In);var r="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(r);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:p(document).find(this.config.container);p(i).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(i).appendTo(a),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new be(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Nn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),p(i).addClass(An),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,p(e.element).trigger(e.constructor.Event.SHOWN),t===Sn&&e._leave(null,e)};if(p(this.tip).hasClass(In)){var c=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=p.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==Cn&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),p(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(p(this.element).trigger(i),!i.isDefaultPrevented()){if(p(n).removeClass(An),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Ln]=!1,this._activeTrigger[Pn]=!1,this._activeTrigger[kn]=!1,p(this.tip).hasClass(In)){var r=m.getTransitionDurationFromElement(n);p(n).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){p(this.getTipElement()).addClass(yn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(p(t.querySelectorAll(On)),this.getTitle()),p(t).removeClass(In+" "+An)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?p(e).parent().is(t)||t.empty().append(e):t.text(p(e).text()):t[n?"html":"text"](e)},t.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},t._getAttachment=function(t){return wn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xn){var e=t===kn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===kn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),p(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Pn:kn]=!0),p(e.getTipElement()).hasClass(An)||e._hoverState===Cn?e._hoverState=Cn:(clearTimeout(e._timeout),e._hoverState=Cn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Cn&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Pn:kn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Sn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Sn&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,p(this.element).data(),"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()),m.typeCheckConfig(mn,t,this.constructor.DefaultType),t},t._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},t._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(En);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(p(t).removeClass(In),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(gn),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(gn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Tn}},{key:"NAME",get:function(){return mn}},{key:"DATA_KEY",get:function(){return gn}},{key:"Event",get:function(){return Dn}},{key:"EVENT_KEY",get:function(){return _n}},{key:"DefaultType",get:function(){return bn}}]),i}();p.fn[mn]=Hn._jQueryInterface,p.fn[mn].Constructor=Hn,p.fn[mn].noConflict=function(){return p.fn[mn]=vn,Hn._jQueryInterface};var jn="popover",Mn="bs.popover",Rn="."+Mn,Fn=p.fn[jn],Wn="bs-popover",Un=new RegExp("(^|\\s)"+Wn+"\\S+","g"),Bn=l({},Hn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),qn=l({},Hn.DefaultType,{content:"(string|element|function)"}),Kn="fade",Qn="show",Yn=".popover-header",Vn=".popover-body",Xn={HIDE:"hide"+Rn,HIDDEN:"hidden"+Rn,SHOW:"show"+Rn,SHOWN:"shown"+Rn,INSERTED:"inserted"+Rn,CLICK:"click"+Rn,FOCUSIN:"focusin"+Rn,FOCUSOUT:"focusout"+Rn,MOUSEENTER:"mouseenter"+Rn,MOUSELEAVE:"mouseleave"+Rn},zn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){p(this.getTipElement()).addClass(Wn+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},o.setContent=function(){var t=p(this.getTipElement());this.setElementContent(t.find(Yn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Vn),e),t.removeClass(Kn+" "+Qn)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(Un);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(Mn),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(Mn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Bn}},{key:"NAME",get:function(){return jn}},{key:"DATA_KEY",get:function(){return Mn}},{key:"Event",get:function(){return Xn}},{key:"EVENT_KEY",get:function(){return Rn}},{key:"DefaultType",get:function(){return qn}}]),i}(Hn);p.fn[jn]=zn._jQueryInterface,p.fn[jn].Constructor=zn,p.fn[jn].noConflict=function(){return p.fn[jn]=Fn,zn._jQueryInterface};var Gn="scrollspy",Jn="bs.scrollspy",Zn="."+Jn,$n=p.fn[Gn],ti={offset:10,method:"auto",target:""},ei={offset:"number",method:"string",target:"(string|element)"},ni={ACTIVATE:"activate"+Zn,SCROLL:"scroll"+Zn,LOAD_DATA_API:"load"+Zn+".data-api"},ii="dropdown-item",oi="active",ri='[data-spy="scroll"]',si=".active",ai=".nav, .list-group",li=".nav-link",ci=".nav-item",hi=".list-group-item",ui=".dropdown",fi=".dropdown-item",di=".dropdown-toggle",pi="offset",mi="position",gi=function(){function n(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+" "+li+","+this._config.target+" "+hi+","+this._config.target+" "+fi,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(ni.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?pi:mi,o="auto"===this._config.method?t:this._config.method,r=o===mi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=m.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[p(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){p.removeData(this._element,Jn),p(this._scrollElement).off(Zn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},ti,"object"==typeof t&&t?t:{})).target){var e=p(t.target).attr("id");e||(e=m.getUID(Gn),p(t.target).attr("id",e)),t.target="#"+e}return m.typeCheckConfig(Gn,t,ei),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._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(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=p([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(ii)?(n.closest(ui).find(di).addClass(oi),n.addClass(oi)):(n.addClass(oi),n.parents(ai).prev(li+", "+hi).addClass(oi),n.parents(ai).prev(ci).children(li).addClass(oi)),p(this._scrollElement).trigger(ni.ACTIVATE,{relatedTarget:e})},t._clear=function(){var t=[].slice.call(document.querySelectorAll(this._selector));p(t).filter(si).removeClass(oi)},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(Jn);if(t||(t=new n(this,"object"==typeof e&&e),p(this).data(Jn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ti}}]),n}();p(window).on(ni.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ri)),e=t.length;e--;){var n=p(t[e]);gi._jQueryInterface.call(n,n.data())}}),p.fn[Gn]=gi._jQueryInterface,p.fn[Gn].Constructor=gi,p.fn[Gn].noConflict=function(){return p.fn[Gn]=$n,gi._jQueryInterface};var _i="bs.tab",vi="."+_i,yi=p.fn.tab,Ei={HIDE:"hide"+vi,HIDDEN:"hidden"+vi,SHOW:"show"+vi,SHOWN:"shown"+vi,CLICK_DATA_API:"click"+vi+".data-api"},bi="dropdown-menu",wi="active",Ti="disabled",Ci="fade",Si="show",Di=".dropdown",Ii=".nav, .list-group",Ai=".active",Oi="> li > .active",Ni='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',ki=".dropdown-toggle",Pi="> .dropdown-menu .active",Li=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(wi)||p(this._element).hasClass(Ti))){var t,i,e=p(this._element).closest(Ii)[0],o=m.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName?Oi:Ai;i=(i=p.makeArray(p(e).find(r)))[i.length-1]}var s=p.Event(Ei.HIDE,{relatedTarget:this._element}),a=p.Event(Ei.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=p.Event(Ei.HIDDEN,{relatedTarget:n._element}),e=p.Event(Ei.SHOWN,{relatedTarget:i});p(i).trigger(t),p(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){p.removeData(this._element,_i),this._element=null},t._activate=function(t,e,n){var i=this,o=(e&&"UL"===e.nodeName?p(e).find(Oi):p(e).children(Ai))[0],r=n&&o&&p(o).hasClass(Ci),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=m.getTransitionDurationFromElement(o);p(o).removeClass(Si).one(m.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){p(e).removeClass(wi);var i=p(e.parentNode).find(Pi)[0];i&&p(i).removeClass(wi),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(p(t).addClass(wi),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),m.reflow(t),p(t).addClass(Si),t.parentNode&&p(t.parentNode).hasClass(bi)){var o=p(t).closest(Di)[0];if(o){var r=[].slice.call(o.querySelectorAll(ki));p(r).addClass(wi)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(_i);if(e||(e=new i(this),t.data(_i,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();p(document).on(Ei.CLICK_DATA_API,Ni,function(t){t.preventDefault(),Li._jQueryInterface.call(p(this),"show")}),p.fn.tab=Li._jQueryInterface,p.fn.tab.Constructor=Li,p.fn.tab.noConflict=function(){return p.fn.tab=yi,Li._jQueryInterface};var xi,Hi,ji,Mi,Ri,Fi,Wi,Ui,Bi,qi,Ki,Qi,Yi=(Hi="toast",Mi="."+(ji="bs.toast"),Ri=(xi=p).fn[Hi],Fi={CLICK_DISMISS:"click.dismiss"+Mi,HIDE:"hide"+Mi,HIDDEN:"hidden"+Mi,SHOW:"show"+Mi,SHOWN:"shown"+Mi},Wi="fade",Ui="show",Bi={animation:"boolean",autohide:"boolean",delay:"number"},qi={animation:!0,autohide:!0,delay:500},Ki='[data-dismiss="toast"]',Qi=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;xi(this._element).trigger(Fi.SHOW),this._config.animation&&this._element.classList.add(Wi);var e=function(){xi(t._element).trigger(Fi.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.add(Ui),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);xi(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Ui)&&(xi(this._element).trigger(Fi.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Ui)&&this._element.classList.remove(Ui),xi(this._element).off(Fi.CLICK_DISMISS),xi.removeData(this._element,ji),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},qi,xi(this._element).data(),"object"==typeof t&&t?t:{}),m.typeCheckConfig(Hi,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;xi(this._element).on(Fi.CLICK_DISMISS,Ki,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){xi(t._element).trigger(Fi.HIDDEN)};if(this._element.classList.remove(Ui),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);xi(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=xi(this),e=t.data(ji);if(e||(e=new i(this,"object"==typeof n&&n),t.data(ji,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"DefaultType",get:function(){return Bi}}]),i}(),xi.fn[Hi]=Qi._jQueryInterface,xi.fn[Hi].Constructor=Qi,xi.fn[Hi].noConflict=function(){return xi.fn[Hi]=Ri,Qi._jQueryInterface},Qi);!function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=p.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=m,t.Alert=g,t.Button=k,t.Carousel=lt,t.Collapse=Ct,t.Dropdown=ze,t.Modal=pn,t.Popover=zn,t.Scrollspy=gi,t.Tab=Li,t.Toast=Yi,t.Tooltip=Hn,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,p){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var e="transitionend";function n(t){var e=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(e)},t),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}return e&&document.querySelector(e)?e:null},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=p(t).css("transition-duration"),n=p(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){p(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a}};p.fn.emulateTransitionEnd=n,p.event.special[m.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(p(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=p.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},u="alert",f="fade",d="show",g=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){p.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=m.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=p(t).closest("."+u)[0]),n},t._triggerCloseEvent=function(t){var e=p.Event(h.CLOSE);return p(t).trigger(e),e},t._removeElement=function(e){var n=this;if(p(e).removeClass(d),p(e).hasClass(f)){var t=m.getTransitionDurationFromElement(e);p(e).one(m.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){p(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();p(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),p.fn[o]=g._jQueryInterface,p.fn[o].Constructor=g,p.fn[o].noConflict=function(){return p.fn[o]=c,g._jQueryInterface};var _="button",v="bs.button",y="."+v,E=".data-api",b=p.fn[_],w="active",T="btn",C="focus",S='[data-toggle^="button"]',D='[data-toggle="buttons"]',I="input",A=".active",O=".btn",N={CLICK_DATA_API:"click"+y+E,FOCUS_BLUR_DATA_API:"focus"+y+E+" blur"+y+E},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=this._element.querySelector(I);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(w))t=!1;else{var o=n.querySelector(A);o&&p(o).removeClass(w)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(w),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(w)),t&&p(this._element).toggleClass(w)},t.dispose=function(){p.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(v);t||(t=new n(this),p(this).data(v,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}();p(document).on(N.CLICK_DATA_API,S,function(t){t.preventDefault();var e=t.target;p(e).hasClass(T)||(e=p(e).closest(O)),k._jQueryInterface.call(p(e),"toggle")}).on(N.FOCUS_BLUR_DATA_API,S,function(t){var e=p(t.target).closest(O)[0];p(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),p.fn[_]=k._jQueryInterface,p.fn[_].Constructor=k,p.fn[_].noConflict=function(){return p.fn[_]=b,k._jQueryInterface};var L="carousel",P="bs.carousel",x="."+P,H=".data-api",j=p.fn[L],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},F={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},R="next",W="prev",U="left",B="right",q={SLIDE:"slide"+x,SLID:"slid"+x,KEYDOWN:"keydown"+x,MOUSEENTER:"mouseenter"+x,MOUSELEAVE:"mouseleave"+x,TOUCHSTART:"touchstart"+x,TOUCHMOVE:"touchmove"+x,TOUCHEND:"touchend"+x,POINTERDOWN:"pointerdown"+x,POINTERUP:"pointerup"+x,DRAG_START:"dragstart"+x,LOAD_DATA_API:"load"+x+H,CLICK_DATA_API:"click"+x+H},K="carousel",Q="active",Y="slide",V="carousel-item-right",X="carousel-item-left",z="carousel-item-next",G="carousel-item-prev",J="pointer-event",Z=".active",$=".active.carousel-item",tt=".carousel-item",et=".carousel-item img",nt=".carousel-item-next, .carousel-item-prev",it=".carousel-indicators",ot="[data-slide], [data-slide-to]",rt='[data-ride="carousel"]',st={TOUCH:"touch",PEN:"pen"},at=function(){function r(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=this._element.querySelector(it),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(R)},t.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(W)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(nt)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector($);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)p(this._element).one(q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?R:W;this._slide(i,this._items[t])}},t.dispose=function(){p(this._element).off(x),p.removeData(this._element,P),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},M,t),m.typeCheckConfig(L,t,F),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&p(this._element).on(q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&p(this._element).on(q.MOUSEENTER,function(t){return e.pause(t)}).on(q.MOUSELEAVE,function(t){return e.cycle(t)}),this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&st[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&st[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};p(this._element.querySelectorAll(et)).on(q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(p(this._element).on(q.POINTERDOWN,function(t){return e(t)}),p(this._element).on(q.POINTERUP,function(t){return i(t)}),this._element.classList.add(J)):(p(this._element).on(q.TOUCHSTART,function(t){return e(t)}),p(this._element).on(q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),p(this._element).on(q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(tt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===R,i=t===W,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===W?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector($)),o=p.Event(q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return p(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(Z));p(e).removeClass(Q);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&p(n).addClass(Q)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector($),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===R?(n=X,i=z,U):(n=V,i=G,B),l&&p(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(Y)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(Q),p(s).removeClass(Q+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(Q),p(l).addClass(Q),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=p(this).data(P),e=l({},M,p(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),p(this).data(P,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=m.getSelectorFromElement(this);if(e){var n=p(e)[0];if(n&&p(n).hasClass(K)){var i=l({},p(n).data(),p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(P).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return M}}]),r}();p(document).on(q.CLICK_DATA_API,ot,at._dataApiClickHandler),p(window).on(q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(rt)),e=0,n=t.length;e<n;e++){var i=p(t[e]);at._jQueryInterface.call(i,i.data())}}),p.fn[L]=at._jQueryInterface,p.fn[L].Constructor=at,p.fn[L].noConflict=function(){return p.fn[L]=j,at._jQueryInterface};var lt="collapse",ct="bs.collapse",ht="."+ct,ut=p.fn[lt],ft={toggle:!0,parent:""},dt={toggle:"boolean",parent:"(string|element)"},pt={SHOW:"show"+ht,SHOWN:"shown"+ht,HIDE:"hide"+ht,HIDDEN:"hidden"+ht,CLICK_DATA_API:"click"+ht+".data-api"},mt="show",gt="collapse",_t="collapsing",vt="collapsed",yt="width",Et="height",bt=".show, .collapsing",wt='[data-toggle="collapse"]',Tt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(wt)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){p(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(bt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(gt)})).length&&(t=null),!(t&&(e=p(t).not(this._selector).data(ct))&&e._isTransitioning))){var i=p.Event(pt.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(p(t).not(this._selector),"hide"),e||p(t).data(ct,null));var o=this._getDimension();p(this._element).removeClass(gt).addClass(_t),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(vt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(_t).addClass(gt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(pt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&p(this._element).hasClass(mt)){var e=p.Event(pt.HIDE);if(p(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(_t).removeClass(gt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(mt)||p(r).addClass(vt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){t.setTransitioning(!1),p(t._element).removeClass(_t).addClass(gt).trigger(pt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){p.removeData(this._element,ct),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},ft,t)).toggle=Boolean(t.toggle),m.typeCheckConfig(lt,t,dt),t},t._getDimension=function(){return p(this._element).hasClass(yt)?yt:Et},t._getParent=function(){var t,n=this;m.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return p(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=p(t).hasClass(mt);e.length&&p(e).toggleClass(vt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=m.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=p(this),e=t.data(ct),n=l({},ft,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ct,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ft}}]),a}();p(document).on(pt.CLICK_DATA_API,wt,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=p(this),e=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));p(i).each(function(){var t=p(this),e=t.data(ct)?"toggle":n.data();Tt._jQueryInterface.call(t,e)})}),p.fn[lt]=Tt._jQueryInterface,p.fn[lt].Constructor=Tt,p.fn[lt].noConflict=function(){return p.fn[lt]=ut,Tt._jQueryInterface};for(var Ct="undefined"!=typeof window&&"undefined"!=typeof document,St=["Edge","Trident","Firefox"],Dt=0,It=0;It<St.length;It+=1)if(Ct&&0<=navigator.userAgent.indexOf(St[It])){Dt=1;break}var At=Ct&&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()},Dt))}};function Ot(t){return t&&"[object Function]"==={}.toString.call(t)}function Nt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function kt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Lt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Nt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Lt(kt(t))}var Pt=Ct&&!(!window.MSInputMethodContext||!document.documentMode),xt=Ct&&/MSIE 10/.test(navigator.userAgent);function Ht(t){return 11===t?Pt:10===t?xt:Pt||xt}function jt(t){if(!t)return document.documentElement;for(var e=Ht(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"===Nt(n,"position")?jt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Mt(t){return null!==t.parentNode?Mt(t.parentNode):t}function Ft(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&&jt(s.firstElementChild)!==s?jt(l):l;var c=Mt(t);return c.host?Ft(c.host,e):Ft(t,Mt(e).host)}function Rt(t){var e="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"!==n&&"HTML"!==n)return t[e];var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}function Wt(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 Ut(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Ht(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Bt(t){var e=t.body,n=t.documentElement,i=Ht(10)&&getComputedStyle(n);return{height:Ut("Height",e,n,i),width:Ut("Width",e,n,i)}}var qt=function(){function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),Kt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Qt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Yt(t){return Qt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Vt(t){var e={};try{if(Ht(10)){e=t.getBoundingClientRect();var n=Rt(t,"top"),i=Rt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Bt(t.ownerDocument):{},s=r.width||t.clientWidth||o.right-o.left,a=r.height||t.clientHeight||o.bottom-o.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var h=Nt(t);l-=Wt(h,"x"),c-=Wt(h,"y"),o.width-=l,o.height-=c}return Yt(o)}function Xt(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Ht(10),o="HTML"===e.nodeName,r=Vt(t),s=Vt(e),a=Lt(t),l=Nt(e),c=parseFloat(l.borderTopWidth,10),h=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=Yt({top:r.top-s.top-c,left:r.left-s.left-h,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var f=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-f,u.bottom-=c-f,u.left-=h-d,u.right-=h-d,u.marginTop=f,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Rt(e,"top"),o=Rt(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 zt(t){if(!t||!t.parentElement||Ht())return document.documentElement;for(var e=t.parentElement;e&&"none"===Nt(e,"transform");)e=e.parentElement;return e||document.documentElement}function Gt(t,e,n,i){var o=4<arguments.length&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?zt(t):Ft(t,e);if("viewport"===i)r=function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Xt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Rt(n),a=e?0:Rt(n,"left");return Yt({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=Lt(kt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Xt(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===Nt(e,"position")||t(kt(e)))}(s))r=l;else{var c=Bt(t.ownerDocument),h=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=h+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var f="number"==typeof(n=n||0);return r.left+=f?n:n.left||0,r.top+=f?n:n.top||0,r.right-=f?n:n.right||0,r.bottom-=f?n:n.bottom||0,r}function Jt(t,e,i,n,o){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Gt(i,n,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 Qt({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,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),h=0<c.length?c[0].key:l[0].key,u=t.split("-")[1];return h+(u?"-"+u:"")}function Zt(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return Xt(n,i?zt(e):Ft(e,n),i)}function $t(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function te(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 ee(t,e,n){n=n.split("-")[0];var i=$t(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[te(a)],o}function ne(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ie(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=ne(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&Ot(e)&&(n.offsets.popper=Yt(n.offsets.popper),n.offsets.reference=Yt(n.offsets.reference),n=e(n,t))}),n}function oe(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function re(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function se(t){var e=t.ownerDocument;return e?e.defaultView:window}function ae(t,e,n,i){n.updateBound=i,se(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Lt(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(Lt(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function le(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,se(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function ce(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function he(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&ce(i[t])&&(e="px"),n.style[t]=i[t]+e})}function ue(t,e,n){var i=ne(t,function(t){return t.name===e}),o=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var fe=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],de=fe.slice(3);function pe(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=de.indexOf(t),i=de.slice(n+1).concat(de.slice(0,n));return e?i.reverse():i}var me="flip",ge="clockwise",_e="counterclockwise";function ve(t,o,r,e){var s=[0,0],a=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(ne(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(t,e){var n=(1===e?!a:a)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!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("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Yt(a)[e]/100*r}(t,n,o,r)})})).forEach(function(n,i){n.forEach(function(t,e){ce(t)&&(s[i]+=t*("-"===n[e-1]?-1:1))})}),s}var ye={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",h={start:Kt({},l,r[l]),end:Kt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Qt({},s,h[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=ce(+n)?[+n,0]:ve(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,i){var e=i.boundariesElement||jt(t.instance.popper);t.instance.reference===e&&(e=jt(e));var n=re("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Gt(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=t.offsets.popper,u={primary:function(t){var e=h[t];return h[t]<l[t]&&!i.escapeWithReference&&(e=Math.max(h[t],l[t])),Kt({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=h[e];return h[t]>l[t]&&!i.escapeWithReference&&(n=Math.min(h[e],l[t]-("right"===t?h.width:h.height))),Kt({},e,n)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";h=Qt({},h,u[e](t))}),t.offsets.popper=h,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[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!ue(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",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=$t(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=Yt(t.offsets.popper);var m=a[u]+a[c]/2-p/2,g=Nt(t.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-t.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),t.arrowElement=i,t.offsets.arrow=(Kt(n={},u,Math.round(y)),Kt(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,m){if(oe(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var g=Gt(p.instance.popper,p.instance.reference,m.padding,m.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=te(_),y=p.placement.split("-")[1]||"",E=[];switch(m.behavior){case me:E=[_,v];break;case ge:E=pe(_);break;case _e:E=pe(_,!0);break;default:E=m.behavior}return E.forEach(function(t,e){if(_!==t||E.length===e+1)return p;_=p.placement.split("-")[0],v=te(_);var n,i=p.offsets.popper,o=p.offsets.reference,r=Math.floor,s="left"===_&&r(i.right)>r(o.left)||"right"===_&&r(i.left)<r(o.right)||"top"===_&&r(i.bottom)>r(o.top)||"bottom"===_&&r(i.top)<r(o.bottom),a=r(i.left)<r(g.left),l=r(i.right)>r(g.right),c=r(i.top)<r(g.top),h=r(i.bottom)>r(g.bottom),u="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&h,f=-1!==["top","bottom"].indexOf(_),d=!!m.flipVariations&&(f&&"start"===y&&a||f&&"end"===y&&l||!f&&"start"===y&&c||!f&&"end"===y&&h);(s||u||d)&&(p.flipped=!0,(s||u)&&(_=E[e+1]),d&&(y="end"===(n=y)?"start":"start"===n?"end":n),p.placement=_+(y?"-"+y:""),p.offsets.popper=Qt({},p.offsets.popper,ee(p.instance.popper,p.offsets.reference,p.placement)),p=ie(p.instance.modifiers,p,"flip"))}),p},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=te(e),t.offsets.popper=Yt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!ue(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=ne(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=ne(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=jt(t.instance.popper),l=Vt(a),c={position:o.position},h={left:Math.floor(o.left),top:Math.round(o.top),bottom:Math.round(o.bottom),right:Math.floor(o.right)},u="bottom"===n?"top":"bottom",f="right"===i?"left":"right",d=re("transform"),p=void 0,m=void 0;if(m="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+h.bottom:-l.height+h.bottom:h.top,p="right"===f?"HTML"===a.nodeName?-a.clientWidth+h.right:-l.width+h.right:h.left,s&&d)c[d]="translate3d("+p+"px, "+m+"px, 0)",c[u]=0,c[f]=0,c.willChange="transform";else{var g="bottom"===u?-1:1,_="right"===f?-1:1;c[u]=m*g,c[f]=p*_,c.willChange=u+", "+f}var v={"x-placement":t.placement};return t.attributes=Qt({},v,t.attributes),t.styles=Qt({},c,t.styles),t.arrowStyles=Qt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return he(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&he(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Zt(o,e,t,n.positionFixed),s=Jt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),he(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Ee=function(){function r(t,e){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=At(this.update.bind(this)),this.options=Qt({},r.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=e&&e.jquery?e[0]:e,this.options.modifiers={},Object.keys(Qt({},r.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=Qt({},r.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Qt({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&Ot(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return qt(r,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Zt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Jt(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=ee(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ie(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,oe(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[re("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=ae(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return le.call(this)}}]),r}();Ee.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ee.placements=fe,Ee.Defaults=ye;var be="dropdown",we="bs.dropdown",Te="."+we,Ce=".data-api",Se=p.fn[be],De=new RegExp("38|40|27"),Ie={HIDE:"hide"+Te,HIDDEN:"hidden"+Te,SHOW:"show"+Te,SHOWN:"shown"+Te,CLICK:"click"+Te,CLICK_DATA_API:"click"+Te+Ce,KEYDOWN_DATA_API:"keydown"+Te+Ce,KEYUP_DATA_API:"keyup"+Te+Ce},Ae="disabled",Oe="show",Ne="dropup",ke="dropright",Le="dropleft",Pe="dropdown-menu-right",xe="position-static",He='[data-toggle="dropdown"]',je=".dropdown form",Me=".dropdown-menu",Fe=".navbar-nav",Re=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",We="top-start",Ue="top-end",Be="bottom-start",qe="bottom-end",Ke="right-start",Qe="left-start",Ye={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Ve={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Xe=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(Ae)){var t=c._getParentFromElement(this._element),e=p(this._menu).hasClass(Oe);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=p.Event(Ie.SHOW,n);if(p(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof Ee)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(t).addClass(xe),this._popper=new Ee(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(t).closest(Fe).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(Oe),p(t).toggleClass(Oe).trigger(p.Event(Ie.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||p(this._element).hasClass(Ae)||p(this._menu).hasClass(Oe))){var t={relatedTarget:this._element},e=p.Event(Ie.SHOW,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Oe),p(n).toggleClass(Oe).trigger(p.Event(Ie.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(Ae)&&p(this._menu).hasClass(Oe)){var t={relatedTarget:this._element},e=p.Event(Ie.HIDE,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Oe),p(n).toggleClass(Oe).trigger(p.Event(Ie.HIDDEN,t)))}},t.dispose=function(){p.removeData(this._element,we),p(this._element).off(Te),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;p(this._element).on(Ie.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,p(this._element).data(),t),m.typeCheckConfig(be,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Me))}return this._menu},t._getPlacement=function(){var t=p(this._element.parentNode),e=Be;return t.hasClass(Ne)?(e=We,p(this._menu).hasClass(Pe)&&(e=Ue)):t.hasClass(ke)?e=Ke:t.hasClass(Le)?e=Qe:p(this._menu).hasClass(Pe)&&(e=qe),e},t._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(we);if(t||(t=new c(this,"object"==typeof e?e:null),p(this).data(we,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(He)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=p(e[n]).data(we),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(p(o).hasClass(Oe)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&p.contains(o,t.target))){var l=p.Event(Ie.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),e[n].setAttribute("aria-expanded","false"),p(a).removeClass(Oe),p(o).removeClass(Oe).trigger(p.Event(Ie.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=m.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||p(t.target).closest(Me).length)):De.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!p(this).hasClass(Ae))){var e=c._getParentFromElement(this),n=p(e).hasClass(Oe);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Re));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(He);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ye}},{key:"DefaultType",get:function(){return Ve}}]),c}();p(document).on(Ie.KEYDOWN_DATA_API,He,Xe._dataApiKeydownHandler).on(Ie.KEYDOWN_DATA_API,Me,Xe._dataApiKeydownHandler).on(Ie.CLICK_DATA_API+" "+Ie.KEYUP_DATA_API,Xe._clearMenus).on(Ie.CLICK_DATA_API,He,function(t){t.preventDefault(),t.stopPropagation(),Xe._jQueryInterface.call(p(this),"toggle")}).on(Ie.CLICK_DATA_API,je,function(t){t.stopPropagation()}),p.fn[be]=Xe._jQueryInterface,p.fn[be].Constructor=Xe,p.fn[be].noConflict=function(){return p.fn[be]=Se,Xe._jQueryInterface};var ze="modal",Ge="bs.modal",Je="."+Ge,Ze=p.fn[ze],$e={backdrop:!0,keyboard:!0,focus:!0,show:!0},tn={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},en={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,FOCUSIN:"focusin"+Je,RESIZE:"resize"+Je,CLICK_DISMISS:"click.dismiss"+Je,KEYDOWN_DISMISS:"keydown.dismiss"+Je,MOUSEUP_DISMISS:"mouseup.dismiss"+Je,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Je,CLICK_DATA_API:"click"+Je+".data-api"},nn="modal-scrollbar-measure",on="modal-backdrop",rn="modal-open",sn="fade",an="show",ln=".modal-dialog",cn='[data-toggle="modal"]',hn='[data-dismiss="modal"]',un=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",fn=".sticky-top",dn=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(ln),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(sn)&&(this._isTransitioning=!0);var n=p.Event(en.SHOW,{relatedTarget:t});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),p(this._element).on(en.CLICK_DISMISS,hn,function(t){return e.hide(t)}),p(this._dialog).on(en.MOUSEDOWN_DISMISS,function(){p(e._element).one(en.MOUSEUP_DISMISS,function(t){p(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(en.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(sn);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(en.FOCUSIN),p(this._element).removeClass(an),p(this._element).off(en.CLICK_DISMISS),p(this._dialog).off(en.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return p(t).off(Je)}),p(document).off(en.FOCUSIN),p.removeData(this._element,Ge),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},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},$e,t),m.typeCheckConfig(ze,t,tn),t},t._showElement=function(t){var e=this,n=p(this._element).hasClass(sn);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(an),this._config.focus&&this._enforceFocus();var i=p.Event(en.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,p(e._element).trigger(i)};if(n){var r=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;p(document).off(en.FOCUSIN).on(en.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===p(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?p(this._element).on(en.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||p(this._element).off(en.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?p(window).on(en.RESIZE,function(t){return e.handleUpdate(t)}):p(window).off(en.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){p(document.body).removeClass(rn),t._resetAdjustments(),t._resetScrollbar(),p(t._element).trigger(en.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=p(this._element).hasClass(sn)?sn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=on,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(en.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(an),!t)return;if(!n)return void t();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(an);var o=function(){e._removeBackdrop(),t&&t()};if(p(this._element).hasClass(sn)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(un)),e=[].slice.call(document.querySelectorAll(fn));p(t).each(function(t,e){var n=e.style.paddingRight,i=p(e).css("padding-right");p(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(e).each(function(t,e){var n=e.style.marginRight,i=p(e).css("margin-right");p(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}p(document.body).addClass(rn)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(un));p(t).each(function(t,e){var n=p(e).data("padding-right");p(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+fn));p(e).each(function(t,e){var n=p(e).data("margin-right");"undefined"!=typeof n&&p(e).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=nn,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=p(this).data(Ge),e=l({},$e,p(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),p(this).data(Ge,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return $e}}]),o}();p(document).on(en.CLICK_DATA_API,cn,function(t){var e,n=this,i=m.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=p(e).data(Ge)?"toggle":l({},p(e).data(),p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=p(e).one(en.SHOW,function(t){t.isDefaultPrevented()||r.one(en.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});dn._jQueryInterface.call(p(e),o,this)}),p.fn[ze]=dn._jQueryInterface,p.fn[ze].Constructor=dn,p.fn[ze].noConflict=function(){return p.fn[ze]=Ze,dn._jQueryInterface};var pn="tooltip",mn="bs.tooltip",gn="."+mn,_n=p.fn[pn],vn="bs-tooltip",yn=new RegExp("(^|\\s)"+vn+"\\S+","g"),En={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},bn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},wn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},Tn="show",Cn="out",Sn={HIDE:"hide"+gn,HIDDEN:"hidden"+gn,SHOW:"show"+gn,SHOWN:"shown"+gn,INSERTED:"inserted"+gn,CLICK:"click"+gn,FOCUSIN:"focusin"+gn,FOCUSOUT:"focusout"+gn,MOUSEENTER:"mouseenter"+gn,MOUSELEAVE:"mouseleave"+gn},Dn="fade",In="show",An=".tooltip-inner",On=".arrow",Nn="hover",kn="focus",Ln="click",Pn="manual",xn=function(){function i(t,e){if("undefined"==typeof Ee)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()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=p(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(In))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var t=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(t);var n=p.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),o=m.getUID(this.constructor.NAME);i.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&p(i).addClass(Dn);var r="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(r);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:p(document).find(this.config.container);p(i).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(i).appendTo(a),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Ee(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:On},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),p(i).addClass(In),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,p(e.element).trigger(e.constructor.Event.SHOWN),t===Cn&&e._leave(null,e)};if(p(this.tip).hasClass(Dn)){var c=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=p.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==Tn&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),p(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(p(this.element).trigger(i),!i.isDefaultPrevented()){if(p(n).removeClass(In),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Ln]=!1,this._activeTrigger[kn]=!1,this._activeTrigger[Nn]=!1,p(this.tip).hasClass(Dn)){var r=m.getTransitionDurationFromElement(n);p(n).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){p(this.getTipElement()).addClass(vn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(p(t.querySelectorAll(An)),this.getTitle()),p(t).removeClass(Dn+" "+In)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?p(e).parent().is(t)||t.empty().append(e):t.text(p(e).text()):t[n?"html":"text"](e)},t.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},t._getAttachment=function(t){return bn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Pn){var e=t===Nn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Nn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),p(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?kn:Nn]=!0),p(e.getTipElement()).hasClass(In)||e._hoverState===Tn?e._hoverState=Tn:(clearTimeout(e._timeout),e._hoverState=Tn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Tn&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?kn:Nn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Cn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Cn&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,p(this.element).data(),"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()),m.typeCheckConfig(pn,t,this.constructor.DefaultType),t},t._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},t._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(yn);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(p(t).removeClass(Dn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(mn),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(mn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return wn}},{key:"NAME",get:function(){return pn}},{key:"DATA_KEY",get:function(){return mn}},{key:"Event",get:function(){return Sn}},{key:"EVENT_KEY",get:function(){return gn}},{key:"DefaultType",get:function(){return En}}]),i}();p.fn[pn]=xn._jQueryInterface,p.fn[pn].Constructor=xn,p.fn[pn].noConflict=function(){return p.fn[pn]=_n,xn._jQueryInterface};var Hn="popover",jn="bs.popover",Mn="."+jn,Fn=p.fn[Hn],Rn="bs-popover",Wn=new RegExp("(^|\\s)"+Rn+"\\S+","g"),Un=l({},xn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Bn=l({},xn.DefaultType,{content:"(string|element|function)"}),qn="fade",Kn="show",Qn=".popover-header",Yn=".popover-body",Vn={HIDE:"hide"+Mn,HIDDEN:"hidden"+Mn,SHOW:"show"+Mn,SHOWN:"shown"+Mn,INSERTED:"inserted"+Mn,CLICK:"click"+Mn,FOCUSIN:"focusin"+Mn,FOCUSOUT:"focusout"+Mn,MOUSEENTER:"mouseenter"+Mn,MOUSELEAVE:"mouseleave"+Mn},Xn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){p(this.getTipElement()).addClass(Rn+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},o.setContent=function(){var t=p(this.getTipElement());this.setElementContent(t.find(Qn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Yn),e),t.removeClass(qn+" "+Kn)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(Wn);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(jn),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(jn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Un}},{key:"NAME",get:function(){return Hn}},{key:"DATA_KEY",get:function(){return jn}},{key:"Event",get:function(){return Vn}},{key:"EVENT_KEY",get:function(){return Mn}},{key:"DefaultType",get:function(){return Bn}}]),i}(xn);p.fn[Hn]=Xn._jQueryInterface,p.fn[Hn].Constructor=Xn,p.fn[Hn].noConflict=function(){return p.fn[Hn]=Fn,Xn._jQueryInterface};var zn="scrollspy",Gn="bs.scrollspy",Jn="."+Gn,Zn=p.fn[zn],$n={offset:10,method:"auto",target:""},ti={offset:"number",method:"string",target:"(string|element)"},ei={ACTIVATE:"activate"+Jn,SCROLL:"scroll"+Jn,LOAD_DATA_API:"load"+Jn+".data-api"},ni="dropdown-item",ii="active",oi='[data-spy="scroll"]',ri=".nav, .list-group",si=".nav-link",ai=".nav-item",li=".list-group-item",ci=".dropdown",hi=".dropdown-item",ui=".dropdown-toggle",fi="offset",di="position",pi=function(){function n(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+" "+si+","+this._config.target+" "+li+","+this._config.target+" "+hi,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(ei.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?fi:di,o="auto"===this._config.method?t:this._config.method,r=o===di?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=m.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[p(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){p.removeData(this._element,Gn),p(this._scrollElement).off(Jn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},$n,"object"==typeof t&&t?t:{})).target){var e=p(t.target).attr("id");e||(e=m.getUID(zn),p(t.target).attr("id",e)),t.target="#"+e}return m.typeCheckConfig(zn,t,ti),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._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(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=p([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(ni)?(n.closest(ci).find(ui).addClass(ii),n.addClass(ii)):(n.addClass(ii),n.parents(ri).prev(si+", "+li).addClass(ii),n.parents(ri).prev(ai).children(si).addClass(ii)),p(this._scrollElement).trigger(ei.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(ii)}).forEach(function(t){return t.classList.remove(ii)})},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(Gn);if(t||(t=new n(this,"object"==typeof e&&e),p(this).data(Gn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return $n}}]),n}();p(window).on(ei.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(oi)),e=t.length;e--;){var n=p(t[e]);pi._jQueryInterface.call(n,n.data())}}),p.fn[zn]=pi._jQueryInterface,p.fn[zn].Constructor=pi,p.fn[zn].noConflict=function(){return p.fn[zn]=Zn,pi._jQueryInterface};var mi="bs.tab",gi="."+mi,_i=p.fn.tab,vi={HIDE:"hide"+gi,HIDDEN:"hidden"+gi,SHOW:"show"+gi,SHOWN:"shown"+gi,CLICK_DATA_API:"click"+gi+".data-api"},yi="dropdown-menu",Ei="active",bi="disabled",wi="fade",Ti="show",Ci=".dropdown",Si=".nav, .list-group",Di=".active",Ii="> li > .active",Ai='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Oi=".dropdown-toggle",Ni="> .dropdown-menu .active",ki=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(Ei)||p(this._element).hasClass(bi))){var t,i,e=p(this._element).closest(Si)[0],o=m.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Ii:Di;i=(i=p.makeArray(p(e).find(r)))[i.length-1]}var s=p.Event(vi.HIDE,{relatedTarget:this._element}),a=p.Event(vi.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=p.Event(vi.HIDDEN,{relatedTarget:n._element}),e=p.Event(vi.SHOWN,{relatedTarget:i});p(i).trigger(t),p(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){p.removeData(this._element,mi),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?p(e).children(Di):p(e).find(Ii))[0],r=n&&o&&p(o).hasClass(wi),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=m.getTransitionDurationFromElement(o);p(o).removeClass(Ti).one(m.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){p(e).removeClass(Ei);var i=p(e.parentNode).find(Ni)[0];i&&p(i).removeClass(Ei),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(p(t).addClass(Ei),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),m.reflow(t),p(t).addClass(Ti),t.parentNode&&p(t.parentNode).hasClass(yi)){var o=p(t).closest(Ci)[0];if(o){var r=[].slice.call(o.querySelectorAll(Oi));p(r).addClass(Ei)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(mi);if(e||(e=new i(this),t.data(mi,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();p(document).on(vi.CLICK_DATA_API,Ai,function(t){t.preventDefault(),ki._jQueryInterface.call(p(this),"show")}),p.fn.tab=ki._jQueryInterface,p.fn.tab.Constructor=ki,p.fn.tab.noConflict=function(){return p.fn.tab=_i,ki._jQueryInterface};var Li="toast",Pi="bs.toast",xi="."+Pi,Hi=p.fn[Li],ji={CLICK_DISMISS:"click.dismiss"+xi,HIDE:"hide"+xi,HIDDEN:"hidden"+xi,SHOW:"show"+xi,SHOWN:"shown"+xi},Mi="fade",Fi="show",Ri={animation:"boolean",autohide:"boolean",delay:"number"},Wi={animation:!0,autohide:!0,delay:500},Ui='[data-dismiss="toast"]',Bi=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;p(this._element).trigger(ji.SHOW),this._config.animation&&this._element.classList.add(Mi);var e=function(){p(t._element).trigger(ji.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.add(Fi),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Fi)&&(p(this._element).trigger(ji.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Fi)&&this._element.classList.remove(Fi),p(this._element).off(ji.CLICK_DISMISS),p.removeData(this._element,Pi),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},Wi,p(this._element).data(),"object"==typeof t&&t?t:{}),m.typeCheckConfig(Li,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;p(this._element).on(ji.CLICK_DISMISS,Ui,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){p(t._element).trigger(ji.HIDDEN)};if(this._element.classList.remove(Fi),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(Pi);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Pi,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"DefaultType",get:function(){return Ri}}]),i}();p.fn[Li]=Bi._jQueryInterface,p.fn[Li].Constructor=Bi,p.fn[Li].noConflict=function(){return p.fn[Li]=Hi,Bi._jQueryInterface},function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=p.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=m,t.Alert=g,t.Button=k,t.Carousel=at,t.Collapse=Tt,t.Dropdown=Xe,t.Modal=dn,t.Popover=Xn,t.Scrollspy=pi,t.Tab=ki,t.Toast=Bi,t.Tooltip=xn,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file diff --git a/dist/js/bootstrap.bundle.min.js.map b/dist/js/bootstrap.bundle.min.js.map index 782e47f2cf..4e0d3d30c7 100644 --- a/dist/js/bootstrap.bundle.min.js.map +++ b/dist/js/bootstrap.bundle.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERMOVE","POINTERUP","POINTERLEAVE","POINTERCANCEL","DRAG_START","LOAD_DATA_API","PointerType","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_objectSpread","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","touches","clientX","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","makeArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","isBrowser","longerTimeoutBrowsers","timeoutDuration","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","_extends","assign","source","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","getWindow","defaultView","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","instance","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","onLoad","modifierOptions","Popper","classCallCheck","requestAnimationFrame","update","isDestroyed","isCreated","enableEventListeners","removeChild","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","referenceElement","_getPopperConfig","noop","hideEvent","destroy","stopPropagation","constructor","_getPlacement","$parentDropdown","offsetConf","popperConfig","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this10","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","container","fallbackPlacement","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_handlePopperPlacementChange","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","eventIn","eventOut","_fixTitle","titleType","$tip","tabClass","join","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","nodes","scrollSpys","$spy","Tab","previous","listElement","itemSelector","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","Toast","autohide","_proto","withoutTimeout","_close","_createClass","get"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERMOVE : `pointermove${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n POINTERLEAVE : `pointerleave${EVENT_KEY}`,\n POINTERCANCEL : `pointercancel${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.4\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n const nodes = [].slice.call(document.querySelectorAll(this._selector))\n $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n\n const scrollSpysLength = scrollSpys.length\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container && container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Toast = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'toast'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.toast'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n }\n\n const DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n }\n\n const Default = {\n animation : true,\n autohide : true,\n delay : 500\n }\n\n const Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Toast._jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n }\n\n return Toast\n})($)\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"]}
\ No newline at end of file +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_objectSpread","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","isBrowser","longerTimeoutBrowsers","timeoutDuration","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","_extends","assign","source","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","getWindow","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","instance","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","onLoad","modifierOptions","Popper","classCallCheck","requestAnimationFrame","update","isDestroyed","isCreated","enableEventListeners","removeChild","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","referenceElement","_getPopperConfig","noop","hideEvent","destroy","stopPropagation","constructor","_getPlacement","$parentDropdown","offsetConf","popperConfig","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this10","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","container","fallbackPlacement","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_handlePopperPlacementChange","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","eventIn","eventOut","_fixTitle","titleType","$tip","tabClass","join","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","withoutTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.5\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // Avoid blurry text by using full pixel integers.\n // For pixel-perfect positioning, top/bottom prefers rounded\n // values, while left/right prefers floored values.\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.round(popper.top),\n bottom: Math.round(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"]}
\ No newline at end of file diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js index 416aa8351a..705ac2bb96 100644 --- a/dist/js/bootstrap.js +++ b/dist/js/bootstrap.js @@ -4,13 +4,13 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) : - typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) : - (factory((global.bootstrap = {}),global.jQuery,global.Popper)); -}(this, (function (exports,$,Popper) { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('popper.js'), require('jquery')) : + typeof define === 'function' && define.amd ? define(['exports', 'popper.js', 'jquery'], factory) : + (factory((global.bootstrap = {}),global.Popper,global.jQuery)); +}(this, (function (exports,Popper,$) { 'use strict'; - $ = $ && $.hasOwnProperty('default') ? $['default'] : $; Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { @@ -74,7 +74,6 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ - /** * ------------------------------------------------------------------------ * Private TransitionEnd Helpers @@ -199,13 +198,6 @@ setTransitionEndSupport(); /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): alert.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -371,13 +363,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): button.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -582,10 +567,7 @@ TOUCHMOVE: "touchmove" + EVENT_KEY$2, TOUCHEND: "touchend" + EVENT_KEY$2, POINTERDOWN: "pointerdown" + EVENT_KEY$2, - POINTERMOVE: "pointermove" + EVENT_KEY$2, POINTERUP: "pointerup" + EVENT_KEY$2, - POINTERLEAVE: "pointerleave" + EVENT_KEY$2, - POINTERCANCEL: "pointercancel" + 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 @@ -792,7 +774,7 @@ } var start = function start(event) { - if (_this3._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { _this3.touchStartX = event.originalEvent.clientX; } else if (!_this3._pointerEvent) { _this3.touchStartX = event.originalEvent.touches[0].clientX; @@ -809,7 +791,7 @@ }; var end = function end(event) { - if (_this3._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; } @@ -1133,13 +1115,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -1194,7 +1169,7 @@ this._isTransitioning = false; this._element = element; this._config = this._getConfig(config); - this._triggerArray = $.makeArray(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE)); for (var i = 0, len = toggleList.length; i < len; i++) { @@ -1500,13 +1475,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): dropdown.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -2029,13 +1997,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): modal.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -2146,8 +2107,6 @@ this._adjustDialog(); - $(document.body).addClass(ClassName$5.OPEN); - this._setEscapeEvent(); this._setResizeEvent(); @@ -2482,6 +2441,8 @@ var calculatedPadding = $(document.body).css('padding-right'); $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); } + + $(document.body).addClass(ClassName$5.OPEN); }; _proto._resetScrollbar = function _resetScrollbar() { @@ -2608,13 +2569,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): tooltip.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -2861,7 +2815,7 @@ } }, onUpdate: function onUpdate(data) { - _this._handlePopperPlacementChange(data); + return _this._handlePopperPlacementChange(data); } }); $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra @@ -3276,13 +3230,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): popover.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -3470,13 +3417,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): scrollspy.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -3684,12 +3624,10 @@ this._clear(); - var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style - - - queries = queries.map(function (selector) { - return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; }); + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) { @@ -3711,8 +3649,11 @@ }; _proto._clear = function _clear() { - var nodes = [].slice.call(document.querySelectorAll(this._selector)); - $(nodes).filter(Selector$8.ACTIVE).removeClass(ClassName$8.ACTIVE); + [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) { + return node.classList.contains(ClassName$8.ACTIVE); + }).forEach(function (node) { + return node.classList.remove(ClassName$8.ACTIVE); + }); }; // Static @@ -3783,13 +3724,6 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): tab.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ @@ -3855,7 +3789,7 @@ var selector = Util.getSelectorFromElement(this._element); if (listElement) { - var itemSelector = listElement.nodeName === 'UL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE; + var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE; previous = $.makeArray($(listElement).find(itemSelector)); previous = previous[previous.length - 1]; } @@ -3910,14 +3844,7 @@ _proto._activate = function _activate(element, container, callback) { var _this2 = this; - var activeElements; - - if (container && container.nodeName === 'UL') { - activeElements = $(container).find(Selector$9.ACTIVE_UL); - } else { - activeElements = $(container).children(Selector$9.ACTIVE); - } - + var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE); var active = activeElements[0]; var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE); @@ -4029,215 +3956,205 @@ }; /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.3): toast.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ */ - var Toast = function ($$$1) { + var NAME$a = 'toast'; + var VERSION$a = '4.1.3'; + var DATA_KEY$a = 'bs.toast'; + var EVENT_KEY$a = "." + DATA_KEY$a; + var JQUERY_NO_CONFLICT$a = $.fn[NAME$a]; + var Event$a = { + CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a, + HIDE: "hide" + EVENT_KEY$a, + HIDDEN: "hidden" + EVENT_KEY$a, + SHOW: "show" + EVENT_KEY$a, + SHOWN: "shown" + EVENT_KEY$a + }; + var ClassName$a = { + FADE: 'fade', + HIDE: 'hide', + SHOW: 'show' + }; + var DefaultType$7 = { + animation: 'boolean', + autohide: 'boolean', + delay: 'number' + }; + var Default$7 = { + animation: true, + autohide: true, + delay: 500 + }; + var Selector$a = { + DATA_DISMISS: '[data-dismiss="toast"]' /** * ------------------------------------------------------------------------ - * Constants + * Class Definition * ------------------------------------------------------------------------ */ - var NAME = 'toast'; - var VERSION = '4.1.3'; - var DATA_KEY = 'bs.toast'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var Event = { - CLICK_DISMISS: "click.dismiss" + EVENT_KEY, - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY - }; - var ClassName = { - FADE: 'fade', - HIDE: 'hide', - SHOW: 'show' - }; - var DefaultType = { - animation: 'boolean', - autohide: 'boolean', - delay: 'number' - }; - var Default = { - animation: true, - autohide: true, - delay: 500 - }; - var Selector = { - DATA_DISMISS: '[data-dismiss="toast"]' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Toast = - /*#__PURE__*/ - function () { - function Toast(element, config) { - this._element = element; - this._config = this._getConfig(config); - this._timeout = null; - this._setListeners(); - } // Getters + }; + var Toast = + /*#__PURE__*/ + function () { + function Toast(element, config) { + this._element = element; + this._config = this._getConfig(config); + this._timeout = null; - var _proto = Toast.prototype; + this._setListeners(); + } // Getters - // Public - _proto.show = function show() { - var _this = this; - $$$1(this._element).trigger(Event.SHOW); + var _proto = Toast.prototype; - if (this._config.animation) { - this._element.classList.add(ClassName.FADE); - } + // Public + _proto.show = function show() { + var _this = this; - var complete = function complete() { - $$$1(_this._element).trigger(Event.SHOWN); + $(this._element).trigger(Event$a.SHOW); - if (_this._config.autohide) { - _this.hide(); - } - }; + if (this._config.animation) { + this._element.classList.add(ClassName$a.FADE); + } - this._element.classList.add(ClassName.SHOW); + var complete = function complete() { + $(_this._element).trigger(Event$a.SHOWN); - if (this._config.animation) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); + if (_this._config.autohide) { + _this.hide(); } }; - _proto.hide = function hide(withoutTimeout) { - var _this2 = this; + this._element.classList.add(ClassName$a.SHOW); - if (!this._element.classList.contains(ClassName.SHOW)) { - return; - } + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; - $$$1(this._element).trigger(Event.HIDE); + _proto.hide = function hide(withoutTimeout) { + var _this2 = this; - if (withoutTimeout) { - this._close(); - } else { - this._timeout = setTimeout(function () { - _this2._close(); - }, this._config.delay); - } - }; + if (!this._element.classList.contains(ClassName$a.SHOW)) { + return; + } - _proto.dispose = function dispose() { - clearTimeout(this._timeout); - this._timeout = null; + $(this._element).trigger(Event$a.HIDE); - if (this._element.classList.contains(ClassName.SHOW)) { - this._element.classList.remove(ClassName.SHOW); - } + if (withoutTimeout) { + this._close(); + } else { + this._timeout = setTimeout(function () { + _this2._close(); + }, this._config.delay); + } + }; - $$$1(this._element).off(Event.CLICK_DISMISS); - $$$1.removeData(this._element, DATA_KEY); - this._element = null; - this._config = null; - }; // Private + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + this._timeout = null; + if (this._element.classList.contains(ClassName$a.SHOW)) { + this._element.classList.remove(ClassName$a.SHOW); + } - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, $$$1(this._element).data(), typeof config === 'object' && config ? config : {}); - Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); - return config; - }; + $(this._element).off(Event$a.CLICK_DISMISS); + $.removeData(this._element, DATA_KEY$a); + this._element = null; + this._config = null; + }; // Private - _proto._setListeners = function _setListeners() { - var _this3 = this; - $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () { - return _this3.hide(true); - }); - }; + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {}); + Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType); + return config; + }; - _proto._close = function _close() { - var _this4 = this; + _proto._setListeners = function _setListeners() { + var _this3 = this; - var complete = function complete() { - $$$1(_this4._element).trigger(Event.HIDDEN); - }; + $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () { + return _this3.hide(true); + }); + }; - this._element.classList.remove(ClassName.SHOW); + _proto._close = function _close() { + var _this4 = this; - if (this._config.animation) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); - } - }; // Static + var complete = function complete() { + $(_this4._element).trigger(Event$a.HIDDEN); + }; + this._element.classList.remove(ClassName$a.SHOW); - Toast._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $$$1(this); - var data = $element.data(DATA_KEY); + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; // Static - var _config = typeof config === 'object' && config; - if (!data) { - data = new Toast(this, _config); - $element.data(DATA_KEY, data); - } + Toast._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY$a); - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } + var _config = typeof config === 'object' && config; + + if (!data) { + data = new Toast(this, _config); + $element.data(DATA_KEY$a, data); + } - data[config](this); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); } - }); - }; - _createClass(Toast, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; + data[config](this); } - }]); + }); + }; - return Toast; - }(); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + _createClass(Toast, null, [{ + key: "VERSION", + get: function get() { + return VERSION$a; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$7; + } + }]); + return Toast; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - $$$1.fn[NAME] = Toast._jQueryInterface; - $$$1.fn[NAME].Constructor = Toast; - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Toast._jQueryInterface; - }; + $.fn[NAME$a] = Toast._jQueryInterface; + $.fn[NAME$a].Constructor = Toast; - return Toast; - }($); + $.fn[NAME$a].noConflict = function () { + $.fn[NAME$a] = JQUERY_NO_CONFLICT$a; + return Toast._jQueryInterface; + }; /** * -------------------------------------------------------------------------- diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map index 0436dd4780..6343cbd595 100644 --- a/dist/js/bootstrap.js.map +++ b/dist/js/bootstrap.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERMOVE : `pointermove${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n POINTERLEAVE : `pointerleave${EVENT_KEY}`,\n POINTERCANCEL : `pointercancel${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n const nodes = [].slice.call(document.querySelectorAll(this._selector))\n $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n\n const scrollSpysLength = scrollSpys.length\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container && container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Toast = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'toast'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.toast'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n }\n\n const DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n }\n\n const Default = {\n animation : true,\n autohide : true,\n delay : 500\n }\n\n const Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Toast._jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n }\n\n return Toast\n})($)\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERMOVE","POINTERUP","POINTERLEAVE","POINTERCANCEL","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","makeArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","find","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","triggers","eventIn","eventOut","_fixTitle","titleType","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","nodes","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","nodeName","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","Toast","autohide","withoutTimeout","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","find","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","triggers","eventIn","eventOut","_fixTitle","titleType","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","nodeName","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","withoutTimeout","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"}
\ No newline at end of file diff --git a/dist/js/bootstrap.min.js b/dist/js/bootstrap.min.js index 0cbaeb1665..87a47d512c 100644 --- a/dist/js/bootstrap.min.js +++ b/dist/js/bootstrap.min.js @@ -3,5 +3,5 @@ * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,h){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},e=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=o[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}g=g&&g.hasOwnProperty("default")?g.default:g,h=h&&h.hasOwnProperty("default")?h.default:h;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}return e&&document.querySelector(e)?e:null},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),r=parseFloat(n);return i||r?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=e[i],s=o&&_.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var r="alert",o="bs.alert",a="."+o,c=g.fn[r],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,o),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(u.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(o);e||(e=new i(this),t.data(o,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();g(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[r]=p._jQueryInterface,g.fn[r].Constructor=p,g.fn[r].noConflict=function(){return g.fn[r]=c,p._jQueryInterface};var v="button",E="bs.button",y="."+E,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',A='[data-toggle="buttons"]',w="input",N=".active",O=".btn",k={CLICK_DATA_API:"click"+y+C,FOCUS_BLUR_DATA_API:"focus"+y+C+" blur"+y+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(A)[0];if(n){var i=this._element.querySelector(w);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var r=n.querySelector(N);r&&g(r).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,E),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(E);t||(t=new n(this),g(this).data(E,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var j="carousel",H="bs.carousel",L="."+H,R=".data-api",W=g.fn[j],U={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},x={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},F="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+L,SLID:"slid"+L,KEYDOWN:"keydown"+L,MOUSEENTER:"mouseenter"+L,MOUSELEAVE:"mouseleave"+L,TOUCHSTART:"touchstart"+L,TOUCHMOVE:"touchmove"+L,TOUCHEND:"touchend"+L,POINTERDOWN:"pointerdown"+L,POINTERMOVE:"pointermove"+L,POINTERUP:"pointerup"+L,POINTERLEAVE:"pointerleave"+L,POINTERCANCEL:"pointercancel"+L,DRAG_START:"dragstart"+L,LOAD_DATA_API:"load"+L+R,CLICK_DATA_API:"click"+L+R},B="carousel",V="active",Y="slide",X="carousel-item-right",z="carousel-item-left",G="carousel-item-next",J="carousel-item-prev",Z="pointer-event",$=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",rt=".carousel-indicators",ot="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at="touch",lt="pen",ct=function(){function o(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=this._element.querySelector(rt),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=o.prototype;return t.next=function(){this._isSliding||this._slide(F)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?F:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(L),g.removeData(this._element,H),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},U,t),_.typeCheckConfig(j,t,x),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){!n._pointerEvent||t.originalEvent.pointerType!==at&&t.originalEvent.pointerType!==lt?n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX):n.touchStartX=t.originalEvent.clientX},i=function(t){!n._pointerEvent||t.originalEvent.pointerType!==at&&t.originalEvent.pointerType!==lt||(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(Z)):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===F,i=t===q,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),r=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll($));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,r,o=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(r=t===F?(n=z,i=G,M):(n=X,i=J,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return g(o._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(H),e=l({},U,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new o(this,e),g(this).data(H,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},o._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(g(n),i),r&&g(n).data(H).to(r),t.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return U}}]),o}();g(document).on(Q.CLICK_DATA_API,ot,ct._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);ct._jQueryInterface.call(i,i.data())}}),g.fn[j]=ct._jQueryInterface,g.fn[j].Constructor=ct,g.fn[j].noConflict=function(){return g.fn[j]=W,ct._jQueryInterface};var ht="collapse",ut="bs.collapse",ft="."+ut,dt=g.fn[ht],gt={toggle:!0,parent:""},_t={toggle:"boolean",parent:"(string|element)"},mt={SHOW:"show"+ft,SHOWN:"shown"+ft,HIDE:"hide"+ft,HIDDEN:"hidden"+ft,CLICK_DATA_API:"click"+ft+".data-api"},pt="show",vt="collapse",Et="collapsing",yt="collapsed",Ct="width",Tt="height",St=".show, .collapsing",bt='[data-toggle="collapse"]',It=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=g.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(bt)),i=0,r=n.length;i<r;i++){var o=n[i],s=_.getSelectorFromElement(o),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(pt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(pt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(St)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(vt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ut))&&e._isTransitioning))){var i=g.Event(mt.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ut,null));var r=this._getDimension();g(this._element).removeClass(vt).addClass(Et),this._element.style[r]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(Et).addClass(vt).addClass(pt),n._element.style[r]="",n.setTransitioning(!1),g(n._element).trigger(mt.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(pt)){var e=g.Event(mt.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(Et).removeClass(vt).removeClass(pt);var i=this._triggerArray.length;if(0<i)for(var r=0;r<i;r++){var o=this._triggerArray[r],s=_.getSelectorFromElement(o);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(pt)||g(o).addClass(yt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(Et).addClass(vt).trigger(mt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ut),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},gt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ht,t,_t),t},t._getDimension=function(){return g(this._element).hasClass(Ct)?Ct:Tt},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(pt);e.length&&g(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ut),n=l({},gt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ut,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return gt}}]),a}();g(document).on(mt.CLICK_DATA_API,bt,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ut)?"toggle":n.data();It._jQueryInterface.call(t,e)})}),g.fn[ht]=It._jQueryInterface,g.fn[ht].Constructor=It,g.fn[ht].noConflict=function(){return g.fn[ht]=dt,It._jQueryInterface};var Dt="dropdown",At="bs.dropdown",wt="."+At,Nt=".data-api",Ot=g.fn[Dt],kt=new RegExp("38|40|27"),Pt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+Nt,KEYDOWN_DATA_API:"keydown"+wt+Nt,KEYUP_DATA_API:"keyup"+wt+Nt},jt="disabled",Ht="show",Lt="dropup",Rt="dropright",Wt="dropleft",Ut="dropdown-menu-right",xt="position-static",Ft='[data-toggle="dropdown"]',qt=".dropdown form",Mt=".dropdown-menu",Kt=".navbar-nav",Qt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Bt="top-start",Vt="top-end",Yt="bottom-start",Xt="bottom-end",zt="right-start",Gt="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},$t=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(jt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Ht);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(Pt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof h)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var r=this._element;"parent"===this._config.reference?r=t:_.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(xt),this._popper=new h(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Kt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Ht),g(t).toggleClass(Ht).trigger(g.Event(Pt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(jt)||g(this._menu).hasClass(Ht))){var t={relatedTarget:this._element},e=g.Event(Pt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Ht),g(n).toggleClass(Ht).trigger(g.Event(Pt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(jt)&&g(this._menu).hasClass(Ht)){var t={relatedTarget:this._element},e=g.Event(Pt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Ht),g(n).toggleClass(Ht).trigger(g.Event(Pt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,At),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(Pt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(Dt,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Mt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Yt;return t.hasClass(Lt)?(e=Bt,g(this._menu).hasClass(Ut)&&(e=Vt)):t.hasClass(Rt)?e=zt:t.hasClass(Wt)?e=Gt:g(this._menu).hasClass(Ut)&&(e=Xt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(At);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(At,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Ft)),n=0,i=e.length;n<i;n++){var r=c._getParentFromElement(e[n]),o=g(e[n]).data(At),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var a=o._menu;if(g(r).hasClass(Ht)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(r,t.target))){var l=g.Event(Pt.HIDE,s);g(r).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Ht),g(r).removeClass(Ht).trigger(g.Event(Pt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(Mt).length)):kt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(jt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Ht);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Qt));if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var o=e.querySelector(Ft);g(o).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}();g(document).on(Pt.KEYDOWN_DATA_API,Ft,$t._dataApiKeydownHandler).on(Pt.KEYDOWN_DATA_API,Mt,$t._dataApiKeydownHandler).on(Pt.CLICK_DATA_API+" "+Pt.KEYUP_DATA_API,$t._clearMenus).on(Pt.CLICK_DATA_API,Ft,function(t){t.preventDefault(),t.stopPropagation(),$t._jQueryInterface.call(g(this),"toggle")}).on(Pt.CLICK_DATA_API,qt,function(t){t.stopPropagation()}),g.fn[Dt]=$t._jQueryInterface,g.fn[Dt].Constructor=$t,g.fn[Dt].noConflict=function(){return g.fn[Dt]=Ot,$t._jQueryInterface};var te="modal",ee="bs.modal",ne="."+ee,ie=g.fn[te],re={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},se={HIDE:"hide"+ne,HIDDEN:"hidden"+ne,SHOW:"show"+ne,SHOWN:"shown"+ne,FOCUSIN:"focusin"+ne,RESIZE:"resize"+ne,CLICK_DISMISS:"click.dismiss"+ne,KEYDOWN_DISMISS:"keydown.dismiss"+ne,MOUSEUP_DISMISS:"mouseup.dismiss"+ne,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ne,CLICK_DATA_API:"click"+ne+".data-api"},ae="modal-scrollbar-measure",le="modal-backdrop",ce="modal-open",he="fade",ue="show",fe=".modal-dialog",de='[data-toggle="modal"]',ge='[data-dismiss="modal"]',_e=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",me=".sticky-top",pe=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(fe),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(he)&&(this._isTransitioning=!0);var n=g.Event(se.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),g(document.body).addClass(ce),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(se.CLICK_DISMISS,ge,function(t){return e.hide(t)}),g(this._dialog).on(se.MOUSEDOWN_DISMISS,function(){g(e._element).one(se.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(se.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(he);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(se.FOCUSIN),g(this._element).removeClass(ue),g(this._element).off(se.CLICK_DISMISS),g(this._dialog).off(se.MOUSEDOWN_DISMISS),i){var r=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ne)}),g(document).off(se.FOCUSIN),g.removeData(this._element,ee),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},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},re,t),_.typeCheckConfig(te,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(he);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ue),this._config.focus&&this._enforceFocus();var i=g.Event(se.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var o=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},t._enforceFocus=function(){var e=this;g(document).off(se.FOCUSIN).on(se.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(se.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(se.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(se.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(se.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(ce),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(se.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(he)?he:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=le,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(se.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ue),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ue);var r=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(he)){var o=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(_e)),e=[].slice.call(document.querySelectorAll(me));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(_e));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+me));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=ae,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(ee),e=l({},re,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new r(this,e),g(this).data(ee,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return re}}]),r}();g(document).on(se.CLICK_DATA_API,de,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var r=g(e).data(ee)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var o=g(e).one(se.SHOW,function(t){t.isDefaultPrevented()||o.one(se.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});pe._jQueryInterface.call(g(e),r,this)}),g.fn[te]=pe._jQueryInterface,g.fn[te].Constructor=pe,g.fn[te].noConflict=function(){return g.fn[te]=ie,pe._jQueryInterface};var ve="tooltip",Ee="bs.tooltip",ye="."+Ee,Ce=g.fn[ve],Te="bs-tooltip",Se=new RegExp("(^|\\s)"+Te+"\\S+","g"),be={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},De={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},Ae="show",we="out",Ne={HIDE:"hide"+ye,HIDDEN:"hidden"+ye,SHOW:"show"+ye,SHOWN:"shown"+ye,INSERTED:"inserted"+ye,CLICK:"click"+ye,FOCUSIN:"focusin"+ye,FOCUSOUT:"focusout"+ye,MOUSEENTER:"mouseenter"+ye,MOUSELEAVE:"mouseleave"+ye},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",We="manual",Ue=function(){function i(t,e){if("undefined"==typeof h)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()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=g.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=_.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:g(document).find(this.config.container);g(i).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(i).appendTo(a),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),g(i).addClass(ke),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(g(this.tip).hasClass(Oe)){var c=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==Ae&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(ke),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,g(this.tip).hasClass(Oe)){var o=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Pe)),this.getTitle()),g(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text()):t[n?"html":"text"](e)},t.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},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==We){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),g(e.getTipElement()).hasClass(ke)||e._hoverState===Ae?e._hoverState=Ae:(clearTimeout(e._timeout),e._hoverState=Ae,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Ae&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,g(this.element).data(),"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()),_.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._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},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Se);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ee),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ee,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return De}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return Ee}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return ye}},{key:"DefaultType",get:function(){return be}}]),i}();g.fn[ve]=Ue._jQueryInterface,g.fn[ve].Constructor=Ue,g.fn[ve].noConflict=function(){return g.fn[ve]=Ce,Ue._jQueryInterface};var xe="popover",Fe="bs.popover",qe="."+Fe,Me=g.fn[xe],Ke="bs-popover",Qe=new RegExp("(^|\\s)"+Ke+"\\S+","g"),Be=l({},Ue.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ve=l({},Ue.DefaultType,{content:"(string|element|function)"}),Ye="fade",Xe="show",ze=".popover-header",Ge=".popover-body",Je={HIDE:"hide"+qe,HIDDEN:"hidden"+qe,SHOW:"show"+qe,SHOWN:"shown"+qe,INSERTED:"inserted"+qe,CLICK:"click"+qe,FOCUSIN:"focusin"+qe,FOCUSOUT:"focusout"+qe,MOUSEENTER:"mouseenter"+qe,MOUSELEAVE:"mouseleave"+qe},Ze=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ke+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},r.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(Ye+" "+Xe)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Qe);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Fe),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Fe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Be}},{key:"NAME",get:function(){return xe}},{key:"DATA_KEY",get:function(){return Fe}},{key:"Event",get:function(){return Je}},{key:"EVENT_KEY",get:function(){return qe}},{key:"DefaultType",get:function(){return Ve}}]),i}(Ue);g.fn[xe]=Ze._jQueryInterface,g.fn[xe].Constructor=Ze,g.fn[xe].noConflict=function(){return g.fn[xe]=Me,Ze._jQueryInterface};var $e="scrollspy",tn="bs.scrollspy",en="."+tn,nn=g.fn[$e],rn={offset:10,method:"auto",target:""},on={offset:"number",method:"string",target:"(string|element)"},sn={ACTIVATE:"activate"+en,SCROLL:"scroll"+en,LOAD_DATA_API:"load"+en+".data-api"},an="dropdown-item",ln="active",cn='[data-spy="scroll"]',hn=".active",un=".nav, .list-group",fn=".nav-link",dn=".nav-item",gn=".list-group-item",_n=".dropdown",mn=".dropdown-item",pn=".dropdown-toggle",vn="offset",En="position",yn=function(){function n(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+" "+fn+","+this._config.target+" "+gn+","+this._config.target+" "+mn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(sn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?vn:En,r="auto"===this._config.method?t:this._config.method,o=r===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[r]().top+o,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,tn),g(this._scrollElement).off(en),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},rn,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID($e),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig($e,t,on),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._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(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(an)?(n.closest(_n).find(pn).addClass(ln),n.addClass(ln)):(n.addClass(ln),n.parents(un).prev(fn+", "+gn).addClass(ln),n.parents(un).prev(dn).children(fn).addClass(ln)),g(this._scrollElement).trigger(sn.ACTIVATE,{relatedTarget:e})},t._clear=function(){var t=[].slice.call(document.querySelectorAll(this._selector));g(t).filter(hn).removeClass(ln)},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(tn);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(tn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return rn}}]),n}();g(window).on(sn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(cn)),e=t.length;e--;){var n=g(t[e]);yn._jQueryInterface.call(n,n.data())}}),g.fn[$e]=yn._jQueryInterface,g.fn[$e].Constructor=yn,g.fn[$e].noConflict=function(){return g.fn[$e]=nn,yn._jQueryInterface};var Cn="bs.tab",Tn="."+Cn,Sn=g.fn.tab,bn={HIDE:"hide"+Tn,HIDDEN:"hidden"+Tn,SHOW:"show"+Tn,SHOWN:"shown"+Tn,CLICK_DATA_API:"click"+Tn+".data-api"},In="dropdown-menu",Dn="active",An="disabled",wn="fade",Nn="show",On=".dropdown",kn=".nav, .list-group",Pn=".active",jn="> li > .active",Hn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Ln=".dropdown-toggle",Rn="> .dropdown-menu .active",Wn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Dn)||g(this._element).hasClass(An))){var t,i,e=g(this._element).closest(kn)[0],r=_.getSelectorFromElement(this._element);if(e){var o="UL"===e.nodeName?jn:Pn;i=(i=g.makeArray(g(e).find(o)))[i.length-1]}var s=g.Event(bn.HIDE,{relatedTarget:this._element}),a=g.Event(bn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(t=document.querySelector(r)),this._activate(this._element,e);var l=function(){var t=g.Event(bn.HIDDEN,{relatedTarget:n._element}),e=g.Event(bn.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,Cn),this._element=null},t._activate=function(t,e,n){var i=this,r=(e&&"UL"===e.nodeName?g(e).find(jn):g(e).children(Pn))[0],o=n&&r&&g(r).hasClass(wn),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var a=_.getTransitionDurationFromElement(r);g(r).removeClass(Nn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Dn);var i=g(e.parentNode).find(Rn)[0];i&&g(i).removeClass(Dn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Dn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),g(t).addClass(Nn),t.parentNode&&g(t.parentNode).hasClass(In)){var r=g(t).closest(On)[0];if(r){var o=[].slice.call(r.querySelectorAll(Ln));g(o).addClass(Dn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Cn);if(e||(e=new i(this),t.data(Cn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();g(document).on(bn.CLICK_DATA_API,Hn,function(t){t.preventDefault(),Wn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Wn._jQueryInterface,g.fn.tab.Constructor=Wn,g.fn.tab.noConflict=function(){return g.fn.tab=Sn,Wn._jQueryInterface};var Un,xn,Fn,qn,Mn,Kn,Qn,Bn,Vn,Yn,Xn,zn,Gn=(xn="toast",qn="."+(Fn="bs.toast"),Mn=(Un=g).fn[xn],Kn={CLICK_DISMISS:"click.dismiss"+qn,HIDE:"hide"+qn,HIDDEN:"hidden"+qn,SHOW:"show"+qn,SHOWN:"shown"+qn},Qn="fade",Bn="show",Vn={animation:"boolean",autohide:"boolean",delay:"number"},Yn={animation:!0,autohide:!0,delay:500},Xn='[data-dismiss="toast"]',zn=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;Un(this._element).trigger(Kn.SHOW),this._config.animation&&this._element.classList.add(Qn);var e=function(){Un(t._element).trigger(Kn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.add(Bn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);Un(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Bn)&&(Un(this._element).trigger(Kn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Bn)&&this._element.classList.remove(Bn),Un(this._element).off(Kn.CLICK_DISMISS),Un.removeData(this._element,Fn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},Yn,Un(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(xn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;Un(this._element).on(Kn.CLICK_DISMISS,Xn,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){Un(t._element).trigger(Kn.HIDDEN)};if(this._element.classList.remove(Bn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);Un(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=Un(this),e=t.data(Fn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Fn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"DefaultType",get:function(){return Vn}}]),i}(),Un.fn[xn]=zn._jQueryInterface,Un.fn[xn].Constructor=zn,Un.fn[xn].noConflict=function(){return Un.fn[xn]=Mn,zn._jQueryInterface},zn);!function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=ct,t.Collapse=It,t.Dropdown=$t,t.Modal=pe,t.Popover=Ze,t.Scrollspy=yn,t.Tab=Wn,t.Toast=Gn,t.Tooltip=Ue,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("popper.js"),require("jquery")):"function"==typeof define&&define.amd?define(["exports","popper.js","jquery"],e):e(t.bootstrap={},t.Popper,t.jQuery)}(this,function(t,h,g){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},e=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=o[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}h=h&&h.hasOwnProperty("default")?h.default:h,g=g&&g.hasOwnProperty("default")?g.default:g;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}return e&&document.querySelector(e)?e:null},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),r=parseFloat(n);return i||r?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=e[i],s=o&&_.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var r="alert",o="bs.alert",a="."+o,c=g.fn[r],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,o),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(u.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(o);e||(e=new i(this),t.data(o,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();g(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[r]=p._jQueryInterface,g.fn[r].Constructor=p,g.fn[r].noConflict=function(){return g.fn[r]=c,p._jQueryInterface};var v="button",E="bs.button",y="."+E,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',w='[data-toggle="buttons"]',A="input",N=".active",O=".btn",k={CLICK_DATA_API:"click"+y+C,FOCUS_BLUR_DATA_API:"focus"+y+C+" blur"+y+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(w)[0];if(n){var i=this._element.querySelector(A);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var r=n.querySelector(N);r&&g(r).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,E),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(E);t||(t=new n(this),g(this).data(E,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var j="carousel",L="bs.carousel",H="."+L,R=".data-api",U=g.fn[j],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},x={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},F="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},B="carousel",V="active",Y="slide",X="carousel-item-right",z="carousel-item-left",G="carousel-item-next",J="carousel-item-prev",Z="pointer-event",$=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",rt=".carousel-indicators",ot="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at={TOUCH:"touch",PEN:"pen"},lt=function(){function o(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=this._element.querySelector(rt),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=o.prototype;return t.next=function(){this._isSliding||this._slide(F)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?F:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,L),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},W,t),_.typeCheckConfig(j,t,x),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(Z)):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===F,i=t===q,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),r=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll($));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,r,o=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(r=t===F?(n=z,i=G,M):(n=X,i=J,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return g(o._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(L),e=l({},W,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new o(this,e),g(this).data(L,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},o._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(g(n),i),r&&g(n).data(L).to(r),t.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return W}}]),o}();g(document).on(Q.CLICK_DATA_API,ot,lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[j]=lt._jQueryInterface,g.fn[j].Constructor=lt,g.fn[j].noConflict=function(){return g.fn[j]=U,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",Et="collapsed",yt="width",Ct="height",Tt=".show, .collapsing",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,r=n.length;i<r;i++){var o=n[i],s=_.getSelectorFromElement(o),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(pt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var r=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[r]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(Et).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[r]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var r=0;r<i;r++){var o=this._triggerArray[r],s=_.getSelectorFromElement(o);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(o).addClass(Et).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass(yt)?yt:Ct},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(Et,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",jt="show",Lt="dropup",Ht="dropright",Rt="dropleft",Ut="dropdown-menu-right",Wt="position-static",xt='[data-toggle="dropdown"]',Ft=".dropdown form",qt=".dropdown-menu",Mt=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qt="top-start",Bt="top-end",Vt="bottom-start",Yt="bottom-end",Xt="right-start",zt="left-start",Gt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Jt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Zt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(jt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof h)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var r=this._element;"parent"===this._config.reference?r=t:_.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(Wt),this._popper=new h(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Mt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(jt),g(t).toggleClass(jt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(jt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(jt),g(n).toggleClass(jt).trigger(g.Event(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(jt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(jt),g(n).toggleClass(jt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Vt;return t.hasClass(Lt)?(e=Qt,g(this._menu).hasClass(Ut)&&(e=Bt)):t.hasClass(Ht)?e=Xt:t.hasClass(Rt)?e=zt:g(this._menu).hasClass(Ut)&&(e=Yt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(xt)),n=0,i=e.length;n<i;n++){var r=c._getParentFromElement(e[n]),o=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var a=o._menu;if(g(r).hasClass(jt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(r,t.target))){var l=g.Event(kt.HIDE,s);g(r).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(jt),g(r).removeClass(jt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(jt);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var o=e.querySelector(xt);g(o).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Gt}},{key:"DefaultType",get:function(){return Jt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,xt,Zt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Zt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Zt._clearMenus).on(kt.CLICK_DATA_API,xt,function(t){t.preventDefault(),t.stopPropagation(),Zt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API,Ft,function(t){t.stopPropagation()}),g.fn[It]=Zt._jQueryInterface,g.fn[It].Constructor=Zt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Zt._jQueryInterface};var $t="modal",te="bs.modal",ee="."+te,ne=g.fn[$t],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},re={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},oe={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-scrollbar-measure",ae="modal-backdrop",le="modal-open",ce="fade",he="show",ue=".modal-dialog",fe='[data-toggle="modal"]',de='[data-dismiss="modal"]',ge=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",_e=".sticky-top",me=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(ue),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(ce)&&(this._isTransitioning=!0);var n=g.Event(oe.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(oe.CLICK_DISMISS,de,function(t){return e.hide(t)}),g(this._dialog).on(oe.MOUSEDOWN_DISMISS,function(){g(e._element).one(oe.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(oe.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(ce);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(oe.FOCUSIN),g(this._element).removeClass(he),g(this._element).off(oe.CLICK_DISMISS),g(this._dialog).off(oe.MOUSEDOWN_DISMISS),i){var r=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(oe.FOCUSIN),g.removeData(this._element,te),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),_.typeCheckConfig($t,t,re),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(ce);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(he),this._config.focus&&this._enforceFocus();var i=g.Event(oe.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var o=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},t._enforceFocus=function(){var e=this;g(document).off(oe.FOCUSIN).on(oe.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(oe.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(oe.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(oe.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(oe.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(le),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(oe.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(ce)?ce:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ae,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(oe.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(he),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(he);var r=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(ce)){var o=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(ge)),e=[].slice.call(document.querySelectorAll(_e));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(le)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(ge));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+_e));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=se,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new r(this,e),g(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ie}}]),r}();g(document).on(oe.CLICK_DATA_API,fe,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var r=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var o=g(e).one(oe.SHOW,function(t){t.isDefaultPrevented()||o.one(oe.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});me._jQueryInterface.call(g(e),r,this)}),g.fn[$t]=me._jQueryInterface,g.fn[$t].Constructor=me,g.fn[$t].noConflict=function(){return g.fn[$t]=ne,me._jQueryInterface};var pe="tooltip",ve="bs.tooltip",Ee="."+ve,ye=g.fn[pe],Ce="bs-tooltip",Te=new RegExp("(^|\\s)"+Ce+"\\S+","g"),Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},be={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Ie={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},De="show",we="out",Ae={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:"show"+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Ne="fade",Oe="show",ke=".tooltip-inner",Pe=".arrow",je="hover",Le="focus",He="click",Re="manual",Ue=function(){function i(t,e){if("undefined"==typeof h)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()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Oe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=g.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=_.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(i).addClass(Ne);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:g(document).find(this.config.container);g(i).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(i).appendTo(a),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Pe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(i).addClass(Oe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(g(this.tip).hasClass(Ne)){var c=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Oe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[He]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[je]=!1,g(this.tip).hasClass(Ne)){var o=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ce+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(ke)),this.getTitle()),g(t).removeClass(Ne+" "+Oe)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text()):t[n?"html":"text"](e)},t.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},t._getAttachment=function(t){return be[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Re){var e=t===je?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===je?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:je]=!0),g(e.getTipElement()).hasClass(Oe)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:je]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,g(this.element).data(),"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()),_.typeCheckConfig(pe,t,this.constructor.DefaultType),t},t._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},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Te);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(Ne),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(ve),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(ve,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ie}},{key:"NAME",get:function(){return pe}},{key:"DATA_KEY",get:function(){return ve}},{key:"Event",get:function(){return Ae}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}();g.fn[pe]=Ue._jQueryInterface,g.fn[pe].Constructor=Ue,g.fn[pe].noConflict=function(){return g.fn[pe]=ye,Ue._jQueryInterface};var We="popover",xe="bs.popover",Fe="."+xe,qe=g.fn[We],Me="bs-popover",Ke=new RegExp("(^|\\s)"+Me+"\\S+","g"),Qe=l({},Ue.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Be=l({},Ue.DefaultType,{content:"(string|element|function)"}),Ve="fade",Ye="show",Xe=".popover-header",ze=".popover-body",Ge={HIDE:"hide"+Fe,HIDDEN:"hidden"+Fe,SHOW:"show"+Fe,SHOWN:"shown"+Fe,INSERTED:"inserted"+Fe,CLICK:"click"+Fe,FOCUSIN:"focusin"+Fe,FOCUSOUT:"focusout"+Fe,MOUSEENTER:"mouseenter"+Fe,MOUSELEAVE:"mouseleave"+Fe},Je=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Me+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},r.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(Xe),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ze),e),t.removeClass(Ve+" "+Ye)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ke);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(xe),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(xe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Qe}},{key:"NAME",get:function(){return We}},{key:"DATA_KEY",get:function(){return xe}},{key:"Event",get:function(){return Ge}},{key:"EVENT_KEY",get:function(){return Fe}},{key:"DefaultType",get:function(){return Be}}]),i}(Ue);g.fn[We]=Je._jQueryInterface,g.fn[We].Constructor=Je,g.fn[We].noConflict=function(){return g.fn[We]=qe,Je._jQueryInterface};var Ze="scrollspy",$e="bs.scrollspy",tn="."+$e,en=g.fn[Ze],nn={offset:10,method:"auto",target:""},rn={offset:"number",method:"string",target:"(string|element)"},on={ACTIVATE:"activate"+tn,SCROLL:"scroll"+tn,LOAD_DATA_API:"load"+tn+".data-api"},sn="dropdown-item",an="active",ln='[data-spy="scroll"]',cn=".nav, .list-group",hn=".nav-link",un=".nav-item",fn=".list-group-item",dn=".dropdown",gn=".dropdown-item",_n=".dropdown-toggle",mn="offset",pn="position",vn=function(){function n(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+" "+hn+","+this._config.target+" "+fn+","+this._config.target+" "+gn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(on.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?mn:pn,r="auto"===this._config.method?t:this._config.method,o=r===pn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[r]().top+o,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,$e),g(this._scrollElement).off(tn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},nn,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(Ze),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(Ze,t,rn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._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(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(sn)?(n.closest(dn).find(_n).addClass(an),n.addClass(an)):(n.addClass(an),n.parents(cn).prev(hn+", "+fn).addClass(an),n.parents(cn).prev(un).children(hn).addClass(an)),g(this._scrollElement).trigger(on.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(an)}).forEach(function(t){return t.classList.remove(an)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data($e);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data($e,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return nn}}]),n}();g(window).on(on.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ln)),e=t.length;e--;){var n=g(t[e]);vn._jQueryInterface.call(n,n.data())}}),g.fn[Ze]=vn._jQueryInterface,g.fn[Ze].Constructor=vn,g.fn[Ze].noConflict=function(){return g.fn[Ze]=en,vn._jQueryInterface};var En="bs.tab",yn="."+En,Cn=g.fn.tab,Tn={HIDE:"hide"+yn,HIDDEN:"hidden"+yn,SHOW:"show"+yn,SHOWN:"shown"+yn,CLICK_DATA_API:"click"+yn+".data-api"},Sn="dropdown-menu",bn="active",In="disabled",Dn="fade",wn="show",An=".dropdown",Nn=".nav, .list-group",On=".active",kn="> li > .active",Pn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',jn=".dropdown-toggle",Ln="> .dropdown-menu .active",Hn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(bn)||g(this._element).hasClass(In))){var t,i,e=g(this._element).closest(Nn)[0],r=_.getSelectorFromElement(this._element);if(e){var o="UL"===e.nodeName||"OL"===e.nodeName?kn:On;i=(i=g.makeArray(g(e).find(o)))[i.length-1]}var s=g.Event(Tn.HIDE,{relatedTarget:this._element}),a=g.Event(Tn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(t=document.querySelector(r)),this._activate(this._element,e);var l=function(){var t=g.Event(Tn.HIDDEN,{relatedTarget:n._element}),e=g.Event(Tn.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,En),this._element=null},t._activate=function(t,e,n){var i=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(On):g(e).find(kn))[0],o=n&&r&&g(r).hasClass(Dn),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var a=_.getTransitionDurationFromElement(r);g(r).removeClass(wn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(bn);var i=g(e.parentNode).find(Ln)[0];i&&g(i).removeClass(bn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(bn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),g(t).addClass(wn),t.parentNode&&g(t.parentNode).hasClass(Sn)){var r=g(t).closest(An)[0];if(r){var o=[].slice.call(r.querySelectorAll(jn));g(o).addClass(bn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(En);if(e||(e=new i(this),t.data(En,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}();g(document).on(Tn.CLICK_DATA_API,Pn,function(t){t.preventDefault(),Hn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Hn._jQueryInterface,g.fn.tab.Constructor=Hn,g.fn.tab.noConflict=function(){return g.fn.tab=Cn,Hn._jQueryInterface};var Rn="toast",Un="bs.toast",Wn="."+Un,xn=g.fn[Rn],Fn={CLICK_DISMISS:"click.dismiss"+Wn,HIDE:"hide"+Wn,HIDDEN:"hidden"+Wn,SHOW:"show"+Wn,SHOWN:"shown"+Wn},qn="fade",Mn="show",Kn={animation:"boolean",autohide:"boolean",delay:"number"},Qn={animation:!0,autohide:!0,delay:500},Bn='[data-dismiss="toast"]',Vn=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(Fn.SHOW),this._config.animation&&this._element.classList.add(qn);var e=function(){g(t._element).trigger(Fn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.add(Mn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Mn)&&(g(this._element).trigger(Fn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Mn)&&this._element.classList.remove(Mn),g(this._element).off(Fn.CLICK_DISMISS),g.removeData(this._element,Un),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},Qn,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Rn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(Fn.CLICK_DISMISS,Bn,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){g(t._element).trigger(Fn.HIDDEN)};if(this._element.classList.remove(Mn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Un);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Un,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"DefaultType",get:function(){return Kn}}]),i}();g.fn[Rn]=Vn._jQueryInterface,g.fn[Rn].Constructor=Vn,g.fn[Rn].noConflict=function(){return g.fn[Rn]=xn,Vn._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Zt,t.Modal=me,t.Popover=Je,t.Scrollspy=vn,t.Tab=Hn,t.Toast=Vn,t.Tooltip=Ue,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file diff --git a/dist/js/bootstrap.min.js.map b/dist/js/bootstrap.min.js.map index 5670282673..3dfac88205 100644 --- a/dist/js/bootstrap.min.js.map +++ b/dist/js/bootstrap.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERMOVE","POINTERUP","POINTERLEAVE","POINTERCANCEL","DRAG_START","LOAD_DATA_API","PointerType","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_objectSpread","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","touches","clientX","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","makeArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","_this9","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this10","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","find","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","eventIn","eventOut","_fixTitle","titleType","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","nodes","scrollSpys","$spy","Tab","previous","listElement","itemSelector","nodeName","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","Toast","autohide","_proto","withoutTimeout","_close","_createClass","get","version"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERMOVE : `pointermove${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n POINTERLEAVE : `pointerleave${EVENT_KEY}`,\n POINTERCANCEL : `pointercancel${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n\n const parent = Dropdown._getParentFromElement(this._element)\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n const nodes = [].slice.call(document.querySelectorAll(this._selector))\n $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n\n const scrollSpysLength = scrollSpys.length\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container && container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Toast = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'toast'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.toast'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n }\n\n const DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n }\n\n const Default = {\n animation : true,\n autohide : true,\n delay : 500\n }\n\n const Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Toast._jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n }\n\n return Toast\n})($)\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"]}
\ No newline at end of file +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_objectSpread","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","querySelectorAll","e","add","tagName","which","parentNode","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","_this9","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this10","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","find","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","eventIn","eventOut","_fixTitle","titleType","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","nodeName","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","withoutTimeout","_close","version"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n return selector && document.querySelector(selector) ? selector : null\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.1.3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n show() {\n $(this._element).trigger(Event.SHOW)\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this.hide()\n }\n }\n\n this._element.classList.add(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide(withoutTimeout) {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n $(this._element).trigger(Event.HIDE)\n\n if (withoutTimeout) {\n this._close()\n } else {\n this._timeout = setTimeout(() => {\n this._close()\n }, this._config.delay)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide(true)\n )\n }\n\n _close() {\n const complete = () => {\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})()\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"]}
\ No newline at end of file |